Embeddable, replicated and fault-tolerant SQL engine.
This release fixes some bugs in dqlite's build system that were introduced when developing the --enable-build-raft
option:
--enable-build-raft
when liblz4 is not available: https://github.com/canonical/dqlite/pull/603
It also introduces code for a new thread pool that will be used in future versions of dqlite, but is not currently enabled:
This release brings a new option for dqlite's configure script, --enable-build-raft
. When this option is passed, dqlite will build and use a private Raft implementation instead of linking to an external libraft. --enable-build-raft
is the preferred way to use dqlite going forward, but linking to an external libraft remains supported for now, and is the default if the new flag is not passed.
One other internal change is included in this release:
This release brings a fix for using dqlite with SQLite versions greater than 3.45.0 (#564), plus:
dqlite_node
configuration option to control snapshot compression (#567, thanks to new contributor @cnnrznn).This release exposes one new API, dqlite_node_set_auto_recovery
. See #526.
This release is functionally the same as v1.15.0, but is part of the master branch history. Some new APIs (dqlite_server_create, etc.) are declared in dqlite.h, marked with DQLITE_EXPERIMENTAL.
This release includes:
As well as other miscellaneous bug fixes and improvements.
This release bumps the required version of libraft to 0.17.1 and adapts some internal dqlite code for changes in the raft.h API.
disk-mode
for dqlite. See #401 for details.
WARNING: This API 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.libraft 0.16.0
raft_fixture_init
with raft_fixture_initialize