Skip to content

Releases: nats-io/nats-server

Release v2.11.5

26 Jun 18:48
v2.11.5
94fb8b0
Compare
Choose a tag to compare

Changelog

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

Go Version

Dependencies

  • github.com/nats-io/nats.go v1.43.0 (#6956)
  • golang.org/x/crypto v0.39.0 (#6956)
  • golang.org/x/time v0.12.0 (#6956)

Improved

General

  • The connz monitoring endpoint now includes leafnode connections (#6949)
  • The accstatsz monitoring endpoint now contains leafnode, route and gateway connection stats (#6967)

JetStream

  • Sourcing and mirroring should now resync more quickly when sourcing over leafnodes after a connection failure (#6981)
  • Reduced lock contention when reporting stream ingest warnings (#6934)
  • Log lines for resetting Raft WAL state have been clarified (#6938)
  • Determining if acks are required in interest-based streams has been optimised with fewer memory allocations (#6990)
  • Ephemeral R1 consumers will no longer log new consumer leader on clustered setups, reducing log noise when watchers etc are in use (#7003)

Fixed

General

  • Leafnodes with restrictive permissions can now route replies correctly when the message originates from a supercluster (#6931)
  • Memory usage is now reported correctly on Linux systems with huge pages enabled (#7006)

JetStream

  • Updating the AllowMsgTTL setting on a stream will now take effect correctly (#6922)
  • A potential deadlock when purging stream consumers has been fixed (#6933)
  • A race condition that could prevent stream snapshots on shutdown has been fixed (#6942)
  • Streams should no longer desync after a partial catchup following a snapshot (#6943)
  • Streams should no longer desync due to catchup messages with incorrect quorum (#6944)
  • Intersection between two subject trees where one is nil will no longer panic (#6945)
  • Consumer pull requests with NoWait will now return correctly from replicated consumers (#6960)
  • Mirrors now remove Nats-Expected- headers that could interfere with mirroring operations (#6961)
  • Network-partitioned Raft nodes should no longer desync by accepting catchups from nodes with lower term (#6951)
  • A potential data race when accessing the cluster failed sequence count has been fixed (#6965)
  • Corrected handling of append entry response conditions and recycling to the response pool (#6968)
  • A potential data race when copying stream metadata has been fixed (#6983)
  • Healthchecks will no longer unset a group Raft node when not fully setup (#6984)
  • Stream retention policy changes are now correctly propagated to running consumers in all cases (#6995)
  • Raft now uses monotonic time for heartbeat tracking and determining quorum, making it resilient against wall-clock drifts or adjustments from NTP (#6999)
  • The healthz monitoring endpoint no longer tries to fix up cluster node skews, as this could interfere with processing assignments (#7001)
  • The consumer DeliverLastPerSubject delivery policy now correctly deliver messages and handles acks when there are interior deletes, such as when MaxMsgsPerSubject limits are in use on the stream (#7005)
  • Consumers that are up against the MaxWaiting limit will no longer respond if the request heartbeat is set, to avoid client tightloops (#7011)

Complete Changes

v2.11.4...v2.11.5

Release v2.11.5-RC.4

25 Jun 15:17
v2.11.5-RC.4
54f7a0c
Compare
Choose a tag to compare
Release v2.11.5-RC.4 Pre-release
Pre-release

Changelog

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

Go Version

  • 1.24.4

Improved

JetStream

  • Ephemeral R1 consumers will no longer log new consumer leader on clustered setups, reducing log noise when watchers etc are in use (#7003)

Fixed

General

  • Memory usage is now reported correctly on Linux systems with huge pages enabled (#7006)

JetStream

  • The consumer DeliverLastPerSubject delivery policy now correctly deliver messages and handles acks when there are interior deletes, such as when MaxMsgsPerSubject limits are in use on the stream (#7005)

Complete Changes

v2.11.5-RC.3...v2.11.5-RC.4

Release v2.11.5-RC.3

24 Jun 15:45
v2.11.5-RC.3
c431a63
Compare
Choose a tag to compare
Release v2.11.5-RC.3 Pre-release
Pre-release

Changelog

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

Go Version

  • 1.24.4

Improved

General

  • The accstatsz monitoring endpoint now contains leafnode, route and gateway connection stats (#6967)

JetStream

  • Determining if acks are required in interest-based streams has been optimised with fewer memory allocations (#6990)

Fixed

JetStream

  • Stream retention policy changes are now correctly propagated to running consumers in all cases (#6995)
  • Raft now uses monotonic time for heartbeat tracking and determining quorum, making it resilient against wall-clock drifts or adjustments from NTP (#6999)
  • The healthz monitoring endpoint no longer tries to fix up cluster node skews, as this could interfere with processing assignments (#7001)

Complete Changes

v2.11.5-RC.2...v2.11.5-RC.3

Release v2.11.5-RC.2

17 Jun 13:27
v2.11.5-RC.2
fc9c7e9
Compare
Choose a tag to compare
Release v2.11.5-RC.2 Pre-release
Pre-release

Changelog

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

Go Version

Dependencies

  • github.com/nats-io/nats.go v1.43.0 (#6956)
  • golang.org/x/crypto v0.39.0 (#6956)
  • golang.org/x/time v0.12.0 (#6956)

Improved

General

  • Leafnode connections are now included in /connz (#6949)

JetStream

  • Sourcing and mirroring should now resync more quickly when sourcing over leafnodes after a connection failure (#6981)
  • Reduced lock contention when reporting stream ingest warnings (#6934)
  • Log lines for resetting Raft WAL state have been clarified (#6938)

Fixed

General

  • Leafnodes with restrictive permissions can now route replies correctly when the message originates from a supercluster (#6931)

JetStream

  • Updating the AllowMsgTTL setting on a stream will now take effect correctly (#6922)
  • A potential deadlock when purging stream consumers has been fixed (#6933)
  • A race condition that could prevent stream snapshots on shutdown has been fixed (#6942)
  • Streams should no longer desync after a partial catchup following a snapshot (#6943)
  • Streams should no longer desync due to catchup messages with incorrect quorum (#6944)
  • Intersection between two subject trees where one is nil will no longer panic (#6945)
  • Consumer pull requests with NoWait will now return correctly from replicated consumers (#6960)
  • Mirrors now remove Nats-Expected- headers that could interfere with mirroring operations (#6961)
  • Network-partitioned Raft nodes should no longer desync by accepting catchups from nodes with lower term (#6951)
  • A potential data race when accessing the cluster failed sequence count has been fixed (#6965)
  • Corrected handling of append entry response conditions and recycling to the response pool (#6968)
  • A potential data race when copying stream metadata has been fixed (#6983)
  • Healthchecks will no longer unset a group Raft node when not fully setup (#6984)

Complete Changes

v2.11.4...v2.11.5-RC.2

Release v2.11.4

22 May 13:43
v2.11.4
4c2fc7f
Compare
Choose a tag to compare

Changelog

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

Go Version

Dependencies

  • github.com/nats-io/nats.go v1.42.0 (#6868)
  • golang.org/x/crypto v0.38.0 (#6868)
  • golang.org/x/sys v0.33.0 (#6868)
  • github.com/google/go-tpm v0.9.5 (#6918)

Improved

General

  • Log lines for TLS handshake errors now include the subject and SHA-256 hash of the certificate if known (#6883)

JetStream

  • Enforcing per-subject limits on streams after a state rebuild or retention policy change is now considerably faster (#6871)
  • Reduced allocations when finding the next message matching a filter in the filestore, which also improves the performance of calculating interest state on streams with an interest/WQ retention policy (#6908)

Fixed

General

  • Reloading the gateway TLS configuration now applies to implicit remotes (#6886)

JetStream

  • Stream and consumer updates are no longer possible if all peers are offline, fixing a potential avenue for data loss (#6856)
  • The stream first sequence is now adjusted correctly when purging over interior delete gaps (#6861)
  • Consumer redeliveries are no longer incorrectly reported for consumers with a max deliver of 1 (#6877)
  • Avoid resetting the first and last sequences of a workqueue stream to zero after a crash with unflushed data (#6882)
  • Access time goroutines are now reference-counted and no longer leak (#6887)
  • Fixed a deadlock that could occur when using multi_last direct gets or when calculating the first sequence number for a consumer with a deliver-last-per-subject deliver policy (#6899)
  • A spelling error in a store error was fixed (#6895) Thanks to @cjohansen for the contribution!
  • A rare panic in the filestore has been fixed (#6912)
  • Direct gets will no longer return messages incorrectly with up_to_time or start_time in some configurations (#6911)
  • Fixed a panic in the stree that could occur when removing subject state tracking for a short subject (#6914)

Complete Changes

v2.11.3...v2.11.4

Release v2.11.4-RC.3

21 May 18:01
v2.11.4-RC.3
fb6de55
Compare
Choose a tag to compare
Release v2.11.4-RC.3 Pre-release
Pre-release

Changelog

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

Go Version

  • 1.24.3

Fixed

JetStream

  • A rare panic in the filestore has been fixed (#6912)
  • Direct gets will no longer return messages incorrectly with up_to_time or start_time in some configurations (#6911)

Complete Changes

v2.11.4-RC.2...v2.11.4-RC.3

Release v2.11.4-RC.2

20 May 16:42
v2.11.4-RC.2
718136e
Compare
Choose a tag to compare
Release v2.11.4-RC.2 Pre-release
Pre-release

Changelog

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

Go Version

  • 1.24.3

Improved

JetStream

  • Reduced allocations when finding the next message matching a filter in the filestore, which also improves the performance of calculating interest state on streams with an interest/WQ retention policy (#6908)

Fixed

JetStream

  • Fixed a deadlock that could occur when using multi_last direct gets or when calculating the first sequence number for a consumer with a deliver-last-per-subject deliver policy (#6899)
  • A spelling error in a store error was fixed (#6895) Thanks to @cjohansen for the contribution!

Tests

  • Unit tests have been improved (#6900)

Complete Changes

v2.11.4-RC.1...v2.11.4-RC.2

Release v2.11.4-RC.1

15 May 12:07
v2.11.4-RC.1
99fe8db
Compare
Choose a tag to compare
Release v2.11.4-RC.1 Pre-release
Pre-release

Changelog

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

Go Version

Dependencies

  • github.com/nats-io/nats.go v1.42.0 (#6868)
  • golang.org/x/crypto v0.38.0 (#6868)
  • golang.org/x/sys v0.33.0 (#6868)
  • github.com/google/go-tpm v0.9.4 (#6868)

Improved

General

  • Log lines for TLS handshake errors now include the subject and SHA-256 hash of the certificate if known (#6883)

JetStream

  • Enforcing per-subject limits on streams after a state rebuild or retention policy change is now considerably faster (#6871)

Fixed

General

  • Reloading the gateway TLS configuration now applies to implicit remotes (#6886)

JetStream

  • Stream and consumer updates are no longer possible if all peers are offline, fixing a potential avenue for data loss (#6856)
  • The stream first sequence is now adjusted correctly when purging over interior delete gaps (#6861)
  • Consumer redeliveries are no longer incorrectly reported for consumers with a max deliver of 1 (#6877)
  • Avoid resetting the first and last sequences of a workqueue stream to zero after a crash with unflushed data (#6882)
  • Access time goroutines are now reference-counted and no longer leak (#6887)

Complete Changes

v2.11.3...v2.11.4-RC.1

Release v2.11.3

01 May 10:20
v2.11.3
a82cfda
Compare
Choose a tag to compare

Changelog

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

Go Version

  • 1.24.2

Added

MQTT

  • New js_api_timeout option controls how long to wait for JetStream operations caused by MQTT calls (#6833)

Improved

JetStream

  • Reduced allocations in subject tree matching (#6837)

Fixed

General

  • Fixed TLS 1.2 negotiation when using ECDSA certificates from the Windows certificate store (#6803)

JetStream

  • Fix a regression introduced in v2.11.2 which can affect calculating consumer subject interest (#6845)
  • Consumer state reporting of filtered consumers is now more consistent (#6835)
  • Raft nodes will now correctly report to the upper layer when a preferred node does not become the leader, fixing some issues where multiple assets can believe they are the leader after a scale-up operation (#6851)

Monitoring

  • The connz endpoint will now return open connections correctly with state set to all (#6849)

Complete Changes

v2.11.2...v2.11.3

Release v2.10.29

01 May 10:18
v2.10.29
f91ddd8
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.24.2

Fixed

JetStream

  • Fix a regression introduced in v2.10.28 which can affect calculating consumer subject interest (#6845)
  • Consumer state reporting of filtered consumers is now more consistent (#6835)
  • Raft nodes will now correctly report to the upper layer when a preferred node does not become the leader, fixing some issues where multiple assets can believe they are the leader after a scale-up operation (#6851)

Monitoring

  • The connz endpoint will now return open connections correctly with state set to all (#6849)

Complete Changes

v2.10.28...v2.10.29