Changelog
Notice for JetStream Users
See important note if upgrading from a version prior to v2.4.0
.
Notice for MQTT Users
See important note if upgrading from a version prior to v2.5.0
.
Go Version
- 1.16.9: Both release executables and Docker images are built with this Go release.
Fixed
- Gateways:
- Each server within a cluster gossips its gateway URL, however, when two servers create route to each other and one route is dropped as a duplicate, a server may lose the peer's gateway URL and therefore would not be able to gossip it to inbound gateway connections (#2653)
- JetStream:
- Purging would, in some cases, not honor the amount of messages to keep after purge (#2623)
- Panic caused by the Unlock of unlocked RWMutex, which would happen through non client connections when the limit of JetStream API in-flight requests was reached. Thanks to @minight for the report (#2645)
- Cluster becomes inconsistent with constant "catchup for stream stalled" warnings. Thanks to @aksdb for the report (#2648)
- Ensure that stream's sealed, deny delete, deny purge and allow rollup booleans in stream config are always set (for languages that may not set to false when decoding JSON when absent) and set the deny delete and purge to true and allow rollup to false when a stream is sealed (#2650)
- Redelivered state of consumers was not properly decoded from file (#2652)
- LeafNode:
- Apparent memory leak on "Authorization Violation" errors. Thanks to @DavidSimner for the contribution (#2637)
- Monitoring:
- OCSP:
- Only last of LeafNode and Gateway remotes were being updated. Thanks to @guodongli-google for the report (#2632)
- TLS:
- If a connection is closed before the specified TLS timeout, the connection object would be retained in the go runtime due to the TLS timeout timer not being stopped, which could be seen as a memory leak, until that timer fired (#2638)
- Redact URLs before logging. Thanks to @fowlerp-qlik for the report (#2643)