NATS v2.14.6-RC.1

v2.14.6-RC.1Pre-release

Release v2.14.6-RC.1

Changed 5
  • Removal from service import response maps is now constant-time
  • The client code no longer resets the deadline more times than necessary when flushing client buffers
  • The client write buffers are now freed correctly when the working buffer exceeds a rational size
  • Stream reads are now isolated with a separate lock, which improves the performance of direct gets
  • Improved the performance of looking up matching sequence numbers for multi-subject gets
Fixed 15
  • WebSocket client buffers are recycled more aggressively when reallocating into larger buffers
  • The filestore block sync no longer incorrectly skips blocks that were compacted during the same pass
  • The filestore block sync now performs a single directory sync upon completion rather than once per compacted block
  • The filestore I/O semaphore now covers block sync operations
  • Stream config updates with replicas greater than 1 are now rejected on non-clustered systems
  • Fixed some issues that could prevent stream snapshots from taking place on a clean shutdown

From NATS

Changelog

Refer to the 2.14 Upgrade Guide for backwards compatibility notes with 2.12.x. Please note that the 2.13.x version was skipped.

Go Version
  • 1.26.7
Improved

General

  • Removal from service import response maps is now constant-time (#8463)
  • The client code no longer resets the deadline more times than necessary when flushing client buffers (#8513)
  • The client write buffers are now freed correctly when the working buffer exceeds a rational size (#8515)

JetStream

  • Stream reads are now isolated with a separate lock, which improves the performance of direct gets (#8486)
  • Improved the performance of looking up matching sequence numbers for multi-subject gets (#8486)
Fixed

General

  • WebSocket client buffers are recycled more aggressively when reallocating into larger buffers (#8518)

JetStream

  • The filestore block sync no longer incorrectly skips blocks that were compacted during the same pass (#8456)
  • The filestore block sync now performs a single directory sync upon completion rather than once per compacted block (#8461)
  • The filestore I/O semaphore now covers block sync operations (#8462)
  • Stream config updates with replicas greater than 1 are now rejected on non-clustered systems (#8464)
  • Fixed some issues that could prevent stream snapshots from taking place on a clean shutdown (#8465)
  • The filestore inline compaction no longer ignores sync_interval: always (#8475)
  • The stream created time is now preserved after recovery on a standalone server (#8471, contributed by @Green7)
  • Fixed a data race that could apply when accessing the batch ID (#8369)
  • Fixed a data race when reading the consumer direct or sourcing status (#8478, contributed by @nberlee)
  • Prevent the consumer direct or sourcing status from being changed with a consumer update (#8478, contributed by @nberlee)
  • Fixed an issue where the server could fail to distinguish consumer tiers when enforcing limits (#8484)
  • Fixed a flow control problem where replicated consumers could get stuck after a leader change (#8488)
  • Fixed various consumer create issues that could destroy the state of an existing consumer with the same name (#8491)
  • Internal message delete proposals are no longer counted in the JS API statistics (#8502)
  • Dynamic filestore reservations no longer incorrectly shrink based on used storage after restarts (#8503)
Complete Changes

https://github.com/nats-io/nats-server/compare/v2.14.5...v2.14.6-RC.1

View original

Upgraded? How did it go?

Discussion