0.17.8
tigerbeetle/tigerbeetle0.17.8Jun 22, 2026by github-actions[bot]
AI Summary
A bug fix release addressing a critical schema change issue introduced in version 0.17.5 that caused crashes during upgrades, alongside preparations for the Ruby client.
Key Highlights
- Fixes a schema change bug causing crashes when upgrading from 0.17.4 to 0.17.5-0.17.7 with pending transfers.
- Fixes a 'headline compatibility bug' related to the unique keys revert.
- Prepares the Ruby client for publishing.
- Adds a gauge metric to record replica start time.
New Features
- Gauge metric for recording replica start time.
Full Release Notes
# 0.17.8 ### Supported upgrade versions Oldest supported client version: 0.16.4 Oldest upgradable replica version: 0.17.4 ## Server * Binary: Download the zip for your OS and architecture from this page and unzip. * Docker: `docker pull ghcr.io/tigerbeetle/tigerbeetle:0.17.8` * Docker (debug image): `docker pull ghcr.io/tigerbeetle/tigerbeetle:0.17.8-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.17.8` * Go: `go mod edit -require github.com/tigerbeetle/tigerbeetle-go@v0.17.8` * Java: Update the version of `com.tigerbeetle.tigerbeetle-java` in `pom.xml` to `0.17.8`. * Node.js: `npm install --save-exact tigerbeetle-node@0.17.8` * Python: `pip install tigerbeetle==0.17.8` ## Changelog This release fixes a schema change bug introduced in 0.17.5, that would cause crashes when attempting to upgrade to 0.17.5 - 0.17.7 from 0.17.4 and below if pending transfers were present on the cluster. See [#3808](https://github.com/tigerbeetle/tigerbeetle/issues/3808). If you are upgrading from 0.17.4, or attempting to upgrade from a currently crashed cluster on 0.17.5 - 0.17.7, no special consideration is needed, and you may upgrade directly to 0.17.8. If you are upgrading from either a fresh or upgraded cluster on 0.17.5 - 0.17.7, and have used pending transfers, you can run the script [here](https://github.com/tigerbeetle/tigerbeetle/issues/3808#issuecomment-4771439967) to check if you have any blocks that are on the incorrect schema. If you do, please file an issue on GitHub, otherwise it's safe to upgrade to 0.17.8. ### Safety And Performance - [a299a](https://github.com/tigerbeetle/tigerbeetle/commit/a299a7d3f7c98793f4c84ee743062bdc720f79ac) Fix the headline compatibility bug. - [#3802](https://github.com/tigerbeetle/tigerbeetle/pull/3802) Fix a bug in which the stash would overflow due to excess tombstones. - [#3798](https://github.com/tigerbeetle/tigerbeetle/pull/3798) Fuzz scans over mutable secondary indexes, and fix an assertion. - [#3797](https://github.com/tigerbeetle/tigerbeetle/pull/3797) Fix commit stall injection for clusters with 8 or more active clients. ### Features - [#3787](https://github.com/tigerbeetle/tigerbeetle/pull/3787) Prepare Ruby client for publishing. - [#3792](https://github.com/tigerbeetle/tigerbeetle/pull/3792) Add gauge metric to record replica start time. ### Internals - [#3795](https://github.com/tigerbeetle/tigerbeetle/pull/3795) Add case conversion helpers to `stdx`. - [#3781](https://github.com/tigerbeetle/tigerbeetle/pull/3781) Add `stdx.net` with IP address implementation. - [#3801](https://github.com/tigerbeetle/tigerbeetle/pull/3801) Add `FuzzIterations` abstraction to control fuzzer smoke test duration. ### TigerTracks 🎧 - [The Fallen](https://www.youtube.com/watch?v=YsjHZXRGM1M) <img width="2732" height="1567" alt="image" src="https://github.com/user-attachments/assets/1f156c1e-2341-43f7-b58f-b59aefde0c5c" />