Releases: nats-io/nats-streaming-server
Releases · nats-io/nats-streaming-server
Release v0.14.1
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
Release v0.14.0
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
Release v0.12.2
Changelog
Go Version
- 1.11.6: Both release executables and Docker images are built with this Go release.
Added
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
Release v0.12.0
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
Release v0.11.2
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
Release v0.11.0
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
Complete Changes
Release v0.10.2
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
Release v0.10.0
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
Release v0.9.2
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
Release v0.9.0
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
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)