nats-streaming-server

NATS Streaming System Server

APACHE-2.0 License

Stars
2.5K
Committers
41

Bot releases are hidden (Show)

nats-streaming-server - Release v0.8.0-beta

Published by nats-ci-user over 6 years ago

Changelog

Go Version

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

Added

  • Clustering feature. This is a beta release. We may change the protobuf if required.
    Note that you cannot move from standalone to clustering with an existing store or
    clients running (#434).

Complete Changes

https://github.com/nats-io/nats-streaming-server/compare/v0.7.2...v0.8.0-beta

nats-streaming-server - Release v0.7.2

Published by nats-ci-user over 6 years ago

Changelog

Go Version

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

Fixed

  • SQL Store: After all messages expired and if the server is restarted, the first sequence
    of the new message is 1 less than it should be (#456)
  • FT Standby may fail to start in Channels Partitioning mode (#458)
  • FileStore.Init() implementation. This issue had no consequence for the server (#460)

Complete Changes

https://github.com/nats-io/nats-streaming-server/compare/v0.7.0...v0.7.2

nats-streaming-server - Release v0.7.0

Published by nats-ci-user almost 7 years ago

Changelog

Go Version

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

Added

  • SQL Store with support for MySQL and Postgres. This store can be used in FT mode too (#417, #438)
  • ClientID in monitor subscriptions. Thanks to @ripienaar for the suggesting (#444)

Improved

  • Handling of files terminating with null bytes. Thanks to @notbdu for the report (#441)

Changed

  • FT Standby no longer exit on error trying to get exclusive lock. Thanks to @savaki for the report (#447)

Fixed

  • Typos, thanks to @savaki, @romainjanvier (#420, #433)
  • Possible race between connect and pub/sub in channels partitioning mode (#445)

Complete Changes

https://github.com/nats-io/nats-streaming-server/compare/v0.6.0...v0.7.0

nats-streaming-server - Release v0.6.0

Published by nats-ci-user almost 7 years ago

Changelog

Go Version

  • 1.9.1

Added

  • ARM32 v6 and v7 and ARM64 v8 builds (#337, #413)

Improved

  • Channels partitioning behavior on NATS cluster topology change (#368)
  • Stalled queue subscriptions (#378)
  • FileStore: closes files on recovery to reduce need of file descriptors (#391)

Changed

  • Store interface. The change is only for developers implementing their own store implementation (#339, #341, #346)
  • Debug/Trace statements related to subscriptions (#348)
  • FileStore.Recover() no longer closing store on error (#384)

Updated

  • Readme with example on how to use JSONP for monitoring (#406)

Fixed

  • Ensure executables are statically linked (#334)
  • Use of single config file with TLS section (#336)
  • FileStore’s could panic in GetSequenceFromTimestamp. Thanks @klrkdekira for the report (#345)
  • Closing of all channels stores on Recover() error (#352)
  • Override of NATS related command line parameters (#354)
  • Duplicate subscription in Channel(s) monitoring endpoint (#356)
  • Possible panic on FileStore.Close() when message expiration is set (#366)
  • Queue redelivery on startup (#377)
  • Stalled queue member may stall the whole queue (#376)
  • After restart, server sends messages to offline durables (#382)
  • Monitoring of offline durable queue subscription. Thanks to @bruth for the report (#386)
  • Override of options from configuration file(s) (#388)
  • Server was not rejecting / in channel names. Thanks to @tvalletta for the report (#404)

Complete Changes

https://github.com/nats-io/nats-streaming-server/compare/v0.5.0...v0.6.0

nats-streaming-server - Release v0.5.0

Published by nats-ci-user over 7 years ago

Changelog

Added

  • FileStore can now recover channels in parallel (#300)
  • Signal handler SIGUSR1 for log rotation (#303)
  • Channels Partitioning (#285)
  • Ability to combine NATS Streaming and NATS Server options in same configuration file (#312)
  • Monitoring through http endpoints (#317)

Improved

  • Error returned to client for invalid client ID (#306)

Changed

  • Do not include version in executable file in release uploads (#295)
  • Channel limit can now be higher than corresponding global limit (#297)

Fixed

  • Unable to set a per-channel limit if global limit was set to 0 (#293)
  • Possible endless loop in message expiration if clock drifts backward. Thanks to @vl409 for the report (#319)
  • Server panics when more than one shadow queue subscriber is recovered (#329)

Complete Changes

https://github.com/nats-io/nats-streaming-server/compare/v0.4.0...v0.5.0

nats-streaming-server - Release v0.4.0

Published by nats-ci-user over 7 years ago

Changelog

This new release adds support for Fault Tolerance, relying on shared storage (such as NFS, etc…). Check some of the important changes for users that are or want to work on a store implementation.

Added

  • Ability to specify a pool of internal subscriptions that receive messages acknowledgement. Normally, the server creates an internal subscription for each user’s subscription, which may cause scalability issues (#254)
  • FileStore: option to limit the number of file descriptors (#249)
  • Fault Tolerance with use of shared storage (#270)
  • Ability to specify sizes as bytes (KB, MB, etc..) for command line parameters (#277)

Changed

  • RunServer() and RunServerWithOpts() now return an error if the server failed to start instead of panic’ing (#264)

Updated

  • Use Go 1.7.5 for the release (#267)
  • Vendors (#286)
  • README has a new section about Concepts. Check the table of contents
  • When a subscription is created, the server will now start delivering of available messages in a different go routine. This reduces risk of clients getting a timeout when starting a great number of subscriptions with lots of pending messages at once (#253)
  • Logging prefix is changed from STAN to STREAM (#274)

Fixed

  • Messages possibly delivered before a SubscriptionResponse protocol was sent to clients. This manifested in the Node.js streaming client (#247)
  • Debug statements for subscription close and unsubscribe were reversed (#255)
  • On durable restart, unacknowledged messages are not redelivered before new messages (#262)
  • Negative store limits were not rejected on startup (#278)
  • Wildcards in channels configuration were not rejected on startup (#281)
  • The —file_slice_max_age command line parameter was not parsed as a duration (#284)

Complete Changes

https://github.com/nats-io/nats-streaming-server/compare/v0.3.8...v0.4.0

nats-streaming-server - Release v0.3.8

Published by nats-ci-user almost 8 years ago

Changelog

Updated

  • Redelivery constraints for queue group. The server no longer checks the possible missed heartbeat from the queue member’s connection that is having its unacknowledged messages redelivered (#224)

Fixed

  • Possible panic during file store cache eviction (#222)
  • Unable to send messages (and subscription immediately marked as stalled) if subscription request contains MaxInflight lower or equal to 0. The server now checks and returns an error if the value is less than 1 (#227)
  • Corrupted PubAck sent back to client if Guid (or error) is more than 32 bytes (#232)
  • Messages’ timestamp possibly not increasing monotonically (due to NTP, leap second, user changing clock, ...) (#233)
  • Access to client’s object possibly blocked for ClientHBTimeout duration (#235)
  • Repeated message redelivery not honoring subscriber’s AckWait (#238)

Complete Changes

https://github.com/nats-io/nats-streaming-server/compare/v0.3.6...v0.3.8

nats-streaming-server - Release v0.3.6

Published by nats-ci-user almost 8 years ago

Changelog

Added

  • Ability to configure server-to-client heartbeat settings (#219)

Fixed

  • Durable queue subscribers not removed from store when leaving the group.
    This would create “ghost” queue members after a server restart (if using
    file-based store), which would incorrectly consume messages preventing
    real queue members to receive them. (#218)

Complete Changes

https://github.com/nats-io/nats-streaming-server/compare/v0.3.4...v0.3.6

nats-streaming-server - Release v0.3.4

Published by nats-ci-user almost 8 years ago

Changelog

Added

  • FileStore: file slices configuration, including script for archiving (#201)
  • Support for Subscription.Close() to close a subscriber without unsubscribing it (#203)

Updated

  • Build with Go 1.7.4 (#208)
  • StartAtSequence and StartAtTimeDelta no longer fail if out of range (#194)
  • Redelivery is now always forced (#200)
  • FileStore: message caching strategy (#206)

Improved

  • Added internal connection for sends to reduce contention (#185, #191)

Fixed

  • Durables were not properly removed on Unsubscribe (#181)
  • Possible processing of protocols out of order (#207)
  • Expiration timer runaway when some but not all messages expired (#204)
  • Prevent unrecognized sub commands in command line parameters (#209)
  • Some typos and debug/trace statements (#193)

Removed

  • FileStore: command line parameter -file_cache and related configuration parameters (#201)

Complete Changes

https://github.com/nats-io/nats-streaming-server/compare/v0.3.0...v0.3.4

nats-streaming-server - Release v0.3.0

Published by kozlovic about 8 years ago

Changelog

Added

  • Durable Queue Subscribers. A queue group can now be made durable. Check https://github.com/nats-io/go-nats-streaming#durable-queue-groups
  • FileStore implementation now uses index files to speed-up recovery
  • Ability to disable message caching to reduce memory footprint (previous implementation kept messages in memory after being persisted)
  • FileStore buffers shrink when possible to reduce memory footprint in the presence of many channels
  • Store limits can now be set to unlimited using 0 as a value
  • The Streaming server now supports its own configuration file. Check https://github.com/nats-io/nats-streaming-server#configuring
  • The maximum age limit is now enforced
  • The server will now print to its log the reason of a startup failure before the panic

Updated

  • The server now enforces message limits after a restart (for FileStore)
  • README.md is updated with configuration and command line parameters usage
  • Vendor are updated

Improved

  • Performance for message delivery

Fixed

  • Reduce/eliminate risk of write of partial records
  • Incorrect Duplicate durable subscription after server restart
  • Stopped redelivery for durables stopped while in a stalled state
  • Possible panic on server shutdown if messages were being published (only for FileStore)
  • Possible stall or redelivery of messages after a file compaction
  • Non durable subscriptions were not removed from FileStore on connection close
  • Possible stall of (re)delivery when messages are removed from the log
  • FileStore behavior when using very low limits (<5 messages, etc..)
  • FileStore issues when limits are reduced from one run to another

Complete Changes

https://github.com/nats-io/nats-streaming-server/compare/v0.2.2...v0.3.0

nats-streaming-server - Release v0.2.2 (MVP)

Published by kozlovic about 8 years ago

Changelog

Added

  • Command line parameter/Option to connect to external NATS Server
  • Ability to disable file sync on flush (by default flush does sync the file)
  • Vendoring
  • Docker

Updated

  • Logging of message store limit only once per channel

Fixed

  • Server now default to listen to 0.0.0.0 instead of localhost

Complete Changes

https://github.com/nats-io/nats-streaming-server/compare/v0.2.0...v0.2.2

nats-streaming-server - v0.2.0 (MVP)

Published by mcqueary over 8 years ago

Changelog

nats-streaming-server v0.2.0 (MVP)

New features and enhancements

  • Add CRC checksum for file store
  • Performance improvements

Bug fixes

  • Use NATS default options when server creates connection to NATS Server
  • Fixed an issue with durable restarts when ack pending is >= MaxInFlight
nats-streaming-server - v0.1.0

Published by mcqueary over 8 years ago

v0.1.0 Release Notes

NATS Streaming provides the following high-level feature set.

  • Log based.
  • At-Least-Once Delivery model, giving reliable message delivery.
  • Rate matched on a per subscription basis.
  • Replay/Restart
  • Last Value Semantics

See the NATS documentation site for more information.