github nats-io/nats-server v2.15.1-RC.2
Release v2.15.1-RC.2

pre-release3 hours ago

Changelog

Refer to the 2.15 Upgrade Guide for backwards compatibility notes with 2.14.x.

Go Version

  • 1.27.1

Improved

JetStream

  • Fast batch publish now reports backward sequence gaps as well as forward gaps (#8699)
  • Stream pending message calculations avoid unnecessary filestore cache access and handle deleted sequence ranges more efficiently (#8680, #8681)
  • Stream restore format detection now stops after the first S2 chunk (#8693)
  • Stream restore waits for the preferred node to become leader, avoiding an incorrect create response during clustered restore (#8690)
  • Memory backed streams avoid copying message headers and bodies twice when storing messages (#8652)

Monitoring

  • Leafz now reports whether a leafnode connection uses WebSockets (#8683)

MQTT

  • Partial packets are no longer copied in full on every read, reducing allocations and buffer copying (#8692)

Fixed

General

  • Fixed several data races affecting service imports and exports during configuration reloads and account updates (#8675)
  • Per-account routes no longer double count inbound account message and byte statistics (#8677)
  • TLS certificate pin validation now checks the correct pins after a configuration reload (#8679)
  • Auth callout rejections are now reported as authentication errors instead of account connection limit errors (#8688)
  • Scoped ProxyRequired settings are now respected in JWTs and auth callouts (#8694)
  • Subscription interest notifications are no longer missed when a subscription is added or removed concurrently (#8703)
  • Fast batch ping no longer starts a new batch incorrectly (#8714)

Leafnodes

  • TLS state is now available to auth callouts when leafnodes connect over WebSockets (#8686)
  • Leafnode clients are now shed alongside regular clients during lame duck shutdown, avoiding a thundering herd (#8695)
  • Remote proxies now support TLS with https:// proxy URLs and an optional proxy tls block (#8701)
  • Remote proxies no longer incorrectly warn that nats:// URLs are unsupported or lose the hub's initial INFO message (#8701)
  • Remote proxy options are now rejected when no proxy URL is specified (#8701)

JetStream

  • Fixed membership change, learner scale-up and metalayer commit recovery issues (#8672)
  • Fixed migration and R1 scale-up issues that could delete a running store or lose writes (#8673)
  • Recreated streams with renamed Raft groups now start their monitors correctly (#8673)
  • Consumers are no longer moved to new stream peers before those peers hold the stream data (#8678)
  • Failed clustered stream restores now clean up correctly without deleting a subsequently recreated stream or losing a stream rm response (#8702)
  • Fixed a panic when shutting down a clustered JetStream server immediately after startup (#8707)
  • Idempotent stream create requests with sources no longer time out after leader changes (#8703)
  • Interest cleanup no longer compacts a stream past its last sequence during recovery (#8710)

MQTT

  • MQTT packet lengths are validated earlier against max_payload, and non-QoS 2 PUBREC packets are handled correctly (#8692)

Complete Changes

v2.15.1-RC.1...v2.15.1-RC.2

Don't miss a new nats-server release

NewReleases is sending notifications on new releases.