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

pre-release11 hours ago

Changelog

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

Go Version

  • 1.25.1

Improved

JetStream

  • 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)
  • The filestore now reuses pooled write cache allocations more efficiently (#7346)
  • 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)
  • Scheduled messages are now deactivated properly when followed up with another message on the same subject without a schedule (#7366)

Fixed

General

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

JetStream

  • Batch check now uses the correct subject instead of the last subject that does the commit (#7342)
  • 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)
  • Fixed a bug where scheduled messages would not trigger correctly after recovery (#7347)
  • 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)
  • Atomic batches now reject unsupported commits (#7368)

Complete Changes

v2.12.0...v2.12.1-RC.1

Don't miss a new nats-server release

NewReleases is sending notifications on new releases.