NATS
v2.14.0Networking & MessagingNATS v2.14.0 (skipping 2.13.x) brings JetStream scheduling, fast-ingest batch publishing, consumer reset API, and critical Raft data-loss fixes. Review the upgrade guide before deploying.
breakingRead the 2.14 Upgrade Guide — 2.13.x was skipped
This release jumps from 2.12.x to 2.14.x. The upgrade guide covers backwards compatibility breaks you must address. If you use ACLs on JetStream ACK or flow control subjects, the new domain-aware format ($JS.ACK.domain.acchash.stream.consumer.>) is disabled by default now but becomes the default in v2.15 — start updating your ACL rules now so the v2.15 upgrade isn't a fire drill.
breakingRaft startup now fails on corrupt/missing snapshots — test your recovery procedures
Previously, a node with a corrupt or misaligned snapshot might start silently with bad state. Now it refuses to start. This is the right behavior, but if you have any clusters with questionable disk health or have experienced unclean shutdowns, validate your snapshot integrity before rolling this upgrade out. Ensure your ops runbook covers the recovery path for this scenario.
enhancementConsumer Reset API removes a painful operational pattern
Rewinding a consumer previously meant deleting and recreating it — disruptive and error-prone. The new $JS.API.CONSUMER.RESET API lets you move a consumer back to an earlier sequence in place. If you maintain any tooling or runbooks that handle consumer rewind or replay scenarios, update them to use this API. It's also useful for incident recovery workflows.
Key changes (5)
- Fast-ingest batch publishing for high-throughput JetStream workloads (ADR-50)
- Repeating/cron-based message schedules via Nats-Schedule header (ADR-51)
- Consumer reset API — rewind a consumer without delete/recreate
- Domain-aware ACK/FC subjects (js_ack_fc_v2 flag, becomes default in v2.15)
- Raft nodes no longer start on missing/corrupt snapshots, preventing silent data loss