Tigerbeetle

Latest version: v0.16.34

Safety actively analyzes 723177 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 6

0.16.34

Released: 2025-03-31

Safety And Performance

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

Add basic fuzzing for the state machine.

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

Re-do tickless VOPR to simulate fast IOPs.

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

Allow simulating one-replica-down scenario in the VOPR.

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

Print dropped packets in the VOPR.

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

Various changes for VOPR performance mode.

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

A quicker request protocol for VSR.

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

Account for pulses when computing the size of the request queue in VSR.

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

Fix a possible panic in the Node.js client by handling the "too much data" error.

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

Fix a possible replica crash if negative timestamps would be provided to AccountFilter or
QueryFilter.

Features

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

Allow `tigerbeetle inspect` to run on open data files. This helps with getting an idea what's
going on on a running cluster without needing to shut it down first.

Internals

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

Vendor our own BitSet in stdx, TigerBeetle's extended standard library.
This change reduces the Linux binary size by 38KiB.

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

Track the REPL execution time on [DevHub](https://devhub.tigerbeetle.com).

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

Fix the wording in the [correcting transfers
example](https://docs.tigerbeetle.com/coding/recipes/correcting-transfers/#example).
Thanks shraddha38!

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

Remove the global allocator from the fuzzers and pass the allocator explicitly to align more with
TigerStyle.

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

Block merges in the CI based on DevHub pipeline results.

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

Add replica/lsm/grid/journal metrics to VSR.

TigerTracks 🎧

- [Pushing Ownwards](https://www.youtube.com/watch?v=a7AhS0SxE1s)

0.16.33

Released: 2025-03-24

Note that [2824](https://github.com/tigerbeetle/tigerbeetle/pull/2824) bumps the oldest supported
client version to 0.16.4, removing backward compatibility with various deprecated features. Please
make sure that all of your clients are running on at least 0.16.4 before upgrading to this release!

Safety And Performance

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

Add performance mode to the VOPR, which tracks the number and aggregate size of each kind of
message during a run.

Features

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

Bump the oldest supported client version to 0.16.4, removing backward compatibility with various
deprecated features.

Internals

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

Simplify the idiom around adding elements to lists with comptime known lengths.

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

Better styling for links and block quotes in the documentation.

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

Change debug multiversion builds to encapsulate two versions as opposed to five.

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

Improve CFO efficacy by retaining Zig build cache across fuzzing iterations.

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

Update TigerStyle to add a new rule about using long form arguments in scripts (--force over -f).

- [2834](https://github.com/tigerbeetle/tigerbeetle/pull/2834),
[2837](https://github.com/tigerbeetle/tigerbeetle/pull/2837),
[2839](https://github.com/tigerbeetle/tigerbeetle/pull/2839),
[2841](https://github.com/tigerbeetle/tigerbeetle/pull/2841),

Fix various VOPR false positives.

TigerTracks 🎧

- [On The Way Home](https://open.spotify.com/track/4Fz1WWr5o0OrlIcZxcyZtK?si=4e48d9e99383409a)

0.16.32

Released: 2025-03-17

Safety And Performance

- [2798](https://github.com/tigerbeetle/tigerbeetle/pull/2798),
[2815](https://github.com/tigerbeetle/tigerbeetle/pull/2815)

Vendor the PRNG, and tweak the API to be less wordy.

PRNG algorithms tend to change, often for reasons not applicable to TigerBeetle. We need neither
the fastest, nor the most secure PRNG, and it's better if we rotate our PRNG algorithm at our own
pace.

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

Fix a case where, if a busy cluster's pipeline is full, the prepare_timeout was never reset.

This improves performance of a local benchmark for a 6-replica cluster with one replica down and 4
clients almost ~4x.

Internals

- [2804](https://github.com/tigerbeetle/tigerbeetle/pull/2804),
[2806](https://github.com/tigerbeetle/tigerbeetle/pull/2806),
[2803](https://github.com/tigerbeetle/tigerbeetle/pull/2803)

Add syntax highlighting to docs code snippets (thanks nilskch!), fix Python example code (thanks
IvoCrnkovic!) and update our HACKING.md with current practices.

- [2819](https://github.com/tigerbeetle/tigerbeetle/pull/2819),
[2814](https://github.com/tigerbeetle/tigerbeetle/pull/2814),
[2812](https://github.com/tigerbeetle/tigerbeetle/pull/2812)

Prepare for the [Zig 0.14 upgrade](https://github.com/tigerbeetle/tigerbeetle/pull/2705) by
applying as many changes that still work on 0.13 as possible. This includes vendoring AEGIS, to
keep hash stability, as 0.14 changes the implementation.

TigerTracks 🎧

- [Get Ready](https://open.spotify.com/track/4tvOVmc2jorV20Z2hFDtDg?si=15eb0ed7536b4ab3)

0.16.31

Released: 2025-03-09

Safety And Performance

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

Use LIFO instead of FIFO for free blocks during compaction for better temporal locality.

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

Disallow converting negative big integers to `UInt128` in the Java and Go clients, as they
would be incorrectly interpreted as unsigned big integers when converted back.

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

Remove spurious `write_reply_next()` after read completes in `client_replies`,
as reads and writes can happen concurrently.

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

Assert that `cache_map.stash` is not using any element beyond its defined capacity.

Features

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

Various REPL fixes and improvements.

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

Add single-page mode to the documentation website.

Internals

- [2791](https://github.com/tigerbeetle/tigerbeetle/pull/2791),
[2792](https://github.com/tigerbeetle/tigerbeetle/pull/2792),
[2793](https://github.com/tigerbeetle/tigerbeetle/pull/2793),
[2794](https://github.com/tigerbeetle/tigerbeetle/pull/2794),
[2795](https://github.com/tigerbeetle/tigerbeetle/pull/2795),
[2796](https://github.com/tigerbeetle/tigerbeetle/pull/2796),
[2807](https://github.com/tigerbeetle/tigerbeetle/pull/2807)

Miscellaneous documentation typo fixes, clarifications, and references.

- [2788](https://github.com/tigerbeetle/tigerbeetle/pull/2788),
[2802](https://github.com/tigerbeetle/tigerbeetle/pull/2802)

Ban qualified `std.debug.assert` and `memcpy`.

- [2776](https://github.com/tigerbeetle/tigerbeetle/pull/2776),
[2800](https://github.com/tigerbeetle/tigerbeetle/pull/2800)

Fix code comment typos.

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

Add tracking of format time and startup time to the [devhub](https://devhub.tigerbeetle.com/).

TigerTracks 🎧

- [The Hardest Button To Button](https://www.youtube.com/watch?v=K4dx42YzQCE)

0.16.30

Released: 2025-03-03

Note: Before performing this upgrade, please make sure to check that no replicas are lagging and
state syncing.

You can ensure this by temporarily pausing load to the TigerBeetle cluster and waiting for all
replicas to catch up. If some replicas in your cluster were indeed lagging, you should see
`on_repair_sync_timeout: request sync; lagging behind cluster` in the logs, followed by
`sync: ops=`, which indicates the end of state sync. If you don't see the former in the logs, then
you are already safe to upgrade!

This is to work around an issue in the upgrade between 0.16.25 → 0.16.26, wherein a state syncing
replica goes into a crash loop when it upgrades to 0.16.26. If one of your replicas has already hit
this crash loop, please reach out to us on the Community Slack so we can help you safely revive it.


Safety And Performance

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

Fix TOCTOU bug in our hybrid set-associative cache and hash map structure, wherein a promotion
to the cache coupled with an eviction from the cache could lead to invalid pointer references.

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

Add logic to crash replica upon receiving unknown commands from clients and other replicas.

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

Fix upgrade bug wherein a replica does not detect a change in the binary if it is replaced during
its initialization in `Replica.open()`.

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

Alternate replication direction for even and odd ops to better detect breaks in the ring topology.

Internals

- [2770](https://github.com/tigerbeetle/tigerbeetle/pull/2770),
[2781](https://github.com/tigerbeetle/tigerbeetle/pull/2781),
[2779](https://github.com/tigerbeetle/tigerbeetle/pull/2779),
[2778](https://github.com/tigerbeetle/tigerbeetle/pull/2778),
[2769](https://github.com/tigerbeetle/tigerbeetle/pull/2769),

Add new docs content to `TigerBeetle Architecture`, fix miscellaneous typos and references.

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

Simplify idiom around a replica sending messages to itself.

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

Refactor MessageBus to remove platform-specific IO logic.

TigerTracks 🎧

- [For Crying Out Loud](https://open.spotify.com/track/4nsd2DbMYqRwkvIQ51r4cp?si=411872dc9c444535)

0.16.29

Released: 2025-02-24

Note: Before performing this upgrade, please make sure to check that no replicas are lagging and
state syncing.

You can ensure this by temporarily pausing load to the TigerBeetle cluster and waiting for all
replicas to catch up. If some replicas in your cluster were indeed lagging, you should see
`on_repair_sync_timeout: request sync; lagging behind cluster` in the logs, followed by
`sync: ops=`, which indicates the end of state sync. If you don't see the former in the logs, then
you are already safe to upgrade!

This is to work around an issue in the upgrade between 0.16.25 → 0.16.26, wherein a state syncing
replica goes into a crash loop when it upgrades to 0.16.26. If one of your replicas has already hit
this crash loop, please reach out to us on the Community Slack so we can help you safely revive it.


Safety And Performance

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

Explicitly ignore deprecated protocol messages.

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

Fix a crash when, during upgrade, replica's binary is changed the second time.

Features

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

Implement metrics, using statsd format.

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

Add new indexes to the account balances to enable CDC.

- [2521](https://github.com/tigerbeetle/tigerbeetle/pull/2521),
[2751](https://github.com/tigerbeetle/tigerbeetle/pull/2751),
[2756](https://github.com/tigerbeetle/tigerbeetle/pull/2756),
[2757](https://github.com/tigerbeetle/tigerbeetle/pull/2757),
[2754](https://github.com/tigerbeetle/tigerbeetle/pull/2754)

Restructure documentation.

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

Implement more standard shortcuts for REPL.

Internals

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

Refactor C client API to remove internal mutex.

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

Don't use deprecated NodeJS APIs in the samples.

- [2748](https://github.com/tigerbeetle/tigerbeetle/pull/2748),
[2744](https://github.com/tigerbeetle/tigerbeetle/pull/2744)

Improve documentation search.

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

Switch to vale for documentation spell checking.


TigerTracks 🎧

- [Зов Крови](https://open.spotify.com/track/6YS6ZOCL6KX9kDRQRzD9s0?si=46730a9a7a7842ab)

Page 1 of 6

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.