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
- The filestore inline compaction no longer ignores sync_interval: always
- The stream created time is now preserved after recovery on a standalone server
- Fixed a data race that could apply when accessing the batch ID
- Fixed a data race when reading the consumer direct or sourcing status
- Prevent the consumer direct or sourcing status from being changed with a consumer update
- Fixed an issue where the server could fail to distinguish consumer tiers when enforcing limits
- Fixed a flow control problem where replicated consumers could get stuck after a leader change
- Fixed various consumer create issues that could destroy the state of an existing consumer with the same name
- Internal message delete proposals are no longer counted in the JS API statistics
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