Changelog History
Page 1
-
v0.4.0.2 Changes
๐ This release contains (only) breaking changes to the Consumer CLI.
We have switched to using the ๐ง configuration-tools ๐ง package for passing options to the CLI. This makes configuration much more ๐ง robust, and adds support for using a YAML-formatted configuration file, as well as granularly overriding options in a cascading manner (through multiple ๐ง configuration files, or by passing command line arguments).
๐ See
example_config.yml
for an example configuration file. Runkinesis-cli ๐ --help
to see supported command-line arguments. -
v0.4.0.1 Changes
๐ This release fixes a bug in the Consumer where a saved state could get โช clobbered in case no further records were found at the restored point on a shard.
-
v0.4.0.0 Changes
๐ This release contains breaking changes.
Replaced the internal use of
MonadError
with proper open-world exceptions. The exposed operations which may throw exceptions have been adjusted to returnm (Either e a)
; resolves issue #17.[Producer] Implemented a cleaner shutdown routine policy: previously, the producer would stay alive indefinitely until the thread on which it was created is killed. Now, the producer is shut down immediately once the scope of
withKinesisProducer
exits, at which point the queue will be flushed according to a configurable (and optional) timeout. Resolves issue #19.[Producer] Restructured the monolithic error sum types into many smaller types to better support the standard mode of use for error handling.
๐ [Consumer] Removed unused
ConsumerError
type.[Consumer] Changed batch size to use
Natural
type rather thanInt
.[Producer] Parameterized the implementation by an arbitrary queue structure; by default, the producer's message queue is now implemented using
TBMChan
to avoid a bug inTQueue
which causes live-locking under very heavy load.
Other non-breaking changes:
๐ [Producer] A better, more reliable implementation of consuming the input queue in chunks.
โ Removed dependencies on
either
,errors
,hoist-error
,stm-conduit
; added dependency onenclosed-exceptions
.Increased lower bound on
monad-control
to 1.0 (for hygienic purposes).
-
v0.3.0.2 Changes
- โฌ๏ธ Upgrade aws-general, aws-kinesis lower bounds.
-
v0.3.0.1 Changes
[Producer] Write errors to stderr rather than stdout.
[Consumer CLI] Exit with a failure code (1) when the run is not considered successful (i.e. if a limit was specified, and the CLI failed to retrieve that many records).
-
v0.3.0.0 Changes
All changes were in the Producer client.
๐ง Do not retry messages indefinitely; add support for a configurable retry policy.
๐ Reject messages synchronously which exceed the Kinesis record size limit.
-
v0.2.0.3 Changes
All changes were in the Consumer CLI.
โ Add a --timeout option, which will cause the consumer CLI terminate after a specified number of seconds.
๐ Change the behavior of --save-state to only save the state when a run of the consumer CLI was successful (i.e. either no limit was specified, or the precise number of items requested was indeed retrieved within the alotted time).
-
v0.2.0.2 Changes
โฌ๏ธ Upgrade to newer versions of
aws-general
andaws-kinesis
which support the security token header (necessary for using credentials from EC2 instance metadata). The --use-instance-metadata option should now work properly.โช When --restore-state is passed with a non-existent file, it will be ignored; if it is passed with a malformed file, an error will be thrown; the old behavior was to throw an error in either case.
-
v0.2.0.1 Changes
All changes were in the Consumer CLI.
โ Add switch to get credentials from EC2 instance metadata, --use-instance-metadata
๐ Make --limit optional to consume indefinitely
๐ Allow custom region with --region
If the CLI is terminated for any reason, before shutting down it will record its state if --save-state is passed
-
v0.2.0.0 Changes
โช [Consumer] Add the ability to save & restore stream state (i.e. last consumed sequence number per shard).
โช [Consumer CLI] Add --save-state, --restore-state options