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 introduces 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.
Fixed
General
- 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
- 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