Skip to content

Releases: nats-io/nats-server

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

Release v2.10.21-RC.3

24 Sep 14:34
bac6cc2
Compare
Choose a tag to compare
Release v2.10.21-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.7

Improved

JetStream

  • Orphaned ephemeral consumer clean-up is now logged at debug level only (#5917)

Complete Changes

v2.10.21-RC.2...v2.10.21-RC.3

Release v2.10.21-RC.2

20 Sep 19:10
v2.10.21-RC.2
0a32987
Compare
Choose a tag to compare
Release v2.10.21-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.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

v2.10.21-RC.1...v2.10.21-RC.2