Skip to content

Releases: nats-io/nats-server

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

Release v2.10.21-RC.1

17 Sep 23:26
v2.10.21-RC.1
290ae91
Compare
Choose a tag to compare
Release v2.10.21-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.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)

Complete Changes

v2.10.20...v2.10.21-RC.1

Release v2.10.20

29 Aug 21:29
v2.10.20
7140387
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.6

Fixed

JetStream

  • Fix regression in KV CAS operations on R=1 replicas introduced in v2.10.19 (#5841) Thanks to @cbrewster for the report!

Complete Changes

v2.10.19...v2.10.20

Release v2.10.19

27 Aug 21:40
v2.10.19
e7c88e8
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.6

Dependencies

  • golang.org/x/crypto v0.26.0 (#5782)
  • golang.org/x/sys v0.24.0 (#5782)
  • golang.org/x/time v0.6.0 (#5751)

Improved

General

  • Reduced allocations in various code paths that check for subscription interest (#5736, #5744)
  • Subscription matching for gateways and reply tracking has been optimized (#5735)
  • Client outbound queues now limit the number of flushed vectors to ensure that very large outbound buffers don’t unfairly compete with write deadlines (#5750)
  • In client and leafnode results cache, populate new entry after pruning (#5760)
  • Use newly-available generic sorting functions (#5757)
  • Set a HTTP read timeout on profiling, monitoring and OCSP HTTP servers (#5790)
  • Improve behavior of rate-limited warning logs (#5793)
  • Use dedicated queues for the handling of statsz and profilez system events (#5816)

Clustering

  • Reduce the chances of implicit routes being duplicated (#5602)

JetStream

  • Optimize LoadNextMsg for wildcard consumers that are consuming over a large subject space (#5710)
  • When sync/sync_interval is set to always, metadata files for streams and consumers are now written using O_SYNC to guarantee flushes to disk (#5729)
  • Walking an entire subject tree is now faster and allocates less (#5734)
  • Try to snapshot stream state when a change in the clustered last failed sequence is detected (#5812)
  • Message blocks are no longer loaded into memory unnecessarily when checking if we can skip ahead when loading the next message (#5819)
  • Don’t attempt to re-compact blocks that cannot be compacted, reducing unnecessary CPU usage and disk I/Os (#5831)

Monitoring

  • Add StreamLeaderOnly filter option to return replica results only for groups for which that node is the leader (#5704)
  • The profilez API endpoint in the system account can now acquire and return CPU profiles (#5743)

Miscellaneous

Fixed

General

  • Fixed a panic when looking up the account for a client (#5713)
  • The ClientURL() function now returns correctly formatted IPv6 host literals (#5725)
  • Fixed incorrect import cycle warnings when subject mapping is in use (#5755)
  • A race condition that could cause slow consumers to leave behind subscription interest after the connection has been closed has been fixed (#5754)
  • Corrected an off-by-one condition when growing to or shrinking from node48 in the subject tree (#5826)

JetStream

  • Retention issue that could cause messages to be incorrectly removed on a WorkQueuePolicy stream when consumers did not cover the entire subject space (#5697)
  • Fixed a panic when calling the raftz endpoint during shutdown (#5672)
  • Don’t delete NRG group persistent state on disk when failing to create subscriptions (#5687)
  • Fixed behavior when checking for the first block that matches a consumer subject filter (#5709)
  • Reduce the number of compactions made on filestore blocks due to deleted message tombstones (#5719)
  • Fixed maximum messages per subject exceeded unexpected error on streams using a max messages per subject limit of 1 and discard new retention policy (#5761)
  • Fixed bad meta state on restart that could cause deletion of assets (#5767)
  • Fixed R1 streams exceeding quota limits (#5771)
  • Return the correct sequence for a duplicated message on an interest policy stream when there is no interest (#5818)
  • Fixed setting the consumer start sequence when that sequence does not yet appear in the stream (#5785)
  • Connection type in scoped signing keys are now honored correctly (#5789)
  • Expected last sequence per subject logic has now been harmonized across clustered stream leaders and followers, fixing a potential drift (#5794)
  • Stream snapshots are now always installed correctly on graceful shutdown (#5809)
  • A data race between consumer and stream updates has been resolved (#5820)
  • Avoid increasing the cluster last failed sequence when the message was likely deleted (#5821)

Leafnodes

  • Leafnode connections will now be rejected when the cluster name contains spaces (#5732)

Complete Changes

v2.10.18...v2.10.19

Release v2.10.19-RC.6

27 Aug 15:26
v2.10.19-RC.6
5d3effe
Compare
Choose a tag to compare
Release v2.10.19-RC.6 Pre-release
Pre-release

Changelog

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

Go Version

  • 1.22.6

Dependencies

  • golang.org/x/crypto v0.26.0 (#5782)
  • golang.org/x/sys v0.24.0 (#5782)
  • golang.org/x/time v0.6.0 (#5751)

Improved

JetStream

  • Don’t attempt to re-compact blocks that cannot be compacted, reducing unnecessary CPU usage and disk I/Os (#5831)

Fixed

General

  • Corrected an off-by-one condition when growing to or shrinking from node48 in the subject tree (#5826)

JetStream

  • Avoid increasing the cluster last failed sequence when the message was likely deleted (#5821)

Release v2.10.19-RC.5

23 Aug 21:14
v2.10.19-RC.5
7ad3b6f
Compare
Choose a tag to compare
Release v2.10.19-RC.5 Pre-release
Pre-release

Changelog

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

Go Version

  • 1.22.6

Improved

General

  • Upgrade sort.Slice with slices.sort (#5757)
  • Set ReadTimeout on profiling, monitoring and OCSP HTTP servers (#5790)
  • Log rate limited warnings (#5793)
  • Handling of StatsZ/Ping and Profilez system events (#5816)

JetStream

  • When we detect a bump in clfs try to snapshot (if prior was zero force). (#5812)
  • Do not load blocks unnecessarily when checking if we can skip ahead in LoadNextMsg(). (#5819)

Fixed

JetStream

  • Use correct sequence on duplicate message with no interest (#5818)
  • Fix consumer start sequence when sequence not yet in stream (#5785)
  • Connection type in scoped signing keys not honored (#5789)
  • Fix 0 expected last seq per subject for clustered stream (#5794)
  • Fix install stream snapshots on graceful shutdown (#5809)

Complete Changes

v2.10.19-RC.4...v2.10.19-RC.5

Release v2.10.19-RC.4

12 Aug 17:11
v2.10.19-RC.4
31a8dbf
Compare
Choose a tag to compare
Release v2.10.19-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.6

Improved

General

  • In client and leafnode results cache, populate new entry after pruning (#5760)

Fixed

JetStream

  • Fixed maximum messages per subject exceeded unexpected error on streams using MaxMsgsPerSubject:1 and DiscardNew policy (#5761)
  • Fixed bad meta state on restart that could cause deletion of assets (#5767)
  • Fixed R1 streams exceeding quota limits (#5771)

Complete Changes

v2.10.19-RC.3...v2.10.19-RC.4

Release v2.10.19-RC.3

06 Aug 22:25
v2.10.19-RC.3
5b92633
Compare
Choose a tag to compare
Release v2.10.19-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.6

Dependencies

  • golang.org/x/sys v0.23.0 (#5751)
  • golang.org/x/time v0.6.0 (#5751)

Added

Monitoring

  • The profilez API endpoint in the system account can now acquire and return CPU profiles (#5743)

Improved

General

  • Reduced allocations in various code paths that check for subscription interest (#5736, #5744)
  • Subscription matching for gateways and reply tracking has been optimised (#5735)
  • Client outbound queues now limit the number of flushed vectors to ensure that very large outbound buffers don’t unfairly compete with write deadlines (#5750)

JetStream

  • When sync/sync_interval is set to always, metadata files for streams and consumers are now written using O_SYNC to guarantee flushes to disk (#5729)
  • Walking an entire subject tree is now faster and allocates less (#5734)

Fixed

General

  • The ClientURL() function now returns correctly formatted IPv6 host literals (#5725)
  • Fixed incorrect import cycle warnings when subject mapping is in use (#5755)
  • A race condition that could cause slow consumers to leave behind subscription interest after the connection has been closed has been fixed (#5754)

Leafnodes

  • Leafnode connections will now be rejected when the cluster name contains spaces (#5732)

Complete Changes

v2.10.19-RC.2...v2.10.19-RC.3

Release v2.10.19-RC.2

30 Jul 00:54
v2.10.19-RC.2
80ee99d
Compare
Choose a tag to compare
Release v2.10.19-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.5

Improved

Clustering

  • Reduce the chances of implicit routes being duplicated (#5602)

JetStream

  • Optimise LoadNextMsg for wildcard consumers that are consuming over a large subject space (#5710)

Monitoring

  • Add StreamLeaderOnly filter option to return replica results only for groups for which that node is the leader (#5704)

Miscellaneous

Fixed

General

  • Fixed a panic when looking up the account for a client (#5713)

JetStream

  • Retention issue that could cause messages to be incorrectly removed on a WorkQueuePolicy stream when consumers did not cover the entire subject space (#5697)
  • Fixed a panic when calling the raftz endpoint during shutdown (#5672)
  • Don’t delete NRG group persistent state on disk when failing to create subscriptions (#5687)
  • Fixed behavior when checking for the first block that matches a consumer subject filter (#5709)
  • Reduce the number of compactions made on filestore blocks due to deleted message tombstones (#5719)

Complete Changes

v2.10.18...v2.10.19-RC.2