RATATOSKRATATOSK
ログイン

NATS

v2.12.10Networking & Messaging
2026年6月3日

v2.12.10 is a focused bug-fix release addressing protocol corruption risks, JetStream Raft/quorum issues, and a CPU runaway bug in high-cardinality streams.

  • securityUpdate x/crypto and nkeys immediately

    This release bumps golang.org/x/crypto to v0.52.0 and nkeys to v0.4.16. These libraries handle cryptographic operations in NATS auth flows. Don't wait for scheduled maintenance — patch now, especially if your clusters are internet-exposed or use decentralized auth.

  • breakingProtocol corruption fixes require prompt upgrade for WebSocket and JetStream users

    Two separate protocol-level corruption bugs are fixed here: one in compressed WebSocket clients, one in $JS.ACK subject rewriting. Either can silently corrupt message framing. If you run WebSocket clients or any JetStream workload with acknowledgements, staying on 2.12.9 or earlier is a real risk. Upgrade servers first, then clients.

  • enhancementHigh-cardinality JetStream streams get a CPU safety fix — verify your config

    The block skip check on streams with very high subject counts could cause runaway CPU. That check is now disabled for those cases. If you've been seeing unexpected CPU spikes on JetStream nodes with streams containing millions of subjects, this is likely the culprit. After upgrading, also review Counter stream and message schedule configs — new constraints are enforced that may reject previously accepted but incorrect configurations.

主な変更 (5)

  • Fixed protocol-level corruption from $JS.ACK subject rewriting and compressed WebSocket buffer misuse — both are data-safety issues
  • Raft peer tracking fixed after inactivity stalls during catchup, and peer-set drift after online node removal corrected
  • Quorum calculation bug fixed when gateway URLs resolve to multiple IPs — affects multi-datacenter deployments
  • Filestore no longer runs CPU hot on streams with extremely high subject counts (block skip check removed)
  • Go 1.25.10 and updated x/crypto, nkeys, and jwt/v2 dependencies