Skip to content

Release v2.9.16

Compare
Choose a tag to compare
@NATS-CI NATS-CI released this 17 Apr 14:59
· 2137 commits to main since this release
v2.9.16
f84ca24

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, #3962, #3963, #3972, #4019, #4063)
  • Version control SHA in the Goreleaser build of the server (#3993). Thanks for the report @jzhoucliqr!
    Monitoring
  • Add server name and route remote server name to /routez (#4054)

Resolver

  • Add “hard_delete” option for stored JWTs (#3783). Thanks for the contribution @JulienVdG!

Improved

JetStream

  • Storage and Raft layer improvements to decrease p99 latency variance and memory pressure in high load environments (#3956, #3952, #3965, #3981, #3999, #4018, #4020, #4021, #4022, #4026, #4027, #4028, #4029, #4030, #4038, #4045, #4050, #4053)
  • Don’t show Raft warning for node that is closed (#3968)
  • Use pooled buffer for flushing encrypted message blocks (#3975)
  • Remove snapshotting of cores and maxprocs (#3979)
  • Improvements to interest-based streams to optimize when messages are deleted (#4006, #4007, #4012)
  • Better handling of concurrent stream and consumer creation of the same name (#4013)
  • Finer-grain locking during asset checking to reduce contention in the /healthz endpoint (#4031)
  • Encrypted file stores will now limit block sizes to improve performance (#4046)
  • Improve performance on storing messages with varying subjects and limits are imposed (#4048, #4057). Thanks for the report @kung-foo!

Fixed

Subjects

  • Ensure subjects containing percent (%) are escaped (#4040)

Accounts

  • Fix data race when setting up service import subscriptions (#4068)

Leaf

  • Fix leaf client connection failing on OCSP setups (#3964)
  • Fix case when allow/deny permissions on leaf connection could block legitimate interest (#4032)

Cluster

JetStream

  • Pull consumer not sending timeout error to clients for expired requests (#3942)
  • Prevent meta leader deadlock during deletion of orphaned streams during server startup (#3945)
  • Clear ack’ed messages when scaling workqueue or interest-based streams (#3960) Thanks for the report @Kaarel!
  • Remove messages from interest-based stream on consumer snapshot (#3970)
  • Fix potential panic in message block buffer pool (#3978)
  • Fixed an issue with consumer states growing and causing instability (#3980)
  • Improve handling of out-of-storage condition (#3985)
  • Address memory leak of unreachable Raft groups when JetStream becomes disabled (#3986)
  • Prevent Raft leader from being placed on server in lame-duck mode (#4002)
  • Remove potential race condition on sysRequest (#4017)
  • Fix FirstSeq not being updated with filestore when purging subject (#4041). Thanks for the contribution @MauriceVanVeen!
  • Fix Raft log debug reloading (#4047)
  • Ensure consumer recovers fully on restart before being eligible for leader (#4049)
  • Fix incorrect check between stream source/mirror with external streams (#4052)
  • Fix various conditions during Raft group recovery (#4056, #4058)

Complete Changes

v2.9.15...v2.9.16