github nats-io/nats-server v2.11.9
Release v2.11.9

11 hours ago

Changelog

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

Go Version

Dependencies

  • golang.org/x/time v0.13.0 (#7273)
  • golang.org/x/sys v0.36.0 (#7273)

Improved

JetStream

  • Offline assets support (#7158)
    • Server version 2.12 will introduce new features that would otherwise break a 2.11 server after a downgrade. The server now reports the streams/consumers as offline and unsupported, keeping the data safe, but allowing to either delete the asset or upgrade back to the supported version without changes to the data itself.
  • The raftz endpoint now reports the cluster traffic account (#7186)
  • The stream info and consumer info endpoints now return leader_since (#7189)
  • The stream info and consumer info endpoints now return system_account and traffic_account (#7193)
  • The jsz monitoring endpoint now returns system_account and traffic_account (#7193)

Fixed

General

  • Fix a panic that could happen at startup if building from source using non-Git version control (#7178)
  • Fix an issue where issuing an account JWT update with a connection limit could cause older clients to be disconnected instead of newer ones (#7181, #7185)
  • Route connections with invalid credentials will no longer rapidly reconnect (#7200)
  • Allow a default_sentinel JWT from a scoped signing key instead of requiring it to solely be a bearer token for auth callout (#7217)
  • Subject interest would not always be propagated for leaf nodes when daisy chaining imports/exports (#7255)
  • Subject interest would sometimes be lost if the leaf node is a spoke (#7259)
  • Lowering the max connections limit should no longer result in streams losing interest (#7258)

JetStream

  • The Nats-TTL header will now be correct if the subject delete marker TTL overwrites it (#7177)
  • In operator mode, the cluster_traffic state for an account is now restored correctly when enabling JetStream at startup (#7191)
  • A potential data race during a consumer create or update when reading its paused state has been fixed (#7201)
  • A race condition that could allow creating a consumer with more replicas than the stream has been fixed (#7202)
  • A race condition that could allow creating the same stream with different configurations has been fixed (#7210, #7212)
  • Raft will now correctly reject delayed entries from an old leader when catching up in the meantime (#7209, #7239)
  • Raft will now also limit the amount of cached in-memory entries as the leader, avoiding excessive memory usage (#7233)
  • A potential race condition delaying shutdown if a stream/consumer monitor goroutine was not started (#7211)
  • A benign underflow when using an infinite (-1) MaxDeliver for consumers (#7216)
  • A potential panic to send a leader elected advisory when shutting down before completing startup (#7246)
  • Stopping a stream should no longer wait indefinitely if the consumer monitor goroutine wasn’t stopped (#7249)
  • Speed up stream mirroring and sourcing after a leaf node reconnects in complex topologies (#7265)
  • Updating a stream with an empty placement will no longer incorrectly trigger a stream move (#7222)

Tests

Complete Changes

v2.11.8...v2.11.9

Don't miss a new nats-server release

NewReleases is sending notifications on new releases.