Releases: karafka/rdkafka-ruby
Releases · karafka/rdkafka-ruby
v0.16.0.rc1
- [Breaking] Retire support for Ruby 2.7.
- [Feature] Support incremental config describe + alter API.
- [Feature] Oauthbearer token refresh callback (bruce-szalwinski-he)
- [Feature] Provide ability to use topic config on a producer for custom behaviors per dispatch.
- [Enhancement] Use topic config reference cache for messages production to prevent topic objects allocation with each message.
- [Enhancement] Provide
Rrdkafka::Admin#describe_errors
to get errors descriptions (mensfeld) - [Enhancement] Replace time poll based wait engine with an event based to improve response times on blocking operations and wait (nijikon + mensfeld)
- [Enhancement] Allow for usage of the second regex engine of librdkafka by setting
RDKAFKA_DISABLE_REGEX_EXT
during build (mensfeld) - [Enhancement] name polling Thread as
rdkafka.native_kafka#<name>
(nijikon) - [Change] Allow for native kafka thread operations deferring and manual start for consumer, producer and admin.
- [Change] The
wait_timeout
argument inAbstractHandle.wait
method is deprecated and will be removed in future versions without replacement. We don't rely on it's value anymore (nijikon) - [Fix] Background logger stops working after forking causing memory leaks (mensfeld)
- [Fix] Fix bogus case/when syntax. Levels 1, 2, and 6 previously defaulted to UNKNOWN (jjowdy)
v0.15.1
- [Enhancement] Provide support for Nix OS (alexandriainfantino)
- [Enhancement] Replace
rd_kafka_offset_store
withrd_kafka_offsets_store
(mensfeld) - [Enhancement] Alias
topic_name
astopic
in the delivery report (mensfeld) - [Enhancement] Provide
label
producer handler and report reference for improved traceability (mensfeld) - [Enhancement] Include the error when invoking
create_result
on producer handle (mensfeld) - [Enhancement] Skip intermediate array creation on delivery report callback execution (one per message) (mensfeld).
- [Enhancement] Report
-1
instead ofnil
in casepartition_count
failure (mensfeld). - [Fix] Fix return type on
#rd_kafka_poll
(mensfeld) - [Fix]
uint8_t
does not exist on Apple Silicon (mensfeld) - [Fix] Missing ACL
RD_KAFKA_RESOURCE_BROKER
constant reference (mensfeld) - [Fix] Partition cache caches invalid nil result for
PARTITIONS_COUNT_TTL
(mensfeld) - [Change] Rename
matching_acl_pattern_type
tomatching_acl_resource_pattern_type
to align the whole API (mensfeld)
v0.15.0
- [Feature] Add
Admin#metadata
(mensfeld) - [Feature] Add
Admin#create_partitions
(mensfeld) - [Feature] Add
Admin#delete_group
utility (piotaixr) - [Feature] Add Create and Delete ACL Feature To Admin Functions (vgnanasekaran)
- [Feature] Support
#assignment_lost?
on a consumer to check for involuntary assignment revocation (mensfeld) - [Enhancement] Expose alternative way of managing consumer events via a separate queue (mensfeld)
- [Enhancement] Bump librdkafka to 2.3.0 (mensfeld)
- [Enhancement] Increase the
#lag
and#query_watermark_offsets
default timeouts from 100ms to 1000ms. This will compensate for network glitches and remote clusters operations (mensfeld) - [Change] Use
SecureRandom.uuid
instead ofrandom
for test consumer groups (mensfeld)
v0.14.0
- [Enhancement] Add
raise_response_error
flag to theRdkafka::AbstractHandle
. - [Enhancement] Allow for setting
statistics_callback
as nil to reset predefined settings configured by a different gem (mensfeld) - [Enhancement] Get consumer position (thijsc & mensfeld)
- [Enhancement] Provide
#purge
to remove any outstanding requests from the producer (mensfeld) - [Enhancement] Update
librdkafka
to2.2.0
(mensfeld) - [Enhancement] Introduce producer partitions count metadata cache (mensfeld)
- [Enhancement] Increase metadata timeout request from
250 ms
to2000 ms
default to allow for remote cluster operations viardkafka-ruby
(mensfeld) - [Enhancement] Introduce
#name
for producers and consumers (mensfeld) - [Enhancement] Include backtrace in non-raised binded errors (mensfeld)
- [Fix] Reference to Opaque is not released when Admin, Consumer or Producer is closed (mensfeld)
- [Fix] Trigger
#poll
on native kafka creation to handle oauthbearer cb (mensfeld) - [Fix]
#flush
does not handle the timeouts errors by making it returntrue
if all flushed orfalse
if failed. We do not raise an exception here to keep it backwards compatible (mensfeld) - [Change] Remove support for Ruby 2.6 due to it being EOL and WeakMap incompatibilities (mensfeld)
- [Change] Update Kafka Docker with Confluent KRaft (mensfeld)
- [Change] Update librdkafka repo reference from edenhill to confluentinc (mensfeld)