Skip to content

Release v2.0.0

Compare
Choose a tag to compare
@NATS-CI NATS-CI released this 05 Jun 14:59
e12e56a

Changelog

Go Version

  • 1.11.10: Both release executables and Docker images are built with this Go release.

Backward incompatibility

  • The routing protocol has been dramatically improved and adds support for accounts and multi-tenancy. The new protocol is not backward compatible with servers <2.0.0.
  • For users embedding NATS Server and using Varz() to get server statistics should be aware of some changes described in #989

Changed

  • Repository and server name have changed: gnatsd becomes nats-server (#985)
  • With go.mod, users embedding NATS Server should change their import path to include /v2. For instance:
import (

    natsd     "github.com/nats-io/nats-server/v2/server" 
)
  • Cluster permissions moved out of cluster's authorization section (#747)
  • The utility mkpasswd.go file was moved to its own directory util/mkpasswd to enable go get to install this tool (#996)

Added

  • NKey support (#743)
  • Accounts support (#755)
  • JWT Support (#804)
  • Gateways (#808)
  • Leaf Nodes (#928)
  • System events (#823)
  • Support of TLS certificate subject for users authentication (#896, #909)
  • Support of SANs in TLS certificate for user permissions. Thanks to @twrobel3 for the report (#966)
  • Ability to disable TLS server name verification for routes. Thanks to @softkot for the contribution (#921)
  • Ability to explicitly set server name for TLS in Gateways. Thanks to @danielsdeleo for the contribution (#922)
  • Configuration check with -t command line parameter (#745)
  • Support for route permissions configuration reload (#753)
  • Lame duck mode (#780)
  • Support for path as argument to --signal. Thanks to @pires for the contribution (#838)
  • Expose connection remote address in ClientAuthentication. Thanks to @ripienaar for the contribution (#837)
  • ntp.service dependency to the systemd service file. Thanks to @andyxning for the contribution (#880)
  • Configuration parameter to select the frequency at which failed route, gateways and leaf nodes connections are reported. Thanks to @santo74 for the feedback (#1000, #1001)
  • List or route URLs in cluster{} from /varz endpoint (#1012)
  • Ability to ignore top-level unknown configuration field (#1024)

Improved

  • New route protocol (#786)
  • Fan in/out scenarios (#876)
  • Various optimizations (#897)
  • Utility mkpasswd's help output. Thanks to @andyxning for the contribution (#881)
  • You can now have unquoted strings that start with number (#893)
  • Use of https for README's links. Thanks to @huynq0911 for the contribution (#914)
  • Warning on plaintext password in configuration and redact them from log statements (#743, #776)

Fixed

  • Misleading "Slow Consumer" error message during a TLS Handshake (#836)
  • Report "Slow Consumer" only for clients that do complete the connect process (#861)
  • Configuration reload of boolean flags. Thanks to @sazo for the report (#879)
  • Runaway process when parsing a configuration file with missing a } or ) (#887)
  • Don't allow overruns for message payloads. Thanks to @valichek for the report (#889)
  • Possible delays in delivering messages (#895)
  • Possible slow consumer when routes exchange their subscriptions list (#912)
  • Protocol Parser type safety. Thanks to @nmiculinic for the contribution (#908)
  • Use of custom authentication with configuration reload. Thanks to @Will2817 for the report (#924)
  • Issue with utility mkpasswd on Windows platform. Thanks to @Ryner51 for the report (#935)
  • Some typos. Thanks to @huynq0911, @JensRantil for their contributions.
  • Changes to Varz content and fixed race conditions (#989)

Complete Changes

v1.4.1...v2.0.0