KEMBAR78
Releases · tigerbeetle/tigerbeetle · GitHub
Skip to content

Releases: tigerbeetle/tigerbeetle

0.16.62: Merge pull request #3310 from tigerbeetle/tobi/release_10_17

20 Oct 11:34
559af20

Choose a tag to compare

0.16.62

Supported upgrade versions

Oldest supported client version: 0.16.4
Oldest upgradable replica version: 0.16.58

Server

  • Binary: Download the zip for your OS and architecture from this page and unzip.
  • Docker: docker pull ghcr.io/tigerbeetle/tigerbeetle:0.16.62
  • Docker (debug image): docker pull ghcr.io/tigerbeetle/tigerbeetle:0.16.62-debug

Clients

NOTE: Because of package manager caching, it may take a few
minutes after the release for this version to appear in the package
manager.

You cannot run a newer client against an older cluster: clients are only compatible
with replicas from their own release or newer, subject to the newer release's
Oldest supported client version.

  • .NET: dotnet add package tigerbeetle --version 0.16.62
  • Go: go mod edit -require github.com/tigerbeetle/tigerbeetle-go@v0.16.62
  • Java: Update the version of com.tigerbeetle.tigerbeetle-java in pom.xml
    to 0.16.62.
  • Node.js: npm install --save-exact tigerbeetle-node@0.16.62
  • Python: pip install tigerbeetle==0.16.62

Changelog

Safety And Performance

  • #3304

    Enable VOPR to detect when the message limit is exceeded.

  • #3307

    Enable unit tests for deprecated operations.

  • #3309

    Improve the release process by publishing to npm via trusted publishers.

Features

  • #3299

    Rephrase the "debits first" explanation in documentation.

Internals

  • #3300

    Refactor the message bus to save memory and tighten explicit SendQueue limits.

  • #3296

    Implement BoundedArray from scratch.

  • #3292

    Remove needless use of bounded array from REPL.

  • #3308

    Refactor and cleanup Vortex.

TigerTracks 🎧

NoClock02

0.16.61: Merge pull request #3297 from tigerbeetle/release-2025-10-03

06 Oct 14:21
144dbd3

Choose a tag to compare

0.16.61

Supported upgrade versions

Oldest supported client version: 0.16.4
Oldest upgradable replica version: 0.16.57

Server

  • Binary: Download the zip for your OS and architecture from this page and unzip.
  • Docker: docker pull ghcr.io/tigerbeetle/tigerbeetle:0.16.61
  • Docker (debug image): docker pull ghcr.io/tigerbeetle/tigerbeetle:0.16.61-debug

Clients

NOTE: Because of package manager caching, it may take a few
minutes after the release for this version to appear in the package
manager.

You cannot run a newer client against an older cluster: clients are only compatible
with replicas from their own release or newer, subject to the newer release's
Oldest supported client version.

  • .NET: dotnet add package tigerbeetle --version 0.16.61
  • Go: go mod edit -require github.com/tigerbeetle/tigerbeetle-go@v0.16.61
  • Java: Update the version of com.tigerbeetle.tigerbeetle-java in pom.xml
    to 0.16.61.
  • Node.js: npm install --save-exact tigerbeetle-node@0.16.61
  • Python: pip install tigerbeetle==0.16.61

Changelog

Safety And Performance

  • #3263

    Speed up cluster repair by adapting the pace and distribution of repair requests according to
    observed network conditions.

  • #3282

    Speed up cluster repair by not delaying execution of committed prepares until the log is fully
    repaired.

  • #3249,
    #3293,
    #3289

    Add a dedicated fuzzer for MessageBus.

Features

  • #3212

    Add --log-trace for extra verbose logging.

  • #3286

    After successfully adding a test that tests tests in
    #3136, we doubled down on this strategy
    and are adding a metric for tracking metrics.

Internals

  • #3115

    Use ISO4217 three-letter codes when writing about currencies (so, USD over $).

  • #3284

    Clean up Adaptive Replication Routing implementation.

  • #3287

    Speed up zig build test by removing false build-time dependencies.

TigerTracks 🎧

ReleaseNotes_0 16 61b

0.16.60: Merge pull request #3283 from tigerbeetle/release-2025-09-26

29 Sep 14:21
30abd5a

Choose a tag to compare

0.16.60

Supported upgrade versions

Oldest supported client version: 0.16.4
Oldest upgradable replica version: 0.16.56

Server

  • Binary: Download the zip for your OS and architecture from this page and unzip.
  • Docker: docker pull ghcr.io/tigerbeetle/tigerbeetle:0.16.60
  • Docker (debug image): docker pull ghcr.io/tigerbeetle/tigerbeetle:0.16.60-debug

Clients

NOTE: Because of package manager caching, it may take a few
minutes after the release for this version to appear in the package
manager.

You cannot run a newer client against an older cluster: clients are only compatible
with replicas from their own release or newer, subject to the newer release's
Oldest supported client version.

  • .NET: dotnet add package tigerbeetle --version 0.16.60
  • Go: go mod edit -require github.com/tigerbeetle/tigerbeetle-go@v0.16.60
  • Java: Update the version of com.tigerbeetle.tigerbeetle-java in pom.xml
    to 0.16.60.
  • Node.js: npm install --save-exact tigerbeetle-node@0.16.60
  • Python: pip install tigerbeetle==0.16.60

Changelog

Safety And Performance

  • #3270

    Remove a copy from the StateMachine.

  • #3273

    Update the k-way-merge to use the new from_seed_testing().

  • #3277

    Improve metrics to use a reduce the worst case packet count (and benefit from a small memory
    saving while we're at it).

Features

  • #3278

    Clarified documentation on closing accounts and two-phase transfers.
    Thanks @raui100!

Internals

  • #3275

    Refactor references to old time types to use the Instant and Duration types.

  • #3274

    Added documentation for our CI entrypoint: zig build ci.

TigerTracks 🎧

0 16 60

0.16.59: Merge pull request #3271 from tigerbeetle/release-2025-09-19

22 Sep 18:18
bebc1a2

Choose a tag to compare

0.16.59

Supported upgrade versions

Oldest supported client version: 0.16.4
Oldest upgradable replica version: 0.16.55

Server

  • Binary: Download the zip for your OS and architecture from this page and unzip.
  • Docker: docker pull ghcr.io/tigerbeetle/tigerbeetle:0.16.59
  • Docker (debug image): docker pull ghcr.io/tigerbeetle/tigerbeetle:0.16.59-debug

Clients

NOTE: Because of package manager caching, it may take a few
minutes after the release for this version to appear in the package
manager.

You cannot run a newer client against an older cluster: clients are only compatible
with replicas from their own release or newer, subject to the newer release's
Oldest supported client version.

  • .NET: dotnet add package tigerbeetle --version 0.16.59
  • Go: go mod edit -require github.com/tigerbeetle/tigerbeetle-go@v0.16.59
  • Java: Update the version of com.tigerbeetle.tigerbeetle-java in pom.xml
    to 0.16.59.
  • Node.js: npm install --save-exact tigerbeetle-node@0.16.59
  • Python: pip install tigerbeetle==0.16.59

Changelog

Safety And Performance

  • #3257

    Introduce Least Significant Digit (LSD) radix sort in stdx.

  • #3268

    Use radix sort in the memory tables to get more performance improvements.

  • #3250

    Reduce tail latencies by tracking sorted runs and use k-way merge to sort them.

    Collectively, these changes result in the following performance improvements on modern servers
    (Hetzner AX102):

    Metric Before After
    Load accepted (tx/s) 414,375 606,258
    Batch latency p100 115ms 75ms

Internals

  • #3262

    Use Zig's new std.testing.random_seed to introduce genuine randomness in tests.

  • #3260

    Fix a crash due to corruption and misdirection found by the WIP message bus fuzzer.

TigerTracks 🎧

ReleaseNotes_0 16 59

0.16.58: Merge pull request #3256 from tigerbeetle/release-2025-09-12

15 Sep 12:06
90f05d2

Choose a tag to compare

0.16.58

Supported upgrade versions

Oldest supported client version: 0.16.4
Oldest upgradable replica version: 0.16.54

Server

  • Binary: Download the zip for your OS and architecture from this page and unzip.
  • Docker: docker pull ghcr.io/tigerbeetle/tigerbeetle:0.16.58
  • Docker (debug image): docker pull ghcr.io/tigerbeetle/tigerbeetle:0.16.58-debug

Clients

NOTE: Because of package manager caching, it may take a few
minutes after the release for this version to appear in the package
manager.

You cannot run a newer client against an older cluster: clients are only compatible
with replicas from their own release or newer, subject to the newer release's
Oldest supported client version.

  • .NET: dotnet add package tigerbeetle --version 0.16.58
  • Go: go mod edit -require github.com/tigerbeetle/tigerbeetle-go@v0.16.58
  • Java: Update the version of com.tigerbeetle.tigerbeetle-java in pom.xml
    to 0.16.58.
  • Node.js: npm install --save-exact tigerbeetle-node@0.16.58
  • Python: pip install tigerbeetle==0.16.58

Changelog

Safety And Performance

  • #3248

    Fix a bug where grid.cancel was erroneously being invoked during commit_stage=checkpoint_durable.

  • #3245

    Remove peer type from MessageBuffer, maintaining it only at MessageBus level.

    This solves a bug introduced by #3206,
    due to divergent peer state between MessageBus and MessageBuffer.

  • #3226,
    #3230,
    #3223,
    #3222

    Low-level LSM performance improvements. The k-way merge iterator now uses a tournament tree
    instead of a heap, we skip sorting of the mutable table if it's not needed, and we skip binary
    search if possible by min/max key ranges.

  • #3237

    Use a different PRNG seed for Replica each time, rather than a fixed seed of the replica ID. This
    PRNG controls things like exponential backoff jitter and the order of the blocks on which the grid
    scrubber runs.

Features

  • #3253

    Introduce --requests-per-second-limit to throttle CDC requests to TigerBeetle.

    Usage for this option is orthogonal to --idle-interval-ms and --event-count-max, allowing
    fine-tuning for low latency without overflowing the AMQP target queue.

  • #3206

    In order to avoid bimodality if a replica is down (eg, a client sends a request, doesn't hear
    anything, eventually times out and tries a different replica) clients now proactively send their
    requests to the primary and a randomly selected replica.

    Backups can also send replies directly to clients, meaning that a client could be completely
    partitioned from the primary, but still remain available.

Internals

  • #3251

    Mark grid cache blocks as MADV_DONTDUMP, making core dump size tractable even with large caches.

  • #3227,
    #3231,
    #3242

    Preparation for the Zig 0.15.1 upgrade.

  • #3236,
    #3229,
    #3198

    A host of multiversion improvements! Multiversioning is now a proper interface, rather than being
    scattered about. Additionally, Windows support is now significantly more robust, and will be
    integration tested like the other platforms in the next release.

TigerTracks 🎧

ReleaseNotes_0 16 58

0.16.57

01 Sep 12:55

Choose a tag to compare

0.16.57

Supported upgrade versions

Oldest supported client version: 0.16.4
Oldest upgradable replica version: 0.16.53

Server

  • Binary: Download the zip for your OS and architecture from this page and unzip.
  • Docker: docker pull ghcr.io/tigerbeetle/tigerbeetle:0.16.57
  • Docker (debug image): docker pull ghcr.io/tigerbeetle/tigerbeetle:0.16.57-debug

Clients

NOTE: Because of package manager caching, it may take a few
minutes after the release for this version to appear in the package
manager.

You cannot run a newer client against an older cluster: clients are only compatible
with replicas from their own release or newer, subject to the newer release's
Oldest supported client version.

  • .NET: dotnet add package tigerbeetle --version 0.16.57
  • Go: go mod edit -require github.com/tigerbeetle/tigerbeetle-go@v0.16.57
  • Java: Update the version of com.tigerbeetle.tigerbeetle-java in pom.xml
    to 0.16.57.
  • Node.js: npm install --save-exact tigerbeetle-node@0.16.57
  • Python: pip install tigerbeetle==0.16.57

Changelog

Safety And Performance

  • #3200

    Improved performance in set_associative_cache.zig by using Fastrange and SIMD.

  • #3201

    Improved performance and better codegen in aegis.zig by avoiding aliasing.

  • #3205

    Retain table repair progress across checkpoint boundaries,
    to reduce the time to complete state sync for active clusters.

  • #3216

    Use the NOSIGNAL flag with both asynchronous send and synchronous send_now.
    This avoids receiving a possible SIGPIPE signal raised by the kernel.

  • #3189

    Improve the Rust client API to make the returned future thread-safe.
    Thanks @michabp!

  • #3208

    Fix the Go client to make the subfolder with external files required by CGO
    compatible with go vendor.
    Thanks @itzloop.

  • #3203

    Fix the Python client to make close() async on ClientAsync.

Internals

  • #3215

    Removed support for closed loop replication in repair and sync protocols.

  • #3210,
    #3211

    Ban equality and inequality comparisons with error values, as they may silently
    perform an untyped comparison.
    Enforce handling errors with switch blocks instead.

  • #3207

    Consolidate all Windows APIs we use (not present in Zig’s std) under stdx.windows.

  • #3199,
    #3194

    Improve upgrade tests.

  • #3202,
    #3140

    Improve the documentation to explain adaptive routing and add notes about
    using CDC in production.

  • #3196

    Moves the unshare code into stdx.unshare and uses it for both Vortex and CFO.
    Also fixes how vortex run was handling the child process error code.

TigerTracks 🎧

image

0.16.56: Merge pull request #3197 from tigerbeetle/tobi/release

25 Aug 12:59
20a0174

Choose a tag to compare

0.16.56

Supported upgrade versions

Oldest supported client version: 0.16.4
Oldest upgradable replica version: 0.16.52

Server

  • Binary: Download the zip for your OS and architecture from this page and unzip.
  • Docker: docker pull ghcr.io/tigerbeetle/tigerbeetle:0.16.56
  • Docker (debug image): docker pull ghcr.io/tigerbeetle/tigerbeetle:0.16.56-debug

Clients

NOTE: Because of package manager caching, it may take a few
minutes after the release for this version to appear in the package
manager.

You cannot run a newer client against an older cluster: clients are only compatible
with replicas from their own release or newer, subject to the newer release's
Oldest supported client version.

  • .NET: dotnet add package tigerbeetle --version 0.16.56
  • Go: go mod edit -require github.com/tigerbeetle/tigerbeetle-go@v0.16.56
  • Java: Update the version of com.tigerbeetle.tigerbeetle-java in pom.xml
    to 0.16.56.
  • Node.js: npm install --save-exact tigerbeetle-node@0.16.56
  • Python: pip install tigerbeetle==0.16.56

Changelog

Safety And Performance

  • #3185

    Improve the speed of trailer repairs by initiating repair requests more proactively.

  • #3017

    Add Vortex to CI to test clients (Java, Zig, Rust).

  • #3193

    Ensure only the primary responds to VSR repeat requests.

Features

Internals

  • #3195

    Simplify budgeting for VSR repairs.

  • #3181

    Refactor ReleaseList to contain the release logic.

  • #3190

    Improve naming for journal and grid message budgets.

TigerTracks 🎧

image

0.16.55

18 Aug 14:53
4f859e1

Choose a tag to compare

0.16.55

Supported upgrade versions

Oldest supported client version: 0.16.4
Oldest upgradable replica version: 0.16.51

Server

  • Binary: Download the zip for your OS and architecture from this page and unzip.
  • Docker: docker pull ghcr.io/tigerbeetle/tigerbeetle:0.16.55
  • Docker (debug image): docker pull ghcr.io/tigerbeetle/tigerbeetle:0.16.55-debug

Clients

NOTE: Because of package manager caching, it may take a few
minutes after the release for this version to appear in the package
manager.

You cannot run a newer client against an older cluster: clients are only compatible
with replicas from their own release or newer, subject to the newer release's
Oldest supported client version.

  • .NET: dotnet add package tigerbeetle --version 0.16.55
  • Go: go mod edit -require github.com/tigerbeetle/tigerbeetle-go@v0.16.55
  • Java: Update the version of com.tigerbeetle.tigerbeetle-java in pom.xml
    to 0.16.55.
  • Node.js: npm install --save-exact tigerbeetle-node@0.16.55
  • Python: pip install tigerbeetle==0.16.55

Changelog

Safety And Performance

  • 3187

    Make repair timeout reliably fire in a loaded cluster processing small batches.

  • #2863

    Make tigerbeetle format concurrent and only write essential data.
    This speeds up the time to format considerably.

  • #3145

    Cache prepares from the future, to help avoid needing to repair the WAL near checkpoints when a
    backup is a little behind primary.

Features

  • #3174

    Don't unlink data file on formatting failure.

  • #3173

    Use correct default statsd port (8125).

  • #3154

    Remove translation logic from old checkpoint state to new. Note that this means that
    tigerbeetle inspect will no longer decode superblocks from 0.16.25 or older, until
    they are upgraded to at least 0.16.26.

Internals

  • #3186

    Improvements to the balance bounds, rate limiting, and two phase transfers recipes. Thanks @snth!

  • #3150

    Use true quine to generate unit tests.

  • #3160

    Drop SigIllHandler. This was supposed to print a nice error message on unsupported
    architectures, but we hit SigIll in Zig's _start, before we get to our main.

  • #3148

    Add constants for KiB thru PiB.

TigerTracks 🎧

releasenotes_0 16 55_720

0.16.54

11 Aug 15:47

Choose a tag to compare

0.16.54

Supported upgrade versions

Oldest supported client version: 0.16.4
Oldest upgradable replica version: 0.16.50

Server

  • Binary: Download the zip for your OS and architecture from this page and unzip.
  • Docker: docker pull ghcr.io/tigerbeetle/tigerbeetle:0.16.54
  • Docker (debug image): docker pull ghcr.io/tigerbeetle/tigerbeetle:0.16.54-debug

Clients

NOTE: Because of package manager caching, it may take a few
minutes after the release for this version to appear in the package
manager.

You cannot run a newer client against an older cluster: clients are only compatible
with replicas from their own release or newer, subject to the newer release's
Oldest supported client version.

  • .NET: dotnet add package tigerbeetle --version 0.16.54
  • Go: go mod edit -require github.com/tigerbeetle/tigerbeetle-go@v0.16.54
  • Java: Update the version of com.tigerbeetle.tigerbeetle-java in pom.xml
    to 0.16.54.
  • Node.js: npm install --save-exact tigerbeetle-node@0.16.54
  • Python: pip install tigerbeetle==0.16.54

Changelog

Safety And Performance

  • #3123

    Speed up repair by removing a round-trip to fetch headers.

  • #3134

    Check checksums when downloading Zig during the build.

Features

  • #2993

    Add documentation for Rust client library.

  • #2989

    Test that release artifacts are fully reproducible.

Internals

  • #3136

    Add a test to test that tests include all the tests.

  • #3143

    Remove local variable aliasing as per TigerStyle.

  • #3124

    @splat all the things.

  • #3135

    Use double-entry accounting for allocations.

  • #3129

    Remove git-review.

  • #3131,
    #3130

    Show total number of VOPR runs for release.

TigerTracks 🎧

ReleaseNotes_0 16 54

0.16.53

04 Aug 15:07
5a4a577

Choose a tag to compare

0.16.53

Supported upgrade versions

Oldest supported client version: 0.16.4
Oldest upgradable replica version: 0.16.49

Server

  • Binary: Download the zip for your OS and architecture from this page and unzip.
  • Docker: docker pull ghcr.io/tigerbeetle/tigerbeetle:0.16.53
  • Docker (debug image): docker pull ghcr.io/tigerbeetle/tigerbeetle:0.16.53-debug

Clients

NOTE: Because of package manager caching, it may take a few
minutes after the release for this version to appear in the package
manager.

You cannot run a newer client against an older cluster: clients are only compatible
with replicas from their own release or newer, subject to the newer release's
Oldest supported client version.

  • .NET: dotnet add package tigerbeetle --version 0.16.53
  • Go: go mod edit -require github.com/tigerbeetle/tigerbeetle-go@v0.16.53
  • Java: Update the version of com.tigerbeetle.tigerbeetle-java in pom.xml
    to 0.16.53.
  • Node.js: npm install --save-exact tigerbeetle-node@0.16.53
  • Python: pip install tigerbeetle==0.16.53

Changelog

Safety And Performance

  • #3090,
    #3116

    Allowing EWAH to decode bigger free set into smaller. This fixes the --limit-storage flag.

  • #3089

    Fix Node v24 client.

Features

  • #3119

    Add compaction/checkpoint/journal slot count to tigerbeetle inspect.

Internals

  • #3121

    During tests, verify that grid read errors correspond to either storage faults or ongoing state
    sync.

  • #3122

    Teach snaptest how to decode/encode hex & zon.

  • #3110

    Fix typo in manifest_log_fuzz.

  • #3113

    Test CreateTransfersResult.exists in VOPR.

  • #3117,
    #3120

    stdx refactoring.

TigerTracks 🎧

ReleaseNotes_0 16 53