0.14.166
版本发布时间: 2023-11-20 22:09:19
tigerbeetle/tigerbeetle最新发布版本:0.16.0(2024-09-03 04:34:45)
0.14.166
Automated build. Do not use in production.
NOTE: You must run the same version of server and client. We do not yet follow semantic versioning where all patch releases are interchangeable.
Server
- Binary: Download the zip for your OS and architecture from this page and unzip.
- Docker:
docker pull ghcr.io/tigerbeetle/tigerbeetle:0.14.166
- Docker (debug image):
docker pull ghcr.io/tigerbeetle/tigerbeetle:0.14.166-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.
- .NET:
dotnet add package tigerbeetle --version 0.14.166
- Go:
go mod edit -require github.com/tigerbeetle/tigerbeetle-go@v0.14.166
- Java: Update the version of
com.tigerbeetle.tigerbeetle-java
inpom.xml
to0.14.166
. - Node.js:
npm install tigerbeetle-node@0.14.166
Changelog
Safety And Performance
-
Recursively check for padding in structs used for data serialization, ensuring that no uninitialized bytes can be stored or transmitted over the network. Previously, we checked only if the struct had no padding, but not its fields.
Internals
-
Minor adjustments in the release process, making it easier to track updates in the documentation website when a new version is released, even if there are no changes in the documentation itself.
-
Fix outdated documentation regarding 128-bit balances.
-
Fix a bug discovered and reported during the Hackathon 2023, where the Node.js client's error messages were truncated due to an incorrect string concatenation adding a null byte
0x00
in the middle of the string. -
Update the Node.js samples instructions, guiding the user to install all dependencies before the sample project.
-
We've doubled the
Header
s size to 256 bytes, paving the way for future improvements that will require extra space. Concurrently, this change also refactors a great deal of code. Some of theHeader
's fields are shared by all messages, however, eachCommand
also requires specific pieces of information that are only used by its kind of message, and it was necessary to repurpose and reinterpret fields so that the same header could hold different data depending on the context. Now, commands have their own specialized data type containing the fields that are only pertinent to the context, making the API much safer and intent-clear. -
With larger headers (see #1295) we have enough room to make the cluster ID a 128-bit integer, allowing operators to generate random cluster IDs without the cost of having a centralized ID coordinator. Also updates the documentation and sample programs to reflect the new maximum batch size, which was reduced from 8191 to 8190 items after we doubled the header.
TigerTracks 🎧
1、 tigerbeetle-aarch64-linux-debug.zip 2.74MB
2、 tigerbeetle-aarch64-linux.zip 2.32MB
3、 tigerbeetle-universal-macos-debug.zip 3.25MB
4、 tigerbeetle-universal-macos.zip 1.23MB
5、 tigerbeetle-x86_64-linux-debug.zip 2.74MB
6、 tigerbeetle-x86_64-linux.zip 2.36MB
7、 tigerbeetle-x86_64-windows-debug.zip 1.4MB
8、 tigerbeetle-x86_64-windows.zip 671.96KB