github nats-io/nats-server v2.11.10-RC.1
Release v2.11.10-RC.1

latest release: v2.12.1-RC.1
pre-release14 hours ago

Changelog

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

Go Version

  • 1.24.7

Dependencies

  • golang.org/x/crypto v0.42.0 (#7320)

Improved

General

  • Statistics for gateways, routes and leaf connections are now correctly omitted from accstatsz responses if empty (#7300)

JetStream

  • Stream assignment check has been simplified (#7290)
  • Additional guards prevent panics when loading corrupted messages from the filestore (#7299)
  • The store lock is no longer held while searching for TTL expiry tasks, improving performance (#7344)
  • Removing a message from the TTL state is now faster (#7344)
  • The filestore no longer performs heap allocations for hash checks (#7345)
  • Meta snapshot performance for a very large number of assets has been improved after a regression in v2.11.9 (#7350)
  • Sequence-from-timestamp lookups, such as those using opt_start_time on consumers or start_time on message get requests, now use a binary search for improved lookup performance (#7357)

Fixed

General

  • Fixed the exit code when receiving a SIGTERM signal immediately after startup (#7367)

JetStream

  • Fixed a use-after-free bug and a buffer reclamation issue in the filestore flusher (#7295)
  • Direct get requests now correctly skip over deleted messages if the starting sequence is itself deleted (#7291)
  • The Raft layer now strictly enforces that non-leaders cannot send append entries (#7297)
  • The filestore now correctly handles recovering filestore blocks with out-of-order sequences from disk corruption (#7303, #7304)
  • The filestore now produces more useful error messages when disk corruption is detected (#7305)
  • Removed messages with a per-message TTL are now removed from the TTL state immediately (#7344)
  • Fixed a bug where TTL state was recovered on startup with subject delete markers enabled, that message expiry would not start as expected (#7344)
  • Expiring messages from the filestore no longer leaks timers and expires at the correct time (#7344)
  • Deleting a non-existent sequence on a stream no longer results in a cluster reset and leadership election (#7348)
  • Subject tree intersection now correctly handles overlapping literals and partial wildcards, i.e. stream.A and stream.*.A, fixing some consumer or message get filters (#7349)
  • A data race when checking all JetStream limits has been fixed (#7356)
  • Raft will no longer trigger a reset of the clustered state due to a stream snapshot timeout (#7293)

Complete Changes

v2.11.9...v2.11.10-RC.1

Don't miss a new nats-server release

NewReleases is sending notifications on new releases.