Skip to content

Releases: nats-io/nats-server

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

Release v2.10.18-RC.1

09 Jul 22:13
v2.10.18-RC.1
7c645cf
Compare
Choose a tag to compare
Release v2.10.18-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.5

Dependencies

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

JetStream

  • CPU spike during recalc of first msg in memstore. #5629

Fixed

JetStream

  • Fixed duplicate callbacks on full wildcard Match (#5610)
  • Fixed filestore FSS state (#5616)
  • Fixed checkSkipFirstBlock could return a negative index if psim.fblk is outdated. #5630

Complete Changes

v2.10.17...v2.10.18-RC.1

Release v2.10.17

27 Jun 22:53
b91de03
Compare
Choose a tag to compare

Changelog

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

Go Version

Dependencies

  • golang.org/x/sys v0.21.0 (#5508)
  • golang.org/x/crypto v0.24.0 (#5509)
  • github.com/klauspost/compress v1.17.9 (#5538)
  • github.com/nats-io/nats.go v1.36.0 (#5538)

Added

Monitoring

  • Experimental /raftz monitoring endpoint for retrieving internal Raft group state for diagnostic purposes (#5530)

Improved

Core

  • Reorder struct fields in stree for improved memory alignment (#5517)

JetStream

  • Improve performance of calculating num-pending and interest state of a stream (#5476)
  • Improve leadership change signaling (#5504, #5505)
  • Improved memory-based stream behavior during server restarts (#5506)
  • Reset election timer when leaving observer mode enabling quicker leadership hand-off (#5516)
  • Ensure ack processing is consistent and correct between leader and followers for replicated consumers (#5524)
  • Use per-subject info to speed up load-last filestore operations with wildcard filters (#5546)
  • Populate missing per-subject info after skipping blocks when calculating filtered pending (#5545)
  • Reduced time taken to process consumer deletes when there is a large gap between the consumer ack floor and the stream last sequence (#5547)
  • No longer retrieve the WAL state unnecessarily when installing Raft snapshots (#5552)
  • Increased filestore block and per-subject info cache expiry times to help improve performance on sparse streams (#5568)
  • Reduce allocations in isMatch in filestore/memstore (#5573)
  • Improved handling of out-of-date first blocks in per-subject info entries (#5577)
  • Use stree for message block subject indexing instead of hashmaps (#5559)
  • Avoid loading last message blocks on LoadNextMsg miss (#5584)
  • Add node48 node size to stree, providing better memory utilisation for some subject spaces (#5585)
  • Logging message when exceeding JetStream account limits now prints the account (#5597)

Monitoring

  • Rate-limit statsz updates which reduces load for very large clusters (#5470, #5485) Thanks to @wjordan for the report and contribution!

Changed

MQTT

  • Do not wait for JS responses when disconnecting the session (#5575)

Fixed

Accounts

  • Import/export cycle detection (#5494) Thanks to @semakasyrok for the contribution!
  • Allow callout users to be revoked (#5555, #5561)
  • Fixed a data race when updating payload limits from JWT claims (#5593)

Core

  • Allow client kick to also kick leafnode connections (#5587)
  • Fix imports sometimes not being available for a client after server restarts (#5588, #5589)

JetStream

  • Avoid panic on corrupted TAV file (#5464)
  • Performance regression in LoadNextMsg with very sparse or no messages (#5475)
  • Stepdown candidate when append-entry is ahead of last log term (#5481)
  • Fix possible redelivery after successful ack during rollout restarts (#5482)
  • Fix returning maximum consumers limit reached on some consumer updates (#5489)
  • Fix last sequence stream reset on server restart (#5497)
  • Fix data between creating a consumer and determining cluster state (#5501)
  • Prevent interleaving of setting/unsetting observer states (#5503)
  • Fix accounting for consumers with a different replication factor than the parent stream (#5521)
  • Fix potential segfault if mset.mirror was nil when calculating the last loaded message (#5522)
  • Follower stores no longer inherit the redelivered consumer delivered sequence which could break ack gap fill (#5533)
  • Direct Raft proposals will no longer bypass the internal proposal queue which could cause incorrect interleaving of state (#5543)
  • Audit streams that capture $JS.>, $JS.API.>, $JSC.> and $SYS.> subjects are now only allowed if NoAck is set, avoiding potential misconfiguration that could affect the JetStream API, with the exception of the more specific $JS.EVENT.> and $SYS.ACCOUNT.> as these were allowed before (#5548, #5556)
  • Streams from failed snapshot restores are now cleaned up correctly, fixing potential false positive warnings on /healthz after a failed restore (#5549)
  • Ensure that internal system clients used by Raft groups are always cleaned up correctly, fixing a potential memory leak (#5566) Thanks to @slice-srinidhis for the report!
  • Fixed a potential panic when updating stream sources on an existing stream (#5571)
  • Fixed panic when creating a stream with an incorrect mapping destination (#5570, #5571)
  • Fixed returning error when trying to update a stream that has sources with bad subject transforms (#5574)
  • Fixed a bug that would return “no message found” for last_per_subject (#5578)
  • Correctly leave Raft observer state after applies were paused, i.e. due to a catch-up in progress (#5586)
  • JetStream no longer leaks memory when creating and deleting Raft groups (#5600)
  • Fixed a potential panic in consumer ack queue handling (#5601)
  • Fixed data race in runAsLeader (#5604)

Leafnodes

  • Prevent potential message duplication for queue-group subscriptions (#5519) Thanks to @pcsegal for the report!

Monitoring

  • Ensure consistency of the delivered stream sequence in /jsz filtered consumer reporting (#5528)

Chores

Config

  • Clarify comment on re-use of config Options type for embedded mode (#5472) Thanks to @robinkb for the report and contribution!

JetStream

  • Added additional memory-based Raft tests (#5515)

Complete Changes

v2.10.16...v2.10.17

Release v2.10.17-RC.9

27 Jun 14:37
v2.10.17-RC.9
cdbf35c
Compare
Choose a tag to compare
Release v2.10.17-RC.9 Pre-release
Pre-release

Changelog

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

Includes everything in v2.10.17-RC.8.

Go Version

  • 1.22.4

Improved

JetStream

  • Logging message when exceeding JetStream account limits now prints the account (#5597)

Fixed

Accounts

  • Fixed a data race when updating payload limits from JWT claims (#5593)

JetStream

  • JetStream no longer leaks memory when creating and deleting Raft groups (#5600)
  • Fixed a potential panic in consumer ack queue handling (#5601)

Complete Changes

v2.10.17-RC.8...v2.10.17-RC.9

Release v2.10.17-RC.8

25 Jun 14:18
v2.10.17-RC.8
cc0ec6a
Compare
Choose a tag to compare
Release v2.10.17-RC.8 Pre-release
Pre-release

Changelog

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

Includes everything in v2.10.17-RC.7.

Go Version

  • 1.22.4

Improved

JetStream

  • Avoid loading last message blocks on LoadNextMsg miss (#5584)
  • Add node48 node size to stree, providing better memory utilisation for some subject spaces (#5585)

Fixed

Core

  • Allow client kick to also kick leafnode connections (#5587)
  • Fix imports sometimes not being available for a client after server restarts (#5588, #5589)

JetStream

  • Correctly leave Raft observer state after applies were paused, i.e. due to a catch-up in progress (#5586)

Complete Changes

v2.10.17-RC.7...v2.10.17-RC.8

Release v2.10.17-RC.7

21 Jun 22:48
6189eae
Compare
Choose a tag to compare
Release v2.10.17-RC.7 Pre-release
Pre-release

Changelog

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

Includes everything in v2.10.17-RC.6.

Go Version

  • 1.22.4

Improved

JetStream

  • Reduce allocations in isMatch in filestore/memstore (#5573)
  • Improved handling of out of date fblks in psim entries (#5577)
  • Use stree for message block indexing vs map (#5559)

Changed

MQTT

  • Do not wait for JS responses when disconnecting the session (#5575)

Fixed

JetStream

  • Fixed panic when creating a stream with a wrong mapping destination (#5570, #5571)
  • Fixed returning error when trying to update a stream with a source with a bad subject transform (#5574)
  • Fixed bug that would return no msg found for loadLast (#5578)

Complete Changes

v2.10.17-RC.6...v2.10.17-RC.7

Release v2.10.17-RC.6

20 Jun 00:19
v2.10.17-RC.6
8e88ba5
Compare
Choose a tag to compare
Release v2.10.17-RC.6 Pre-release
Pre-release

Changelog

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

Includes everything in v2.10.17-RC.5.

Go Version

  • 1.22.4

Improved

JetStream

  • Increased filestore block and per-subject info cache expiry times to help improve performance on sparse streams (#5568)

Fixed

Accounts

  • Allow callout users to be revoked (#5555, #5561)

JetStream

  • Ensure that internal system clients used by Raft groups are always cleaned up correctly, fixing a potential memory leak (#5566)

Complete Changes

v2.10.17-RC.5...v2.10.17-RC.6

Release v2.10.17-RC.5

18 Jun 17:05
4efcf49
Compare
Choose a tag to compare
Release v2.10.17-RC.5 Pre-release
Pre-release

Changelog

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

Includes everything in v2.10.17-RC.4.

Go Version

  • 1.22.4

Improved

JetStream

  • No longer retrieve the WAL state unnecessarily when installing Raft snapshots (#5552)

Fixed

JetStream

  • Audit streams for $JS.EVENT.>, $SYS.ACCOUNT.> can now be created again, fixing a regression in RC.4 (#5556)
  • Potential race condition when cleaning up Raft snapshots has been resolved (#5558)

Complete Changes

v2.10.17-RC.4...v2.10.17-RC.5

Release v2.10.17-RC.4

17 Jun 16:02
v2.10.17-RC.4
da64c7b
Compare
Choose a tag to compare
Release v2.10.17-RC.4 Pre-release
Pre-release

Changelog

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

Includes everything in v2.10.17-RC.3.

Go Version

  • 1.22.4

Dependencies

  • github.com/klauspost/compress v1.17.9 (#5538)
  • github.com/nats-io/nats.go v1.36.0 (#5538)

Added

Monitoring

  • Experimental /raftz monitoring endpoint for retrieving internal Raft group state for diagnostic purposes (#5530)

Improved

JetStream

  • Ensure ack processing is consistent and correct between leader and followers for replicated consumers (#5524)
  • Use per-subject info to speed up load-last filestore operations with wildcard filters (#5546)
  • Populate missing per-subject info after skipping blocks when calculating filtered pending (#5545)
  • Reduced time taken to process consumer deletes when there is a large gap between the consumer ack floor and the stream last sequence (#5547)

Fixed

JetStream

  • Follower stores no longer inherit the redelivered consumer delivered sequence which could break ack gap fill (#5533)
  • Direct Raft proposals will no longer bypass the internal proposal queue which could cause incorrect interleaving of state (#5543)
  • Audit streams that capture $JS, $JS.API, $JSC and $SYS subjects are now only allowed if NoAck is set, avoiding potential misconfiguration that could affect the JetStream API (#5548)
  • Streams from failed snapshot restores are now cleaned up correctly, fixing potential false positive warnings on /healthz after a failed restore (#5549)

Monitoring

  • Ensure consistency of the delivered stream sequence in /jsz filtered consumer reporting (#5528)

Complete Changes

v2.10.17-RC.3...v2.10.17-RC.4