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.
- Update README
- For synchronous messages and errors, we place logs in tags
- Fixed mock for tests
- Drop support for Ruby 2.7
- Drop support for Rails 6.0
- Add support for Waterdrop 2.7
wait_timeout
configuration no longer deeded- All time-related values are now configured in milliseconds:
connect_timeout
,ack_timeout
,retry_backoff
,max_wait_timeout
,wait_on_queue_full_timeout
- Add
message_timeout
configuration
- Remove mock for producer client
- A singleton class of the producer client has been added for testing
- Fixed display of metrics
kafka_api_calls
andkafka_api_errors
- Drop support for Rails 5
- Temporary limit upper version of Waterdrop to less than 2.7
- Add logs with
offset
.
- Memoize kafka clients. Add a registry with them to KafkaClientFactory.
- Remove
sbmt-dev
- Use mainstream karafka instead of custom fork
- Errors'
cause
handling
- change from
double
toinstance_double
- Plug OpenTelemetry
- Return True when publishing with bang methods
- add ErrorTracker for Sentry
- Don't catch an exception when publishing through the Sbmt::KafkaProducer::OutboxProducer
- rails generator for initial configuration
- rails generator for producer/outbox_producer creation
- change sentry method from capture_message to capture_exception
- Mock BaseProducer for rspec
- update README
- fixed version sbmt-waterdrop
- fixed error handling in the method on_error_occurred
- config changed from anyway to Dry::Struct
- implement producer metrics
- for outbox, if the default settings for the kafka section are overridden, they are overwritten
- arbitrary parameters from kafka
- fix logger
- basic options for producer
- basic config for producer via gem anyway_config
- BaseProducer
- OutboxProducer
- Sentry, logger
- Initial release