- [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)
- Support cooperative sticky partition assignment in the rebalance callback (methodmissing)
- Support both string and symbol header keys (ColinDKelley)
- Handle tombstone messages properly (kgalieva)
- Add topic name to delivery report (maeve)
- Allow string partitioner config (mollyegibson)
- Fix documented type for DeliveryReport#error (jimmydo)
- Bump librdkafka to 2.0.2 (lmaia)
- Use finalizers to cleanly exit producer and admin (thijsc)
- Lock access to the native kafka client (thijsc)
- Fix potential race condition in multi-threaded producer (mensfeld)
- Fix leaking FFI resources in specs (mensfeld)
- Improve specs stability (mensfeld)
- Make metadata request timeout configurable (mensfeld)
- call_on_partitions_assigned and call_on_partitions_revoked only get a tpl passed in (thijsc)
- Bumps librdkafka to 1.9.0
- Fix crash on empty partition key (mensfeld)
- Pass the delivery handle to the callback (gvisokinskas)
- Upgrade librdkafka to 1.8.2
- Bump supported minimum Ruby version to 2.6
- Better homebrew path detection
- Upgrade librdkafka to 1.5.0
- Add error callback config
- Fixes for Ruby 3.0
- Allow any callable object for callbacks (gremerritt)
- Reduce memory allocations in Rdkafka::Producer#produce (jturkel)
- Use queue as log callback to avoid unsafe calls from trap context (breunigs)
- Allow passing in topic configuration on create_topic (dezka)
- Add each_batch method to consumer (mgrosso)
- Fix topic_flag behaviour and add tests for Metadata (geoff2k)
- Add topic admin interface (geoff2k)
- Raise an exception if @native_kafka is nil (geoff2k)
- Option to use zstd compression (jasonmartens)
- Upgrade librdkafka to 1.4.0
- Integrate librdkafka metadata API and add partition_key (by Adithya-copart)
- Ruby 2.7 compatibility fix (by Geoff Thé)A
- Add error to delivery report (by Alex Stanovsky)
- Don't override CPPFLAGS and LDFLAGS if already set on Mac (by Hiroshi Hatake)
- Allow use of Rake 13.x and up (by Tomasz Pajor)
- Bump librdkafka to 1.2.0 (by rob-as)
- Allow customizing the wait time for delivery report availability (by mensfeld)
- Bump librdkafka to 1.1.0 (by Chris Gaffney)
- Implement seek (by breunigs)
- Bump librdkafka to 1.0.0 (by breunigs)
- Add cluster and member information (by dmexe)
- Support message headers for consumer & producer (by dmexe)
- Add consumer rebalance listener (by dmexe)
- Implement pause/resume partitions (by dmexe)
- Delivery callback for producer
- Document list param of commit method
- Use default Homebrew openssl location if present
- Consumer lag handles empty topics
- End iteration in consumer when it is closed
- Add support for storing message offsets
- Add missing runtime dependency to rake
- Bump librdkafka to 0.11.6
- Improvements in librdkafka archive download
- Add global statistics callback
- Use Time for timestamps, potentially breaking change if you rely on the previous behavior where it returns an integer with the number of milliseconds.
- Bump librdkafka to 0.11.5
- Implement TopicPartitionList in Ruby so we don't have to keep track of native objects.
- Support committing a topic partition list
- Add consumer assignment method
- Fix crash when not waiting for delivery handles
- Run specs on Ruby 2.5
- Bump librdkafka to 0.11.3
- Fix bug that prevent display of
RdkafkaError
message
add_topic
now supports using a partition count- Add way to make errors clearer with an extra message
- Show topics in subscribe error message
- Show partition and topic in query watermark offsets error message
- Bump librdkafka to 0.11.1
- Officially support ranges in
add_topic
for topic partition list. - Add consumer lag calculator
- Move both add topic methods to one
add_topic
inTopicPartitionList
- Add committed offsets to consumer
- Add query watermark offset to consumer
- Some refactoring and add inline documentation
- Initial working version including producing and consuming