Skip to content

Release v2.14.6

Latest

Choose a tag to compare

@github-actions github-actions released this 27 Aug 15:21
· 629 commits to main since this release
v2.14.6
1aa10f9

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)
  • Reduced the number of heap escapes in subject tree matching (#8526)

Fixed

General

  • WebSocket client buffers are recycled more aggressively when reallocating into larger buffers (#8518)
  • Fixed missing routes after a reconnect when gossiped URLs were rejected (#8527)

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)
  • Fixed a signalling issue that could stall Raft catchups (#8501)
  • The pending append entry cache in-memory is now bounded by size as well as entry count (#8501)
  • Fixed an issue where a stale snapshot from a previous Raft group could be replayed if the group name was unchanged (#8501)
  • Consumer delivery counts will no longer underflow below zero (#8512, contributed by @no-hup)
  • AckFlowControl consumers from a work queue stream will no longer incorrectly ack messages outside of the consumer filter (#8431, #8528)

Complete Changes

v2.14.5...v2.14.6