giantswarm / aws-operator

Manages Kubernetes clusters running on AWS (before Cluster API)
https://www.giantswarm.io/
Apache License 2.0
131 stars 22 forks source link

Update module github.com/nats-io/nats-server/v2 to v2.10.4 #3632

Closed renovate[bot] closed 11 months ago

renovate[bot] commented 11 months ago

Mend Renovate

This PR contains the following updates:

Package Type Update Change
github.com/nats-io/nats-server/v2 replace minor v2.9.11 -> v2.10.4

Release Notes

nats-io/nats-server (github.com/nats-io/nats-server/v2) ### [`v2.10.4`](https://togithub.com/nats-io/nats-server/releases/tag/v2.10.4) [Compare Source](https://togithub.com/nats-io/nats-server/compare/v2.10.3...v2.10.4) ##### Changelog Refer to the [2.10 Upgrade Guide](https://docs.nats.io/release-notes/whats_new/whats_new\_210) for backwards compatibility notes with 2.9.x. ##### CVEs - [CVE-2023-46129](https://advisories.nats.io/CVE/secnote-2023-02.txt) - nkeys: xkeys seal encryption used fixed key for all encryption ##### Go Version - 1.21.3 ##### Dependencies - github.com/nats-io/nats.go v1.31.0 - github.com/nats-io/nkeys v0.4.6 - github.com/klauspost/compress v1.17.2 - golang.org/x/crypto v0.14.0 - golang.org/x/sys v0.13.0 ##### Added JetStream - Report Raft group name in stream and consumer info responses ([#​4661](https://togithub.com/nats-io/nats-server/issues/4661)) MQTT - Add config options to disable QoS 2 support ([#​4705](https://togithub.com/nats-io/nats-server/issues/4705)) TLS - Add opt-in TLS handshake first for client connections ([#​4642](https://togithub.com/nats-io/nats-server/issues/4642)) ##### Improved Dependencies - Remove unnecessary constraints dependency for `ordered` constraint ([#​4709](https://togithub.com/nats-io/nats-server/issues/4709)) Thanks to [@​misterpickypants](https://togithub.com/misterpickypants) for the contribution! JetStream - Add internal pprof labels as metadata to the stream config for improved debuggability ([#​4662](https://togithub.com/nats-io/nats-server/issues/4662)) - Stricter management of Raft state, which should improve recovery from a leaderless state ([#​4684](https://togithub.com/nats-io/nats-server/issues/4684)) - Avoid unnecessary reallocations when writing the full filestore state to disk ([#​4687](https://togithub.com/nats-io/nats-server/issues/4687)) - Improve recovery of blocks that are being updated midway ([#​4692](https://togithub.com/nats-io/nats-server/issues/4692)) - Recycle filestore buffers on rebuild and write out full state prior to snapshotting ([#​4699](https://togithub.com/nats-io/nats-server/issues/4699)) - Extend AckTerm advisory event to support a *reason* ([#​4697](https://togithub.com/nats-io/nats-server/issues/4697)) - Improve time to select skip list and starting sequence number for deliver last by subject ([#​4712](https://togithub.com/nats-io/nats-server/issues/4712), [#​4713](https://togithub.com/nats-io/nats-server/issues/4713)) Thanks to [@​StanEgo](https://togithub.com/StanEgo) for the report! - Optimize loading messages on last by subject if max messages per subject is one ([#​4714](https://togithub.com/nats-io/nats-server/issues/4714)) MQTT - No longer require a server name to be set for a standalone server ([#​4679](https://togithub.com/nats-io/nats-server/issues/4679)) Routes - Remove unnecessary account lookups for pinned accounts ([#​4686](https://togithub.com/nats-io/nats-server/issues/4686)) - Upgrade non-solicited routes if present in config ([#​4701](https://togithub.com/nats-io/nats-server/issues/4701), [#​4708](https://togithub.com/nats-io/nats-server/issues/4708)) Systemd - Use correct network target to prevent host-dependent race conditions when establishing external connections ([#​4676](https://togithub.com/nats-io/nats-server/issues/4676)) ##### Fixed Configuration - Fix possible panic during configuration reload during a server shutdown ([#​4666](https://togithub.com/nats-io/nats-server/issues/4666)) Exports/imports - Prevent service import from duplicating MSG as HMSG with a remapped subject ([#​4678](https://togithub.com/nats-io/nats-server/issues/4678)) Thanks to [@​izwerg](https://togithub.com/izwerg) for the report! JetStream - Fix panic if store error occurs when requesting consumer info ([#​4669](https://togithub.com/nats-io/nats-server/issues/4669)) - Fix incorrect calculation of num pending with a filtered subject ([#​4693](https://togithub.com/nats-io/nats-server/issues/4693)) Thanks to [@​a-h](https://togithub.com/a-h) for the report! - Prevent purge of entire stream when targeting a sequence of `1` ([#​4698](https://togithub.com/nats-io/nats-server/issues/4698)) Thanks to [@​john-bagatta](https://togithub.com/john-bagatta) for the report! - Ensure there is a valid messages queue prior to processing within a mirror ([#​4700](https://togithub.com/nats-io/nats-server/issues/4700)) - Avoid concurrent consumer setLeader calls resulting in chance of multiple leaders ([#​4703](https://togithub.com/nats-io/nats-server/issues/4703)) MQTT - Fix memory leak for retained messages ([#​4665](https://togithub.com/nats-io/nats-server/issues/4665)) Thanks to [@​pricelessrabbit](https://togithub.com/pricelessrabbit) for the contribution! Windows - Ensure signal handler is stopped when shutting down on Windows to prevent goroutine leak ([#​4690](https://togithub.com/nats-io/nats-server/issues/4690)) ##### Complete Changes ### [`v2.10.3`](https://togithub.com/nats-io/nats-server/releases/tag/v2.10.3) [Compare Source](https://togithub.com/nats-io/nats-server/compare/v2.10.2...v2.10.3) #### Changelog Refer to the [2.10 Upgrade Guide](https://docs.nats.io/release-notes/whats_new/whats_new\_210) for backwards compatibility notes with 2.9.x. ##### Go Version - 1.21.3 ##### Fixed JetStream - Reclaim more space with streams having many interior deletes during compaction with compression enabled ([#​4645](https://togithub.com/nats-io/nats-server/issues/4645)) - Fixed updating a non unique consumer on workqueue stream not returning an error. Thanks to [@​mdawar](https://togithub.com/mdawar) for the contribution ([#​4654](https://togithub.com/nats-io/nats-server/issues/4654)) - Stream / KV lookups fail after decreasing history size ([#​4656](https://togithub.com/nats-io/nats-server/issues/4656)) - Only mark fs as dirty vs full write on mb compaction ([#​4657](https://togithub.com/nats-io/nats-server/issues/4657)) MQTT - Fix crash in MQTT layer with outgoing PUBREL header ([#​4646](https://togithub.com/nats-io/nats-server/issues/4646)) ##### Complete Changes ### [`v2.10.2`](https://togithub.com/nats-io/nats-server/releases/tag/v2.10.2) [Compare Source](https://togithub.com/nats-io/nats-server/compare/v2.10.1...v2.10.2) #### Changelog ##### Downgrade compatibility note 2.10.x brings on-disk storage changes which bring significant performance improvements. Upgrade existing server versions will handle the new storage format transparently. However, if a downgrade from 2.10.x occurs, the old version will not understand the format on disk with the exception 2.9.22 and any subsequent patch releases for 2.9. So if you upgrade from 2.9.x to 2.10.0 and then need to downgrade for some reason, it must be back to 2.9.22+ to ensure the stream data can be read correctly. ##### Go Version - 1.21.2 ##### Dependencies - github.com/nats-io/nats.go v1.30.2 ##### Added Profiling - Add `prof_block_rate` config option for configuring the block profile ([#​4587](https://togithub.com/nats-io/nats-server/issues/4587)) - Add more pprof labels to consumers, sources, and mirrors ([#​4609](https://togithub.com/nats-io/nats-server/issues/4609)) ##### Improved Core - Reduce contention when pattern matching subjects when the sublist cache is disabled ([#​4586](https://togithub.com/nats-io/nats-server/issues/4586)) - Various service import reply optimizations ([#​4591](https://togithub.com/nats-io/nats-server/issues/4591)) - Remove unnecessary lock on subscription list if cache is disabled ([#​4594](https://togithub.com/nats-io/nats-server/issues/4594)) Docs - Fix links in various repo markdown files ([#​4590](https://togithub.com/nats-io/nats-server/issues/4590)) Thanks to [@​jdhenke](https://togithub.com/jdhenke) for the contribution! Leafnodes - Set S2 writer concurrency to 1 rather than the default of GOMAXPROCS to improve performance ([#​4570](https://togithub.com/nats-io/nats-server/issues/4570)) JetStream - Make install snapshot errors rate limited when catching up ([#​4574](https://togithub.com/nats-io/nats-server/issues/4574)) - Log a warning on reset if bad stream state is detected ([#​4583](https://togithub.com/nats-io/nats-server/issues/4583)) - Change some contended locks to atomic swap operations ([#​4585](https://togithub.com/nats-io/nats-server/issues/4585)) - Log a warning if filestore recovery fails on the happy path ([#​4599](https://togithub.com/nats-io/nats-server/issues/4599)) - Ensure concurrent stream of the same stream does not return not found ([#​4600](https://togithub.com/nats-io/nats-server/issues/4600)) - Add additional markers for indicating unflushed state ([#​4601](https://togithub.com/nats-io/nats-server/issues/4601)) - Log a warning when subject skew is detected in the filestore ([#​4606](https://togithub.com/nats-io/nats-server/issues/4606)) - Reduce contention for a high number of connections in JetStream enabled account ([#​4613](https://togithub.com/nats-io/nats-server/issues/4613)) - Reduce contention in the consumer info API ([#​4615](https://togithub.com/nats-io/nats-server/issues/4615)) - Reduce contention and increase throughput of replica synchronization ([#​4621](https://togithub.com/nats-io/nats-server/issues/4621)) Systemd - Update systemd scripts to use SIGUSR2 (lame duck model) for shutdown ([#​4603](https://togithub.com/nats-io/nats-server/issues/4603)) WebSocket - Minimize memory growth for compressed WebSocket connections ([#​4620](https://togithub.com/nats-io/nats-server/issues/4620)) - Significantly reduce allocations in WebSocket interface ([#​4623](https://togithub.com/nats-io/nats-server/issues/4623)) ##### Fixed Accounts - Fix inversion of lock on startup when setting up the account resolver ([#​4588](https://togithub.com/nats-io/nats-server/issues/4588)) - Prevent bypassing authorization block when enabling system account access in accounts block ([#​4605](https://togithub.com/nats-io/nats-server/issues/4605)) Thanks to [@​alexherington](https://togithub.com/alexherington) for the report! Leafnodes - Prevent a leafnode cluster from receiving a message multiple times in a queue subscription ([#​4578](https://togithub.com/nats-io/nats-server/issues/4578)) Thanks to [@​pcsegal](https://togithub.com/pcsegal) for the report! JetStream - Fix possible panic due to message block unlock occurring prematurely ([#​4571](https://togithub.com/nats-io/nats-server/issues/4571)) - Guard against an accounting error resulting in a negative message count ([#​4575](https://togithub.com/nats-io/nats-server/issues/4575)) - Skip enabling direct gets if no commits ([#​4576](https://togithub.com/nats-io/nats-server/issues/4576)) - In lame duck mode, shutdown JetStream at the start to signal transfer of leadership if the leader ([#​4579](https://togithub.com/nats-io/nats-server/issues/4579)) - Fix possible stream assignment race condition ([#​4589](https://togithub.com/nats-io/nats-server/issues/4589)) - Fix race condition during leader failover scenarios resulting in potential duplicate messages being sourced ([#​4592](https://togithub.com/nats-io/nats-server/issues/4592)) - Respond with “not found” for consumer info if consumer is closed ([#​4610](https://togithub.com/nats-io/nats-server/issues/4610)) - Prevent processing of consumer assignments after JetStream shutdown occurs ([#​4625](https://togithub.com/nats-io/nats-server/issues/4625)) - Fix possibly lookup misses when MaxMsgsPerSubject=1 leading to excess messages in stream ([#​4631](https://togithub.com/nats-io/nats-server/issues/4631)) MQTT - Fix PUBREL header incompatibility ([#​4616](https://togithub.com/nats-io/nats-server/issues/4616)) Routes - Fix potential of pinned accounts not establishing a route on connect ([#​4602](https://togithub.com/nats-io/nats-server/issues/4602)) ##### Complete Changes ### [`v2.10.1`](https://togithub.com/nats-io/nats-server/releases/tag/v2.10.1) [Compare Source](https://togithub.com/nats-io/nats-server/compare/v2.10.0...v2.10.1) #### Changelog ##### Downgrade compatibility note 2.10.x brings on-disk storage changes which bring significant performance improvements. Upgrade existing server versions will handle the new storage format transparently. However, if a downgrade from 2.10.x occurs, the old version will not understand the format on disk with the exception 2.9.22 and any subsequent patch releases for 2.9. So if you upgrade from 2.9.x to 2.10.0 and then need to downgrade for some reason, it must be back to 2.9.22+ to ensure the stream data can be read correctly. ##### Go Version - 1.21.1 ##### Fixed Leafnode - Fix TLS handshake being prevented if remote (leaf) does not have a TLS block configured ([#​4565](https://togithub.com/nats-io/nats-server/issues/4565)) JetStream - Ensure a single filter in new consumer SubjectFilters or stream SubjectTransforms block uses the extended consumer subject format as it did with SubjectFilter ([#​4564](https://togithub.com/nats-io/nats-server/issues/4564)) - Ensure stream-specified consumer limits are correctly applied in combination with the explicit ack policy ([#​4567](https://togithub.com/nats-io/nats-server/issues/4567)) ##### Complete Changes ### [`v2.10.0`](https://togithub.com/nats-io/nats-server/releases/tag/v2.10.0) [Compare Source](https://togithub.com/nats-io/nats-server/compare/v2.9.23...v2.10.0) #### Changelog ##### Downgrade compatibility note 2.10.0 brings on-disk storage changes which bring significant performance improvements. Upgrade existing server versions will handle the new storage format transparently. However, if a downgrade from 2.10.0 occurs, the old version will not understand the format on disk with the exception 2.9.22 and any subsequent patch releases for 2.9. So if you upgrade from 2.9.x to 2.10.0 and then need to downgrade for some reason, it must be back to 2.9.22+ to ensure the stream data can be read correctly. ##### Go Version - 1.21.1 ##### Dependencies - github.com/nats-io/nats.go v1.29.0 - github.com/nats-io/jwt/v2 v2.5.2 - github.com/nats-io/nkeys v0.4.5 - github.com/klauspost/compress v1.17.0 - golang.org/x/crypto v0.13.0 ##### Added Accounts - Add `$SYS.REQ.USER.INFO` NATS endpoint for user info ([#​3671](https://togithub.com/nats-io/nats-server/issues/3671)) Auth - Authorization callout extension for delegating to external auth providers ([#​3719](https://togithub.com/nats-io/nats-server/issues/3719), [#​3784](https://togithub.com/nats-io/nats-server/issues/3784), [#​3799](https://togithub.com/nats-io/nats-server/issues/3799), [#​3864](https://togithub.com/nats-io/nats-server/issues/3864), [#​3987](https://togithub.com/nats-io/nats-server/issues/3987), [#​4501](https://togithub.com/nats-io/nats-server/issues/4501), [#​4544](https://togithub.com/nats-io/nats-server/issues/4544)) Builds - Add early build support for NetBSD ([#​3526](https://togithub.com/nats-io/nats-server/issues/3526)) Thanks to [@​MatthiasPetermann](https://togithub.com/MatthiasPetermann) for the contribution! - Add early build support for IBM z/OS ([#​4209](https://togithub.com/nats-io/nats-server/issues/4209)) Thanks to [@​v1gnesh](https://togithub.com/v1gnesh) for the contribution! Cluster - Multiple routes and ability to have per-account routes to reduce head-of-line blocking in clustered setups ([#​4001](https://togithub.com/nats-io/nats-server/issues/4001), [#​4183](https://togithub.com/nats-io/nats-server/issues/4183), [#​4414](https://togithub.com/nats-io/nats-server/issues/4414)) - Support for S2 compression of traffic over route connections ([#​4115](https://togithub.com/nats-io/nats-server/issues/4115), [#​4137](https://togithub.com/nats-io/nats-server/issues/4137)) Config - Reload server config by sending a message in the system account to `$SYS.REQ.SERVER.{server-id}.RELOAD` ([#​4307](https://togithub.com/nats-io/nats-server/issues/4307)) Embedded - Add `ConnectionDeadline` field to `User` to force server disconnect after deadline ([#​3580](https://togithub.com/nats-io/nats-server/issues/3580), [#​3674](https://togithub.com/nats-io/nats-server/issues/3674)) Leafnode - Add TLSHandshakeFirst option to perform a TLS handshake before sending connection info ([#​4119](https://togithub.com/nats-io/nats-server/issues/4119)) - Support S2 compression of traffic over leafnode connections where the default now is `s2_auto` to compress relative to the RTT of the hub ([#​4167](https://togithub.com/nats-io/nats-server/issues/4167), [#​4230](https://togithub.com/nats-io/nats-server/issues/4230)) - Allow remotes from same server binding to same hub account ([#​4259](https://togithub.com/nats-io/nats-server/issues/4259)) Logging - Add `logfile_max_num` server config field to auto-rotate files ([#​4548](https://togithub.com/nats-io/nats-server/issues/4548)) JetStream - Add stream subject transforms ([#​3814](https://togithub.com/nats-io/nats-server/issues/3814), [#​3823](https://togithub.com/nats-io/nats-server/issues/3823), [#​3827](https://togithub.com/nats-io/nats-server/issues/3827), [#​4035](https://togithub.com/nats-io/nats-server/issues/4035), [#​4354](https://togithub.com/nats-io/nats-server/issues/4354), [#​4400](https://togithub.com/nats-io/nats-server/issues/4400), [#​4403](https://togithub.com/nats-io/nats-server/issues/4403), [#​4512](https://togithub.com/nats-io/nats-server/issues/4512)) - Add freeform `metadata` field to stream and consumer configs ([#​3797](https://togithub.com/nats-io/nats-server/issues/3797)) - Add support for consumers filtering on multiple subjects ([#​3500](https://togithub.com/nats-io/nats-server/issues/3500), [#​3865](https://togithub.com/nats-io/nats-server/issues/3865), [#​4008](https://togithub.com/nats-io/nats-server/issues/4008), [#​4129](https://togithub.com/nats-io/nats-server/issues/4129), [#​4188](https://togithub.com/nats-io/nats-server/issues/4188)) - Add original timestamp as header to republished message ([#​3933](https://togithub.com/nats-io/nats-server/issues/3933)) Thanks to [@​amorey](https://togithub.com/amorey) for the contribution! - Allow republish for mirroring/sourcing streams ([#​4010](https://togithub.com/nats-io/nats-server/issues/4010)) - Add optional S2 stream compression for file store-backed streams ([#​4004](https://togithub.com/nats-io/nats-server/issues/4004), [#​4072](https://togithub.com/nats-io/nats-server/issues/4072)) - Add file store ability to re-encrypt with new encryption keys ([#​4296](https://togithub.com/nats-io/nats-server/issues/4296)) - Add embedded option to disable JetStream ASCII art at startup ([#​4261](https://togithub.com/nats-io/nats-server/issues/4261)) Thanks to [@​renevo](https://togithub.com/renevo) for the contribution! - Add ability to configure `first_seq` when creating streams ([#​4322](https://togithub.com/nats-io/nats-server/issues/4322), [#​4345](https://togithub.com/nats-io/nats-server/issues/4345)) - Add `sync_internal` option to JetStream config ([#​4483](https://togithub.com/nats-io/nats-server/issues/4483)) Monitoring - Add `unique_tag` field in `/jsz` and `/varz` endpoints ([#​3617](https://togithub.com/nats-io/nats-server/issues/3617)) - Add `$SYS.REQ.SERVER.PING.IDZ` NATS endpoint for basic server info ([#​3663](https://togithub.com/nats-io/nats-server/issues/3663)) - Add `$SYS.REQ.SERVER..PROFILEZ` NATS endpoint for requesting debugging profiles ([#​3774](https://togithub.com/nats-io/nats-server/issues/3774)) - Add subscription count to `/statz` endpoint ([#​3875](https://togithub.com/nats-io/nats-server/issues/3875)) - Add Raft query parameter to `/jsz` to include Raft group info ([#​3914](https://togithub.com/nats-io/nats-server/issues/3914)) - Add `slow_consumer_stats` to the `/varz` endpoint ([#​4330](https://togithub.com/nats-io/nats-server/issues/4330)) MQTT - Add support for QoS2 exactly-once delivery ([#​4349](https://togithub.com/nats-io/nats-server/issues/4349), [#​4440](https://togithub.com/nats-io/nats-server/issues/4440)) Reload - Match `--signal` PIDs with globular-style expression ([#​4370](https://togithub.com/nats-io/nats-server/issues/4370)) Thanks to [@​jevolk](https://togithub.com/jevolk) for the contribution! Subject Mapping - Add ability to remove wildcard tokens in subject transforms ([#​4152](https://togithub.com/nats-io/nats-server/issues/4152)) - Allows cluster filtering in account subject mapping ([#​4175](https://togithub.com/nats-io/nats-server/issues/4175)) System Services - Add `$SYS.REQ.SERVER..KICK` NATS endpoint to disconnect a client by `id` or by `name` from the target server ([#​4298](https://togithub.com/nats-io/nats-server/issues/4298)) - Add `$SYS.REQ.SERVER..LDM` NATS endpoint that sends a “lame duck mode” message to a client by `id` or `name` on the target server ([#​4298](https://togithub.com/nats-io/nats-server/issues/4298)) Windows - Add NATS_STARTUP_DELAY env for configurable startup time ([#​3743](https://togithub.com/nats-io/nats-server/issues/3743)) Thanks to [@​Alberic-Hardis](https://togithub.com/Alberic-Hardis) for the contribution! ##### Improved Leafnodes - Add jitter to leafnode reconnections ([#​4398](https://togithub.com/nats-io/nats-server/issues/4398)) Logging - Add account, stream and consumer name to consumer alignment cleanup warning ([#​3666](https://togithub.com/nats-io/nats-server/issues/3666)) Thanks to [@​ch629](https://togithub.com/ch629) for the contribution! JetStream - Significant optimisations and reduced memory impact for replicated streams with a large number of interior deletes (common in large KVs), considerably reducing the amount of CPU and memory required to create stream snapshots and smoothing out publish latencies ([#​4070](https://togithub.com/nats-io/nats-server/issues/4070), [#​4071](https://togithub.com/nats-io/nats-server/issues/4071), [#​4075](https://togithub.com/nats-io/nats-server/issues/4075), [#​4284](https://togithub.com/nats-io/nats-server/issues/4284), [#​4520](https://togithub.com/nats-io/nats-server/issues/4520), [#​4553](https://togithub.com/nats-io/nats-server/issues/4553)) - Improve signaling mechanism for consumers to improve performance and reduce latency ([#​3706](https://togithub.com/nats-io/nats-server/issues/3706)) - Allow edit of Stream RePublish ([#​3811](https://togithub.com/nats-io/nats-server/issues/3811)) - Add batch completed status to pull consumers ([#​3822](https://togithub.com/nats-io/nats-server/issues/3822)) - Improve behavior of stream source consumer creation or config updates on leadership change ([#​4009](https://togithub.com/nats-io/nats-server/issues/4009)) - Record the stream and consumer info timestamps ([#​4133](https://togithub.com/nats-io/nats-server/issues/4133)) - Allow switching between limits and interest retention policies ([#​4361](https://togithub.com/nats-io/nats-server/issues/4361)) - Improve performance of deleting blocks ([#​4371](https://togithub.com/nats-io/nats-server/issues/4371)) - Update the way meta indexing is handled for filestore, significantly reducing time to recover streams at startup ([#​4450](https://togithub.com/nats-io/nats-server/issues/4450), [#​4481](https://togithub.com/nats-io/nats-server/issues/4481)) - Add self-healing mechanism to detect and delete orphaned Raft groups ([#​4510](https://togithub.com/nats-io/nats-server/issues/4510)) - Improve monitoring of consumers that need to be cleaned up ([#​4536](https://togithub.com/nats-io/nats-server/issues/4536)) MQTT - Optimize retained messages by using KV semantics instead of holding retained messages in memory ([#​4199](https://togithub.com/nats-io/nats-server/issues/4199), [#​4228](https://togithub.com/nats-io/nats-server/issues/4228)) - Support for topics with `.` character ([#​4243](https://togithub.com/nats-io/nats-server/issues/4243)) Thanks to [@​petedavis](https://togithub.com/petedavis) and [@​telemac](https://togithub.com/telemac) for the reports! - Set the `RETAIN` flag when delivering to new subscriptions and clear the flag in all other conditions ([#​4443](https://togithub.com/nats-io/nats-server/issues/4443)) Profiling - Annotate CPU and goroutine profiles with additional asset information to assist with debugging ([#​4204](https://togithub.com/nats-io/nats-server/issues/4204)) - Remove unused block profile rate ([#​4402](https://togithub.com/nats-io/nats-server/issues/4402)) Subject Mapping - Subject transform validation and error reporting ([#​4202](https://togithub.com/nats-io/nats-server/issues/4202)) ##### Fixed Accounts - Fix data race when updating accounts ([#​4435](https://togithub.com/nats-io/nats-server/issues/4435), [#​4550](https://togithub.com/nats-io/nats-server/issues/4550), [#​4561](https://togithub.com/nats-io/nats-server/issues/4561)) Thanks to [@​hspaay](https://togithub.com/hspaay) for the report! Clients - Check if client connection name was already set when storing it ([#​3824](https://togithub.com/nats-io/nats-server/issues/3824)) Leafnode - Data race during validation and setup ([#​4194](https://togithub.com/nats-io/nats-server/issues/4194)) JetStream - Check for invalid stream name in sources ([#​4222](https://togithub.com/nats-io/nats-server/issues/4222)) - Stream config update idempotency ([#​4292](https://togithub.com/nats-io/nats-server/issues/4292)) - Seqset encode bug that could cause bad stream state snapshots ([#​4348](https://togithub.com/nats-io/nats-server/issues/4348)) - Ensure stream assignment is set when checking replica count and updating retention ([#​4391](https://togithub.com/nats-io/nats-server/issues/4391)) - Hold lock when enforcing message limit on startup ([#​4469](https://togithub.com/nats-io/nats-server/issues/4469)) - Fix filestore data race on hash during snapshots ([#​4470](https://togithub.com/nats-io/nats-server/issues/4470)) - Use write lock for memory store filtered state ([#​4498](https://togithub.com/nats-io/nats-server/issues/4498)) - Fix data race on stream’s clustered filestore sequence ([#​4508](https://togithub.com/nats-io/nats-server/issues/4508)) - Fix possible panic when recalculating the first sequence of a subject ([#​4530](https://togithub.com/nats-io/nats-server/issues/4530)) Thanks to [@​aldiesel](https://togithub.com/aldiesel) for the report! - Fix leaking timers in stream sources resulting in runaway CPU usage ([#​4532](https://togithub.com/nats-io/nats-server/issues/4532)) - Fix possible panic when consumer is not closed ([#​4541](https://togithub.com/nats-io/nats-server/issues/4541)) - Fix data race when accessing consumer assignment ([#​4547](https://togithub.com/nats-io/nats-server/issues/4547)) - Fix data race when changing stream retention policy ([#​4551](https://togithub.com/nats-io/nats-server/issues/4551)) - Fix data race when loading the next message in memory-based streams ([#​4552](https://togithub.com/nats-io/nats-server/issues/4552)) - Prevent forward proposals in consumers after scaling down a stream ([#​4556](https://togithub.com/nats-io/nats-server/issues/4556)) OSCP - Fixed local issuer determination for OCSP Staple ([#​4355](https://togithub.com/nats-io/nats-server/issues/4355)) Routes - Update LastActivity on connect for routes ([#​4415](https://togithub.com/nats-io/nats-server/issues/4415)) ##### Complete Changes ### [`v2.9.23`](https://togithub.com/nats-io/nats-server/releases/tag/v2.9.23) [Compare Source](https://togithub.com/nats-io/nats-server/compare/v2.9.22...v2.9.23) #### Changelog ##### Go Version - 1.20.10 ##### Fixed Accounts - Prevent bypassing authorization block when enabling system account access in accounts block ([#​4605](https://togithub.com/nats-io/nats-server/issues/4605)). Backport from v2.10.2 Leafnodes - Prevent a leafnode cluster from receiving a message multiple times in a queue subscription ([#​4578](https://togithub.com/nats-io/nats-server/issues/4578)). Backport from v2.10.2 JetStream - Hold lock when calculating the first message for subject in a message block ([#​4531](https://togithub.com/nats-io/nats-server/issues/4531)). Backport from v2.10.0 - Add self-healing mechanism to detect and delete orphaned Raft groups ([#​4647](https://togithub.com/nats-io/nats-server/issues/4647)). Backport from v2.10.0 - Prevent forward proposals in consumers after scaling down a stream ([#​4647](https://togithub.com/nats-io/nats-server/issues/4647)). Backport from v2.10.0 - Fix race condition during leader failover scenarios resulting in potential duplicate messages being sourced ([#​4592](https://togithub.com/nats-io/nats-server/issues/4592)). Backport from v2.10.2 ##### Complete Changes ### [`v2.9.22`](https://togithub.com/nats-io/nats-server/releases/tag/v2.9.22) [Compare Source](https://togithub.com/nats-io/nats-server/compare/v2.9.21...v2.9.22) #### Changelog ##### Go Version - 1.20.8 (updated out-of-cycle since Go 1.19 is now EOL) ##### Dependencies - github.com/nats-io/jwt/v2 v2.5.0 - golang.org/x/crypto v0.12.0 - golang.org/x/sys v0.11.0 ##### Improved Monitoring - CORS Allow-Origin passthrough for monitoring server ([#​4423](https://togithub.com/nats-io/nats-server/issues/4423)) Thanks to [@​mdawar](https://togithub.com/mdawar) for the contribution! JetStream - Improve consumer scaling reliability with filters and cluster restart ([#​4404](https://togithub.com/nats-io/nats-server/issues/4404)) - Send event on lame duck mode (LDM) to avoid placing assets on shutting down nodes ([#​4405](https://togithub.com/nats-io/nats-server/issues/4405)) - Skip filestore tombstones if downgrade from 2.10 occurs ([#​4452](https://togithub.com/nats-io/nats-server/issues/4452)) - Adjust delivered and waiting count when consumer message delivery fails ([#​4472](https://togithub.com/nats-io/nats-server/issues/4472)) ##### Fixed Config - Allow empty configs and fix JSON compatibility ([#​4394](https://togithub.com/nats-io/nats-server/issues/4394), [#​4418](https://togithub.com/nats-io/nats-server/issues/4418)) - Remove TLS OCSP debug log on reload ([#​4453](https://togithub.com/nats-io/nats-server/issues/4453)) Monitoring - Fix Content-Type header when /healthz is not 200 OK ([#​4437](https://togithub.com/nats-io/nats-server/issues/4437)) Thanks to [@​mdawar](https://togithub.com/mdawar) for the contribution! - Fix server /connz idle time sorting ([#​4463](https://togithub.com/nats-io/nats-server/issues/4463)) Thanks to [@​mdawar](https://togithub.com/mdawar) for the contribution! - Interface conversion bug which could cause a panic when calling /ipqueuesz endpoint ([#​4477](https://togithub.com/nats-io/nats-server/issues/4477)) Leafnode - Fix race condition which could affect propagating interest over leafnode connections ([#​4464](https://togithub.com/nats-io/nats-server/issues/4464)) JetStream - Fix possible deadlock in checking for drift in the usage reporting when storing a message ([#​4411](https://togithub.com/nats-io/nats-server/issues/4411)) - Durable pull consumers could get cleaned up incorrectly on leader change ([#​4412](https://togithub.com/nats-io/nats-server/issues/4412)) - Moving an R1 stream could sometimes lose all messages ([#​4413](https://togithub.com/nats-io/nats-server/issues/4413)) - Prevent peer-remove of an R1 stream which could result in the stream becoming orphaned ([#​4420](https://togithub.com/nats-io/nats-server/issues/4420)) - Ensure consumer ack pending is less than max ack pending on state restore ([#​4427](https://togithub.com/nats-io/nats-server/issues/4427)) - Ensure to reset election timer when catching up ([#​4428](https://togithub.com/nats-io/nats-server/issues/4428)) Thanks to [@​yuzhou-nj](https://togithub.com/yuzhou-nj) for the report! - Auto step-down Raft leader if an entry is missing on a catchup request ([#​4432](https://togithub.com/nats-io/nats-server/issues/4432)) - Fix PurgeEx with keep having deletes in blocks ([#​4431](https://togithub.com/nats-io/nats-server/issues/4431)) - Update global subject index when message blocks expire ([#​4439](https://togithub.com/nats-io/nats-server/issues/4439)) - Ensure max messages per subject is respected after update ([#​4446](https://togithub.com/nats-io/nats-server/issues/4446)) Thanks to [@​anthonyjacques20](https://togithub.com/anthonyjacques20) for the report! - Ignore and remove empty message blocks on rebuild ([#​4447](https://togithub.com/nats-io/nats-server/issues/4447)) - Fix possible accounting discrepancy on message write ([#​4455](https://togithub.com/nats-io/nats-server/issues/4455)) - Fix potential message duplication from stream sources when downgrading from 2.10 ([#​4454](https://togithub.com/nats-io/nats-server/issues/4454)) - Check for checksum violations for all records before sequence processing ([#​4465](https://togithub.com/nats-io/nats-server/issues/4465)) - Fix message block accounting ([#​4473](https://togithub.com/nats-io/nats-server/issues/4473)) ##### Complete Changes ### [`v2.9.21`](https://togithub.com/nats-io/nats-server/releases/tag/v2.9.21) [Compare Source](https://togithub.com/nats-io/nats-server/compare/v2.9.20...v2.9.21) #### Changelog ##### Go Version - 1.19.12 ##### Dependencies - github.com/klauspost/compress v1.16.7 - github.com/nats-io/nats.go v1.28.0 - go.uber.org/automaxprocs v1.5.3 - golang.org/x/crypto v0.11.0 - golang.org/x/sys v0.10.0 ##### Added OCSP - Add fetch, cache, and verification of client CA's OCSP Response for NATS, WebSocket, and MQTT client mTLS connections ([#​4362](https://togithub.com/nats-io/nats-server/issues/4362), backported from 2.10) - Add bi-directional fetch, cache, and verification of CA OCSP Response for LEAF connections ([#​4362](https://togithub.com/nats-io/nats-server/issues/4362), backported from 2.10) See [ADR-38 OCSP Peer Verification](https://togithub.com/nats-io/nats-architecture-and-design/blob/main/adr/ADR-38.md) General - Add UTC log timestamp option ([#​4331](https://togithub.com/nats-io/nats-server/issues/4331), backported from 2.10) ##### Improved JetStream - Don't error to server logs if message was deleted for consumer ([#​4328](https://togithub.com/nats-io/nats-server/issues/4328)) - Improve publish performance for zero-interest subjects ([#​4359](https://togithub.com/nats-io/nats-server/issues/4359)) Thanks to [@​antlad](https://togithub.com/antlad) for reporting the issue! - Sync and reset message rejected count to ensure replicas don’t incorrectly discard messages ([#​4365](https://togithub.com/nats-io/nats-server/issues/4365), [#​4366](https://togithub.com/nats-io/nats-server/issues/4366)) ##### Fixed General - Leaking memory on usage of `getHash()` ([#​4329](https://togithub.com/nats-io/nats-server/issues/4329)) Thanks to [@​VuongUranus](https://togithub.com/VuongUranus) for reporting the issue! - Server reload with highly active accounts and service imports could cause panic or dataloss ([#​4327](https://togithub.com/nats-io/nats-server/issues/4327)) - Fix detection of an unusable configuration file ([#​4358](https://togithub.com/nats-io/nats-server/issues/4358)) - **NOTE: as a side effect of this fix, the server will no longer startup with an empty config file** - Fix a few system service imports going missing after configuration reload ([#​4360](https://togithub.com/nats-io/nats-server/issues/4360)) OCSP - Fix local-determination of issuer CA at startup ([#​4362](https://togithub.com/nats-io/nats-server/issues/4362)) - Remove constraint that all (super)cluster node peers must be issued by the same CA ([#​4362](https://togithub.com/nats-io/nats-server/issues/4362)) Embedded - Don't require TLS for in-process client connection ([#​4323](https://togithub.com/nats-io/nats-server/issues/4323)) JetStream - Fix serializability guarantee for concurrent publish when using expected-last-subject-sequence ([#​4319](https://togithub.com/nats-io/nats-server/issues/4319)) - Report correct consumer count in paged list response ([#​4339](https://togithub.com/nats-io/nats-server/issues/4339)) - Fix not validating single token filtered consumer ([#​4338](https://togithub.com/nats-io/nats-server/issues/4338)) - Fix stream recovery of message block with sequence gaps ([#​4344](https://togithub.com/nats-io/nats-server/issues/4344)) - Fix panic when re-calculating first sequence of SimpleState info ([#​4346](https://togithub.com/nats-io/nats-server/issues/4346)) - Fix stream store accounting drift ([#​4357](https://togithub.com/nats-io/nats-server/issues/4357)) ##### Complete Changes ### [`v2.9.20`](https://togithub.com/nats-io/nats-server/releases/tag/v2.9.20) [Compare Source](https://togithub.com/nats-io/nats-server/compare/v2.9.19...v2.9.20) #### Changelog ##### Go Version - 1.19.11 ##### Added Windows - Backport 2.10 support for native Windows certificate store ([#​4268](https://togithub.com/nats-io/nats-server/issues/4268)) ##### Improved Accounts - Allow advisories to be exported/imported across accounts ([#​4302](https://togithub.com/nats-io/nats-server/issues/4302)) JetStream - Optimize consumer create time on streams with a large number of blocks ([#​4269](https://togithub.com/nats-io/nats-server/issues/4269)) ##### Fixed Gateways - Protect possible data race when reloading accounts ([#​4274](https://togithub.com/nats-io/nats-server/issues/4274)) Leafnodes - Prevent zombie subscriptions which could lead to silent data loss when using queue subscriptions ([#​4299](https://togithub.com/nats-io/nats-server/issues/4299)) WebSocket - Prevent reporting `tls_required` when `tls_available` is not set ([#​4264](https://togithub.com/nats-io/nats-server/issues/4264)) JetStream - Prevent corrupting streams actively being restored during health check ([#​4277](https://togithub.com/nats-io/nats-server/issues/4277)) Thank you [@​vitush93](https://togithub.com/vitush93) for the report! - Prevent encrypted data attempting to be decrypted with an empty key ([#​4301](https://togithub.com/nats-io/nats-server/issues/4301)) MQTT - Ensure republished messages from streams are received by MQTT subscriptions ([#​4303](https://togithub.com/nats-io/nats-server/issues/4303)) ##### Complete Changes ### [`v2.9.19`](https://togithub.com/nats-io/nats-server/releases/tag/v2.9.19) [Compare Source](https://togithub.com/nats-io/nats-server/compare/v2.9.18...v2.9.19) #### Changelog ##### Go Version - 1.19.10 ##### Improved JetStream - Improve resource utilization when creating mirrors on very high-sequence streams ([#​4249](https://togithub.com/nats-io/nats-server/issues/4249)) ##### Fixed WebSocket - Ensure INFO properties are populated based on the WebSocket listener when enabled ([#​4255](https://togithub.com/nats-io/nats-server/issues/4255)) Thanks to [@​Envek](https://togithub.com/Envek) for reporting the issue! ##### Complete Changes ### [`v2.9.18`](https://togithub.com/nats-io/nats-server/releases/tag/v2.9.18) [Compare Source](https://togithub.com/nats-io/nats-server/compare/v2.9.17...v2.9.18) #### Changelog ##### Go Version - 1.19.10 ##### Dependency Updates - golang.org/x/crypto v0.9.0 ([#​4236](https://togithub.com/nats-io/nats-server/issues/4236)) - golang.org/x/sys v0.8.0 ([#​4236](https://togithub.com/nats-io/nats-server/issues/4236)) - github.com/nats-io/nats.go v1.27.0 ([#​4239](https://togithub.com/nats-io/nats-server/issues/4239)) ##### Improved Monitoring - Optimize /statsz locking and sending in standalone mode ([#​4235](https://togithub.com/nats-io/nats-server/issues/4235)) JetStream - Apply ack floor check only for interest-based streams ([#​4206](https://togithub.com/nats-io/nats-server/issues/4206)) - Improved efficiency and reduced CPU usage of the consumer ack floor check, particularly when the stream first sequence is a large number ([#​4226](https://togithub.com/nats-io/nats-server/issues/4226)) - Improve clean-up phase of R1 consumers on server restart for name reuse ([#​4216](https://togithub.com/nats-io/nats-server/issues/4216)) - Optimize “last message lookups” by subject (KV get operations) for small messages ([#​4232](https://togithub.com/nats-io/nats-server/issues/4232)) Thanks to [@​jjthiessen](https://togithub.com/jjthiessen) for reporting the issue! - Only enable JetStream account updates in clustered mode ([#​4233](https://togithub.com/nats-io/nats-server/issues/4233)) Thanks to [@​tpihl](https://togithub.com/tpihl) for reporting the issue! ##### Fixed General - Fix a variety of potential panic scenarios ([#​4214](https://togithub.com/nats-io/nats-server/issues/4214)) Thanks to [@​Zamony](https://togithub.com/Zamony) and [@​artemseleznev](https://togithub.com/artemseleznev) for the contribution! Leadnode - Daisy chained leafnodes could have unreliable interest propagation ([#​4207](https://togithub.com/nats-io/nats-server/issues/4207)) - Properly distribute requests to queue groups across leafnodes ([#​4231](https://togithub.com/nats-io/nats-server/issues/4231)) JetStream - Killed server on restart could render encrypted stream unrecoverable ([#​4210](https://togithub.com/nats-io/nats-server/issues/4210)) Thanks to [@​BhatheyBalaji](https://togithub.com/BhatheyBalaji) for the report! - Fix a few data races detected internal testing ([#​4211](https://togithub.com/nats-io/nats-server/issues/4211)) - Process extended purge operations correctly when being replayed ([#​4212](https://togithub.com/nats-io/nats-server/issues/4212), [#​4213](https://togithub.com/nats-io/nats-server/issues/4213)) Thanks to [@​MauriceVanVeen](https://togithub.com/MauriceVanVeen) for the report and contribution! ##### Complete Changes ### [`v2.9.17`](https://togithub.com/nats-io/nats-server/releases/tag/v2.9.17) [Compare Source](https://togithub.com/nats-io/nats-server/compare/v2.9.16...v2.9.17) #### Changelog ##### Go Version - 1.19.9 ##### Dependency Updates - github.com/klauspost/compress v1.16.5 ([#​4088](https://togithub.com/nats-io/nats-server/issues/4088)) ##### Improved Core - Additional optimizations to outbound queues, reducing memory footprint ([#​4084](https://togithub.com/nats-io/nats-server/issues/4084), [#​4093](https://togithub.com/nats-io/nats-server/issues/4093), [#​4139](https://togithub.com/nats-io/nats-server/issues/4139)) - Use faster flate compression library for WebSocket transport compression ([#​4087](https://togithub.com/nats-io/nats-server/issues/4087)) Leafnodes - Optimize subscription interest propagation for large leafnode fleet ([#​4117](https://togithub.com/nats-io/nats-server/issues/4117), [#​4135](https://togithub.com/nats-io/nats-server/issues/4135)) Monitoring - Support sorting by RTT for /connz ([#​4157](https://togithub.com/nats-io/nats-server/issues/4157)) Resolver - Improve signaling for missing account lookups ([#​4151](https://togithub.com/nats-io/nats-server/issues/4151)) JetStream - Optimized determining if a stream snapshot is required ([#​4074](https://togithub.com/nats-io/nats-server/issues/4074)) - Run periodic check for consumer “ack floor” drift on leader ([#​4086](https://togithub.com/nats-io/nats-server/issues/4086)) - Optimize leadership transfer during a stream migration ([#​4104](https://togithub.com/nats-io/nats-server/issues/4104)) - Improve how clustered consumer state is hydrated on startup ([#​4107](https://togithub.com/nats-io/nats-server/issues/4107)) - Add operation type to panic messages for improved debugging ([#​4108](https://togithub.com/nats-io/nats-server/issues/4108)) - Improve health check to repair stalled assets periodically ([#​4116](https://togithub.com/nats-io/nats-server/issues/4116), [#​4172](https://togithub.com/nats-io/nats-server/issues/4172)) - Remove unnecessary filestore lock to improve I/O performance ([#​4123](https://togithub.com/nats-io/nats-server/issues/4123)) - Various Raft leadership improvements ([#​4126](https://togithub.com/nats-io/nats-server/issues/4126), [#​4142](https://togithub.com/nats-io/nats-server/issues/4142), [#​4143](https://togithub.com/nats-io/nats-server/issues/4143), [#​4145](https://togithub.com/nats-io/nats-server/issues/4145)) - Improve accuracy of account usage ([#​4131](https://togithub.com/nats-io/nats-server/issues/4131)) - Clean up old Raft groups when streams are reset ([#​4177](https://togithub.com/nats-io/nats-server/issues/4177)) ##### Fixed General - Fix various names in comments ([#​4099](https://togithub.com/nats-io/nats-server/issues/4099)) Thanks to [@​cuishuang](https://togithub.com/cuishuang) for the contribution! - Fix various typos in comments ([#​4169](https://togithub.com/nats-io/nats-server/issues/4169)) Thanks to [@​savion1024](https://togithub.com/savion1024) for the contribution! - Update tests to reflect the `server.Start()` call no longer blocks ([#​4111](https://togithub.com/nats-io/nats-server/issues/4111)) Thanks to [@​lheiskan](https://togithub.com/lheiskan) for reporting the issue! - Fix race condition in config reload with gateway sublist check ([#​4127](https://togithub.com/nats-io/nats-server/issues/4127)) - Track all remote servers in a NATS system with different domains ([#​4159](https://togithub.com/nats-io/nats-server/issues/4159)) Core - Fix premature closing in WebSocket transport due to outbound queue changes ([#​4084](https://togithub.com/nats-io/nats-server/issues/4084)) - Fix subscription interest for config-based accounts during config reload ([#​4130](https://togithub.com/nats-io/nats-server/issues/4130)) - Use monotonic time for measuring durations internally ([#​4132](https://togithub.com/nats-io/nats-server/issues/4132), [#​4154](https://togithub.com/nats-io/nats-server/issues/4154), [#​4163](https://togithub.com/nats-io/nats-server/issues/4163)) Monitoring - Service import reporting for /accountz when mapping to local subjects ([#​4158](https://togithub.com/nats-io/nats-server/issues/4158)) JetStream - Fix formatting of Raft debug log ([#​4090](https://togithub.com/nats-io/nats-server/issues/4090)) - Prevent failure of /healthz in single server mode on failed snapshot restore ([#​4100](https://togithub.com/nats-io/nats-server/issues/4100)) - Ensure a stream Raft node has fully stopped and resources freed ([#​4118](https://togithub.com/nats-io/nats-server/issues/4118)) - Fix case where R1 streams are orphaned and can’t scale up ([#​4146](https://togithub.com/nats-io/nats-server/issues/4146)) - Protect against out of bounds access on usage updates ([#​4164](https://togithub.com/nats-io/nats-server/issues/4164)) - Fix state rebuild where the first block is truncated and missing index info ([#​4166](https://togithub.com/nats-io/nats-server/issues/4166)) - Avoid stale KV reads on server restarted for replicated stores ([#​4171](https://togithub.com/nats-io/nats-server/issues/4171)) Thanks to [@​yixinin](https://togithub.com/yixinin) for reporting the issue! - Prevent deadlock with usage report for accounts ([#​4176](https://togithub.com/nats-io/nats-server/issues/4176)) ##### Complete Changes ### [`v2.9.16`](https://togithub.com/nats-io/nats-server/releases/tag/v2.9.16) [Compare Source](https://togithub.com/nats-io/nats-server/compare/v2.9.15...v2.9.16) #### Changelog ##### Go Version - 1.19.8 ##### Dependency Updates - github.com/klauspost/compress v1.16.4 - github.com/nats-io/jwt/v2 v2.4.1 - github.com/nats-io/nkeys v0.4.4 - golang.org/x/crypto v0.8.0 - golang.org/x/sys v0.7.0 ##### Added Build - Nightly build of the “main” branch as a Docker image: synadia/nats-server:nightly-main ([#​3961](https://togithub.com/nats-io/nats-server/issues/3961), [#​3962](https://togithub.com/nats-io/nats-server/issues/3962), [#​3963](https://togithub.com/nats-io/nats-server/issues/3963), [#​3972](https://togithub.com/nats-io/nats-server/issues/3972), [#​4019](https://togithub.com/nats-io/nats-server/issues/4019), [#​4063](https://togithub.com/nats-io/nats-server/issues/4063)) - Version control SHA in the Goreleaser build of the server ([#​3993](https://togithub.com/nats-io/nats-server/issues/3993)). Thanks for the report [@​jzhoucliqr](https://togithub.com/jzhoucliqr)! Monitoring - Add server name and route remote server name to /routez ([#​4054](https://togithub.com/nats-io/nats-server/issues/4054)) Resolver - Add “hard_delete” option for stored JWTs ([#​3783](https://togithub.com/nats-io/nats-server/issues/3783)). Thanks for the contribution [@​JulienVdG](https://togithub.com/JulienVdG)! ##### Improved JetStream - Storage and Raft layer improvements to decrease p99 latency variance and memory pressure in high load environments ([#​3956](https://togithub.com/nats-io/nats-server/issues/3956), [#​3952](https://togithub.com/nats-io/nats-server/issues/3952), [#​3965](https://togithub.com/nats-io/nats-server/issues/3965), [#​3981](https://togithub.com/nats-io/nats-server/issues/3981), [#​3999](https://togithub.com/nats-io/nats-server/issues/3999), [#​4018](https://togithub.com/nats-io/nats-server/issues/4018), [#​4020](https://togithub.com/nats-io/nats-server/issues/4020), [#​4021](https://togithub.com/nats-io/nats-server/issues/4021), [#​4022](https://togithub.com/nats-io/nats-server/issues/4022), [#​4026](https://togithub.com/nats-io/nats-server/issues/4026), [#​4027](https://togithub.com/nats-io/nats-server/issues/4027), [#​4028](https://togithub.com/nats-io/nats-server/issues/4028), [#​4029](https://togithub.com/nats-io/nats-server/issues/4029), [#​4030](https://togithub.com/nats-io/nats-server/issues/4030), [#​4038](https://togithub.com/nats-io/nats-server/issues/4038), [#​4045](https://togithub.com/nats-io/nats-server/issues/4045), [#​4050](https://togithub.com/nats-io/nats-server/issues/4050), [#​4053](https://togithub.com/nats-io/nats-server/issues/4053)) - Don’t show Raft warning for node that is closed ([#​3968](https://togithub.com/nats-io/nats-server/issues/3968)) - Use pooled buffer for flushing encrypted message blocks ([#​3975](https://togithub.com/nats-io/nats-server/issues/3975)) - Remove snapshotting of cores and maxprocs ([#​3979](https://togithub.com/nats-io/nats-server/issues/3979)) - Improvements to interest-based streams to optimize when messages are deleted ([#​4006](https://togithub.com/nats-io/nats-server/issues/4006), [#​4007](https://togithub.com/nats-io/nats-server/issues/4007), [#​4012](https://togithub.com/nats-io/nats-server/issues/4012)) - Better handling of concurrent stream and consumer creation of the same name ([#​4013](https://togithub.com/nats-io/nats-server/issues/4013)) - Finer-grain locking during asset checking to reduce contention in the /healthz endpoint ([#​4031](https://togithub.com/nats-io/nats-server/issues/4031)) - Encrypted file stores will now limit block sizes to improve performance ([#​4046](https://togithub.com/nats-io/nats-server/issues/4046)) - Improve performance on storing messages with varying subjects and limits are imposed ([#​4048](https://togithub.com/nats-io/nats-server/issues/4048), [#​4057](https://togithub.com/nats-io/nats-server/issues/4057)). Thanks for the report [@​kung-foo](https://togithub.com/kung-foo)! ##### Fixed Subjects - Ensure subjects containing percent (%) are escaped ([#​4040](https://togithub.com/nats-io/nats-server/issues/4040)) Accounts - Fix data race when setting up service import subscriptions ([#​4068](https://togithub.com/nats-io/nats-server/issues/4068)) Leaf - Fix leaf client connection failing on OCSP setups ([#​3964](https://togithub.com/nats-io/nats-server/issues/3964)) - Fix case when allow/deny permissions on leaf connection could block legitimate interest ([#​4032](https://togithub.com/nats-io/nats-server/issues/4032)) Cluster - Route disconnect not detected by ping/pong ([#​4016](https://togithub.com/nats-io/nats-server/issues/4016)). Thanks for the contribution [@​sandykellagher](https://togithub.com/sandykellagher)! JetStream - Pull consumer not sending timeout error to clients for expired requests ([#​3942](https://togithub.com/nats-io/nats-server/issues/3942)) - Prevent meta leader deadlock during deletion of orphaned streams during server startup ([#​3945](https://togithub.com/nats-io/nats-server/issues/3945)) - Clear ack’ed messages when scaling workqueue or interest-based streams ([#​3960](https://togithub.com/nats-io/nats-server/issues/3960)) Thanks for the report [@​Kaarel](https://togithub.com/Kaarel)! - Remove messages from interest-based stream on consumer snapshot ([#​3970](https://togithub.com/nats-io/nats-server/issues/3970)) - Fix potential panic in message block buffer pool ([#​3978](https://togithub.com/nats-io/nats-server/issues/3978)) - Fixed an issue with consumer states growing and causing instability ([#​3980](https://togithub.com/nats-io/nats-server/issues/3980)) - Improve handling of out-of-storage condition ([#​3985](https://togithub.com/nats-io/nats-server/issues/3985)) - Address memory leak of unreachable Raft groups when JetStream becomes disabled ([#​3986](https://togithub.com/nats-io/nats-server/issues/3986)) - Prevent Raft leader from being placed on server in lame-duck mode ([#​4002](https://togithub.com/nats-io/nats-server/issues/4002)) - Remove potential race condition on sysRequest ([#​4017](https://togithub.com/nats-io/nats-server/issues/4017)) - Fix FirstSeq not being updated with filestore when purging subject ([#​4041](https://togithub.com/nats-io/nats-server/issues/4041)). Thanks for the contribution [@​MauriceVanVeen](https://togithub.com/MauriceVanVeen)! - Fix Raft log debug reloading ([#​4047](https://togithub.com/nats-io/nats-server/issues/4047)) - Ensure consumer recovers fully on restart before being eligible for leader ([#​4049](https://togithub.com/nats-io/nats-server/issues/4049)) - Fix incorrect check between stream source/mirror with external streams ([#​4052](https://togithub.com/nats-io/nats-server/issues/4052)) - Fix various conditions during Raft group recovery ([#​4056](https://togithub.com/nats-io/nats-server/issues/4056), [#​4058](https://togithub.com/nats-io/nats-server/issues/4058)) ##### Complete Changes ### [`v2.9.15`](https://togithub.com/nats-io/nats-server/releases/tag/v2.9.15) [Compare Source](https://togithub.com/nats-io/nats-server/compare/v2.9.14...v2.9.15) #### Changelog ##### Go Version - 1.19.6: Both the release executables and Docker images are built with this Go release ##### Added - Monitoring - Add raft query parameter to /jsz to include group info ([#​3915](https://togithub.com/nats-io/nats-server/issues/3915)) - Update /leafz to include leaf node remove server name and “spoke” flag ([#​3923](https://togithub.com/nats-io/nats-server/issues/3923), [#​3925](https://togithub.com/nats-io/nats-server/issues/3925)) ##### Changed - Lower default value of `jetstream.max_outstanding_catchup` to prevent slow consumers between routes ([#​3922](https://togithub.com/nats-io/nats-server/issues/3922)) - **Note: The new value is now 64MB from 128MB. This is better optimized for 1 Gbit links, however if your links are 10 Gbit or higher, this value can be set back to 128MB if slow consumers were not previously observed.** ##### Improved - Refactor intra-process queue to reduce allocations ([#​3894](https://togithub.com/nats-io/nats-server/issues/3894)) - JetStream - Better system stability and recovery from corrupt metadata due to hard forced restarts ([#​3934](https://togithub.com/nats-io/nats-server/issues/3934)) - Optimize on-disk, per-subject info update ([#​3867](https://togithub.com/nats-io/nats-server/issues/3867)) - Limit concurrent blocking IO to improve stability under heavy IO loads ([#​3867](https://togithub.com/nats-io/nats-server/issues/3867)) - Improve message expiry calculation for large numbers of messages ([#​3867](https://togithub.com/nats-io/nats-server/issues/3867))

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.



This PR has been generated by Mend Renovate. View repository job log here.