0.17.9

thevoiceguy/siphon-ai0.17.9Jul 6, 2026by github-actions[bot]

Upgrading?

AI Summary

This release focuses on safety, performance, and schema validation improvements, including the reversion of unique keys to fix compatibility issues and the introduction of an experimental CLI flag for automatic memory sizing.

Key Highlights

  • Reverted unique keys to resolve compatibility issues introduced in previous versions.
  • Extended `inspect constants` to catch schema changes and display the Checkpoint Schedule.
  • Micro-optimizations to the radix sort algorithm to avoid copies with large stack-allocated values.
  • Added online schema validation to ensure coherent `key_min`/`key_max` when reading data.
  • Introduced an experimental CLI `--memory` flag to automatically size caches based on assigned memory.

Breaking Changes

  • Reverted unique keys functionality to resolve compatibility issues.

New Features

  • Experimental CLI `--memory` flag for automatic grid and object cache sizing.
  • Improved Ruby client migration guide.
  • Improved print layout support in documentation.
  • Added u128 bounds check in the Ruby client with more idiomatic status return types.
  • Improved Rust client by removing the bitflags dependency and enabling overflow checks.
  • Exposed `TimeSim` and fixtures in VSR for internal testing.

Full Release Notes

# 0.17.9

### Supported upgrade versions

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

## Server

* Binary: Download the zip for your OS and architecture from this page and unzip.
* Docker: `docker pull ghcr.io/tigerbeetle/tigerbeetle:0.17.9`
* Docker (debug image): `docker pull ghcr.io/tigerbeetle/tigerbeetle:0.17.9-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.9`
* Go: `go mod edit -require github.com/tigerbeetle/tigerbeetle-go@v0.17.9`
* Java: Update the version of `com.tigerbeetle.tigerbeetle-java` in `pom.xml`
  to `0.17.9`.
* Node.js: `npm install --save-exact tigerbeetle-node@0.17.9`
* Python: `pip install tigerbeetle==0.17.9`

## Changelog


### Safety And Performance

- [#3810](https://github.com/tigerbeetle/tigerbeetle/pull/3810)

  Revert unique keys, which caused compatibility issues
  (see [#3802](https://github.com/tigerbeetle/tigerbeetle/pull/3802)).

- [#3822](https://github.com/tigerbeetle/tigerbeetle/pull/3822),
  [#3844](https://github.com/tigerbeetle/tigerbeetle/pull/3844)

  Extend `inspect constants` to catch schema changes and prints
  the `Checkpoint Schedule` section.

- [#3845](https://github.com/tigerbeetle/tigerbeetle/pull/3845)

  Micro-optimization to the radix sort algorithm to avoid copies when dealing
  with large stack-allocated values.

- [#3840](https://github.com/tigerbeetle/tigerbeetle/pull/3840)

  Online schema validation, ensuring coherent `key_min`/`key_max` when reading data.

### Features

- [#3816](https://github.com/tigerbeetle/tigerbeetle/pull/3816)

  Improve the Ruby client migration guide.

- [#3836](https://github.com/tigerbeetle/tigerbeetle/pull/3836),
  [#3832](https://github.com/tigerbeetle/tigerbeetle/pull/3832),
  [#3835](https://github.com/tigerbeetle/tigerbeetle/pull/3835),
  [#3834](https://github.com/tigerbeetle/tigerbeetle/pull/3834)

  Various docs improvements, including adding the Ruby client and print layout support.

- [#3830](https://github.com/tigerbeetle/tigerbeetle/pull/3830),
  [#3811](https://github.com/tigerbeetle/tigerbeetle/pull/3811)

  Add a u128 bounds check in the Ruby client and make its status return type more idiomatic.

- [#3827](https://github.com/tigerbeetle/tigerbeetle/pull/3827)

  Improve the Rust client, removing the bitflags dependency and enabling overflow checks.

- [#3852](https://github.com/tigerbeetle/tigerbeetle/pull/3852)

  Experimental CLI `--memory` flag that automatically sizes the grid and object caches to use
  all assigned memory.

### Internals

- [#3825](https://github.com/tigerbeetle/tigerbeetle/pull/3825),
  [#3831](https://github.com/tigerbeetle/tigerbeetle/pull/3831)

  Improve various code comments.

- [#3793](https://github.com/tigerbeetle/tigerbeetle/pull/3793)

  Switch to `stdx.SocketAddress`.

- [#3826](https://github.com/tigerbeetle/tigerbeetle/pull/3826)

  Fail on curl instead of unzip for network flakes during Vortex builds.

- [#3813](https://github.com/tigerbeetle/tigerbeetle/pull/3813)

  Expose `TimeSim` and fixtures in VSR.

- [#3820](https://github.com/tigerbeetle/tigerbeetle/pull/3820)

  Introduce the canonical workload principle for benchmarks.

- [#3682](https://github.com/tigerbeetle/tigerbeetle/pull/3682)

  Make publishing TigerBeetle client artifacts idempotent.

- [#3817](https://github.com/tigerbeetle/tigerbeetle/pull/3817)

  Workaround MacOS builds on Zig 0.14.1 (see [issue](ttps://codeberg.org/ziglang/zig/issues/31658)).

### TigerTracks 🎧

- [Home](https://www.youtube.com/watch?v=5Fc9A6mLHJU)

<img width="1712" height="1152" alt="image" src="https://github.com/user-attachments/assets/0e04023d-3860-4138-a3f0-8f7598c2ef0c" />

Related Repositories