All Versions
14
Latest Version
Avg Release Cycle
112 days
Latest Release
52 days ago

Changelog History
Page 1

  • v1.10.0

    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() with UseOldRequest option was not returning on connection Conn.Close() (#558)
    • ➕ Added jitter to the reconnection logic (#564)
    • Randomize discovered server URLs (unless NoRandomize() option is set) (#566)

    Complete Changes

    v1.9.2...v1.10.0

  • v1.9.2

    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

    • 🔀 Do not use sync.Once.Do() in connection's first request. Thanks to @hubinix for the report (#538)

    Complete Changes

    v1.9.1...v1.9.2

  • v1.9.1

    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...v1.9.1

  • v1.9.0

    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 with DisconnectErrHandler 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() and NextMsgWithContext(). Thanks to @ekle for the report (#492)
    • Handling of expiration and auth errors on reconnect (#499, #506)
    • Data race between processMsg() and Stats(). Thanks to @Will2817 for the report (#521)

    Complete Changes

    v1.8.1...v1.9.0

  • v1.8.1

    June 04, 2019
  • v1.8.0

    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 add v2 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 a go 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 from nats://localhost:4222 to nats://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

    • DisconnectedCB, DisconnectHandler: Use DisconnectedErrCB,DisconnectErrHandler instead (#462, #464)

    👌 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

    v1.7.2...v1.8.0

  • v1.7.2

    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

    nats-io/go-nats@v1.7.0...v1.7.2

  • v1.7.0

    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

    nats-io/go-nats@v1.6.0...v1.7.0

  • v1.6.0

    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 to nats.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

    nats-io/go-nats@v1.5.0...v1.6.0

  • v1.5.0

    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

    nats-io/go-nats@v1.4.0...v1.5.0