Changelog
Refer to the 2.11 Upgrade Guide for backwards compatibility notes with 2.10.x.
Go Version
- 1.24.5 (#7047)
Dependencies
Added
General
- The
SubjectMatchesFilter
function is now available as an exported function for embedded use (#7051) - The
leafz
monitoring endpoint now includes the connection ID (#7063) - The monitoring endpoint index page now includes the endpoint names on hover (#7066, #7087)
Fixed
General
- Message header lookups with common prefixes will now return correctly in all cases, fixing a problem where the headers could be sensitive to ordering (#7065)
- Validate that the
default_sentinel
JWT is a bearer token for auth callout (#7074) - The
$SYS.REQ.USER.INFO
endpoint should now only be answered by the local server, fixing cases where the endpoint may sometimes return without full connection details (#7089)
JetStream
- The Raft layer will require recovery and snapshot handling at startup before campaigning for a leadership election, fixing a situation where a node could continue with an outdated stream (#7040)
- The Raft log will no longer be compacted until after a snapshot is written, improving crash resilience (#7043)
- A race condition when shutting down Raft nodes which could result in no snapshot being written has been fixed (#7045)
- Consumer pull requests that use
no_wait
orexpires
behaviour has been fixed with replicated consumers (#7046) - Pull consumers with an inactive threshold will now consider pending acks when determining inactivity, preventing the consumer from being deleted while messages are being processed (#7052)
- Push consumers will now correctly error when trying to configure priority groups (#7053)
- Committed entry objects will now be correctly returned to the pool on error, reducing allocations (#7064)
- The time hash wheel used for per-message TTLs now correctly detects and expires messages with TTLs over an hour, previously it could take double the expected time (#7070)
- A potential panic when selecting message blocks during TTL recovery has been fixed (#7072)
- A KV purge operation with subject delete markers configured will no longer leave behind a redundant extra delete marker (#7026)
- Raft will now correctly attempt to truncate back to a snapshot if applies were not caught up instead of resetting the entire log (#7095)
- Store cipher conversion will now work correctly when combined with store compression (#7099)
Tests