All Versions
14
Latest Version
Avg Release Cycle
112 days
Latest Release
1443 days ago
Changelog History
Page 1
Changelog History
Page 1
-
v1.10.0 Changes
May 14, 2020🔄 Changelog
➕ Added
Conn.GetClientIP()
returns the client IP as known by the server. Works if connected to server 2.1.6+ (#559)Conn.RTT()
calculates the round trip time between this client and the server (#559)
⚡️ Updated
- Protobuf import for encoder (#557)
- 🔄 Change default of
Conn.Flush()
from 60 to 10 seconds (#561) - Bump default
MAX_CONTROL_LINE
to 4096 (#567)
🛠 Fixed
- Possible panic on connect if discovered server list shrinks in that process. Thanks to @kirill256 for the contribution (#550)
Conn.Request()
withUseOldRequest
option was not returning on connectionConn.Close()
(#558)- ➕ Added jitter to the reconnection logic (#564)
- Randomize discovered server URLs (unless
NoRandomize()
option is set) (#566)
Complete Changes
-
v1.9.2 Changes
March 30, 2020🔄 Changelog
➕ Added
- Option to set the reply subject in
nats-pub
example (#539) - The queue group name in
nats-qsub
example (#541)
👌 Improved
- 🔒 Reduced lock contention for connections receiving their own messages (#529)
⚡️ Updated
- 📦 Dependencies, covering the golang crypto package CVE. Thanks to @KauzClay for the contribution (#548)
🛠 Fixed
Complete Changes
- Option to set the reply subject in
-
v1.9.1 Changes
October 31, 2019🔄 Changelog
🛠 Fixed
- 👍 In preparation for JetStream and support of subject rewriting, a bug was introduced that would cause multiple deliveries when before the delivery should have been only one per response. This affects only v1.9.0 (#528)
Complete Changes
-
v1.9.0 Changes
October 30, 2019🔄 Changelog
🚀 With the release of Go 1.13.3, the
go get github.com/nats-io/nats.go
is now working!➕ Added
- Notes in README on using
go get
and Go modules (#481) NoCallbacksAfterClientClose()
connection option to prevent invocation of connection callback on explicit Close() (#514)
⚡️ Updated
- 🌲 Examples (log error, use Drain(), etc..)
- Replaced use of
DisconnectHandler
withDisconnectErrHandler
in our examples. Thanks to @kaxap for the contribution (#504)
👌 Improved
- When creating a subscription, error will now be reported if using a bad subject or queue name (#500)
- 👌 Support for
~
when providing the user credentials file(s) (#512)
🛠 Fixed
- Document issues. Thanks to @JensRantil for the report.
- Some errors in code examples in the README. Thanks to @thylong for the contribution (#507)
- 👍 Allow synchronous subscriptions to use
msg.Respond()
when `AutoUnsubscribe() is used (#489) - Wrong error returned in
NextMsg()
andNextMsgWithContext()
. Thanks to @ekle for the report (#492) - Handling of expiration and auth errors on reconnect (#499, #506)
- Data race between
processMsg()
andStats()
. Thanks to @Will2817 for the report (#521)
Complete Changes
- Notes in README on using
-
v1.8.1
June 04, 2019 -
v1.8.0 Changes
June 04, 2019🔄 Changelog
Some of you may have noticed that there was temporarily a v2.0.0 tag.
🚀 We wanted to align the client version to the upcoming NATS Server 2.0 release.
However, there was no backward compatibility breaking changes in the client and
the go.mod rules for a v2 would have force us, and users, to addv2
to the import paths.
This would not be justified since, again, there are no breaking changes.🚀 So we have removed the tag and instead released v1.8.0. We are deeply sorry for the
inconvenience but we hope that you will understand why we did this.🔄 Changed
- The repository has been renamed to
nats.go
. When doing ago get github.com/nats-io/nats.go/
, make sure to include the trailing/
to avoid such error:stat github.com/nats-io/nats.go: no such file or directory
. - 0️⃣ The default URL (
nats.DefaultURL
) has been changed fromnats://localhost:4222
tonats://127.0.0.1:4222
(#460)
➕ Added
ConnErrHandler
: handler which can be invoked when a disconnect event occurs. Unlike ConnHandler, you can get the error that caused the disconnect event. Thanks to @mkorolyov for the contribution (#462, #464)Message.Respond()
to be able to conveniently reply to a request message from the message handler (#472)
🗄 Deprecated
👌 Improved
- Some cleanup with use of RWMutex, removal of un-needed defer, etc... Thanks to @MaruHyl for the contributions (#434, #437, #438)
- 🔨 Refactor some of the examples. Thanks to @andyxning for the contribution (#440)
🛠 Fixed
- Proper randomization of IPs resolved from a hostname prior to dial (#445)
- Misleading TLS error report due to credential file errors (#446)
- 🔀 Race on synchronous subscription type setting (#447)
- 🖨 Examples would not exit after printing usage, possibly causing panic (#456, #465)
- ✏️ Some typos. Thanks to @0xflotus for the contribution (#471)
Complete Changes
- The repository has been renamed to
-
v1.7.2 Changes
February 21, 2019🔄 Changelog
➕ Added
- Ability to set MaxPingsOutstanding as an Option (#414)
- Conn.ConnectedAddr() (#426)
- FlushWithContext() (#433)
⚡️ Updated
- 🖐 Handle host names that resolve to more than one IP (#417)
- Disable automatic TLS skip verify (#420)
- Examples and Benchmarks can use new credentials based authentication and authorization (#419)
- Smarter kickFlusher behavior (#429)
- Smarter processing on NextMsg() when a message already available (#432)
👌 Improved
- 👍 Better handling of TLS errors. Thanks to @brianshannan for the contribution (#418)
- ⚡️ Updates to samples in docs (#422, #421)
- 👉 Uses staticcheck now vs megacheck
🛠 Fixed
- Maintain string case for async errors from the server (#415)
Complete Changes
-
v1.7.0 Changes
December 11, 2018🔄 Changelog
➕ Added
- Ability to retrieve CID from server the client is currently connected to (#395)
- 👍 NKey support (#399)
- TokenHandler option. Thanks to @nicholaslam for the contribution (#405)
- 👌 Support for User JWTs (#408)
- FlusherTimeout option to allow all writes to honor the deadline. Thanks to @gwik for the contribution (#393)
⚡️ Updated
- 🚚 Examples moved to separate directories so they can be "go install"'ed (#406)
- 👍 Allow expressed url parameters to influence implicit servers (#409, #410)
- ⚡️ Some updates for NGS support (#400)
👌 Improved
- Faster and smaller reply subjects (#402)
🛠 Fixed
- Set connection's last error if async error occurs during Drain (#392)
Complete Changes
-
v1.6.0 Changes
August 29, 2018🔄 Changelog
➕ Added
PingInterval()
option. Thanks to @karpovicham for the contribution (#361)- Ability to suppress receiving messages published by own connection, aka
NoEcho()
option. Requires server 1.2.0+ (#375) - Ability to drain subscriptions and/or connections (#378, #380)
👌 Improved
- 0️⃣ Simpler URLs. It is now possible to simply pass hostname without scheme nor port (which defaults to 4222). That is,
nats.Connect("myhost")
is now equivalent tonats.Connect("nats://myhost:4222")
. Also switches automatically to secure connection (TLS) if server requests it (#381)
🛠 Fixed
- Possible deadlock in asynchronous connection callbacks. Thanks to @teh-cmc for the contribution (#365, #369)
- 🚀
Close()
may not release resources immediately. Thanks to @mjgarton for the report (#370) - Benchmark tool (
nats-bench
) now starts subscriber's timer when getting the first message (#379) - 📚 API Documentation related to creation of various subscription types. Thanks to @nussjustin for the report (#383)
- Panic if passing a nil option to
nats.Connect()
. They will now be ignored (#385) - RequestWithContext or NextMsgWithContext could return a message although the context was canceled or timed-out (#387)
Complete Changes
-
v1.5.0 Changes
March 23, 2018🔄 Changelog
➕ Added
Conn.Barrier()
API. This is an advance API that can be useful in some specific situations. Thanks to @nussjustin for reporting an issue during development of this feature (#338, #346)ReconnectBufSize()
option setter. Thanks to @ripienaar (#340)
👌 Improved
- ⬇️ Reduce memory usage during reconnect. Thanks to @charlievieth (#341)
- No need for regex in Connect(). Thanks to @charlievieth (#342)
- ⚡️ List of servers is now updated when the cluster topology changes. Will require server at version 1.0.7+ (#344, #352)
🛠 Fixed
- Protocol(s) received right after initial PONG may be missed. This would manifest with the handling of cluster topology state on connect with server 1.0.7+ (#348)
🔄 Changed
- 🚚 Moved to Apache 2.0 License as part of the move to CNCF (#354)
Complete Changes