karafka-rdkafka 0.22.2-arm64-darwin → 0.23.0-arm64-darwin
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 +4 -4
- data/CHANGELOG.md +10 -5
- data/README.md +1 -0
- data/docker-compose-ssl.yml +1 -1
- data/docker-compose.yml +1 -1
- data/ext/librdkafka.dylib +0 -0
- data/karafka-rdkafka.gemspec +1 -1
- data/lib/rdkafka/helpers/oauth.rb +36 -9
- data/lib/rdkafka/version.rb +3 -3
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5a2a5931023f367099adb31534234550fd5f8b3de8fbb65515bf5de402f30dde
|
|
4
|
+
data.tar.gz: 740a4c3605185ba57bba5796b3a60241eb3f268c7428d470e6aa1e93d5364f5d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7a5ef91daa0ee144a2825ee4244bf6d7f2ef3c6aa47e905c19d6aa131e124ae825a710ee0b883d64a3e0b3cec0c3ee6f8f9eb86abce32efc7057ac7af4c4bbf8
|
|
7
|
+
data.tar.gz: 0bd85f15a4bd55dd38d4e06f4448b3e0b30ef1359c793135c40593e9e3e4b54413526d4e22c11880197edca649a531e37ef0c8dde81dbcc512801905db693d93
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# Rdkafka Changelog
|
|
2
2
|
|
|
3
|
+
## 0.23.0 (2025-11-01)
|
|
4
|
+
- [Enhancement] Bump librdkafka to 2.12.1.
|
|
5
|
+
- [Enhancement] Force lock FFI to 1.17.1 or higher to include critical bug fixes around GCC, write barriers, and thread restarts for forks.
|
|
6
|
+
- [Fix] Fix for Core dump when providing extensions to oauthbearer_set_token (dssjoblom)
|
|
7
|
+
|
|
3
8
|
## 0.22.2 (2025-10-09)
|
|
4
9
|
- [Fix] Fix Github Action Ruby reference preventing non-compiled releases.
|
|
5
10
|
|
|
@@ -8,7 +13,7 @@
|
|
|
8
13
|
- [Enhancement] Optimize producer header processing with early returns and efficient array operations (69% faster for nil headers, 41% faster for empty headers, 12-32% faster when headers are present, with larger improvements for complex header scenarios).
|
|
9
14
|
|
|
10
15
|
## 0.22.0 (2025-09-26)
|
|
11
|
-
- **[
|
|
16
|
+
- **[EOL]** Drop support for Ruby 3.1 to move forward with the fiber scheduler work.
|
|
12
17
|
- [Enhancement] Bump librdkafka to 2.11.1.
|
|
13
18
|
- [Enhancement] Improve sigstore attestation for precompiled releases.
|
|
14
19
|
- [Fix] Fix incorrectly set default SSL certs dir.
|
|
@@ -68,7 +73,7 @@
|
|
|
68
73
|
- [Fix] Do not run `Rdkafka::Bindings.rd_kafka_global_init` on require to prevent some of macos versions from hanging on Puma fork.
|
|
69
74
|
|
|
70
75
|
## 0.18.0 (2024-11-26)
|
|
71
|
-
- **[
|
|
76
|
+
- **[EOL]** Drop Ruby 3.0 support
|
|
72
77
|
- [Enhancement] Bump librdkafka to 2.6.1
|
|
73
78
|
- [Enhancement] Use default oauth callback if none is passed (bachmanity1)
|
|
74
79
|
- [Enhancement] Expose `rd_kafka_global_init` to mitigate macos forking issues.
|
|
@@ -109,7 +114,7 @@
|
|
|
109
114
|
- **[Breaking]** `HashWithSymbolKeysTreatedLikeStrings` has been removed so headers are regular hashes with string keys.
|
|
110
115
|
- [Enhancement] Bump librdkafka to 2.4.0
|
|
111
116
|
- [Enhancement] Save two objects on message produced and lower CPU usage on message produced with small improvements.
|
|
112
|
-
- [
|
|
117
|
+
- **[EOL]** Remove support for Ruby 2.7. Supporting it was a bug since rest of the karafka ecosystem no longer supports it.
|
|
113
118
|
|
|
114
119
|
## 0.15.2 (2024-07-10)
|
|
115
120
|
- [Fix] Switch to local release of librdkafka to mitigate its unavailability.
|
|
@@ -190,7 +195,7 @@
|
|
|
190
195
|
- [Enhancement] Get consumer position (thijsc & mensfeld)
|
|
191
196
|
|
|
192
197
|
## 0.13.7 (2023-10-31)
|
|
193
|
-
- [
|
|
198
|
+
- **[EOL]** Drop support for Ruby 2.6 due to incompatibilities in usage of `ObjectSpace::WeakMap`
|
|
194
199
|
- [Fix] Fix dangling Opaque references.
|
|
195
200
|
|
|
196
201
|
## 0.13.6 (2023-10-17)
|
|
@@ -257,7 +262,7 @@
|
|
|
257
262
|
|
|
258
263
|
## 0.11.0 (2021-11-17)
|
|
259
264
|
- Upgrade librdkafka to 1.8.2
|
|
260
|
-
- Bump supported minimum Ruby version to 2.6
|
|
265
|
+
- **[EOL]** Bump supported minimum Ruby version to 2.6
|
|
261
266
|
- Better homebrew path detection
|
|
262
267
|
|
|
263
268
|
## 0.10.0 (2021-09-07)
|
data/README.md
CHANGED
|
@@ -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.23.x (2025-11-01) | 2.12.1 (2025-10-16) | yes |
|
|
66
67
|
| 0.22.x (2025-09-26) | 2.11.1 (2025-08-18) | yes |
|
|
67
68
|
| 0.21.x (2025-08-18) | 2.11.0 (2025-07-03) | yes |
|
|
68
69
|
| 0.20.x (2025-07-17) | 2.8.0 (2025-01-07) | yes |
|
data/docker-compose-ssl.yml
CHANGED
data/docker-compose.yml
CHANGED
data/ext/librdkafka.dylib
CHANGED
|
Binary file
|
data/karafka-rdkafka.gemspec
CHANGED
|
@@ -67,7 +67,7 @@ Gem::Specification.new do |gem|
|
|
|
67
67
|
gem.extensions = %w(ext/Rakefile)
|
|
68
68
|
end
|
|
69
69
|
|
|
70
|
-
gem.add_dependency 'ffi', '~> 1.
|
|
70
|
+
gem.add_dependency 'ffi', '~> 1.17.1'
|
|
71
71
|
gem.add_dependency 'json', '> 2.0'
|
|
72
72
|
gem.add_dependency 'logger'
|
|
73
73
|
gem.add_dependency 'mini_portile2', '~> 2.6'
|
|
@@ -12,12 +12,18 @@ module Rdkafka
|
|
|
12
12
|
# @return [Integer] 0 on success
|
|
13
13
|
def oauthbearer_set_token(token:, lifetime_ms:, principal_name:, extensions: nil)
|
|
14
14
|
error_buffer = FFI::MemoryPointer.from_string(" " * 256)
|
|
15
|
+
extensions_ptr, extensions_str_ptrs = map_extensions(extensions)
|
|
15
16
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
begin
|
|
18
|
+
response = @native_kafka.with_inner do |inner|
|
|
19
|
+
Rdkafka::Bindings.rd_kafka_oauthbearer_set_token(
|
|
20
|
+
inner, token, lifetime_ms, principal_name,
|
|
21
|
+
extensions_ptr, extension_size(extensions), error_buffer, 256
|
|
22
|
+
)
|
|
23
|
+
end
|
|
24
|
+
ensure
|
|
25
|
+
extensions_str_ptrs&.each { |ptr| ptr.free }
|
|
26
|
+
extensions_ptr&.free
|
|
21
27
|
end
|
|
22
28
|
|
|
23
29
|
return response if response.zero?
|
|
@@ -41,10 +47,31 @@ module Rdkafka
|
|
|
41
47
|
|
|
42
48
|
private
|
|
43
49
|
|
|
44
|
-
#
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
50
|
+
# Convert extensions hash to FFI::MemoryPointer (const char **).
|
|
51
|
+
# Note: the returned pointers must be freed manually (autorelease = false).
|
|
52
|
+
def map_extensions(extensions)
|
|
53
|
+
return [nil, nil] if extensions.nil? || extensions.empty?
|
|
54
|
+
|
|
55
|
+
# https://github.com/confluentinc/librdkafka/blob/master/src/rdkafka_sasl_oauthbearer.c#L327-L347
|
|
56
|
+
|
|
57
|
+
# The method argument is const char **
|
|
58
|
+
array_ptr = FFI::MemoryPointer.new(:pointer, extension_size(extensions))
|
|
59
|
+
array_ptr.autorelease = false
|
|
60
|
+
str_ptrs = []
|
|
61
|
+
|
|
62
|
+
# Element i is the key, i + 1 is the value.
|
|
63
|
+
extensions.each_with_index do |(k, v), i|
|
|
64
|
+
k_ptr = FFI::MemoryPointer.from_string(k.to_s)
|
|
65
|
+
k_ptr.autorelease = false
|
|
66
|
+
str_ptrs << k_ptr
|
|
67
|
+
v_ptr = FFI::MemoryPointer.from_string(v.to_s)
|
|
68
|
+
v_ptr.autorelease = false
|
|
69
|
+
str_ptrs << v_ptr
|
|
70
|
+
array_ptr[i * 2].put_pointer(0, k_ptr)
|
|
71
|
+
array_ptr[i * 2 + 1].put_pointer(0, v_ptr)
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
[array_ptr, str_ptrs]
|
|
48
75
|
end
|
|
49
76
|
|
|
50
77
|
# extension_size is the number of keys + values which should be a non-negative even number
|
data/lib/rdkafka/version.rb
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
module Rdkafka
|
|
4
|
-
VERSION = "0.
|
|
5
|
-
LIBRDKAFKA_VERSION = "2.
|
|
6
|
-
LIBRDKAFKA_SOURCE_SHA256 = "
|
|
4
|
+
VERSION = "0.23.0"
|
|
5
|
+
LIBRDKAFKA_VERSION = "2.12.1"
|
|
6
|
+
LIBRDKAFKA_SOURCE_SHA256 = "ec103fa05cb0f251e375f6ea0b6112cfc9d0acd977dc5b69fdc54242ba38a16f"
|
|
7
7
|
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.
|
|
4
|
+
version: 0.23.0
|
|
5
5
|
platform: arm64-darwin
|
|
6
6
|
authors:
|
|
7
7
|
- Thijs Cadier
|
|
@@ -16,14 +16,14 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
19
|
+
version: 1.17.1
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version:
|
|
26
|
+
version: 1.17.1
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: json
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|