Changelog
Refer to the 2.11 Upgrade Guide for backwards compatibility notes with 2.10.x.
Go Version
- 1.24.7 (#7273)
Dependencies
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
andtraffic_account
(#7193) - The
jsz
monitoring endpoint now returnssystem_account
andtraffic_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