Skip to content

Releases: nats-io/nats-server

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

Release v2.10.18

17 Jul 12:01
57d23ac
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.5

Dependencies

  • github.com/nats-io/jwt v2.5.8 (#5618)
  • github.com/minio/highwayhash v1.0.3 (#5627)
  • golang.org/x/crypto v0.25.0 (#5627)
  • golang.org/x/sys v0.22.0 (#5627)

Improved

Embedded

  • Export server function to initiate “lame duck mode” when embedding NATS (#5660)

JetStream

  • CPU spike during recalculation of first message in the memory store (#5629)

Fixed

JetStream

  • Fix duplicate callbacks on full wildcard match (#5610)
  • Multiple fixes for the filestore per-subject state (#5616)
  • Fix checkSkipFirstBlock which could return a negative index if the first block in the per-subject index is outdated (#5630)
  • Don't ack messages if consumer is filtered and they were not applicable (#5639, #5612, #5638)
  • Protect against possible panic in the filestore where the stree index is nil (#5662)
  • Prevent panic when shutting down a server immediately after starting it (#5663)

Complete Changes

v2.10.17...v2.10.18

Release v2.10.18-RC.4

16 Jul 22:16
9bf5f23
Compare
Choose a tag to compare
Release v2.10.18-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.5

Improved

Embedded

  • Export server function to initiate “lame duck mode” (#5660)

Fixed

JetStream

  • Protect against possible panic in the filestore where the stree index is nil (#5662)
  • Prevent panic when shutting down a server immediately after starting it (#5663)

Complete Changes

v2.10.18-RC.3...v2.10.18-RC.4

Release v2.10.18-RC.3

15 Jul 19:31
5405206
Compare
Choose a tag to compare
Release v2.10.18-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.5

Fixed

JetStream

  • Ensure the “create consumer” advisory is published for R1 consumers by the node it is provisioned to (#5649)
  • Fix calculation of consumer NumPending resulting in a higher count than the total available messages in the stream (#5655)

Chores

Build

  • Use Go’s ReadBuildInfo if available to detect the git commit (#5651)
  • Add serverVersion variable set via ldflags (#5650)

Complete Changes

v2.10.18-RC.2...v2.10.18-RC.3

Release v2.10.18-RC.2

10 Jul 23:40
v2.10.18-RC.2
0def236
Compare
Choose a tag to compare
Release v2.10.18-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

Fixed

JetStream

  • Don't ack messages if consumer is filtered and they were not applicable (#5639, #5612, #5638)

Complete Changes

v2.10.18-RC.1...v2.10.18-RC.2