NATS
v2.14.2Networking & MessagingNATS v2.14.2 is a focused stability release fixing multiple JetStream data integrity issues, lock release bugs, and protocol corruption risks — upgrade if you run JetStream at any meaningful scale.
breakingTwo separate lock-release bugs can cause silent hangs — patch now
Both the filestore and consumer code paths had cases where locks were never released after specific error conditions (write errors and start sequence errors). In production this means stuck consumers or hung filestore operations that don't recover without a restart. If you've seen unexplained JetStream stalls, this is likely why. Upgrade to v2.14.2 immediately.
securityProtocol corruption vectors closed — critical for WebSocket and JetStream users
Two protocol corruption bugs were fixed: one in $JS.ACK subject rewriting and one in compressed WebSocket client buffer handling. Either could produce malformed frames that corrupt stream state or client sessions. If you expose NATS WebSocket endpoints or rely heavily on JetStream ACKs, treat this as a security-adjacent stability issue and prioritize the upgrade.
enhancementHigh subject-count streams no longer risk CPU spikes — no config change needed
The filestore block skip check was triggering runaway CPU on streams with very high subject counts. The fix is automatic after upgrade — no configuration changes required. If you've been working around this with stream design compromises (e.g., artificially limiting subjects per stream), you can revisit those decisions after upgrading.
主な変更 (5)
- Protocol-level corruption fixed in two separate paths: $JS.ACK subject rewriting and compressed WebSocket buffer misuse
- JetStream filestore lock bug fixed — a write error could leave the lock unreleased, causing hangs
- Consumer lock also fixed — a start sequence error path failed to release its lock
- Runaway CPU fix: filestore no longer runs block skip checks on streams with extremely high subject counts
- Raft peer tracking corrected after inactivity stalls during catchup, and peer set drift fixed after online node removal