Releases: canonical/go-dqlite
Releases · canonical/go-dqlite
v1.22.0
Summary
This release includes two new features:
- dqlite clients now search for the current leader by connecting to several nodes of the cluster in parallel (#292, thanks @cnnrznn). The level of parallelism can be configured with the new
WithConcurrentLeaderConns
option (#303, thanks @masnax). - The new
WithRolesAdjustmentHook
option allows applications that use go-dqlite to react to changes in cluster membership and roles (#301, thanks @masnax).
It also includes several bug fixes and performance improvements:
- Introduce a timeout for connecting to the leader in the dqlite-demo example program (#295, thanks @letFunny).
- Fix a panic caused by reading from a closed channel when accepting new client connections (#304, thanks @marco6).
- Copy blob values from server messages in bulk instead of one byte at a time (#297, thanks @marco6).
- Fix a panic causes by an unset field in the client's
Rows
object (#308, thanks @marco6).
All changes
- .github/workflows: run tests on go 1.21.x by @MathieuBordere in #280
- packages: Add mantic. by @MathieuBordere in #281
- Remove lunar, add noble by @cole-miller in #285
- driver_test: test interrupting query yielding rows. by @MathieuBordere in #286
- github: Don't install libraft-dev package by @cole-miller in #288
- Set protocol version inside connectAttemptOne by @cnnrznn in #287
- Attempt to connect to leader via 10 servers simultaneously by @cnnrznn in #292
- set client timeout in dqlite demo by @letFunny in #295
- Improve Message.getBlob performance by @marco6 in #297
- Hook into continual dqlite role probes by @masnax in #301
- Use range loop instead of endless loop by @marco6 in #304
- Configure maximum concurrent leader probes by @masnax in #303
- Avoid context cancellation during net.Dial call in connector by @cole-miller in #306
- driver: Expose leadership-related error codes by @cole-miller in #307
- Fix missing log in Rows by @marco6 in #308
See also the full commit log.
v1.21.0
What's Changed
- app: Regression test for RowsAffected issue by @cole-miller in #255
- test: Allow building test binaries with -asan by @cole-miller in #258
- Add missing $ASAN to tests in one place by @cole-miller in #262
- Always use QUERY_SQL in the dqlite shell by @cole-miller in #260
- Expose auto-recovery config switch from dqlite by @cole-miller in #264
- Implement role re-assignment based on failure domains by @ktsakalozos in #268
- driver: detect EOF on Connect and mark with ErrBadConn. by @MathieuBordere in #270
- packages: build, sign and push package from GHA. by @MathieuBordere in #273
- packages: remove kinetic, add lunar by @MathieuBordere in #275
- OpenTelemetry Driver Tracing by @SimonRichardson in #276
- Only publish to PPA from master by @cole-miller in #278
- internal/bindings: Fall back if dqlite_node_set_auto_recovery is missing by @cole-miller in #279
New Contributors
- @ktsakalozos made their first contribution in #268
Full Changelog: v1.20.0...v1.21.0
dqlite version
- required dqlite version is
v1.14.0
(same as previous release)
v1.20.0
What's Changed
- internal/bindings: Don't use raft directly by @cole-miller in #247
- Linker flags by @MathieuBordere in #248
-Wl,-z,now
no longer needed - internal/protocol: Expose 32-bit parameter count support by @cole-miller in #243
- Fix int overflow on 32-bit archs by @cole-miller in #249
- app_test: Close App before removing dir in TestParallell. by @MathieuBordere in #251
- refactor: allow any net.Conn works with dqlite by @Zxilly in #252
- driver: Detect EOF in driverError by @MathieuBordere in #186
New Contributors
Full Changelog: v1.11.9...v1.20.0
edit: yeah, this should have been v1.12.0
...
v1.11.9
v.1.11.8-pre
This is a pre-release that includes changes to go-dqlite's interaction with libsqlite3 (see #236), along with some bug fixes.
v1.11.7
- Fix in
SimpleTLSConfig
forgo 1.19.6
. - Some changes in packages and CI workflow.
v1.11.6
Expose dqlite's disk-mode in the app
. See #214 and #218 .
WARNING: disk-mode is considered EXPERIMENTAL and UNSTABLE and NOT SUITABLE for production use! It is possible the behavior of the disk-mode will change in the future and it cannot be guaranteed that systems running disk-mode like it exists in this release will be compatible with future versions.
v1.11.5
v1.11.4
- Fix bug where user could lock a running database when issuing an unsuccessful transaction via the
dqlite
shell. - Add command history to
dqlite
shell.
v1.11.3
- Fix bug where Leadership was transferred multiple times in
Handover
. - Fix bug and return comprehensive error message when
dqlite_node_create
fails.