nats-server version history
10 releases tracked, newest first.
v2.14.3
Jun 29, 2026- Demoted noisy per-connection logs to debug level and improved s2_fast compression consistency
- Refactored JetStream stream/consumer assignment and improved error handling
- Fixed multiple issues including memory leaks, auth updates, and PROXY protocol detection
- Addressed various JetStream, MQTT, and monitoring bugs including data races and panic conditions
35 downloads
v2.12.12
Jun 29, 2026## Changelog
### Go Version
- 1.25.11
### Dependencies
- golang.org/x/crypto v0.53.0 (#8297)
- golang.org/x/sys v0.46.0 (#8297)
- github.com/nats-io/jwt/v2 v2.8.2
- github.com/nats-io/nkeys v0.4.16
### Improved
General
- Per-connection log lines that could be noisy in normal operation have been demoted to debug level (#8289)
- Writer options are now applied consistently when using the `s2_fast` compression mode (#8047)
JetStream
- Stream and consumer assignment handling has been refactored for more consistent migration and info behavior (#8262)
- Meta, stream and consumer write errors are now registered more consistently for health and recovery handling (#8293)
### Removed
Monitoring
- JSONP callback support has been removed from monitoring endpoints
### Fixed
General
- Inherited JWT default permissions are now refreshed when account claims are updated (#8276)
- External auth configuration is now cleared correctly when account claims are updated (#8275)
- PROXY protocol detection, TLS sniffing with `allow_non_tls` and PROXY v1 address-family parsing have been fixed (#8302)
- A race in gateway `CONNECT` handling has been fixed (#8
35 downloads
v2.12.11
Jun 9, 2026## 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.11
### Fixed
JetStream
- Fixed a regression introduced in v2.12.7 which could result in stale subject state tracking which could manifest in "Message Not Found" errors when a max messages per subject limit is configured (#8285)
- Please note that v2.14.x versions are not affected
### Complete Changes
https://github.com/nats-io/nats-server/compare/v2.12.10...v2.12.11
35 downloads
v2.14.2
Jun 2, 2026## 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.3
### 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
35 downloads
v2.12.10
Jun 2, 2026## 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
35 downloads
v2.14.2-RC.1
Pre-releaseMay 29, 2026## 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.3
### Dependencies
- golang.org/x/crypto v0.52.0
- golang.org/x/sys v0.45.0
### 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)
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)
- Fixed a case where the filestore would not release a lock after handling a write error (#8232)
- Purge operations on both file and memory stor
35 downloads
v2.12.10-RC.1
Pre-releaseMay 29, 2026## 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
### 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)
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
35 downloads
v2.14.1
May 20, 2026## 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.3 (#8107)
### Dependencies
- github.com/klauspost/compress v1.18.6 (#8124)
- golang.org/x/crypto v0.51.0 (#8124)
- golang.org/x/sys v0.44.0 (#8124)
### Added
General
- New metrics `in_client_msgs`, `in_client_bytes`, `out_client_msgs` and `out_client_bytes` are now available via the `/varz` monitoring endpoint for tracking data to/from normal clients only (#7851)
### Improved
General
- Client TLS certificates without subject DNs but with DNS subject alternate names are now permitted (#8100)
- The log level of TLS handshake timeout or non-TLS record errors have been demoted to debug level to reduce noise (#8096)
JetStream
- Num pending is now only calculated on consumer leaders, avoiding unnecessary CPU usage on followers (#8172)
- Snapshot and catchup loops no longer leak timers (#8186, thanks to @SebTardif)
- Stream and consumer assignment errors are now surfaced (#8208)
- Intersection of sublists and subject trees
35 downloads
v2.12.9
May 20, 2026## 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 (#8107)
### Dependencies
- github.com/klauspost/compress v1.18.6 (#8124)
- golang.org/x/crypto v0.51.0 (#8124)
- golang.org/x/sys v0.44.0 (#8124)
### Added
General
- New metrics `in_client_msgs`, `in_client_bytes`, `out_client_msgs` and `out_client_bytes` are now available via the `/varz` monitoring endpoint for tracking data to/from normal clients only (#7851)
### Improved
General
- Client TLS certificates without subject DNs but with DNS subject alternate names are now permitted (#8100)
- The log level of TLS handshake timeout or non-TLS record errors have been demoted to debug level to reduce noise (#8096)
JetStream
- Num pending is now only calculated on consumer leaders, avoiding unnecessary CPU usage on followers (#8172)
- Snapshot and catchup loops no longer leak timers (#8186, thanks to @SebTardif)
- Stream and consumer assignment errors are now surfaced (#8208)
- Intersection of sublists and subject trees can now be cancelled early, avoiding high CPU us
35 downloads
v2.14.1-RC.2
Pre-releaseMay 19, 2026## 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.3
### Improved
General
- The log level of TLS handshake timeout or non-TLS record errors have been demoted to debug level to reduce noise (#8096)
JetStream
- Num pending is now only calculated on consumer leaders, avoiding unnecessary CPU usage on followers (#8172)
- Snapshot and catchup loops no longer leak timers (#8186, thanks to @SebTardif)
### Fixed
General
- Fixed a panic that could happen when an error occurs when walking JWT directory resolver folders (#8173, thanks to @SebTardif)
Leafnodes
- Leafnode connections will no longer negotiate compression if they are configured over already-compressed WebSockets (#7969)
JetStream
- Correctly reset local meta log when extending the meta group to a parent domain (#8142)
- Consumer file stores will now correctly flush when deleting a single redelivery, avoiding unexpected further redeliveries (#8168)
- Storage reservations for un-tiered streams have been made consi
35 downloads