Releases: nats-io/nats-server
Release v2.10.23-RC.1
Changelog
Refer to the 2.10 Upgrade Guide for backwards compatibility notes with 2.9.x.
Go Version
- 1.22.8
Added
Windows
- New
ca_certs_match
option has been added in thetls
block for searching the certificate store for only certificates matching the specified CAs (#5115) - New
cert_match_skip_invalid
option has been added in thetls
block for ignoring certificates that have expired or are not valid yet (#6042) - The
cert_match_by
option can now be set tothumbprint
, allowing an SHA1 thumbprint to be specified incert_match
(#6042, #6047)
Improved
JetStream
- Reduced the number of allocations in consumers from get-next requests and when returning some error codes (#6039)
Fixed
General
- Load balancing queue groups from leaf nodes in a cluster (#6043)
JetStream
- Invalidate the stream state when a drift between the tracking states has been detected (#6034)
- Fixed a panic in the subject tree when checking for full wildcards (#6049)
- Snapshot processing should no longer spin when there is no leader (#6050)
- Replicated stream message framing can no longer overflow with extremely long subjects, headers or reply subjects (#6052)
- Don’t replace the leader’s snapshot when shutting down, potentially causing a desync (#6053)
Windows
- Using the
LocalMachine
certificate store is now possible from a non-administrator user (#6019)
Complete Changes
Release v2.10.22
Changelog
Refer to the 2.10 Upgrade Guide for backwards compatibility notes with 2.9.x.
Go Version
- 1.22.8
Dependencies
- golang.org/x/crypto v0.28.0 (#5971)
- golang.org/x/sys v0.26.0 (#5971)
- golang.org/x/time v0.7.0 (#5971)
- go.uber.org/automaxprocs v1.6.0 (#5944)
- github.com/klauspost/compress v1.17.11 (#6002)
Added
Config
- A warning will now be logged at startup if the JetStream store directory appears to be in a temporary folder (#5935)
Improved
General
- More efficient searching of sublists for the number of subscriptions (#5918)
JetStream
- Improve performance when checking interest and correcting ack state on interest-based or work queue streams (#5963)
- Safer default file permissions for JetStream filestore and logs (#6013)
Fixed
JetStream
- Large number of message delete tombstones will no longer result in unusually large message blocks on disk (#5973)
- The server will no longer panic when restoring corrupted subject state containing null characters (#5978)
- A data race when processing append entries has been fixed (#5970)
- Fix a stream desync across replicas that could occur after stalled or failed catch-ups (#5939)
- Consumers will no longer race with the filestore when fetching messages, fixing some cases where consumers can get stuck with workqueue streams and max messages per subject limits (#6003)
- Pull consumers will now recalculate max delivered when expiring messages, such that the redelivered status does not report incorrectly and cause a stall with a max deliver limit (#5995)
- Clustered streams should no longer desync if a catch-up fails due to a loss of leader (#5986)
- Fixed a panic that could occur when calculating asset placement in a JetStream cluster (#5996)
- Fixed a panic when shutting down a clustered stream (#6007)
- Revert earlier PR #5785 to restore consumer start sequence clipping, fixing an issue where sourcing/mirroring consumers could skip messages (#6014)
Leafnodes
- Load balancing of queue groups over leafnode connections (#5982)
Complete Changes
Release v2.10.22-RC.3
Changelog
Refer to the 2.10 Upgrade Guide for backwards compatibility notes with 2.9.x.
Go Version
- 1.22.8
Dependencies
- github.com/klauspost/compress v1.17.11 (#6002)
Fixed
JetStream
- Consumers will no longer race with the filestore when fetching messages, fixing some cases where consumers can get stuck with workqueue streams and max messages per subject limits (#6003)
- Pull consumers will now recalculate max delivered when expiring messages, such that the redelivered status does not report incorrectly and cause a stall with a max deliver limit (#5995)
- Clustered streams should no longer desync if a catch-up fails due to a loss of leader (#5986)
- Fixed a panic that could occur when calculating asset placement in a JetStream cluster (#5996)
- Fixed a panic when shutting down a clustered stream (#6007)
Complete Changes
Release v2.10.22-RC.2
Changelog
Refer to the 2.10 Upgrade Guide for backwards compatibility notes with 2.9.x.
Go Version
- 1.22.8
Improved
General
- More efficient searching of sublists for the number of subscriptions (#5918)
Fixed
Leafnodes
- Load balancing of queue groups over leafnode connections (#5982)
Complete Changes
Release v2.10.22-RC.1
Changelog
Refer to the 2.10 Upgrade Guide for backwards compatibility notes with 2.9.x.
Go Version
- 1.22.7
Dependencies
- golang.org/x/crypto v0.28.0 (#5971)
- golang.org/x/sys v0.26.0 (#5971)
- golang.org/x/time v0.7.0 (#5971)
- github.com/klauspost/compress v1.17.10 (#5945)
- go.uber.org/automaxprocs v1.6.0 (#5944)
Added
Config
- A warning will now be logged at startup if the JetStream store directory appears to be in a temporary folder (#5935)
Improved
JetStream
- Improve performance when checking interest and correcting ack state on interest-based or work queue streams (#5963)
Fixed
JetStream
- Large number of message delete tombstones will no longer result in unusually large message blocks on disk (#5973)
- The server will no longer panic when restoring corrupted subject state containing null characters (#5978)
- A data race when processing append entries has been fixed (#5970)
- Fix a stream desync across replicas that could occur after stalled or failed catch-ups (#5939)
Complete Changes
Release v2.10.21
Changelog
Refer to the 2.10 Upgrade Guide for backwards compatibility notes with 2.9.x.
Go Version
- 1.22.7
Dependencies
Added
Config
- New TLS
min_version
option for configuring the minimum supported TLS version (#5904)
Improved
JetStream
- Global JetStream API queue hard limit for protecting the system (#5900, #5923)
- Orphaned ephemeral consumer clean-up is now logged at debug level only (#5917)
Monitoring
statsz
messages are now sent every 10 seconds instead of every 30 seconds (#5925)- Include JetStream pending API request count in
statsz
messages andjsz
responses for monitoring (#5923, #5926)
Fixed
JetStream
- Fix an issue comparing the stream configuration with the updated stream assignment on stream create (#5854)
- Improvements to recovering from old or corrupted
index.db
(#5893, #5901, #5907) - Ensure that consumer replicas and placement are adjusted properly when scaling down a replicated stream (#5927)
- Fix a panic that could occur when trying to shut down while the JetStream meta group was in the process of being set up (#5934)
Monitoring
- Always update account issuer in
accountsz
(#5886)
OCSP
- Fix peer validation on the HTTPS monitoring port when OCSP is enabled (#5906)
Config
- Support multiple trusted operators using a config file (#5896)
Complete Changes
Release v2.10.21-RC.4
Changelog
Refer to the 2.10 Upgrade Guide for backwards compatibility notes with 2.9.x.
Go Version
- 1.22.7
Improved
Monitoring
statsz
messages are now sent every 10 seconds instead of every 30 seconds (#5925)- Include JetStream pending API request count in
statsz
messages andjsz
responses for monitoring (#5923, #5926)
Fixed
JetStream
- Ensure that consumer replicas and placement are adjusted properly when scaling down a replicated stream (#5927)
Complete Changes
Release v2.10.21-RC.3
Changelog
Refer to the 2.10 Upgrade Guide for backwards compatibility notes with 2.9.x.
Go Version
- 1.22.7
Improved
JetStream
- Orphaned ephemeral consumer clean-up is now logged at debug level only (#5917)
Complete Changes
Release v2.10.21-RC.2
Changelog
Refer to the 2.10 Upgrade Guide for backwards compatibility notes with 2.9.x.
Go Version
- 1.22.7
Added
Config
- New TLS
min_version
option for configuring the minimum supported TLS version (#5904)
JetStream
- Global JetStream API queue limiting for protecting the system (#5900)
OCSP
- Allow HTTPS monitoring port when OCSP enabled (#5906)
Fixed
JetStream
- Recover old
index.db
when not using the max messages per subject limits (#5901) - Rebuild the state if additional blocks are found after the last block recorded in
index.db
(#5907)
Complete Changes
Release v2.10.21-RC.1
Changelog
Refer to the 2.10 Upgrade Guide for backwards compatibility notes with 2.9.x.
Go Version
- 1.22.7
Dependencies
golang.org/x/crypto v0.27.0 (#5869)
golang.org/x/sys v0.25.0 (#5869)
Fixed
JetStream
- Fix reflect.DeepEqual both receiving pointers on stream create (#5854)
- Improvements to dealing with old or non-existent index.db (#5893)
Monitoring
- Always update account issuer in accountsz (#5886)
Config
- Support multiple trusted operators using a config file (#5896)