Skip to content

Releases: bbalser/elsa

v1.0.0-rc.3

22 Nov 17:12
53eb831
Compare
Choose a tag to compare

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

07 Oct 13:54
8a461b8
Compare
Choose a tag to compare

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

23 Jun 13:21
dd89ca2
Compare
Choose a tag to compare

partitioner changes

  • Renames Elsa's partitioners to Elsa.Partitioner.Default, Elsa.Partitioner.Random, and Elsa.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

23 Mar 16:26
4a8cc9d
Compare
Choose a tag to compare

Patches topic config key name (config_name in place of config_key)

v0.12.2

11 Mar 14:15
a0518b7
Compare
Choose a tag to compare
  • Allow topic configuration to be passed during topic creation
Elsa.Topic.create(endpoints, "topic-name", config: ["cleanup.policy": "compact"])
  • Fix minor crash scenario when :brod_consumer cannot be created

v0.12.1

05 Mar 21:50
6bd9412
Compare
Choose a tag to compare
  • Fixed bug where offsets were not correctly tracked through consumer worker restarts
  • Added a few debug level log statements

v0.12.0

27 Feb 20:49
7e105c8
Compare
Choose a tag to compare
  • 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

19 Nov 14:35
90e50a9
Compare
Choose a tag to compare

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.

v0.11.0

07 Nov 13:15
3d2b5ea
Compare
Choose a tag to compare

Added a Simple Consumer
Added support custom kafka headers
Upgraded to Brod 3.9.1
Removed direct acknowledger hack since brod now supports desired behaviour

v0.10.1

04 Oct 13:53
ad5372d
Compare
Choose a tag to compare

bug fixes dealing with change from name to connection.