Broadway v0.7 requires Erlang/OTP 21.3+.
- Remove
Broadway.TermStorage
now that we have Broadway topology information on the producer init callback - Rename :events to :messages in batcher telemetry event
- Make
Broadway.Producer
public - Add optional
prepare_messages
callback
- Rename
:failure
Telemetry event to:exception
so it conforms to the telemetry specification - Deprecate
Broadway.test_messages/3
in favor ofBroadway.test_message/3
andBroadway.test_batch/3
- Deprecate
:stages
in favor of:concurrency
for clarity - Do not validate
:batcher
if message failed - Add support for rate limiting producers
- Support returning state in
c:Broadway.Producer.prepare_for_draining/1
- Emit telemetry events
- Add Kafka guide
- Deprecate
:producers
in favor of a single:producer
key - Add
Broadway.Message.configure_ack/3
- Add
Broadway.Message.ack_immediately/1
- Add
Broadway.producer_names/1
- Add the
c:Broadway.handle_failed/2
optional callback which is invoked with failed messages - Add
:crash_reason
to Logger reports metadata - Add
c:Broadway.Producer.prepare_for_start/2
optional callback which allows producers to customize the topology - Support
partition_by
in processors and batchers - Log if
handle_batch
returns less messages than expected
- Add
:batch_mode
toBroadway.test_messages/3
to control how test messages are flushed - Add
Broadway.DummyProducer
for testing - Append .Broadway to module prefixes to avoid potential naming conflicts
- Add
metadata
field to theMessage
struct so clients can append extra information
Broadway.Message.put_partition/2
has been renamed toBroadway.Message.put_batch_key/2
- Allow
Broadway.Producer
toprepare_for_draining/1
- Allow pipelines without batchers
- Initial release