karafka-rdkafka 0.25.0-aarch64-linux-gnu → 0.26.1-aarch64-linux-gnu

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1fc68ea9e1153d48f0385af08a7e3f181eecc58ec8fdcb1799d6df91b62794be
4
- data.tar.gz: 780de63d72bce253081b6c8dbea38c59ba47749fa28b190e21e6b93833179757
3
+ metadata.gz: a435733d9fee98c645fb787d72bf367708827b890d00858c247fb1f56e3b9a7e
4
+ data.tar.gz: a297c932f096bb9b86f756eed38cd57872857b3964d9fb35ea531c80cb076a9f
5
5
  SHA512:
6
- metadata.gz: 3186a7ffd882a2ca7cce415b0211ec8204d2800eba1fc8768fb2985b7cf42c5c8b6c49e7e11bee3637dfc56efdc9511cfa94820631539dc98a782b44c33b0afe
7
- data.tar.gz: 648ee9517e2d8377dd0adccc9a94f058734c76e71c79716d6c7c681d45abb437fccb46f56c5c48a86cf544d9756805ab099e07482d8727fd46a84c35f54c1e10
6
+ metadata.gz: 6119ccf54d991f536f73d95aecb0c96849f724500696ba30657f7338c6a39705cc1c5bedfa6a7b2fd692fd2dec0aa0c3910d13917d82152c43bf75895bd91424
7
+ data.tar.gz: c73a1eb6a70d059927ae6fdbf1a35f7f3c2a3be719d8301b7f0e15ea39e9185cead70cb966b5cea742953103c7861c0c66ce3949aa2c9b91d03fa22c519fa5e2
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Rdkafka Changelog
2
2
 
3
+ ## 0.26.1 (2026-04-13)
4
+ - [Feature] Add `Config#describe_properties` to dump all librdkafka configuration properties (including defaults and hidden properties) as a Hash via `rd_kafka_conf_dump` (from upstream).
5
+
6
+ ## 0.26.0 (2026-04-11)
7
+ - [Enhancement] Bump librdkafka to `2.14.0`.
8
+ - [Enhancement] Add `advertised.listeners` to macOS ARM64 CI KRaft broker config to fix flaky tests (from upstream).
9
+
3
10
  ## 0.25.0 (2026-04-02)
4
11
  - **[Feature]** Support `rd_kafka_ListOffsets` admin API for querying partition offsets by specification (earliest, latest, max_timestamp, or by timestamp) without requiring a consumer group (from upstream).
5
12
  - **[Feature]** Extend `Rdkafka::RdkafkaError` with `instance_name` attribute containing the `rd_kafka_name` for tying errors back to specific native Kafka instances (from upstream).
data/README.md CHANGED
@@ -31,7 +31,7 @@ This fork is actively maintained and kept in sync with the upstream rdkafka-ruby
31
31
 
32
32
  ## Long-term Plan
33
33
 
34
- Our long-term goal is to work with the rdkafka-ruby maintainers to eventually merge the beneficial changes back upstream. This would allow us to:
34
+ The goal is to eventually merge the beneficial changes back upstream. This would allow to:
35
35
 
36
36
  - Reduce maintenance overhead
37
37
  - Benefit the broader Ruby Kafka community
@@ -63,6 +63,7 @@ Contributions should generally be made to the upstream [rdkafka-ruby repository]
63
63
 
64
64
  | rdkafka-ruby | librdkafka | patches |
65
65
  |-|-|-|
66
+ | 0.26.x (2026-04-11) | 2.14.0 (2026-04-01) | yes |
66
67
  | 0.25.x (2026-04-02) | 2.13.2 (2026-03-30) | yes |
67
68
  | 0.24.x (2026-02-25) | 2.13.0 (2026-01-05) | yes |
68
69
  | 0.23.x (2025-11-01) | 2.12.1 (2025-10-16) | yes |
data/ext/librdkafka.so CHANGED
Binary file
@@ -242,6 +242,9 @@ module Rdkafka
242
242
 
243
243
  attach_function :rd_kafka_conf_new, [], :pointer
244
244
  attach_function :rd_kafka_conf_set, [:pointer, :string, :string, :pointer, :int], :kafka_config_response
245
+ attach_function :rd_kafka_conf_dump, [:pointer, :pointer], :pointer
246
+ attach_function :rd_kafka_conf_dump_free, [:pointer, :size_t], :void
247
+ attach_function :rd_kafka_conf_destroy, [:pointer], :void
245
248
  callback :log_cb, [:pointer, :int, :string, :string], :void
246
249
  attach_function :rd_kafka_conf_set_log_cb, [:pointer, :log_cb], :void
247
250
  attach_function :rd_kafka_conf_set_opaque, [:pointer, :pointer], :void
@@ -285,6 +285,46 @@ module Rdkafka
285
285
  )
286
286
  end
287
287
 
288
+ # Returns all configuration properties and their current values for this config.
289
+ #
290
+ # Uses `rd_kafka_conf_dump` to retrieve every property (including defaults and
291
+ # internal properties like `client.software.name`) as a flat Hash.
292
+ #
293
+ # @note The librdkafka C API does not distinguish between producer-only, consumer-only,
294
+ # and global properties at the configuration level. All properties are returned
295
+ # regardless of the intended client type.
296
+ #
297
+ # @note The returned Hash may include sensitive values such as authentication
298
+ # credentials and key passwords. Do not log or serialize the returned data
299
+ # unless you have explicitly redacted secret entries.
300
+ #
301
+ # @return [Hash{Symbol => String}] property names mapped to their current values
302
+ #
303
+ # @raise [ConfigError] When the configuration contains invalid options
304
+ def describe_properties
305
+ config = nil
306
+ dump_ptr = nil
307
+ count = 0
308
+
309
+ config = native_config
310
+ count_ptr = Rdkafka::Bindings::SizePtr.new
311
+ dump_ptr = Rdkafka::Bindings.rd_kafka_conf_dump(config, count_ptr)
312
+
313
+ count = count_ptr[:value]
314
+ result = {}
315
+
316
+ (0...count).step(2) do |i|
317
+ key = dump_ptr.get_pointer(i * FFI::Pointer.size).read_string
318
+ value = dump_ptr.get_pointer((i + 1) * FFI::Pointer.size).read_string
319
+ result[key.to_sym] = value
320
+ end
321
+
322
+ result
323
+ ensure
324
+ Rdkafka::Bindings.rd_kafka_conf_dump_free(dump_ptr, count) if dump_ptr
325
+ Rdkafka::Bindings.rd_kafka_conf_destroy(config) if config
326
+ end
327
+
288
328
  # Error that is returned by the underlying rdkafka error if an invalid configuration option is present.
289
329
  class ConfigError < RuntimeError; end
290
330
 
@@ -2,9 +2,9 @@
2
2
 
3
3
  module Rdkafka
4
4
  # Current rdkafka-ruby gem version
5
- VERSION = "0.25.0"
5
+ VERSION = "0.26.1"
6
6
  # Target librdkafka version to be used
7
- LIBRDKAFKA_VERSION = "2.13.2"
7
+ LIBRDKAFKA_VERSION = "2.14.0"
8
8
  # SHA256 hash of the librdkafka source tarball for verification
9
- LIBRDKAFKA_SOURCE_SHA256 = "14972092e4115f6e99f798a7cb420cbf6daa0c73502b3c52ae42fb5b418eea8f"
9
+ LIBRDKAFKA_SOURCE_SHA256 = "c05c03ef00a13a8463fac3e8918c04843c416f11ced58c889d806a88ca92cf99"
10
10
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: karafka-rdkafka
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.25.0
4
+ version: 0.26.1
5
5
  platform: aarch64-linux-gnu
6
6
  authors:
7
7
  - Thijs Cadier