Changelog
Refer to the 2.11 Upgrade Guide for backwards compatibility notes with 2.10.x.
Go Version
- 1.25.3 (#7428)
Dependencies
- golang.org/x/crypto v0.43.0 (#7423)
- golang.org/x/sys v0.37.0 (#7423)
- golang.org/x/time v0.14.0 (#7423)
Added
JetStream
- Added
meta_compact, an advanced JetStream config option to control how many log entries must be present in the metalayer log before snapshotting and compaction takes place (#7484)
Improved
General
- Binary stream snapshots are now preferred by default for nodes on new route connections (#7479)
JetStream
- Improved the logging for observer mode (#7433)
- Improved the performance of enforcing
max_bytesandmax_msgslimits (#7455)
Monitoring
- The
jszmonitoring endpoint can now report leader counts (#7429)
Fixed
General
- When using message tracing, header corruption when setting the hop header has been fixed (#7443)
JetStream
- Race conditions and potential panics fixed in the handling of some JetStream API handlers (#7380)
- The filestore no longer loses tombstones when using secure erase (#7384)
- The filestore no longer loses the last sequence when recovering blocks containing only tombstones (#7384)
- The filestore now correctly cleans up empty blocks when selecting the next first block (#7384)
- The filestore now correctly obeys
sync_alwaysfor writing TTL and scheduling state files (#7385) - Fixed a data race on a wait group when mirroring streams (#7395)
- Skipped message sequences are now checked for ordering before apply, fixing a potential stream desync on catchups (#7400)
- Skipped message sequences now correctly detect gaps from erased message slots, fixing potential cache issues, slow reads and issues with catchups (#7399, #7401)
- Raft groups now report peer activity more consistently, fixing some cases where asset info and monitoring endpoints may report misleading values after leader changes (#7402)
- Raft groups will no longer permit truncations from unexpected catchup entries if the catchup is completed (#7424)
- The filestore will now correctly release locks when erasing messages returns an error (#7431)
- Caches will now no longer expire unnecessarily when re-reading the same sequences multiple times in first-matching code paths (#7435)
- A couple of issues related to header handling have been fixed (#7465)
- No-wait requests now return a 400 No Messages response correctly if the stream is empty (#7466)
- Raft groups will now only report leadership status after a no-op entry on recovery (#7460)