Skip to content

Releases: karafka/rdkafka-ruby

v0.25.0

21 Jan 09:59
fb4cabf

Choose a tag to compare

  • [Deprecation] AbstractHandle#wait parameter max_wait_timeout: (seconds) is deprecated in favor of max_wait_timeout_ms: (milliseconds). The old parameter still works but will be removed in v1.0.0.
  • [Deprecation] PartitionsCountCache constructor parameter ttl (seconds) is deprecated in favor of ttl_ms: (milliseconds). The old parameter still works but will be removed in v1.0.0.
  • [Enhancement] Extract all timeout defaults to Rdkafka::Defaults module for discoverability and per-call overrides (#310). All time-related values are now in milliseconds for consistency.
  • [Enhancement] Add timeout_ms parameter to Consumer#each for configurable poll timeout.
  • [Enhancement] Extract non-time configuration values (METADATA_MAX_RETRIES, PARTITIONS_COUNT_CACHE_TTL_MS) to Rdkafka::Defaults module.
  • [Enhancement] Bump librdkafka to 2.12.1
  • [Enhancement] Add descriptive error messages for glibc compatibility issues with instructions for resolution (#654)
  • [Enhancement] Replace magic numbers with named constants throughout codebase for improved readability and maintainability

v0.24.2

31 Oct 20:29
8c44426

Choose a tag to compare

  • [Enhancement] Force lock FFI to 1.17.1 or higher to include critical bug fixes around GCC, write barriers, and thread restarts for forks.
  • [Fix] Fix for Core dump when providing extensions to oauthbearer_set_token (dssjoblom)

v0.24.1

10 Oct 13:11
cff4ae0

Choose a tag to compare

  • [Fix] Fix Github Action Ruby reference preventing non-compiled releases.

v0.24.0

10 Oct 12:59
177b9fd

Choose a tag to compare

  • [Enhancement] Bump librdkafka to 2.11.1

v0.23.1

25 Sep 13:53
be76ad6

Choose a tag to compare

  • [Enhancement] Improve sigstore attestation for precompiled releases.
  • [Fix] Fix incorrectly set default SSL certs dir.
  • [Fix] Disable OpenSSL Heartbeats during compilation.

v0.23.0

04 Sep 19:15
7e63f17

Choose a tag to compare

  • [Breaking] Drop support for Ruby 3.1 to move forward with the fiber scheduler work.
  • [Enhancement] Bump librdkafka to 2.11.0
  • [Enhancement] Support explicit Debian testing due to lib issues.
  • [Enhancement] Support ARM64 Gnu precompilation.
  • [Enhancement] Improve what symbols are exposed outside of the precompiled extensions.
  • [Enhancement] Introduce an integration suite layer for non RSpec specs execution.
  • [Fix] Add json gem as a dependency (was missing but used).

v0.22.2

21 Jul 19:52
4b6e37e

Choose a tag to compare

  • [Enhancement] Drastically increase number of platforms in the integration suite
  • [Fix] Support Ubuntu 22.04 and older Alpine precompiled versions
  • [Fix] FFI::DynamicLibrary.load_library': Could not open library

v0.22.1

17 Jul 15:27
a162a24

Choose a tag to compare

  • [Fix] Fix Rakefile being available in the precompiled versions causing build failures.

v0.22.0

17 Jul 09:25
ccc5b15

Choose a tag to compare

  • [Feature] Add precompiled x86_64-linux-gnu setup.
  • [Feature] Add precompiled x86_64-linux-musl setup.
  • [Feature] Add precompiled macos_arm64 setup.
  • [Fix] Fix a case where using empty key on the musl architecture would cause a segfault.
  • [Fix] Fix for null pointer reference bypass on empty string being too wide causing segfault.
  • [Enhancement] Allow for producing to non-existing topics with key and partition_key present.
  • [Enhancement] Replace TTL-based partition count cache with a global cache that reuses librdkafka statistics data when possible.
  • [Enhancement] Support producing and consuming of headers with mulitple values (KIP-82).
  • [Enhancement] Allow native Kafka customization poll time.
  • [Enhancement] Roll out experimental jruby support.
  • [Enhancement] Run all specs on each of the platforms with and without precompilation.
  • [Enhancement] Support transactional id in the ACL API.
  • [Fix] Fix issue where post-closed producer C topics refs would not be cleaned.
  • [Fix] Fiber causes Segmentation Fault.
  • [Change] Move to trusted-publishers and remove signing since no longer needed.

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.

v0.22.0.beta1

03 Jul 14:22
6ef7b31

Choose a tag to compare

v0.22.0.beta1 Pre-release
Pre-release
  • [Feature] Add precompiled x86_64-linux-gnu setup.
  • [Feature] Add precompiled x86_64-linux-musl setup.
  • [Feature] Add precompiled macos_arm64 setup.
  • [Fix] Fix a case where using empty key on the musl architecture would cause a segfault.
  • [Enhancement] Allow for producing to non-existing topics with key and partition_key present.
  • [Enhancement] Replace TTL-based partition count cache with a global cache that reuses librdkafka statistics data when possible.
  • [Enhancement] Support producing and consuming of headers with mulitple values (KIP-82).
  • [Enhancement] Allow native Kafka customization poll time.
  • [Enhancement] Roll out experimental jruby support.
  • [Enhancement] Run all specs on each of the platforms with and without precompilation.
  • [Fix] Fix issue where post-closed producer C topics refs would not be cleaned.
  • [Fix] Fiber causes Segmentation Fault.
  • [Change] Move to trusted-publishers and remove signing since no longer needed.

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.