Releases: karafka/rdkafka-ruby
Releases · karafka/rdkafka-ruby
v0.14.1
v0.16.0
- [Breaking] Retire support for Ruby 2.7.
- [Breaking] Messages without headers returned by
#pollcontain frozen empty hash. - [Breaking]
HashWithSymbolKeysTreatedLikeStringshas been removed so headers are regular hashes with string keys. - [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_errorsto 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_EXTduring build (mensfeld) - [Enhancement] name polling Thread as
rdkafka.native_kafka#<name>(nijikon) - [Enhancement] Save two objects on message produced and lower CPU usage on message produced with small improvements.
- [Change] Allow for native kafka thread operations deferring and manual start for consumer, producer and admin.
- [Change] The
wait_timeoutargument inAbstractHandle.waitmethod 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.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_errorsto 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_EXTduring 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_timeoutargument inAbstractHandle.waitmethod 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_storewithrd_kafka_offsets_store(mensfeld) - [Enhancement] Alias
topic_nameastopicin the delivery report (mensfeld) - [Enhancement] Provide
labelproducer handler and report reference for improved traceability (mensfeld) - [Enhancement] Include the error when invoking
create_resulton producer handle (mensfeld) - [Enhancement] Skip intermediate array creation on delivery report callback execution (one per message) (mensfeld).
- [Enhancement] Report
-1instead ofnilin casepartition_countfailure (mensfeld). - [Fix] Fix return type on
#rd_kafka_poll(mensfeld) - [Fix]
uint8_tdoes not exist on Apple Silicon (mensfeld) - [Fix] Missing ACL
RD_KAFKA_RESOURCE_BROKERconstant reference (mensfeld) - [Fix] Partition cache caches invalid nil result for
PARTITIONS_COUNT_TTL(mensfeld) - [Change] Rename
matching_acl_pattern_typetomatching_acl_resource_pattern_typeto align the whole API (mensfeld)
v0.15.0
- [Feature] Add
Admin#metadata(mensfeld) - [Feature] Add
Admin#create_partitions(mensfeld) - [Feature] Add
Admin#delete_grouputility (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
#lagand#query_watermark_offsetsdefault timeouts from 100ms to 1000ms. This will compensate for network glitches and remote clusters operations (mensfeld) - [Change] Use
SecureRandom.uuidinstead ofrandomfor test consumer groups (mensfeld)
v0.14.0
- [Enhancement] Add
raise_response_errorflag to theRdkafka::AbstractHandle. - [Enhancement] Allow for setting
statistics_callbackas nil to reset predefined settings configured by a different gem (mensfeld) - [Enhancement] Get consumer position (thijsc & mensfeld)
- [Enhancement] Provide
#purgeto remove any outstanding requests from the producer (mensfeld) - [Enhancement] Update
librdkafkato2.2.0(mensfeld) - [Enhancement] Introduce producer partitions count metadata cache (mensfeld)
- [Enhancement] Increase metadata timeout request from
250 msto2000 msdefault to allow for remote cluster operations viardkafka-ruby(mensfeld) - [Enhancement] Introduce
#namefor 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
#pollon native kafka creation to handle oauthbearer cb (mensfeld) - [Fix]
#flushdoes not handle the timeouts errors by making it returntrueif all flushed orfalseif 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)