Changelog
View Sourcev0.2.1 - Patch
Released 2025-06-05
- If
:clean_startoption istrue, truncate the buffer log file and skip replay when the producer starts. - Properly disconnect from the MQTT broker on terminate.
v0.2.0 - Patch
Released 2025-06-03
- Add support for wrapping the ETS buffer cache with :disk_log to persist cached messages for producer.
- Introduced new option
buffer_durabilitywhich can be either:durableor:transient. When:durable, messages will be persisted to disk to ensure messages are not lost if the producer crashes. Defaults to:transient(in-memory buffer only). - New option
buffer_log_dircan be either a string, or a zero-arity function that returns the directory to store buffer logs. - Added new telemetry events for
:durablebuffer operations.
- Introduced new option
v0.1.1 - Patch
Released unreleased
- Emitting
off_broadway_emqtt.receive_message.ackreads message topic from message receipt instead of from the message body. This ensures that topic is included in telemetry events even if the message has been altered during dispatch. - Move
emqtt.start_link/1andemqtt.connect/1to ahandle_continue/2callback to prevent blockingGenServer.init/1. - Convert
hostandserver_name_indicationto charlist when validating options. - Return new state from
handle_continueon connection error. - Publish the
payloadfield as message data, and the rest as metadata.
v0.1.0 - Initial release
Released 2024-09-24
The initial release supports connecting to an MQTT broker using emqtt, and consume messages using a Broadway pipeline.
Supported features
- [x] Support most
emqttconfigurable options as producer config options. - [x] Specify buffer size and overflow strategy for the
etstable buffer. - [x]
OffBroadway.EMQTT.MessageHandlerbehaviour to support overriding default implementation. - [x] Telemetry events for observability.