Skip to content

Releases: nats-io/nats-server

Release v2.10.23-RC.4

22 Nov 17:04
v2.10.23-RC.4
ba4b34f
Compare
Choose a tag to compare
Release v2.10.23-RC.4 Pre-release
Pre-release

Changelog

Refer to the 2.10 Upgrade Guide for backwards compatibility notes with 2.9.x.

Go Version

  • 1.23.3

Added

JetStream

  • Support for responding to forwarded proposals (for future use, #6157)

Fixed

JetStream

  • Consistent state update behavior between file store and memory store, including a fixed integer underflow (#6147)
  • No longer send a state snapshot when becoming a consumer leader as it may not include all applied state (#6151)
  • Do not install snapshots on shutdown from outside the monitor goroutines as it may race with upper layer state (#6153)
  • The consumer Backoff configuration option now correctly checks the MaxDelivery constraint (#6154)
  • Consumer check floor will no longer surpass the store ack floor (#6146)
  • Replicated consumers will no longer update their delivered state until quorum is reached, fixing some drifts that can occur on a leader change (#6139)

Leafnodes

  • A number of leafnode interest propagation issues have been fixed, making it possible to distinguish leaf subscriptions from local routed subscriptions (#6161)

Complete Changes

v2.10.23-RC.3...v2.10.23-RC.4

Release v2.10.23-RC.3

19 Nov 16:19
v2.10.23-RC.3
77896a2
Compare
Choose a tag to compare
Release v2.10.23-RC.3 Pre-release
Pre-release

Changelog

Refer to the 2.10 Upgrade Guide for backwards compatibility notes with 2.9.x.

Go Version

Improved

JetStream

  • Reduced copies and number of allocations when generating headers for republished messages (#6127)
  • Adjusted the spread of filestore sync timers (#6128)
  • Reduced the number of allocations in Raft group send queues, improving performance (#6132)

Fixed

JetStream

  • Don’t process duplicate stream assignment responses when the stream is being reassigned due to placement issues (#6121)
  • Corrected use of the stream mutex when checking interest (#6122)
  • Raft entries for consumers that we cannot be sure were applied during a shutdown will no longer be reported as applied (#6133)

Leafnodes

  • Fixed queue distribution where a leafnode expressed interest on behalf of a gateway in complex setups (#6126)

WebSockets

  • Ensure full writes are made when compression is in use (#6091)

Complete Changes

v2.10.23-RC.2...v2.10.23-RC.3

Release v2.10.23-RC.2

12 Nov 17:54
v2.10.23-RC.2
b36ada3
Compare
Choose a tag to compare
Release v2.10.23-RC.2 Pre-release
Pre-release

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.29.0 (#6105)
  • golang.org/x/sys v0.27.0 (#6105)
  • golang.org/x/time v0.8.0 (#6105)

Improved

JetStream

  • Metalayer recovery at startup will now more reliably group assets for creation/update/deletion and handle pending consumers more reliably, reducing the chance of ghost consumers and misconfigured streams happening after restarts (#6066, #6069, #6088, #6092)
  • Creation of filtered consumers is now considerably faster with the addition of a new multi-subject num-pending calculation (#6089, #6112)
  • Consumer backoff should now be correctly respected with multiple in-flight deliveries to clients (#6104)
  • Add node10 node size to stree, providing better memory utilisation for some subject spaces, particularly those that are primarily numeric or with numeric tokens (#6106)
  • Some JetStream log lines have been made more consistent (#6065)
  • File-backed Raft groups will now use the same sync intervals as the filestore, including when sync always is in use (#6041)
  • Metalayer snapshots will now always be attempted on shutdown (#6067)
  • Consumers will now detect if an ack is received past the stream last sequence and will no longer register pre-acks from a snapshot if this happens, reducing memory usage (#6109)

Fixed

JetStream

  • Consumer start sequence when specifying an optional start time has been fixed (#6082)
  • Raft snapshots will no longer be incorrectly removed when truncating the log back to applied (#6055)
  • Raft state will no longer be deleted if creating a stream/consumer failed because the server was shutting down (#6061)
  • Fixed a panic when shutting down whilst trying to set up the metagroup (#6075)
  • Raft entries that we cannot be sure were applied during a shutdown will no longer be reported as applied (#6087)
  • Corrected an off-by-one error in the run-length encoding of interior deletes, which could incorrectly remove an extra message (#6111)

Tests

Complete Changes

v2.10.23-RC.1...v2.10.23-RC.2

Release v2.10.23-RC.1

29 Oct 19:12
v2.10.23-RC.1
e0c5dc9
Compare
Choose a tag to compare
Release v2.10.23-RC.1 Pre-release
Pre-release

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 the tls block for searching the certificate store for only certificates matching the specified CAs (#5115)
  • New cert_match_skip_invalid option has been added in the tls block for ignoring certificates that have expired or are not valid yet (#6042)
  • The cert_match_by option can now be set to thumbprint, allowing an SHA1 thumbprint to be specified in cert_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

v2.10.22...v2.10.23-RC.1

Release v2.10.22

17 Oct 17:51
v2.10.22
240e9a4
Compare
Choose a tag to compare

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

v2.10.21...v2.10.22

Release v2.10.22-RC.3

16 Oct 17:45
v2.10.22-RC.3
417ca01
Compare
Choose a tag to compare
Release v2.10.22-RC.3 Pre-release
Pre-release

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

v2.10.22-RC.2...v2.10.22-RC.3

Release v2.10.22-RC.2

10 Oct 16:23
v2.10.22-RC.2
2c38cc8
Compare
Choose a tag to compare
Release v2.10.22-RC.2 Pre-release
Pre-release

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

v2.10.22-RC.1...v2.10.22-RC.2

Release v2.10.22-RC.1

09 Oct 09:00
v2.10.22-RC.1
0fcc881
Compare
Choose a tag to compare
Release v2.10.22-RC.1 Pre-release
Pre-release

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

v2.10.21...v2.10.22-RC.1

Release v2.10.21

26 Sep 14:41
v2.10.21
d3a8868
Compare
Choose a tag to compare

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)

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 and jsz 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

v2.10.20...v2.10.21

Release v2.10.21-RC.4

25 Sep 17:01
5792b08
Compare
Choose a tag to compare
Release v2.10.21-RC.4 Pre-release
Pre-release

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 and jsz 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

v2.10.21-RC.3...v2.10.21-RC.4