Skip to content

Releases: nats-io/nats-server

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

Release v2.10.17-RC.3

11 Jun 23:56
v2.10.17-RC.3
f9fc9b2
Compare
Choose a tag to compare
Release v2.10.17-RC.3 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.2.

Go Version

  • 1.22.4

Improved

Core

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

JetStream

  • Reset election timer when leaving observer mode enabling quicker leadership hand-off (#5516)

Fixed

Leafnodes

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

JetStream

  • 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 load message (#5522)

Chore

Jetstream

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

Complete Changes

v2.10.17-RC.2...v2.10.17-RC.3

Release v2.10.17-RC.2

10 Jun 19:43
v2.10.17-RC.2
6c0d3aa
Compare
Choose a tag to compare
Release v2.10.17-RC.2 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.1.

Go Version

  • 1.22.4

Dependencies

Improved

JetStream

  • Improve leadership change signaling (#5504, #5505)
  • Memory-based stream behavior during server restarts (#5506)

Fixed

Accounts

JetStream

  • 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)

Complete Changes

v2.10.17-RC.1...v2.10.17-RC.2

Release v2.10.17-RC.1

05 Jun 19:17
73b2fd0
Compare
Choose a tag to compare
Release v2.10.17-RC.1 Pre-release
Pre-release

Changelog

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

Go Version

Improved

JetStream

  • Improve performance of calculating num-pending and interest state of a stream (#5476)

Monitoring

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

Fixed

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)

Chores

Config

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

Complete Changes

v2.10.16...v2.10.17-RC.1

Release v2.10.16

21 May 19:36
v2.10.16
80e2979
Compare
Choose a tag to compare

Changelog

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

Warning

A possible regression may result in a server panic at startup when tav.idx files were incorrectly truncated down to zero bytes. You can work around this problem by deleting tav.idx files that are zero bytes in length before starting the server. Zero-byte files could exist as a result of a previous server crash before a successful file sync to disk occurred.

Go Version

Dependencies

  • github.com/nats-io/jwt/v2 v2.5.6 (#5328)
  • golang.org/x/sys v0.20.0 (#5388)
  • golang.org/x/crypto v0.23.0 (#5413)

Added

  • Added Left and Right subject mapping operations (#5337) Thanks to @sspates for the contribution!
  • Add a /expvarz monitoring endpoint (#5374)

Improved

Accounts

  • Change AccountResolver() to use read lock to prevent contention (#5351)
  • Improve muxed routes with large subject space (#5399)

Gateway

  • Outbound may fail to detect stale connection (#5356) Thanks to @wjordan for the report!

JetStream

  • Optimize stream subject matching implementation (#5316, #5324, #5329, #5342, #5353)
  • Improve filestore LoadNextMsg performance (#5401)
  • Prevent blocking writes on meta state filestore flush (#5333)
  • Add logging to measure writeFullState and enforceMsgPerSubjectLimit (#5340)
  • Do not hold filestore lock on msg block loads when looking up the first sequence for subject (#5363)
  • Improve various stream sourcing and mirror behaviors and performance (#5366, #5372, #5379, #5389)
  • Increase the compression threshold for Raft traffic (#5371)
  • Put a maximum idle flush time for the filestore (#5370)
  • Updated subject state expiration (#5377)
  • Simplify writing the full state to index.db (#5378)
  • Added in separate last subject timestamp to track access (#5380)
  • Check consumer leader status without locks (#5386)
  • Various Raft improvements with limited to no state (#5427)
  • Improved consumer with AckAll performance of first ack with large first stream sequence (#5446)
  • Various stream catchup improvements (#5454)

WebSocket

  • Improve generating INFO data to send to clients (#5405)

Fixed

Config

JetStream

  • Fix potential deadlock if a panic occurs during calculateSyncRequest (#5321)
  • Fix corner cases of subject matching (#5318, #5339) Thanks to @mihaitodor for the report!
  • Prevent stepping down for old election terms (#5314)
  • Prevent WAL truncation during catch-up until after peerstate/snapshot check (#5330)
  • Fix various delivery counter logic (#5338, #5361)
  • Reset election timeout only on granted vote request (#5315)
  • Ensure stream catchup syncs after server crash and restart (#5362)
  • Prevent race condition for mirroring a consumer (#5369)
  • Ensure messages are removed after consumer updates occur on interest-based streams (#5384) Thanks to @MauriceVanVeen for the report and contribution!
  • Cleanup messages on interest stream after consumer interest changes (#5385) Thanks to @tyler-eon for the report and @MauriceVanVeen for the contribution!
  • Fix potential redelivery of acked messages during server restarts (#5419)
  • Hold onto tombstones for previous blocks on compact (#5426)
  • Fixes for rescaling streams with sources (#5428)

WebSocket

  • Fix data races during shutdown (#5398)

Chores

Complete Changes

v2.10.14...v2.10.16

Release v2.11.0-preview.2

23 Apr 15:05
aa6ab45
Compare
Choose a tag to compare
Pre-release

Changelog

Note: this preview release incorporates the cumulative changes in the 2.10.x series since version 2.10.12.

Go Version

Added

TLS

  • Add CA search functionality for the Windows cert store (#5115)

JetStream

  • Add TPM-driven filestore encryption for Windows (#5273)
  • Support StartTime for get/direct message requests (#5158)

Monitoring

  • Add logical account name to accstatz endpoint (#5173)

MQTT

  • Add Sparkplug B compatibility (#5150)

WebSocket

Fixed

JetStream

  • Fix consumer resume on empty/zero PauseUntil value (#5164) Thanks to @MauriceVanVeen for the contribution!

Complete Changes

v2.11.0-preview.1...v2.11.0-preview.2