Skip to content

Release v1.2.0

Compare
Choose a tag to compare
@NATS-CI NATS-CI released this 05 Jul 17:06
6608e9a

Changelog

Go Version

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

Added

  • License scan status. Thanks to @xizhao (#658)
  • PSE file for OpenBSD. Thanks to @gabeguz (#661)
  • Best practices badge (#679)
  • Governance and Maintainers files (#703)
  • New rtt field in /connz monitoring endpoint. This measures the time between the server sent a PING to a client and the time it got the PONG back (#683)
  • Ability to filter /connz by client ID (CID). Example: http://localhost:8222/connz?cid=100. Note that the CID is now sent back to the client. Client libraries have not yet been updated to report this to the application (#687)
  • Tracking of closed connections and reason for their closing. To filter closed connections, use ?state=closed as in http://localhost:8222/connz?state=closed. Possible values for state are open, closed, all. The result now includes a new field reason that gives a reason why the connection was closed, for instance reason: Client means that the client closed the connection (#692). For example:
    {
      "cid": 2,
      "ip": "::1",
      "port": 63065,
      "start": "2018-07-05T11:00:16.09747933-06:00",
      "last_activity": "2018-07-05T11:00:21.441585272-06:00",
      "stop": "2018-07-05T11:00:23.445200428-06:00",
      "reason": "Slow Consumer (Write Deadline)",
      "uptime": "7s",
      "idle": "2s",
      "pending_bytes": 8265,
      "in_msgs": 0,
      "out_msgs": 4178,
      "in_bytes": 0,
      "out_bytes": 534784,
      "subscriptions": 1,
      "lang": "go",
      "version": "1.5.0"
    },
  • New /connz?sort= sort options: start, stop and reason (#705)
  • Support for "echo" feature. By default, if a connection subscribes on foo and publishes on foo, it will receive those messages. To prevent this, the client's CONNECT protocol includes a new boolean field named echo that should be set to false. The server is also sending a new int field proto in the INFO protocol to the client, allowing the client library to decide if it can use the "echo" feature or not. Client libraries have not yet been updated to take advantage of this feature (#698)
  • Ability to specify a maximum number of subscriptions (per connection) (#707)
  • Ability to get details about a subscription with /subsz?subs=1 (#707). For instance: http://localhost:8222/subsz?subs=1 may return:
"subscriptions_list": [
    {
      "subject": "foo",
      "sid": "1",
      "msgs": 1000,
      "cid": 2
    }
  ]
  • Ability to test for matching subscriptions on a given subject (#707). For instance: http://localhost:8222/subsz?subs=1&test=foo would return the subscriptions_list with subscriptions matching the test subject. If no match is found, the subscriptions_list is not present.

Improved

  • Authorization and Authentication documentation in README (#673, #678)
  • Big performance improvement for fan-out situations (one message to many subscriptions). Special thanks to @ripienaar that has been helping test the solution at scale (#680).

Fixed

  • Display of cluster port when configured as random (#657)
  • Inability to remove a route from configuration (with configuration reload) if the remote server is not running (#682)
  • Do not send more than one error when client sends invalid protocol. Thanks to @danielwertheim for the report (#684)
  • Possible truncation of the subscription interest list when route connects (#680)
  • Route behavior in high fan-out (slow consumer) (#680)

Updated

  • Build requirements in the README (now require Go 1.9+ to build from source) and default cipher suites (#689)
  • Elevate TLS statements from DBG to ERR. Thanks to @ripienaar for the report (#690)

v1.1.0...v1.2.0