Skip to content

Releases: nats-io/nats-streaming-server

Release v0.14.1

26 Apr 22:42
25d6ada
Compare
Choose a tag to compare

Changelog

Go Version

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

Fixed

  • Clustering: erroneous "too many subscriptions per channel". This was introduced in 0.14.0. Thanks to @Lazyshot for the report (#810)
  • Clustering: possible deadlock when subscription or connection is closed and replication of subscription's sent and ack events is in progress (#813)

Complete Changes

v0.14.0...v0.14.1

Release v0.14.0

16 Apr 21:48
2e8a792
Compare
Choose a tag to compare

Changelog

Go Version

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

Added

  • Allow custom NATS client options in server configuration. Thanks to @danielsdeleo for the contribution (#767)
  • Node's role in clustering mode. Thanks to @Will2817 and others for the feedback (#804)

Fixed

  • Missing JSON field for MaxInactivity property in monitoring endpoint (#777)
  • Command line help to indicate that -cluster_peers is a comma separated list. Thanks to @JensRantil for the report (#785)
  • FileStore: Possible panic when removing old messages. Thanks to @dkishere for the report (#779)
  • Clustering: clients possibly not removed after a leader election. Thanks to @def1oyd for the report (#803)
  • Clustering: possible subscription stall. Thanks to @Will2817 for the report (#801)
  • Clustering: maintain sub's ID on replay (#802)

Complete Changes

v0.12.2...v0.14.0

Release v0.12.2

15 Mar 22:17
Compare
Choose a tag to compare

Changelog

Go Version

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

Added

  • GitCommit to NATS Streaming Server. Thanks to @shohi for the report (#756)

Fixed

  • Clustering: Leak of go routine on channel delete (#748)
  • Clustering: Possible deadlock on channel deletion. Thanks to @shohi for the report (#749)
  • Clustering: Possible panic in follower due to channel MaxInactivity. Thanks to @shohi for the report (#757)
  • Clustering: Unable to complete leadership actions. Thanks to @shohi for the report (#763)
  • Clustering: Added missing documentation about raft timeouts. Thanks to @stuart-warren for the report (#765)
  • Clustering: Reverting use of an etcd.io/boltdb flag until etcd-io/bbolt#152 is addressed (#766)
  • Don't expose user/password in log when reconnecting to NATS. Thanks to @Will2817 for the report (#753)

Complete Changes

v0.12.0...v0.12.2

Release v0.12.0

08 Feb 01:14
247d7fa
Compare
Choose a tag to compare

Changelog

Go Version

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

Added

  • Open and Max open file descriptors in streaming/serverz monitoring endpoint. Thanks to @caarlos0 for the contribution (#678)
  • Encryption at rest for messages payload (#713, #739)

Updated

  • Prometheus/procfs vendor. Thanks to @vtolstov for the report (#740)
  • Boltdb from gitHub.com/boltdb to go.etcd.io/boltdb. Thanks to @vtolstov for the report (#742)
  • NATS Server vendor to 1.4.1 (#743)

Fixed

  • Starting subscription with a given time may not be correct. Thanks to @thlu-cobinhood for the contribution (#687, #714)
  • Channel not deleted if subscription not explicitly closed (#691)
  • Possible panic in asynchronous error handler if error is not about a subscription (#704)
  • Some typos in README. Thanks to @ivanrodolfo and @gedw99 for the contributions (#689, #708, #709)
  • Delayed message processing when getting invalid publish requests (#738)

Improved

  • Redelivery of messages for queue subscriptions when all members crashed and are restarted. Thanks to @vasicvuk for the report (#729)

Complete Changes

v0.11.2...v0.12.0

Release v0.11.2

17 Oct 22:25
7b758bb
Compare
Choose a tag to compare

Changelog

Go Version

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

Changed

  • Clustering: Default RAFT timeouts (#664)

Fixed

  • SQLStore: Incorrect first/last sequence after recovery and expired messages. Thanks to @blelump for the report (#656)
  • Clustering: Subscription start position may be incorrect. Thanks to @kmhagan for the report (#658)
  • Clustering: Possible panic when leadership is lost during leader election (#663)

Improved

  • Reduce risk of ghost queue durables after server restart. Thanks to @nick-jones for the report (#652)
  • Reduce queue redelivery in some situations. Thanks to @soulne4ny for the report (#654)

Complete Changes

v0.11.0...v0.11.2

Release v0.11.0

04 Sep 20:25
8910c0c
Compare
Choose a tag to compare

Changelog

Go Version

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

Added

  • Trap for SIGTERM. Thanks to @powerman for the report (#625)
  • Ability to run the server as a Windows Service. Thanks to @sharkyfm for the feedback (#637.#642)

Fixed

  • FileStore: Possible panic on recovery with empty index file. Thanks to @wongak for the report (#615)
  • SQLStore: Possible panic on recovery with -sql_no_caching. Thanks to @powerman for the report (#620)
  • SQLStore: Previously acknowledged messages may be redelivered. Thanks to @powerman for the report (#627)
  • Possible panic and issues with file logger (#623)
  • Acknowledgment possibly not processed if immediately followed by a Close() (#636)

Updated

  • Clustering example in README. Thanks to @Aavon for the feedback (#628)

Complete Changes

v0.10.2...v0.11.0

Release v0.10.2

03 Jul 20:29
Compare
Choose a tag to compare

Changelog

Go Version

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

IMPORTANT

Several issues regarding subscriptions have been addressed in this release.
If you noticed that some subscriptions may have missed messages or stop receiving new messages, it may be advisable to unsubscribe them, upgrade the server(s), then recreate them starting at the last known message sequence that was correctly consumed.

Added

  • Governance and Maintainers files (#599)

Fixed

  • After standalone server restart, client sending PINGs (go streaming clients v0.4.0+) are disconnected (#593)
  • Subscription incorrectly marked as stalled after server restart (#595)
  • Continuous skipped redelivery following detection of missed heartbeats and client restart. This affected only server v0.10.0 (#601)
  • Possible stall of durable queue subscription after server/cluster restart. Thanks to @toddschilling for the report (#584)
  • Clustering: Durable subscriptions miss messages after cluster restart (#591)

Complete Changes

v0.10.0...v0.10.2

Release v0.10.0

19 Jun 22:44
6027b20
Compare
Choose a tag to compare

Changelog

Go Version

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

IMPORTANT FOR SQL USERS

Please review the important changes here

Added

  • FileStore: Option to truncate corrupted store files. Thanks to @dominic-pockit for the report (#560)
  • Support for client PINGs, helping client libraries detect loss of connection. Thanks to @ripienaar for the reports (#566, #568, #571)

Improved

  • Documentation related to client ID and durable queue subscriptions and use of cluster_log_path (#548)
  • Subscriptions performance (#578)

Fixed

  • Avoid possible duplicate redeliveries after message is acknowledged. (#553)
  • Possible issue with configuration files using include directives. Thanks to @sega-yarkin for the report (#561)
  • SQL store type was missing from -help command and the configuration table in README. Thanks to @sah4ez for the report (#579)
  • Clustering: prevent accumulation of internal RAFT subscriptions when disconnected (#551, #552)

Complete Changes

v0.9.2...v0.10.0

Release v0.9.2

03 Apr 16:58
6026da1
Compare
Choose a tag to compare

Changelog

Go Version

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

Added

  • Clustering: Support for reference of node's ID in list of cluster peers. Thanks to @primalmotion (#522, #523)

Improved

  • Clustering: Performance following a RAFT snapshot. Thanks to @sega-yarkin for the report (#543)

Fixed

  • Small typo in README. Thanks to @naphaso (#527)
  • Inability to restart several clients at once. Thanks to @sega-yarkin for the report (#530)
  • SQL: Fixed escaping of a reserved word in SQL statements that prevented running with MySQL 8.0.2+. Thanks to @camsjams (#534, #538)
  • Error "Unable to find queue subscriber" error on queue subscription close (#537)
  • Ack processing when moving from up to 0.7.2 server to 0.8.0+ server while subscriptions still running (#540)
  • Clustering: Possible slow consumer error for raft transport subscriptions. Thanks to @primalmotion for the report (#528)

Changed

  • Moved to Apache 2.0 License following move to CNCF (#519)

Complete Changes

v0.9.0...v0.9.2

Release v0.9.0

16 Mar 17:40
7889f37
Compare
Choose a tag to compare

Changelog

Go Version

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

Added

  • ARM32v6 Docker image (#464)
  • MaxInactivity channel limit allows the server to automatically delete a channel with no active subscription and no new message for the given amount of time. Thanks to lot of people in the community that provided feedback (#469, #506)
  • Document how to embed NATS Streaming Server from your code. Thanks to @AshfordN for the report (#516)
  • Clustering: Example of configuration files for a cluster of 3 nodes. Thanks to @jmwilkinson for the report (#492)
  • Clustering: Note about supported stores. Thanks to @activeshadow for the report (#511)

Improved

  • Display client_id in monitor endpoints for offline durables. Thanks to @rybit for the report (#475)

Fixed

  • Remove ghost durable queue subscription when recovered (#465)
  • Display of per-channel limits when set to unlimited (#466)
  • Failed subscription (for instance due to maximum number of subscriptions per channel) still appears in client's list of subscriptions in monitoring endpoint. Thanks to @AshfordN for the report (#468)
  • Removed imports of SQL drivers from store.go. Thanks to @vpol for the report (#486)
  • Clustering: Server may panic due to RAFT timeout. Thanks to @sega-yarkin for the report (#477)
  • Clustering: Inability to run several clusters on the same NATS Network (#482)
  • Clustering: Clarify usage of bootstrap in README and add defensive code to report misconfiguration (#484)
  • Clustering: Possible panic on startup (#493)
  • Clustering: Restore from snapshot (#504, #509)
  • Clustering: Server should not start if the server recovers Streaming stores but no RAFT store (#498)
  • Clustering: MEMORY store is not supported, so server should fail to start (#510)

Complete Changes

v0.8.0-beta...v0.9.0