v2.11.3

nats-io/nats-serverv2.11.3May 1, 2025by github-actions[bot]

AI Summary

This is a patch release (v2.11.3) of the NATS server focused on bug fixes, particularly around JetStream functionality and TLS negotiation. The release updates Go to 1.24.2 and adds one new MQTT configuration option while addressing several issues including a regression from v2.11.2 and TLS 1.2 negotiation problems with ECDSA certificates.

Key Highlights

  • Fixed TLS 1.2 negotiation when using ECDSA certificates from Windows certificate store
  • Fixed a regression from v2.11.2 affecting consumer subject interest calculation
  • Raft nodes now correctly report when preferred node doesn't become leader, preventing multiple assets from believing they are leader
  • Reduced allocations in subject tree matching for improved JetStream performance
  • Fixed `connz` endpoint to correctly return open connections with `state` set to `all`

New Features

  • New `js_api_timeout` option for MQTT to control JetStream operation timeout

Full Release Notes

## Changelog

Refer to the [2.11 Upgrade Guide](https://docs.nats.io/release-notes/whats_new/whats_new_211) for backwards compatibility notes with 2.10.x.

### Go Version

- 1.24.2

### Added

MQTT

- New `js_api_timeout` option controls how long to wait for JetStream operations caused by MQTT calls (#6833)

### Improved

JetStream

- Reduced allocations in subject tree matching (#6837)

### Fixed

General

- Fixed TLS 1.2 negotiation when using ECDSA certificates from the Windows certificate store (#6803)

JetStream

- Fix a regression introduced in v2.11.2 which can affect calculating consumer subject interest (#6845)
- Consumer state reporting of filtered consumers is now more consistent (#6835)
- Raft nodes will now correctly report to the upper layer when a preferred node does not become the leader, fixing some issues where multiple assets can believe they are the leader after a scale-up operation (#6851)

Monitoring

- The `connz` endpoint will now return open connections correctly with `state` set to `all` (#6849)

### Complete Changes
 
https://github.com/nats-io/nats-server/compare/v2.11.2...v2.11.3