Release v1.2.0
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 inhttp://localhost:8222/connz?state=closed
. Possible values forstate
areopen
,closed
,all
. The result now includes a new fieldreason
that gives a reason why the connection was closed, for instancereason: 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
andreason
(#705) - Support for "echo" feature. By default, if a connection subscribes on
foo
and publishes onfoo
, it will receive those messages. To prevent this, the client'sCONNECT
protocol includes a new boolean field namedecho
that should be set tofalse
. The server is also sending a newint
fieldproto
in theINFO
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 thesubscriptions_list
with subscriptions matching the test subject. If no match is found, thesubscriptions_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)