Releases: karafka/waterdrop
Releases · karafka/waterdrop
v2.7.0.alpha2
This release contains BREAKING changes. Make sure to read and apply upgrade notes.
- [Breaking] Drop Ruby
2.7
support. - [Breaking] Change default timeouts so final delivery
message.timeout.ms
is less thatmax_wait_time
so we do not end up with not final verdict. - [Breaking] Update all the time related configuration settings to be in
ms
and not mixed. - [Enhancement] Introduce
instrument_on_wait_queue_full
flag (defaults totrue
) to be able to configure whether non critical (retryable) queue full errors should be instrumented in the error pipeline. Useful when building high-performance pipes with WaterDrop queue retry backoff as a throttler.
v2.7.0.alpha1
This release contains BREAKING changes. Make sure to read and apply upgrade notes.
- [Breaking] Drop Ruby
2.7
support. - [Breaking] Change default timeouts so final delivery
message.timeout.ms
is less thatmax_wait_time
so we do not end up with not final verdict. - [Breaking] Update all the time related configuration settings to be in
ms
and not mixed. - [Enhancement] Introduce
instrument_on_wait_queue_full
flag (defaults totrue
) to be able to configure whether non critical (retryable) queue full errors should be instrumented in the error pipeline. Useful when building high-performance pipes with WaterDrop queue retry backoff as a throttler.
v2.6.12
- [Enhancement] Provide ability to label message dispatches for increased observability.
- [Enhancement] Provide ability to commit offset during the transaction with a consumer provided.
- [Change] Change transactional message purged error type from
message.error
tolibrdkafka.dispatch_error
to align with the non-transactional error type. - [Change] Remove usage of concurrent ruby.
v2.6.11
- [Enhancement] Return delivery handles and delivery report for both dummy and buffered clients with proper topics, partitions and offsets assign and auto-increment offsets per partition.
- [Fix] Fix a case where buffered test client would not accumulate messages on failed transactions
v2.6.10
- [Improvement] Introduce
message.purged
event to indicate that a message that was not delivered to Kafka was purged. This most of the time refers to messages that were part of a transaction and were not yet dispatched to Kafka. It always means, that given message was not delivered but in case of transactions it is expected. In case of non-transactional it usually means#purge
usage or exceedingmessage.timeout.ms
solibrdkafka
removes this message from its internal queue. Non-transactional producers do not use this and pipe purges toerror.occurred
. - [Fix] Fix a case where
message.acknowledged
would not havecaller
key. - [Fix] Fix a bug where critical errors (like
IRB::Abort
) would not abort the ongoing transaction.
v2.6.9
v2.6.8
- [Feature] Introduce transactions support.
- [Improvement] Expand
LoggerListener
to inform about transactions (info level). - [Improvement] Allow waterdrop to use topic as a symbol or a string.
- [Improvement] Enhance both
message.acknowledged
anderror.occurred
(forlibrdkafka.dispatch_error
) with full delivery_report. - [Improvement] Provide
#close!
that will force producer close even with outgoing data after the ma wait timeout. - [Improvement] Provide
#purge
that will purge any outgoing data and data from the internal queues (both WaterDrop and librdkafka). - [Fix] Fix the
librdkafka.dispatch_error
error dispatch for errors with negative code.