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

one day ago

Changelog

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

Go Version

Dependencies

  • golang.org/x/sys v0.29.0 (#6323)
  • golang.org/x/time v0.9.0 (#6324)
  • golang.org/x/crypto v0.32.0 (#6367)

Improved

JetStream

  • Raft groups will no longer snapshot too often in some situations, improving performance (#6277)
  • Optimistically perform stream and consumer snapshots on a normal shutdown (#6279)
  • The stream snapshot interval has been removed, now relying on the compaction minimum, which improves performance (#6289)
  • Raft groups will no longer report current while they are paused with pending commits (#6317)
  • Unnecessary client info fields have been removed from stream and consumer assignment proposals, API advisories and stream snapshot/restore advisories (#6326, #6338)
  • Reduced lock contention between the JetStream lock and Raft group locks (#6335)
  • Advisories will only be encoded and sent when there is interest, reducing CPU usage (#6341)
  • Consumers with inactivity thresholds will now start less clean-up goroutines, which can reduce load on the goroutine scheduler (#6344)
  • Consumer cleanup goroutines will now stop faster when the server shuts down (#6351)

Fixed

JetStream

  • Subject state consistency with some message removal patterns (#6226)
  • A performance issue has been fixed when updating the per-subject state (#6235)
  • Fixed consistency issues with detecting partial writes in the filestore (#6283)
  • A race condition between removing peers and updating replica counts has been fixed (#6316)
  • Pre-acks for a sequence are now removed when the message is removed, correcting a potential memory leak (#6325)
  • Metalayer snapshot errors are now surfaced correctly (#6361)
  • Healthchecks no longer re-evaluate stream and consumer assignments, avoiding some streams and consumers being unexpectedly recreated shortly after a deletion (#6362)
  • Clients should no longer timeout on a retried ack with the AckAll policy after a server restart (#6392)
  • Replicated consumers should no longer get stuck after leader changes due to incorrect accounting (#6387)
  • Consumers will now correctly handle the case where messages queued for delivery have been removed, fixing a delivery slowdown (#6387, #6399)
  • The API in-flight metric has been fixed so that it does not drift after the queue has been dropped (#6373)
  • Handles for temporary files are now closed correctly if compression errors occur (#6390) — Thanks to @deem0n for the contribution!
  • JetStream will now shut down correctly when detecting that the store directory underlying filesystem has become read-only (#6292) — Thanks to @souravagrawal for the contribution!

Leafnodes

  • Fixed an interest propagation issue that could occur when the hub has a user with subscribe permissions on a literal subject (#6291)
  • Fixed a bug where all queue interest across leafnodes could be dropped over gateways in a supercluster deployment after a leafnode connection drops (#6377)

Tests

Complete Changes

v2.10.24...v2.10.25

Don't miss a new nats-server release

NewReleases is sending notifications on new releases.