← Back to all sparks
N

NATS

DEVOPS
Velocity5.0

High-performance messaging system for distributed applications

Two NATS trains keep shipping in lockstep, with JetStream durability the recurring subject.

messagingjetstreamdual-branchleafnodesdurability
Current state
The 2.14 and 2.12 lines released within a minute of each other again on August 12. 2.14.5 adds a configurable leafnode dial_timeout so high-latency remote links can exceed the one-second default, and both branches take a logger deadlock fix. The 2.12 cut also carries a JetStream fix for potential data loss when an offline node catches up from a metalayer snapshot during idempotent stream creates.
Where it's heading
JetStream's clustering and storage internals remain where the real work goes — Raft transport decoupling and disk concurrency limits last cycle, snapshot catch-up correctness this one. The dual-branch discipline holds: 2.12 receives current internals work, not just security fixes, which keeps the upgrade to 2.14 a choice rather than a forced march.
Prediction
Expect the next pair to arrive minutes apart again with JetStream clustering fixes as the substance, and for 2.12 to keep receiving them until a stated end-of-life date appears in the upgrade guide.

Recent moves

  1. 6d ago

    NATS 2.14.5 adds a configurable leafnode dial timeout

    Adds a dial_timeout option to the leafnode config block and to individual remotes, letting operators raise the one-second connection default for high-latency links. A small knob, but leafnode connectivity over long-haul or satellite paths was previously unconfigurable at this layer.

    View source ↗
  2. 6d ago

    NATS 2.12.15 fixes JetStream data loss on snapshot catch-up

    The 2.12 counterpart, cut 45 seconds before its 2.14 twin, carrying the shared logger deadlock fix plus a JetStream correctness fix: an incorrect create-time update in the stream assignment could lose data when an offline node caught up from a metalayer snapshot. That is a durability bug in the clustering path, which puts it above routine patch traffic.

    View source ↗
  3. 19d ago

    NATS 2.14.4: Raft transport decoupled, disk concurrency raised to 4096

    Decouples the JetStream Raft transport layer — presented as a testability change with no behavioural effect — and raises the disk concurrency semaphore to 4096 slots, replacing the previous CPU-scaled limit. The semaphore change is the one likely to show up in throughput on dense nodes.

    View source ↗
  4. 19d ago

    NATS 2.12.14 mirrors the 2.14 JetStream storage changes

    The same Raft transport decoupling and disk concurrency increase, cut for the 2.12 line under a minute after its 2.14 twin. Confirms the older branch is receiving current internals work rather than fixes only.

    View source ↗
  5. 1mo ago

    Release v2.14.3

    Demotes noisy per-connection log lines to debug level and applies writer options consistently in s2_fast compression mode, plus dependency bumps. Operator quality-of-life rather than functional change.

    View source ↗
  6. 1mo ago

    Release v2.12.12

    The 2.12 counterpart to 2.14.3, carrying the same log demotion and compression fixes plus a refactor of stream and consumer assignment handling.

    View source ↗