v2.12.10
umami-software/umamiv2.12.10Jun 2, 2026by github-actions[bot]
AI Summary
This release updates dependencies to Go 1.25.10 and adds the Client ID availability feature. It focuses on fixing JetStream stability issues, including Raft peer tracking, filestore CPU usage, and consumer lock management, alongside general protocol and WebSocket stability fixes.
Key Highlights
- Go 1.25.10 update
- Client ID now available through ClientAuthentication API
- Fixed race conditions in subscription handling
- Fixed protocol-level corruption in WebSocket clients
- Improved JetStream filestore performance
New Features
- Client ID available through ClientAuthentication API
Full Release Notes
## Changelog Refer to the [2.12 Upgrade Guide](https://docs.nats.io/release-notes/whats_new/whats_new_212) for backwards compatibility notes with 2.11.x. ### Go Version - 1.25.10 ### Dependencies - golang.org/x/crypto v0.52.0 - golang.org/x/sys v0.45.0 - github.com/nats-io/jwt/v2 v2.8.2 - github.com/nats-io/nkeys v0.4.16 ### Improved General - The client ID is now available through the embedded `ClientAuthentication` API (#8217) ### Fixed General - A race condition when handling subscription interest over routes has been fixed (#8235) - Potential protocol-level corruption from rewriting `$JS.ACK` subjects has been fixed (#8242) - Potential protocol-level corruption from buffer misuse in compressed WebSocket clients has been fixed (#8244) - The `/accstatz` monitoring endpoint no longer omits accounts with only leaf connections (#8252) JetStream - Fixed a case where Raft peers were not correctly tracked after an inactivity stall during catchup (#8226) - Quorum needed is now calculated correctly when bootstrapping the metalayer when gateway URLs resolve to multiple IP addresses (#8238) - The filestore no longer performs a block skip check on streams with extremely high subject counts, as it could result in runaway CPU usage (#8227) - Purge operations on both file and memory stores are now more consistent with each other (#8241) - Counter streams and message schedules now have configuration constraints applied to prevent incorrect usage patterns (#8240) - Improved stream and consumer scale down behaviour consistency (#8253) - Fixed an issue where the per-subject state last block was not stored correctly with a max messages per subject limit of 1 (#8254) - Fixed a drift that could occur in the peer sets after a peer remove of an online node (#8258) ### Complete Changes https://github.com/nats-io/nats-server/compare/v2.12.9...v2.12.10