What rqlite/rqlite shipped
Written by FoxPlug from the repository's own releases; not affiliated with Rqlite. Paste your own repository in the box below and FoxPlug writes the same weekly update for your product. This page is an automatic summary of the releases, pull requests and commits in github.com/rqlite/rqlite; Rqlite did not write it and does not use or endorse FoxPlug. Every line links to the change it describes.
Get a weekly update like this for your product, free
Week of November 2, 2026
What shipped
- SQL dumps and backups now preserve rows from tables with quoted identifiers, restoring data that was previously omitted. Pull request #3014
- GCS auto-backups support customer-managed encryption keys through a new
kms_key_namesetting. Pull request #3005 - S3 auto-backups support server-side encryption with AES256 or KMS algorithms and an optional KMS key ID. Pull request #2996
- Load requests with the timings option now return correct durations instead of a negative span of roughly 292 years. Pull request #3017
- Selecting a status field with a key parameter preserves integer precision above 2^53. Pull request #3015
- Backup retries moved from the Store Provider to the Uploader, so each attempt writes a fresh destination file. Pull request #3031
- Checking an empty data directory no longer creates raft.db, so new nodes are still classified as new. Pull request #3013
- Four bugs in the db package were fixed, including CDC events for tables created in the same transaction. Pull request #3009
- The read-only busy timeout now applies to every pooled reader connection, not just one borrowed connection. Pull request #3010
- SQLite upgraded to 3.54.1. Pull request #3001
Why it matters
This week focused on correctness: dumping and loading data, integer precision in status responses, and several defects found in code review across the db, store, internal and auth packages. It also added encryption options for GCS and S3 auto-backups, which matters for deployments that must encrypt backups at rest with their own keys.
Changelog entry
- Preserve data in SQL dumps with quoted identifiers Pull request #3014
- Support customer-managed encryption keys for GCS auto-backups Pull request #3005
- Support server-side encryption for S3 auto-backups Pull request #2996
- Return correct HTTP load timings Pull request #3017
- Preserve integer precision in selected HTTP status fields Pull request #3015
- Move retry logic out of Store Provider Pull request #3031
- Avoid creating Raft state when checking for existing data Pull request #3013
- Fix 4 bugs in the db package Pull request #3009
- Apply the reader busy timeout to every pooled reader connection Pull request #3010
- Upgrade SQLite to 3.54.1 Pull request #3001
This week: SQL backups keep rows from quoted identifiers, GCS and S3 auto-backups support encryption keys, load timings return correct durations, status fields keep integer precision, and SQLite is now 3.54.1.
This week in rqlite: SQL dumps now preserve data from tables with quoted identifiers, GCS auto-backups can use customer-managed Cloud KMS keys, S3 auto-backups support server-side encryption, and load timings no longer return a negative duration. Status field selection keeps integer precision, and node bootstrap and data directory checks no longer change voter status or create Raft state unexpectedly. Code review of the db, store, internal and auth packages fixed several defects, and SQLite was upgraded to 3.54.1.
Week of October 26, 2026
What shipped
- Released v10.6.6. Release
- Local auto-backup now rejects filenames reserved for internal use, such as the metadata files and touch marker the storage client keeps in the backup directory. Pull request #2988
- Remove node now returns JSON error response bodies with a JSON Content-Type instead of plain text on failure. Pull request #2991
- Promote and demote endpoints now return JSON error response bodies instead of plain text, and a request naming a node ID not in the cluster returns 404 Not Found. Pull request #2989
- A backup file is kept if the metadata rename fails. Pull request #2987
- Added a test that CDC events survive a Raft snapshot restore, covering whether the reopened SQLite file keeps the configuration carrying the CDC hooks. Pull request #2990
- Upgraded dependencies via go get. Pull request #2992
Why it matters
This week tightens the node-management and backup paths that users rely on when operating a cluster. Error responses from remove, promote and demote are now consistently JSON, reserved backup filenames are rejected before they can be overwritten, and backup files are no longer lost when a metadata rename fails. A new test also guards against CDC events being dropped after a Raft snapshot restore.
Changelog entry
- Release v10.6.6. Release
- Upgrade dependencies via go get. Pull request #2992
- Return JSON error response bodies for remove node. Pull request #2991
- Return JSON error response bodies for promote and demote, with 404 for an unknown node ID. Pull request #2989
- Reject local auto-backup filenames reserved for internal use. Pull request #2988
- Keep backup file if metadata rename fails. Pull request #2987
- Add test that CDC events survive a Raft snapshot restore. Pull request #2990
V10.6.6 is out. Node management endpoints remove, promote and demote now return JSON error bodies, local auto-backup rejects reserved filenames, backup files are kept if metadata rename fails, and a new test checks CDC events survive a Raft snapshot restore.
Rqlite v10.6.6 is out this week. The remove, promote and demote node-management endpoints now return JSON error response bodies instead of plain text. Local auto-backup rejects filenames reserved for internal use, so a configured name can no longer be overwritten by the client's own metadata. A backup file is now kept if the metadata rename fails. We also added a test showing CDC events survive a Raft snapshot restore, which previously had no store-level coverage. Dependencies were upgraded via go get.
Week of October 19, 2026
What shipped
- The inter-node backup stream handler no longer streams the database after rejecting an unauthorized request. Pull request #2980
- The cluster service now treats authorization as a gate and closes connections on authorization failure, instead of relying on each command handler to check permissions. Pull request #2981
- The backup stream handler now checks directly for a nil request, closing the path that could panic a node before v10.6.4. Pull request #2982
- GET /leader now returns a JSON error body when no leader is found, so clients can parse the response. Pull request #2977
- POST /leader now returns JSON error bodies on stepdown failures and a 404 when the stepdown names a node ID that is not in the cluster. Pull request #2984
- ATTACH is now prevented on the query connection. Pull request #2976
- The db package now makes the connection role a first-class thing, giving per-role policy such as CDC hooks, authorizer, foreign keys, tracing, busy timeout and pool size a place to attach. Pull request #2975
- The node probes behind /nodes and /leader now honor the request context and commit exactly one result. Pull request #2968
- V10.6.5 was released. Release
- V10.6.4 was released. Release
Why it matters
This week closed a security issue where a rejected inter-node backup request could still stream the entire database, and moved authorization to a single gate so no command handler can skip it. It also tightened error responses on the leader endpoints and made node probing handle cancellation correctly. Users running clusters with authentication should upgrade.
Changelog entry
- Release v10.6.5. Release
- POST /leader returns JSON error bodies on stepdown failures and 404 for an unknown target node. Pull request #2984
- Backup stream handler checks directly for a nil request instead of relying on a later error-string check. Pull request #2982
- Release v10.6.4. Release
- Cluster service treats authorization as a gate and closes connections on authorization failure. Pull request #2981
- Inter-node backup stream no longer streams the database after rejecting an unauthorized request. Pull request #2980
- GET /leader returns a JSON error body when there is no leader. Pull request #2977
- Release v10.6.3. Release
- Prevent ATTACH on the query connection. Pull request #2976
- Db: make the connection role first class, attaching per-role policy to each pool. Pull request #2975
- Node probes honor the request context and commit exactly one result. Pull request #2968
Rqlite v10.6.5 and v10.6.4 are out. A rejected inter-node backup request can no longer stream the database, and authorization is now a single gate in the cluster service. GET /leader and POST /leader return JSON errors, and node probes honor request context.
Rqlite v10.6.4 and v10.6.5 are out this week. The most important change is security-related: the inter-node backup stream handler previously wrote an unauthorized response and then streamed the whole database anyway. Authorization is now a gate in the cluster service, and connections are closed on failure, so no command handler can skip the check. The leader endpoints also return JSON error bodies, POST /leader returns 404 for an unknown target node, and the backup stream handler checks for a nil request directly. Node probing for /nodes and /leader now honors the request context, and the db package makes the connection role first class. If you run rqlite with authentication, upgrade.
Week of October 12, 2026
What shipped
- Released v10.6.0 of rqlite. Release
- Released v10.6.1 of rqlite. Release
- Released v10.6.2 of rqlite. Release
- CDC Events now include a commit timestamp. Pull request #2972
- CDC now encodes non-finite floats and always releases flush waiters, so a single infinity or NaN value no longer causes the whole batch to be skipped. Pull request #2963
- The console schema view now handles tables named after reserved JavaScript properties such as constructor, proto and toString without breaking. Pull request #2969
- TIMESTAMP tokens are now rewritten where possible. Pull request #2966
- The CDC HTTP sink now follows redirects correctly. Pull request #2964
- Moved the codebase to Go 1.27. Pull request #2971
- The.backup and.dump commands now truncate an existing output file, preventing leftover old data from corrupting the result. Pull request #2926
Why it matters
This week brought three patch releases plus fixes to change data capture, the console and the CLI. CDC batches are no longer skipped because of a single non-finite float, and redirected HTTP sinks behave correctly. Users of the backup and dump commands avoid corrupt output files when overwriting larger existing files.
Changelog entry
- Release v10.6.2. Release
- Release v10.6.1. Release
- Release v10.6.0. Release
- CDC Events include commit timestamp. Pull request #2972
- CDC encodes non-finite floats and always releases flush waiters. Pull request #2963
- CDC HTTP Sink follows redirects correctly. Pull request #2964
- Console schema view handles reserved JavaScript property names. Pull request #2969
- Rewrite TIMESTAMP tokens where possible. Pull request #2966
- Move everywhere to Go 1.27. Pull request #2971
- Truncate existing output file for.backup and.dump. Pull request #2926
- Check for trailing junk in request bodies. Pull request #2967
- Upgrade dependencies via go get. Pull request #2973
Rqlite v10.6.0, v10.6.1 and v10.6.2 are out. CDC events now carry a commit timestamp, the CDC HTTP sink follows redirects, and non-finite floats no longer skip a batch. The console schema view handles reserved JavaScript property names, and.backup and.dump truncate existing outpu
Rqlite v10.6.0, v10.6.1 and v10.6.2 are now available. This week's changes include a commit timestamp on CDC events and correct redirect following in the CDC HTTP sink. Non-finite float values are now encoded rather than causing a whole batch to be skipped. The console schema view now handles table names that collide with reserved JavaScript properties. The CLI.backup and.dump commands truncate existing output files so old data cannot corrupt the result.
Week of October 5, 2026
What shipped
- A non-voting node can now be promoted to a voter while keeping the address it already has in the cluster configuration. Pull request #2868
- A voting node can now be demoted to a non-voter, staying in the cluster as a read-only replica. Pull request #2867
- The CDC service now always answers snapshot sync requests, so the Store no longer blocks snapshotting until its sync timeout expires when the flush marker write fails. Pull request #2870
- The CDC high watermark now advances past dropped batches, so a batch that exhausts its retries is no longer resent after a restart or loss of leadership. Pull request #2873
- A follower's CDC high watermark no longer moves backwards, so a node that delivered events as leader and then stepped down will not accept a lagging watermark from the new leader. Pull request #2872
- The Raft Snapshot threshold is now checked every 5 seconds by default instead of every 10 seconds. Pull request #2845
- Bound TEXT and BLOB parameter lengths now count toward the compression size threshold in RequestMarshaler.Marshal. Pull request #2849
- The API now supports choosing which error style to return. Pull request #2864
- Gzip memory usage is now optimized using a sync.Pool. Pull request #2869
- CDC stats now returns promptly on a closed queue. Pull request #2871
Why it matters
This week's changes make cluster membership more flexible: nodes can be promoted to voters and demoted to non-voters without changing their addresses. Several CDC fixes close gaps where dropped or lagging batches could be resent or block snapshotting. The default Raft Snapshot threshold is also checked more often, which matters under high write load.
Changelog entry
- Support promoting a non-voting node to a voter. Pull request #2868
- Support demoting a node from voter to non-voter. Pull request #2867
- Cdc: always answer snapshot sync requests. Pull request #2870
- Advance CDC high watermark past dropped batches. Pull request #2873
- Never move a follower's CDC high watermark backwards. Pull request #2872
- CDC stats returns promptly on closed queue. Pull request #2871
- Check Raft Snapshot threshold every 5 seconds by default. Pull request #2845
- Count bound TEXT and BLOB bytes toward the compression size threshold. Pull request #2849
- Support choosing which error style to return. Pull request #2864
- Optimize gzip memory usage via sync.Pool. Pull request #2869
- Consolidate console home and topology. Pull request #2876
- Fix off-by-one error in CDC retry logic. Pull request #2856
This week: promote non-voting nodes to voters, demote voters to non-voters, several CDC fixes for dropped and lagging batches, snapshot threshold checked every 5 seconds, and gzip memory optimized with sync.Pool.
This week in rqlite: non-voting nodes can be promoted to voters, and voting nodes can be demoted to non-voters while staying in the cluster as read-only replicas. Several CDC fixes landed, including advancing the high watermark past dropped batches, keeping a follower's high watermark from moving backwards, and always answering snapshot sync requests so snapshotting is not blocked. The Raft Snapshot threshold is now checked every 5 seconds by default, and gzip memory usage is optimized with sync.Pool. Bound TEXT and BLOB bytes now count toward the compression size threshold.
Week of September 28, 2026
What shipped
- V10.5.2 released with autocheckpointing disabled at connect time to prevent driver timeouts from creating uncontrolled connections. Release
- CDC events now emit for every request in bulk operations, improving change data capture granularity. Pull request #2840
- CDC streamer index no longer clears after Commit or Rollback, preserving state across transactions. Pull request #2839
- New Cluster tab added to the web UI for better cluster visibility. Pull request #2835
- Node-local SQLite errors now trigger exit instead of continuing, preventing cluster divergence from transient failures. Pull request #2831
- Queued-writes retries are now configurable for better control over write behavior. Pull request #2827
- CDC high water mark updates can now require credentials for enhanced security. Pull request #2826
- Stale read check improved to handle blackholed AppendEntries RPC messages. Pull request #2834
- Driver timeout handling improved by disabling autocheckpointing on connection creation. Pull request #2841
- DB Dump() method now returns the number of bytes written. Pull request #2828
Why it matters
This week focused on stability improvements around change data capture, node resilience, and error handling. Critical fixes for SQLite error handling prevent nodes from diverging in the cluster, while CDC enhancements ensure reliable capture of all write operations. Configuration additions give operators more control over retry behavior.
Changelog entry
- V10.5.2: Autocheckpointing disabled at connect time Release
- Disable autocheckpointing when driver creates connection after timeout Pull request #2841
- Emit CDC events for every request in bulk operations Pull request #2840
- CDC streamer index preserved across Commit and Rollback Pull request #2839
- Exit on node-local SQLite errors to prevent cluster divergence Pull request #2831
- Queued-writes retries now configurable Pull request #2827
- CDC high water mark updates can require credentials Pull request #2826
- New Cluster tab in web UI Pull request #2835
- Stale read check handles blackholed AppendEntries RPC Pull request #2834
- AppendEntries reception time recorded on each node Pull request #2832
- DB Dump() returns number of bytes written Pull request #2828
- UI terminology updated to use 'read replicas' Pull request #2836
V10.5.2 is out. Better CDC event handling, improved autocheckpointing at connect time, and more resilient cluster behavior when nodes encounter SQLite errors.
V10.5.2 released with improvements to change data capture reliability and cluster stability. Node-local SQLite errors now trigger exit to prevent cluster divergence, CDC events emit for each bulk request, and autocheckpointing is disabled at connection creation. New Cluster UI tab and configurable queued-writes retries give operators better visibility and control.
Week of September 21, 2026
What shipped
- V10.3.6 released. Release
- Database Backup now returns the size of the backup file. Pull request #2824
- Backup calls return the number of bytes written. Pull request #2822
- Snapshot ordering is kept correct when the system clock moves backwards. Pull request #2812
- Rename and Remove operations are now retried. Pull request #2817
- Generation field removed from snapshot names. Pull request #2819
- Rename and Remove operations added with retry logic. Pull request #2814
- Standard library replaced with fsutil. Pull request #2816
- Testing against minio removed due to pricing changes. Pull request #2823
Why it matters
Backup operations now provide detailed information about written bytes and file size, making it easier to verify backup success. The fix for clock skew ensures snapshots maintain correct ordering even in edge cases. Retry logic for file operations improves reliability in environments with transient failures.
Changelog entry
- Database Backup returns size of backup file Pull request #2824
- Backup calls return number of bytes written Pull request #2822
- Keep snapshot ordering correct when the clock moves backwards Pull request #2812
- Rename and Remove are retried Pull request #2817
- Remove generation from snapshot names Pull request #2819
- Replace standard library with fsutil Pull request #2816
Rqlite v10.3.6 is out. Backup operations now report bytes written and file size. Snapshot ordering is fixed when the system clock moves backward. Rename and Remove operations are retried for better reliability.
Rqlite v10.3.6 is available. This release improves backup operations by reporting bytes written and backup file size, fixes snapshot ordering when system clocks move backward, and adds retry logic to Rename and Remove operations for better fault tolerance in distributed environments.
Week of September 14, 2026
What shipped
- V10.3.5 released. Release
- Configurable slow-query logging added with -query-log flag supporting stderr or JSON file output and minimum duration thresholds. Pull request #2768
- Snapshot IDs now include generation information. Pull request #2807
- Snapshots can be filtered by term and index. Pull request #2810
- PRAGMA syntax validation strengthened to reject alternate forms that could bypass disallowed-PRAGMA checks. Pull request #2794
- CDC event handling fixed to discard rolled-back events from failed autocommit inserts. Pull request #2791
- HTTP logic error for queued statements corrected. Pull request #2802
- HTTP last backup time access synchronized for thread safety. Pull request #2799
- Dependencies upgraded. Pull request #2811
Why it matters
This week's releases include improvements to query logging observability, snapshot filtering capabilities, and several critical bug fixes for CDC events, PRAGMA validation, and HTTP operations. These changes enhance debugging capabilities and system reliability for distributed deployments.
Changelog entry
- Added configurable slow-query logging via -query-log flag with support for stderr or JSON file output and minimum query duration thresholds Pull request #2768
- Snapshot IDs now contain generation information Pull request #2807
- Snapshots can be filtered by term and index Pull request #2810
- Strengthened PRAGMA validation to reject alternate syntax forms including parenthetical notation that could bypass checks Pull request #2794
- Fixed CDC event handling to discard rolled-back preupdate events from failed autocommit inserts Pull request #2791
- Fixed HTTP logic error for queued statements Pull request #2802
- Synchronized HTTP last backup time access for thread safety Pull request #2799
- Set Served by header before first backup byte Pull request #2800
- Set DB load response time for all formats Pull request #2801
- Added handling for negative trailing logs Pull request #2798
- Fixed UI console issues Pull request #2804
- Tweaked query logging Pull request #2805
- Changed DriverConfig to use pointer semantics Pull request #2806
- Upgraded dependencies Pull request #2811
Rqlite v10.3.5 is out. Configurable slow-query logging, snapshot filtering, stronger PRAGMA validation, and CDC event fixes improve observability and reliability.
Rqlite v10.3.5 released with configurable slow-query logging for SQL observability, snapshot filtering by term and index, reinforced PRAGMA syntax validation, and fixes for CDC event handling in failed transactions. These improvements enhance debugging, filtering, security, and distributed database reliability.