RATATOSKRATATOSK
Sign in

NATS

v2.14.6Networking & Messaging
Aug 27, 2026

ACTION 1CHECK 1OTHER 27

A maintenance release focused on performance improvements and JetStream correctness fixes. It also enforces a standalone-server constraint and updates the Go toolchain.

Action needed (1)

  • breakingConsumer direct or sourcing status protection

    Consumer updates can no longer change the consumer direct or sourcing status.

Check if affected (1)

  • breakingStandalone stream updates with replicas greater than 1 rejected

    Applies if you configure replicas greater than 1 and do not run a clustered system.

    Stream config updates with replicas greater than 1 are now rejected on non-clustered systems.

All 27 other recorded changesfixes 19 · value changes 7 · constraints 1

fixes (19)

  • - 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)
  • - 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)
  • - 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)
  • - 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)
  • - 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)

value changes (7)

  • - 1.26.7
  • - 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)
  • - 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)

constraints (1)

  • - The pending append entry cache in-memory is now bounded by size as well as entry count (#8501)
Add NATS to your stack

A weekly email arrives when a release needs action. Like the breaking changes in this release.

Add to stack