v2.11.8

nats-io/nats-serverv2.11.8Aug 14, 2025by github-actions[bot]

AI Summary

This is a patch release (v2.11.8) focusing on bug fixes and improvements, particularly in JetStream and Raft functionality. It updates Go to 1.24.6, includes security dependency updates, and adds community-contributed Solaris/Illumos build support.

Key Highlights

  • Go version upgraded to 1.24.6
  • Security dependency updates: golang.org/x/crypto v0.41.0 and golang.org/x/sys v0.35.0
  • Multiple Raft improvements: leader stepdown on higher terms, ignoring late entries from cancelled catchups, and fixing potential division-by-zero panic
  • JetStream healthcheck endpoint no longer reports transient errors for new/deleted consumers
  • Filestore improvements: clean up stale index.db files and fix off-by-one error in Raft truncation

New Features

  • Community-contributed support for building on Solaris and Illumos
  • String-to-integer parsing improvements to prevent overflows/underflows
  • Fixed incorrectly formatted log line when failing to load a block during TTL recovery
  • Ephemeral consumers now always select an online server when created on a replicated stream
  • Fix for potential panic when truncating a non-existent filestore block

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.6 (#7156)

### Dependencies

- golang.org/x/crypto v0.41.0 (#7166)
- golang.org/x/sys v0.35.0 (#7166)

### Added

General

- Community-contributed support for building on Solaris and Illumos (#7122, thanks to @jwntree)

### Fixed

General

- String-to-integer parsing has been improved in various places to prevent overflows/underflows (#7145)

JetStream

- Fixed an incorrectly formatted log line when failing to load a block when recovering TTLs (#7150)
- Raft will now step down if a higher term is detected during a catchup (#7151)
- Raft will now more reliably ignore entries from previous/cancelled catchups that arrive late (#7151)
- Fix a potential panic that could happen by a division by zero when applying Raft entries (#7151)
- The healthcheck endpoint should no longer report transient errors for newly created or recently deleted consumers (#7154)
- Fix a potential panic when trying to truncate a filestore block that doesn't exist (#7162)
- Clean up stale `index.db` file when truncating so that it is not inconsistent if the truncate operation is interrupted (#7162)
- Fix an off-by-one problem when Raft truncates to the correct index at startup (#7162)
- Ephemeral consumers will always select an online server when created on a replicated stream (#7165)

Tests

- Tests have been improved (#7140)

### Complete Changes
 
https://github.com/nats-io/nats-server/compare/v2.11.7...v2.11.8