karafka-rdkafka 0.20.0.rc3-x86_64-linux-gnu → 0.20.0-x86_64-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 +4 -4
- data/.github/workflows/ci_linux_x86_64_gnu.yml +1 -0
- data/.github/workflows/ci_linux_x86_64_musl.yml +205 -0
- data/.github/workflows/ci_macos_arm64.yml +5 -0
- data/.github/workflows/push_linux_x86_64_gnu.yml +5 -1
- data/.github/workflows/push_linux_x86_64_musl.yml +77 -0
- data/.github/workflows/push_macos_arm64.yml +54 -0
- data/.github/workflows/push_ruby.yml +1 -1
- data/.ruby-version +1 -1
- data/CHANGELOG.md +8 -1
- data/README.md +1 -1
- data/ext/build_linux_x86_64_musl.sh +763 -0
- data/ext/librdkafka.so +0 -0
- data/karafka-rdkafka.gemspec +27 -0
- data/lib/rdkafka/bindings.rb +6 -4
- data/lib/rdkafka/producer.rb +11 -6
- data/lib/rdkafka/version.rb +1 -1
- data/spec/rdkafka/admin_spec.rb +202 -1
- data/spec/rdkafka/bindings_spec.rb +0 -24
- data/spec/rdkafka/consumer_spec.rb +0 -3
- data/spec/rdkafka/producer_spec.rb +295 -1
- data/spec/spec_helper.rb +20 -6
- metadata +33 -2
- data/spec/rdkafka/producer/partitions_count_spec.rb +0 -359
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f2302a4f1b62d016efbb5e16c3085ee6d6ff93012fcca61eb8d5bb1ed781a663
|
4
|
+
data.tar.gz: 6d45647c9e75bee42913e35f98fe1cd0fbe4c3c46c5971906e0fdae3dce8a8f6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c5634d9d77acc3a136c863125ab9168f3cfa6e0bf30f70cb802ced1546bb112d59971837c9b117076cbeab8bb8734f4f11ecea6efa06a7a08520f361fe849133
|
7
|
+
data.tar.gz: cfc4240339689bcbabcb66641900d555341e941f5dfc62ef577eac2ead6a94c9c12271f463aa7a5b2235d37b079bfb750a417bee0e24092f6c1a5dfb8df0c09d
|
@@ -0,0 +1,205 @@
|
|
1
|
+
name: CI Linux x86_64 musl
|
2
|
+
|
3
|
+
concurrency:
|
4
|
+
group: ${{ github.workflow }}-${{ github.ref }}
|
5
|
+
cancel-in-progress: true
|
6
|
+
|
7
|
+
on:
|
8
|
+
pull_request:
|
9
|
+
branches: [ main, master ]
|
10
|
+
push:
|
11
|
+
branches: [ main, master ]
|
12
|
+
schedule:
|
13
|
+
- cron: '0 1 * * *'
|
14
|
+
|
15
|
+
permissions:
|
16
|
+
contents: read
|
17
|
+
|
18
|
+
env:
|
19
|
+
BUNDLE_RETRY: 6
|
20
|
+
BUNDLE_JOBS: 4
|
21
|
+
|
22
|
+
jobs:
|
23
|
+
build_install:
|
24
|
+
timeout-minutes: 30
|
25
|
+
runs-on: ubuntu-latest
|
26
|
+
container:
|
27
|
+
image: alpine:3.22@sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1
|
28
|
+
steps:
|
29
|
+
- name: Install dependencies
|
30
|
+
run: |
|
31
|
+
apk add --no-cache git curl ca-certificates build-base linux-headers \
|
32
|
+
pkgconf perl autoconf automake libtool bison flex file \
|
33
|
+
ruby ruby-dev ruby-bundler bash zstd-dev zlib zlib-dev openssl-dev cyrus-sasl-dev
|
34
|
+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
35
|
+
with:
|
36
|
+
fetch-depth: 0
|
37
|
+
- name: Configure git safe directory
|
38
|
+
run: git config --global --add safe.directory /__w/karafka-rdkafka/karafka-rdkafka
|
39
|
+
- name: Build gem with mini_portile
|
40
|
+
run: |
|
41
|
+
set -e
|
42
|
+
bundle config set --local path 'vendor/bundle'
|
43
|
+
bundle install
|
44
|
+
cd ext && bundle exec rake
|
45
|
+
cd ..
|
46
|
+
- name: Upload built gem and bundle
|
47
|
+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
48
|
+
with:
|
49
|
+
name: rdkafka-built-gem-musl
|
50
|
+
path: |
|
51
|
+
vendor/bundle/
|
52
|
+
.bundle/
|
53
|
+
ext/
|
54
|
+
lib/
|
55
|
+
retention-days: 1
|
56
|
+
|
57
|
+
specs_install:
|
58
|
+
timeout-minutes: 30
|
59
|
+
runs-on: ubuntu-latest
|
60
|
+
needs: build_install
|
61
|
+
strategy:
|
62
|
+
fail-fast: false
|
63
|
+
matrix:
|
64
|
+
ruby:
|
65
|
+
- '3.4'
|
66
|
+
- '3.3'
|
67
|
+
- '3.2'
|
68
|
+
- '3.1'
|
69
|
+
include:
|
70
|
+
- ruby: '3.4'
|
71
|
+
coverage: 'true'
|
72
|
+
steps:
|
73
|
+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
74
|
+
with:
|
75
|
+
fetch-depth: 0
|
76
|
+
- name: Download built gem
|
77
|
+
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
78
|
+
with:
|
79
|
+
name: rdkafka-built-gem-musl
|
80
|
+
path: ./
|
81
|
+
- name: Start Kafka with Docker Compose
|
82
|
+
run: |
|
83
|
+
docker compose up -d
|
84
|
+
echo "Waiting for Kafka to be ready..."
|
85
|
+
sleep 10
|
86
|
+
|
87
|
+
for i in {1..30}; do
|
88
|
+
if docker compose exec -T kafka kafka-topics --bootstrap-server localhost:9092 --list >/dev/null 2>&1; then
|
89
|
+
echo "Kafka topics command succeeded!"
|
90
|
+
break
|
91
|
+
fi
|
92
|
+
sleep 2
|
93
|
+
done
|
94
|
+
- name: Run all specs
|
95
|
+
env:
|
96
|
+
GITHUB_COVERAGE: ${{ matrix.coverage }}
|
97
|
+
RDKAFKA_EXT_PATH: ${{ github.workspace }}/ext
|
98
|
+
run: |
|
99
|
+
docker run --rm \
|
100
|
+
--network host \
|
101
|
+
-v "${{ github.workspace }}:/workspace" \
|
102
|
+
-w /workspace \
|
103
|
+
-e "GITHUB_COVERAGE=${{ matrix.coverage }}" \
|
104
|
+
-e "RDKAFKA_EXT_PATH=/workspace/ext" \
|
105
|
+
ruby:${{ matrix.ruby }}-alpine \
|
106
|
+
sh -c 'apk add --no-cache git build-base linux-headers bash \
|
107
|
+
cyrus-sasl \
|
108
|
+
cyrus-sasl-login \
|
109
|
+
cyrus-sasl-crammd5 \
|
110
|
+
cyrus-sasl-digestmd5 \
|
111
|
+
cyrus-sasl-gssapiv2 \
|
112
|
+
cyrus-sasl-scram \
|
113
|
+
krb5-libs \
|
114
|
+
openssl \
|
115
|
+
zlib \
|
116
|
+
zlib-dev \
|
117
|
+
zstd-libs && \
|
118
|
+
git config --global --add safe.directory /workspace && \
|
119
|
+
bundle config set --local path vendor/bundle && \
|
120
|
+
bundle install && \
|
121
|
+
bundle exec ruby -S rspec'
|
122
|
+
build_precompiled:
|
123
|
+
timeout-minutes: 45
|
124
|
+
runs-on: ubuntu-latest
|
125
|
+
container:
|
126
|
+
image: alpine:3.22@sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1
|
127
|
+
steps:
|
128
|
+
- name: Install dependencies
|
129
|
+
run: |
|
130
|
+
apk add --no-cache git curl ca-certificates build-base linux-headers \
|
131
|
+
pkgconf perl autoconf automake libtool bison flex file bash wget zstd-dev \
|
132
|
+
openssl-dev cyrus-sasl-dev cyrus-sasl cyrus-sasl-login \
|
133
|
+
cyrus-sasl-crammd5 cyrus-sasl-digestmd5 cyrus-sasl-gssapiv2 cyrus-sasl-scram \
|
134
|
+
krb5-libs openssl zlib zlib-dev zstd-libs
|
135
|
+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
136
|
+
with:
|
137
|
+
fetch-depth: 0
|
138
|
+
- name: Configure git safe directory
|
139
|
+
run: git config --global --add safe.directory /__w/karafka-rdkafka/karafka-rdkafka
|
140
|
+
- name: Cache build-tmp directory
|
141
|
+
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
|
142
|
+
with:
|
143
|
+
path: ext/build-tmp-musl
|
144
|
+
key: build-tmp-musl-${{ runner.os }}-${{ hashFiles('ext/*.sh', 'ext/Rakefile') }}-v2
|
145
|
+
- name: Build precompiled librdkafka.so
|
146
|
+
run: |
|
147
|
+
cd ext
|
148
|
+
bash ./build_linux_x86_64_musl.sh
|
149
|
+
- name: Upload precompiled library
|
150
|
+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
151
|
+
with:
|
152
|
+
name: librdkafka-precompiled-musl
|
153
|
+
path: ext/
|
154
|
+
retention-days: 1
|
155
|
+
|
156
|
+
specs_precompiled:
|
157
|
+
timeout-minutes: 30
|
158
|
+
runs-on: ubuntu-latest
|
159
|
+
needs: build_precompiled
|
160
|
+
strategy:
|
161
|
+
fail-fast: false
|
162
|
+
matrix:
|
163
|
+
ruby:
|
164
|
+
- '3.4'
|
165
|
+
- '3.3'
|
166
|
+
- '3.2'
|
167
|
+
- '3.1'
|
168
|
+
include:
|
169
|
+
- ruby: '3.4'
|
170
|
+
coverage: 'true'
|
171
|
+
steps:
|
172
|
+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
173
|
+
with:
|
174
|
+
fetch-depth: 0
|
175
|
+
- name: Download precompiled library
|
176
|
+
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
177
|
+
with:
|
178
|
+
name: librdkafka-precompiled-musl
|
179
|
+
path: ext/
|
180
|
+
- name: Start Kafka with Docker Compose
|
181
|
+
run: |
|
182
|
+
docker compose up -d
|
183
|
+
echo "Waiting for Kafka to be ready..."
|
184
|
+
sleep 10
|
185
|
+
|
186
|
+
for i in {1..30}; do
|
187
|
+
if docker compose exec -T kafka kafka-topics --bootstrap-server localhost:9092 --list >/dev/null 2>&1; then
|
188
|
+
echo "Kafka topics command succeeded!"
|
189
|
+
break
|
190
|
+
fi
|
191
|
+
sleep 2
|
192
|
+
done
|
193
|
+
- name: Run specs with precompiled library
|
194
|
+
env:
|
195
|
+
GITHUB_COVERAGE: ${{ matrix.coverage }}
|
196
|
+
RDKAFKA_EXT_PATH: ${{ github.workspace }}/ext
|
197
|
+
run: |
|
198
|
+
docker run --rm \
|
199
|
+
--network host \
|
200
|
+
-v "${{ github.workspace }}:/workspace" \
|
201
|
+
-w /workspace \
|
202
|
+
-e "GITHUB_COVERAGE=${{ matrix.coverage }}" \
|
203
|
+
-e "RDKAFKA_EXT_PATH=/workspace/ext" \
|
204
|
+
ruby:${{ matrix.ruby }}-alpine \
|
205
|
+
sh -c 'apk add --no-cache git build-base linux-headers bash && git config --global --add safe.directory /workspace && bundle config set --local path vendor/bundle && bundle install && bundle exec ruby -S rspec'
|
@@ -1,7 +1,9 @@
|
|
1
1
|
name: CI macOS ARM64
|
2
|
+
|
2
3
|
concurrency:
|
3
4
|
group: ${{ github.workflow }}-${{ github.ref }}
|
4
5
|
cancel-in-progress: true
|
6
|
+
|
5
7
|
on:
|
6
8
|
pull_request:
|
7
9
|
branches: [ main, master ]
|
@@ -9,13 +11,16 @@ on:
|
|
9
11
|
branches: [ main, master ]
|
10
12
|
schedule:
|
11
13
|
- cron: '0 1 * * *'
|
14
|
+
|
12
15
|
permissions:
|
13
16
|
contents: read
|
17
|
+
|
14
18
|
env:
|
15
19
|
BUNDLE_RETRY: 6
|
16
20
|
BUNDLE_JOBS: 4
|
17
21
|
# Renovate can track and update this version
|
18
22
|
CONFLUENT_VERSION: "8.0.0"
|
23
|
+
|
19
24
|
jobs:
|
20
25
|
build_install:
|
21
26
|
timeout-minutes: 30
|
@@ -1,13 +1,17 @@
|
|
1
1
|
name: Push Linux x86_64 GNU Platform Gem
|
2
|
+
|
2
3
|
on:
|
3
4
|
push:
|
4
5
|
tags:
|
5
6
|
- v*
|
7
|
+
|
6
8
|
permissions:
|
7
9
|
contents: read
|
10
|
+
|
8
11
|
env:
|
9
12
|
BUNDLE_RETRY: 6
|
10
13
|
BUNDLE_JOBS: 4
|
14
|
+
|
11
15
|
jobs:
|
12
16
|
push:
|
13
17
|
if: github.repository_owner == 'karafka'
|
@@ -51,7 +55,7 @@ jobs:
|
|
51
55
|
cd ext
|
52
56
|
./build_linux_x86_64_gnu.sh
|
53
57
|
- name: Configure trusted publishing credentials
|
54
|
-
uses: rubygems/configure-rubygems-credentials@v1.0.0
|
58
|
+
uses: rubygems/configure-rubygems-credentials@bc6dd217f8a4f919d6835fcfefd470ef821f5c44 # v1.0.0
|
55
59
|
- name: Build and push platform-specific gem
|
56
60
|
run: |
|
57
61
|
gem build *.gemspec
|
@@ -0,0 +1,77 @@
|
|
1
|
+
name: Push Linux x86_64 musl Platform Gem
|
2
|
+
on:
|
3
|
+
push:
|
4
|
+
tags:
|
5
|
+
- v*
|
6
|
+
permissions:
|
7
|
+
contents: read
|
8
|
+
env:
|
9
|
+
BUNDLE_RETRY: 6
|
10
|
+
BUNDLE_JOBS: 4
|
11
|
+
jobs:
|
12
|
+
build:
|
13
|
+
if: github.repository_owner == 'karafka'
|
14
|
+
timeout-minutes: 30
|
15
|
+
runs-on: ubuntu-latest
|
16
|
+
environment: deployment
|
17
|
+
container:
|
18
|
+
image: alpine:3.22@sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1
|
19
|
+
steps:
|
20
|
+
- name: Install dependencies
|
21
|
+
run: |
|
22
|
+
apk add --no-cache git curl ca-certificates build-base linux-headers \
|
23
|
+
pkgconf perl autoconf automake libtool bison flex file bash wget zstd-dev \
|
24
|
+
openssl-dev cyrus-sasl-dev cyrus-sasl cyrus-sasl-login \
|
25
|
+
cyrus-sasl-crammd5 cyrus-sasl-digestmd5 cyrus-sasl-gssapiv2 cyrus-sasl-scram \
|
26
|
+
krb5-libs openssl zlib zlib-dev zstd-libs
|
27
|
+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
28
|
+
with:
|
29
|
+
fetch-depth: 0
|
30
|
+
- name: Configure git safe directory
|
31
|
+
run: git config --global --add safe.directory /__w/karafka-rdkafka/karafka-rdkafka
|
32
|
+
- name: Cache build-tmp directory
|
33
|
+
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
|
34
|
+
with:
|
35
|
+
path: ext/build-tmp-musl
|
36
|
+
key: build-tmp-musl-${{ runner.os }}-${{ hashFiles('ext/*.sh', 'ext/Rakefile') }}-v2
|
37
|
+
- name: Build precompiled librdkafka.so
|
38
|
+
run: |
|
39
|
+
cd ext
|
40
|
+
bash ./build_linux_x86_64_musl.sh
|
41
|
+
- name: Upload precompiled library
|
42
|
+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
43
|
+
with:
|
44
|
+
name: librdkafka-precompiled-musl
|
45
|
+
path: ext/
|
46
|
+
retention-days: 1
|
47
|
+
push:
|
48
|
+
if: github.repository_owner == 'karafka'
|
49
|
+
timeout-minutes: 30
|
50
|
+
runs-on: ubuntu-latest
|
51
|
+
needs: build
|
52
|
+
environment: deployment
|
53
|
+
permissions:
|
54
|
+
contents: write
|
55
|
+
id-token: write
|
56
|
+
steps:
|
57
|
+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
58
|
+
with:
|
59
|
+
fetch-depth: 0
|
60
|
+
- name: Download precompiled library
|
61
|
+
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
62
|
+
with:
|
63
|
+
name: librdkafka-precompiled-musl
|
64
|
+
path: ext/
|
65
|
+
- name: Set up Ruby
|
66
|
+
uses: ruby/setup-ruby@a4effe49ee8ee5b8b5091268c473a4628afb5651 # v1.245.0
|
67
|
+
with:
|
68
|
+
ruby-version: '3.4'
|
69
|
+
bundler-cache: false
|
70
|
+
- name: Configure trusted publishing credentials
|
71
|
+
uses: rubygems/configure-rubygems-credentials@bc6dd217f8a4f919d6835fcfefd470ef821f5c44 # v1.0.0
|
72
|
+
- name: Build and push platform-specific gem
|
73
|
+
run: |
|
74
|
+
gem build *.gemspec
|
75
|
+
gem push *.gem
|
76
|
+
env:
|
77
|
+
RUBY_PLATFORM: 'x86_64-linux-musl'
|
@@ -0,0 +1,54 @@
|
|
1
|
+
name: Push macOS ARM64 Platform Gem
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
tags:
|
6
|
+
- v*
|
7
|
+
|
8
|
+
permissions:
|
9
|
+
contents: read
|
10
|
+
|
11
|
+
env:
|
12
|
+
BUNDLE_RETRY: 6
|
13
|
+
BUNDLE_JOBS: 4
|
14
|
+
|
15
|
+
jobs:
|
16
|
+
push:
|
17
|
+
if: github.repository_owner == 'karafka'
|
18
|
+
timeout-minutes: 30
|
19
|
+
runs-on: macos-latest
|
20
|
+
environment: deployment
|
21
|
+
permissions:
|
22
|
+
contents: write
|
23
|
+
id-token: write
|
24
|
+
steps:
|
25
|
+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
26
|
+
with:
|
27
|
+
fetch-depth: 0
|
28
|
+
- name: Install Bash 4+ and Kerberos
|
29
|
+
run: |
|
30
|
+
brew install bash
|
31
|
+
brew list krb5 &>/dev/null || brew install krb5
|
32
|
+
echo "/opt/homebrew/bin" >> $GITHUB_PATH
|
33
|
+
- name: Cache build-tmp directory
|
34
|
+
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
|
35
|
+
with:
|
36
|
+
path: ext/build-tmp-macos
|
37
|
+
key: build-tmp-${{ runner.os }}-${{ hashFiles('ext/*.sh', 'ext/Rakefile') }}-v2
|
38
|
+
- name: Set up Ruby
|
39
|
+
uses: ruby/setup-ruby@a4effe49ee8ee5b8b5091268c473a4628afb5651 # v1.245.0
|
40
|
+
with:
|
41
|
+
ruby-version: '3.4'
|
42
|
+
bundler-cache: false
|
43
|
+
- name: Build precompiled librdkafka for macOS ARM64
|
44
|
+
run: |
|
45
|
+
cd ext
|
46
|
+
/opt/homebrew/bin/bash ./build_macos_arm64.sh
|
47
|
+
- name: Configure trusted publishing credentials
|
48
|
+
uses: rubygems/configure-rubygems-credentials@bc6dd217f8a4f919d6835fcfefd470ef821f5c44 # v1.0.0
|
49
|
+
- name: Build and push platform-specific gem
|
50
|
+
run: |
|
51
|
+
gem build *.gemspec
|
52
|
+
gem push *.gem
|
53
|
+
env:
|
54
|
+
RUBY_PLATFORM: 'arm64-darwin'
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.4.
|
1
|
+
3.4.5
|
data/CHANGELOG.md
CHANGED
@@ -1,8 +1,15 @@
|
|
1
1
|
# Rdkafka Changelog
|
2
2
|
|
3
|
-
## 0.20.0 (
|
3
|
+
## 0.20.0 (2025-07-17)
|
4
4
|
- **[Feature]** Add precompiled `x86_64-linux-gnu` setup.
|
5
|
+
- **[Feature]** Add precompiled `x86_64-linux-musl` setup.
|
5
6
|
- **[Feature]** Add precompiled `macos_arm64` setup.
|
7
|
+
- [Enhancement] Run all specs on each of the platforms with and without precompilation.
|
8
|
+
- [Enhancement] Support transactional id in the ACL API.
|
9
|
+
- [Fix] Fix a case where using empty key on the `musl` architecture would cause a segfault.
|
10
|
+
- [Fix] Fix for null pointer reference bypass on empty string being too wide causing segfault.
|
11
|
+
|
12
|
+
**Note**: Precompiled extensions are a new feature in this release. While they significantly improve installation speed and reduce build dependencies, they should be thoroughly tested in your staging environment before deploying to production. If you encounter any issues with precompiled extensions, you can fall back to building from sources. For more information, see the [Native Extensions documentation](https://karafka.io/docs/Development-Native-Extensions/).
|
6
13
|
|
7
14
|
## 0.19.5 (2025-05-30)
|
8
15
|
- [Enhancement] Allow for producing to non-existing topics with `key` and `partition_key` present.
|
data/README.md
CHANGED
@@ -163,7 +163,7 @@ bundle exec rake produce_messages
|
|
163
163
|
|
164
164
|
| rdkafka-ruby | librdkafka | patches |
|
165
165
|
|-|-|-|
|
166
|
-
| 0.20.x (
|
166
|
+
| 0.20.x (2025-07-17) | 2.8.0 (2025-01-07) | yes |
|
167
167
|
| 0.19.x (2025-01-20) | 2.8.0 (2025-01-07) | yes |
|
168
168
|
| 0.18.0 (2024-11-26) | 2.6.1 (2024-11-18) | yes |
|
169
169
|
| 0.17.4 (2024-09-02) | 2.5.3 (2024-09-02) | yes |
|