What’s New!

    See NATS 2.2 for new features.

    Server release v2.1.7

    Monitoring endpoints as listed in the table below are accessible as system services using the following subject pattern:

    • $SYS.REQ.SERVER.<id>.<endpoint-name> (request server monitoring endpoint corresponding to endpoint name.)
    • $SYS.REQ.SERVER.PING.<endpoint-name> (from all server request server monitoring endpoint corresponding to endpoint name - will return multiple messages)

    For more information on monitoring endpoints see NATS Server Configurations System Events.

    Addition of no_auth_user Configuration

    Configuration of allows you to refer to a configured user/account when no credentials are provided.

    For full release information, see links below;

    TLS Configuration for Account Resolver

    This release adds the ability to specify TLS configuration for the account resolver.

    trace_verbose and command line parameters -VV and -DVV added. See NATS Logging Configuration

    Subscription Details in Monitoring Endpoints

    We’ve added the option to include subscription details in monitoring endpoints and /connz. For instance /connz?subs=detail will now return not only the subjects of the subscription, but the queue name (if applicable) and some other details.

    • Release notes 2.1.6
    • Full list of Changes

    Server release v2.1.4

    Log Rotation

    • Release notes 2.1.4
    • Full list of Changes

    Queue Permissions allow you to express authorization for queue groups. As queue groups are integral to implementing horizontally scalable microservices, control of who is allowed to join a specific queue group is important to the overall security model. Original PR - https://github.com/nats-io/nats-server/pull/1143

    More information on Queue Permissions can be found in the section.

    Server release v2.1.0

    Service Latency Tracking

    As services and service mesh functionality has become prominent, we have been looking at ways to make running scalable services on NATS.io a great experience. One area we have been looking at is observability. With publish/subscribe systems, everything is inherently observable, however we realized it was not as simple as it could be. We wanted the ability to transparently add service latency tracking to any given service with no changes to the application. We also realized that global systems, such as those NATS.io can support, needed something more than a single metric. The solution was to allow any sampling rate to be attached to an exported service, with a delivery subject for all collected metrics. We collect metrics that show the requestor’s view of latency, the responder’s view of latency and the NATS subsystem itself, even when requestor and responder are in different parts of the world and connected to different servers in a NATS supercluster.

    • Release notes 2.1.0
    • Full list of Changes

    Response Only Permissions

    For services, the authorization for responding to requests usually included wildcards for _INBOX.> and possibly $GR.> with a supercluster for sending responses. What we really wanted was the ability to allow a service responder to only respond to the reply subject it was sent.