Releases: bbalser/elsa
v1.0.0-rc.3
Updates brod
to 3.16.x and refactors internal representation of brod's underlying kafka_protocol to 4.0.x. While this does not change Elsa's API the underlying change to brod and kpro comes with a fairly substantive change in the schemas of the kafka_protocol request response payloads, meaning this is not backwards compatible with older versions of Kafka.
This also updates the deprecated :crypto.rand_uniform/2
to :rand.uniform/1
and updates the minimum supported Elixir/OTP versions from 1.8.x/21 to 1.10.x/22.
v1.0.0-rc.2
Fix regression to allow multiple topic producers to be configured underneath a single top-level Elsa.Supervisor
by passing a list of topics.
v1.0.0-rc.1
partitioner changes
- Renames Elsa's partitioners to
Elsa.Partitioner.Default
,Elsa.Partitioner.Random
, andElsa.Partitioner.Md5
:default
,:random
, and:md5
are still supported for backwards compatibility but will log a deprecation warning
- Provides an
Elsa.Partitioner
behaviour for creating/using custom partitioning strategies
iolist messages
- Supports writing
iolist
data to a topic
dynamic producers
- Allows attaching producers to a previously established connection with
Elsa.Supervisor.start_producer/2
v0.12.3
Patches topic config key name (config_name in place of config_key)
v0.12.2
v0.12.1
v0.12.0
- When a producer is started via Elsa.Supervisor, it is no longer guaranteed to be ready when supervisor returns. A new function Elsa.Producer.ready? will block until producer is ready.
- Added feature to producer and simple consumer where elsa will poll for new partitions and react dynamically. A new field,
poll
, takes a time in milliseconds to configure how often elsa checks the number of partitions for a topic. This feature is disabled by default. - Changed process management to better handle connection issues with kafka
- Fix bug related to shutting down elsa and making best attempt at completing processing of messages and committing offsets.
v0.11.1
Fixes acknowledgement bottlenecks at the Group.Manager
during disruptive events when the manager blocks while revoking assignments. Delegates group consumer acknowledgement to a dedicated acknowledger process.