NATS v2.0.0 Release Notes

Release Date: 2019-06-05 // almost 5 years ago
  • ๐Ÿ”„ 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