v2.14.7
vadimdemedes/inkv2.14.7Sep 15, 2026by github-actions[bot]
Upgrading?
AI Summary
This release upgrades the Go version to 1.26.8 and replaces the `math/rand` packages with `math/rand/v2`. It adds compatibility for the new desired state metalayer in JetStream and improves performance.
Key Highlights
- Upgraded Go version to 1.26.8.
- Replaced `fastrand` and `math/rand` with `math/rand/v2`.
- Added JetStream compatibility for the new desired state metalayer.
- Reduced lock contention in event ID tracking and connection handling.
New Features
- JetStream compatibility for v2.15 desired state metalayer.
- Improved JetStream performance with aggregated block removals.
- Enhanced message size checks before expensive header checks.
Full Release Notes
## Changelog
Refer to the [2.14 Upgrade Guide](https://docs.nats.io/release-notes/whats_new/whats_new_214) for backwards compatibility notes with 2.12.x. Please note that the 2.13.x version was skipped.
### Go Version
- 1.26.8 (#8551)
### Dependencies
- github.com/antithesishq/antithesis-sdk-go v0.8.0-default-no-op (#8562)
- github.com/klauspost/compress v1.20.0 (#8562)
- golang.org/x/crypto v0.57.0 (#8597)
- golang.org/x/sys v0.48.0 (#8597)
- golang.org/x/time v0.16.0 (#8597)
### Added
JetStream
- Compatibility for the new desired state metalayer, introduced in v2.15, to support safe upgrades and downgrades (#8554)
### Improved
General
- The `fastrand` and `math/rand` packages have been replaced with `math/rand/v2` (#8538, #8557)
- Reduced lock contention that could arise from tracking event IDs or closed connections (#8533)
JetStream
- When syncing deletes from a snapshot, block removals are now aggregated, reducing pending calculations (#8545)
- Message size checks are now performed before more expensive header checks (#8561)
- Pending calculations are now considerably faster when the max messages per subject limit is 1 (#8567)
### Fixed
General
- The `{{left}}` and `{{right}}` mapping functions now work correctly in account mappings and source/mirror transforms (#8568)
JetStream
- A potential underflow when calculating deletes in skip messages has been fixed (#8546)
- Fixed an issue where catchup signals to the metalayer are blocked, which could stall stream or cluster management operations until the node is restarted (#8555)
- Consumer removal is now handled correctly after a recreate during metalayer recovery at startup (#8556)
- Fixed a potential panic that could happen when filestore block caches were released during message removal (#8548)
- The last dedupe message ID is now restored correctly if the last message was outside of the window after restart (#8564)
- An unreachable send snapshot condition has been removed from the stream monitor (#8565)
- Pull request expiry is now counted as activity when `inactive_threshold` is set (#8575)
- Purges and roll-ups on multi-filter subject consumers will no longer advance past unrelated subjects (#8572)
- Filestore compression header checking is now extended to check for compatible compression values and for the presence of correct or incorrect first record checksums, avoiding collisions at the beginning of a message block (#8581)
- JetStream usage from peer-removed nodes is now removed from the remaining cluster node accounting correctly (#8570)
- Fixed a data race between deduplication tracking and stream config updates (#8598)
- Fixed a potential nil consumer info when responding to consumer reset requests (#8598)
- Stream catchups will no longer run for removed or re-synced peers (#8598)
- Fixed a race condition that could leave ghost consumer assignments when deleting consumers (#8598)
- Pausing a consumer with pending changes no longer cancels out the in-flight assignment (#8598)
- Stepping down a consumer leader with pending changes no longer fails (#8598)
- Switching a stream to interest retention policy with no consumers now correctly cleans up messages with no interest (#8598)
- Fixed an issue where removed consumers were incorrectly matched without checking the group name (#8598)
- A number of stream and consumer endpoints will no longer report the wrong state based on in-flight proposals (#8598)
### Complete Changes
https://github.com/nats-io/nats-server/compare/v2.14.6...v2.14.7Related Repositories
openclaw/openclaw★ 392,729
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
nilbuild/developer-roadmap★ 370,105
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
morluto/rea★ 361,425
Reverse engineer anything with agents, from app behavior down to native binaries.
anomalyco/opencode★ 219,918
The open source coding agent.
n8n-io/n8n★ 208,293
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.