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


Go Version

  • 1.16.3: Both release executables and Docker images are built with this Go release.


  • Ability to set a timeout to NATS resolver (#2057)


  • JetStreamVarz fields from structures to pointers so they can be omitted if empty. This is may affect users that embed the NATS Server in their code (#2009)


  • Error log statement when an account registration fails (#2016)
  • JetStream:
    • Durable consumers performance with Replicas > 1 (#2039, #2049)
    • Report error when mirror/sources stream prefix overlaps/collides with stream subjects (#2041)


  • JetStream:
    • Possible panic when consumers are stopped (#2008)
    • Panic on 32bit systems due to unaligned 64-bit atomic operations. Thanks to @GuangchaoDeng for the report (#2012)
    • Check for filter subject correctness of an upstream stream's mirror or source (#2013)
    • Reduce memory pressure and protect against some nil dereferences (#2015)
    • Mirror streams were not properly retrying after failures to create their internal consumer (#2017)
    • Prevent suppression of idle heartbeats for a filtered consumer on a busy stream (#2018)
    • Some updates for direct consumers (used for mirrors and sources streams) (#2021)
    • Possible double adds under reload or restart scenarios (#2023)
    • In operator mode, JetStream accounts were not all loaded on startup (#2024)
    • Consumer interest dropping and coming back across gateways (#2024)
    • Leaked subscriptions when retrying to create streams' source consumers (#2024)
    • Idle heartbeats were unnecessarily sent when a consumer was known to be active (#2024)
    • Performance degradation for mirrors and sources in presence of gaps (#2025)
    • Reworked sources and mirrors on missed data (#2026)
    • Reduce sliding window for direct consumers and catchup stream windows (#2027)
    • Flow control with multiple sources streams (#2028)
    • Chaining of sources and mirrors with filtered consumers (#2028)
    • General stability improvements (#2033)
    • Possible deadlock (#2034)
    • Panic when WAL was corrupted (#2045)
    • Prevent bad stream updates from deleting the stream (#2045)
    • When a request to get a message fails, returns code 404, instead of 500 (#2053)
    • Possible deadlock caused by an account lookup failure when processing a consumer assignment (#2054)
    • Consumer state (ack floor/pending or number of pending messages) could be skewed after server restarts (#2058)
  • LeafNode:
    • verify_and_map was not honored (#2038)
    • When using Websocket connections, in some cases corruption could prevent messages to flow properly between nodes (#2040)
    • Subscriptions leak for subscriptions when hitting the "auto-unsubscribe" limit (#2059)
  • MQTT:
    • Fix a possible subscription leak in setup failure conditions (#2061)
  • Websocket:
    • Possible empty frames sent to webbrowser clients (#2040)
  • Account connection events were not sent when using custom authentication (#2020)
  • Disconnect clients for account JWT that has been disabled (#2048)

Complete Changes

latest releases: v2.5.0, v2.4.0, v2.3.4...
5 months ago