All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning. ``
- Fix packaging error.
- Fix crash on Ruby 3.1 involving a change to the Psych gem.
- Modify config to allow specifying kafka connection information separately for consumers and producers
- Additional fixes for Ruby 3.0
- Fix bug with Ruby 3.0 around OpenStruct
- Remove deprecated patterns:
--
before_consume
method --around_consume
as a class method or without yielding values --publish
andasync_publish
with positional arguments
- Bumped version to 1.9.0.
- Fix bug where deprecation errors would be shown when receiving nil payloads
even if
around_consume
was updated to yield them.
- Allow
around_consume
to yield payload and metadata, and deprecatebefore_consume
andaround_consume
that does not yield anything.
- Update
publish
andasync_publish
to use keyword arguments instead of positional ones. Deprecate positional arguments in anticipation of removing them with 2.0.
- Add support for message headers in both produced and consumed messages and batches.
- Automatically heartbeat after every message if necessary in batch mode.
- Version bump for official release.
- Added the
persistent_connections
setting and the correspondingsync_producer_shutdown
method to enable reusing the connection for regular (sync) producers.
- Added
BatchHandler
to consume messages in batches on the business layer.
- Added ability to send partition keys separate from messsage keys.
- Possibility to configure a custom logger #81
- Reduce the volume of info-level log messages #78
- Phobos Handler
around_consume
is now an instance method #82 - Send consumer heartbeats between retry attempts #83
- Add ability to override session_timeout, heartbeat_interval, offset_retention_time, offset_commit_interval, and offset_commit_threshold per listener
- Phobos CLI: Load boot file before configuring (instead of after)
- Phobos overwrites ENV['RAILS_ENV'] with incorrect value #71
- Possible NoMethodError #force_encoding #63
- Phobos fails silently #66
- Add offset_retention_time to consumer options #62
- Test are failing with ruby-kafka 0.5.0 #48
- Allow Phobos to run in apps using ActiveSupport 3.x #57
- Property (handler) added to listener instrumentation #60
- Property (time_elapsed) removed - use duration instead #24
- Max bytes per partition is now 1 MB by default #56
Phobos::Test::Helper
is broken #53
- Support for outputting logs as json #50
- Make configuration, especially of listeners, more flexible. #31
- Phobos Discord chat
- Support for consuming
each_message
instead ofeach_batch
via the delivery listener option. #21 - Instantiate a single handler class instance and use that both for
consume
andbefore_consume
. #47
- Pin ruby-kafka version to < 0.5.0 #48
- Update changelog to follow the Keep a Changelog structure
- Add
before_consume
callback to support single point of decoding a message phobos/phobos_db_checkpoint#34 - Add
Phobos::Test::Helper
for testing, to test consumers with minimal setup required
- Allow configuration of backoff per listener #35
- Move container orchestration into docker-compose
- Update docker images #38
- Make specs run locally #36
- Async publishing always delivers messages #33
- Update dev dependencies to fix warnings for the new unified Integer class
- Include the error
Kafka::ProcessingError
into the abort block
- Support for hash provided settings #30
- Support for ERB syntax in Phobos config file #26
- Ensure JSON layout for log files
- Log file can be disabled #20
- Property (time_elapsed) available for notifications
listener.process_message
andlistener.process_batch
#24 - Option to configure ruby-kafka logger #23
- Removed Hashie as a dependency #12
- Allow configuring consumers min_bytes & max_wait_time #15
- Allow configuring producers max_queue_size, delivery_threshold & delivery_interval #16
- Allow configuring force_encoding for message payload #18
- Published on Github!