github benbjohnson/litestream v0.5.18

3 hours ago

Platform Support

⚠️ Windows Notice: Windows binaries are provided for convenience but Windows is NOT an officially supported platform. Use at your own risk. Community contributions for Windows improvements are welcome.

✅ Supported Platforms: Linux (amd64, arm64, armv6, armv7), macOS (amd64, arm64)

Installation

Homebrew (macOS and Linux)

brew tap benbjohnson/litestream
brew install litestream

Debian/Ubuntu

Download the .deb file for your architecture and install:

sudo dpkg -i litestream-*.deb

RPM-based systems

Download the .rpm file for your architecture and install:

sudo rpm -i litestream-*.rpm

Binary installation

Download the appropriate archive for your platform, extract, and move to your PATH.

VFS Extension (Experimental)

SQLite loadable extensions for read-only access to Litestream replicas are available for supported platforms:

Platform File
Linux x86_64 litestream-vfs-v0.5.18-linux-amd64.tar.gz
Linux ARM64 litestream-vfs-v0.5.18-linux-arm64.tar.gz
macOS Intel litestream-vfs-v0.5.18-darwin-amd64.tar.gz
macOS Apple Silicon litestream-vfs-v0.5.18-darwin-arm64.tar.gz

Install via package managers:

pip install litestream-vfs    # Python
npm install litestream-vfs    # Node.js
gem install litestream-vfs    # Ruby

Changelog

  • daf7646 [metrics] expose replica validation results (#1535)
  • 3b91159 chore(deps): bump grpc to v1.83.1 (#1533)
  • b052aad chore(deps): bump otel to v1.45.0 for govulncheck (#1553)
  • 4ed7a30 chore(deps): bump x/crypto for govulncheck (#1496)
  • 3569ce0 chore(deps): bump x/crypto to v0.56.0 for govulncheck (#1507)
  • 6a71ccd docs(contributing): give the soak command a timeout it can pass under (#1517)
  • e393ab4 feat(s3): add Neon Object Storage provider auto-detection (#1582)
  • ffd4fea fix(abs): read the endpoint from a replica URL (#1566)
  • 53fc7d6 fix(abs): tolerate a download without Content-Length (#1565)
  • 25b569f fix(ci): build MinIO test image from upstream source (#1554)
  • e8128fd fix(ci): pass -replica-clients to the integration test jobs (#1575)
  • 9fae135 fix(ci): pin MinIO server and client images on Quay (#1526)
  • 7766bf1 fix(ci): retain nightly failure details with null step conclusions (#1583)
  • 7954033 fix(ci): write MinIO build cache only from main (#1556)
  • 0ba3050 fix(config): reject snapshot retention shorter than interval (#1471)
  • eedda9f fix(db): cache LTX pages for checkpoint verification (#1584)
  • f282d0e fix(db): keep read lock alive after caller context is cancelled (#1579)
  • 6620cc3 fix(db): read the whole WAL when the last-page check fails (#1547)
  • 9b37876 fix(deps): bump Go toolchain to 1.26.10 for GO-2026-6809 (#1598)
  • 56a5617 fix(deps): bump x/net and Go toolchain for govulncheck (#1573)
  • 59ba89e fix(dir-watch): detect a database recreated after a failed close (#1597)
  • e5de39c fix(gs): abort uploads when source reader fails (#1480)
  • bc91f74 fix(gs): preserve authentication after init (#1602)
  • 93ba3cd fix(internal): skip directory sync on Windows (#1548)
  • 5acb9dd fix(metrics): delete per-database series on close (#1571)
  • 61c06f8 fix(packaging): omit Homebrew sample config (#1413)
  • c3085f1 fix(python): use version-independent wheel tags (#1519)
  • 716acc5 fix(replica): bound each LTX stream read so a silent connection cannot hang a restore (#1528)
  • 24ead77 fix(replica): honor LTX file seek contract (#1461)
  • 899a804 fix(replica): reconcile resumable reader recovery (#1500)
  • 1be2782 fix(replica): wrap ctx error on cancelled reopen (#1504)
  • 9f3af35 fix(replicate): bound shutdown when SFTP stalls (#1590)
  • 0eee9c6 fix(restore): accept checksum-tracked LTX (#1470)
  • 065b32a fix(restore): deprecate ineffective parallelism flag (#1588)
  • 057d395 fix(restore): replan after replica files disappear (#1585)
  • fb9c163 fix(restore): resume follow mode when saved TXID is ahead of latest s… (#1385)
  • 1068145 fix(s3): add opt-in PutObject checksums (#1610)
  • 9a4ffed fix(s3): detect providers with endpoint ports (#1525)
  • 3cd52a2 fix(s3): retry throttling with bounded backoff (#1609)
  • d114c6a fix(server): cancel abandoned sync requests (#1589)
  • fac8092 fix(sftp): fsync LTX files before renaming them into place (#1574)
  • 703a7aa fix(store): skip idle compaction without listing the replica (#1564)
  • d42408d fix(store): stop monitors before closing databases (#1530)
  • 2cad11a fix(vfs): discard stale replica poll results (#1595)
  • fd72802 fix(vfs): fix litestream_time() to update with new LTX files (#1455)
  • beb4a49 fix(vfs): recover straddling L1 polls (#1478)
  • 2a2689b fix(vfs): return SQLITE_OK from the auto-extension for non-VFS connections (#1506)
  • bcf029e fix(vfs): scope synced TXIDs to each replica (#1549)
  • bd4a2eb fix(webdav): read LTX header timestamps for timestamp-based restore (#1576)
  • 88de494 fix: log context errors from replica clients while monitors are running (#1572)
  • b088b57 fix: prevent metric counter panics on clock regressions (#1494)
  • d8b24e8 perf(restore): open every restore-plan file concurrently (#1568)
  • 4b39bea test(cli): drain usage capture pipe (#1557)
  • c2ea2b2 test(db): stabilize delayed checkpoint (#1498)
  • 51417c6 test(integration): give load deadline headroom (#1505)
  • 8e0e270 test(store): wait for initial replication (#1596)
  • a2c5808 test(vfs): make load checks CPU independent (#1594)
  • 077db77 test(vfs): synchronize active reader polling (#1593)

Don't miss a new litestream release

NewReleases is sending notifications on new releases.