v2.12.10

SylphAI-Inc/AdalFlowv2.12.10Jun 2, 2026by github-actions[bot]

AI Summary

Targeting the 2.12.x maintenance series, this release addresses similar race conditions and JetStream stability issues found in v2.14.2, alongside dependency updates to Go 1.25.10.

Key Highlights

  • Client ID is now available through the embedded `ClientAuthentication` API
  • Fixed race conditions when handling subscription interest over routes
  • Fixed potential protocol-level corruption from rewriting `$JS.ACK` subjects
  • Improved JetStream Raft peer tracking after inactivity stall
  • Updated dependencies to Go 1.25.10 and various crypto/sys libraries

New Features

  • Client ID availability through the embedded 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