gems karafka 2.5.1
v2.5.1

17 hours ago
  • [Breaking] Remove Ruby 3.1 support according to EOL.
  • [Feature] Support Swarm mode on MacOS.
  • [Enhancement] Support past dispatch_at times with jitter: 0 in the OSS Karafka to support ActiveJob continuation.
  • [Enhancement] Use direct topic dispatches when dispatch_at is used for past times to bypass Scheduled Messages flow.
  • [Enhancement] Support immediate error raising with auto.offset.reset set to error.
  • [Enhancement] Don't create not needed dirs in the non-Rails setup template.
  • [Enhancement] Improve printing of TTIN to separate threads.
  • [Enhancement] Support transactional ID resource in the Admin ACL management.
  • [Enhancement] Move post-forceful shutdown termination wait value to a config.
  • [Enhancement] Include consumer group, subscription group and other details in error logs for key error locations.
  • [Enhancement] Inherit from ActiveJob::QueueAdapters::AbstractAdapter when possible for ActiveJob base class.
  • [Enhancement] Disable Nagle algorithm by default for improved network performance.
  • [Enhancement] Optimize the messages buffer array memory allocation pattern.
  • [Maintenance] Add basic direct DD integration spec via DD gem karafka monitoring feature.
  • [Maintenance] Add integration specs for WaterDrop connection pool usage from within consumers.
  • [Refactoring] Comprehensive Admin module refactoring: Extract topic operations into Admin::Topics class and consumer group operations into Admin::ConsumerGroups class with proper inheritance hierarchy, cross-class method usage optimization, and constants moved to appropriate locations where they are actually used.
  • [Refactoring] Move routing-related contracts from Karafka::Contracts:: to Karafka::Routing::Contracts:: namespace and reorganize error message structure in YAML files under routing: scope for better code organization and logical grouping.
  • [Refactoring] Move config-related contracts from Karafka::Contracts::Config to Karafka::Setup::Contracts::Config namespace and reorganize error message structure in YAML files under setup: scope for better code organization and logical grouping.
  • [Refactoring] Move CLI server contracts from Karafka::Contracts::ServerCliOptions to Karafka::Cli::Contracts::Server namespace and reorganize error message structure in YAML files under cli: scope for improved naming consistency and logical grouping.
  • [Refactoring] Replace execution mode symbol-based checks with dedicated ExecutionMode class providing cleaner API with query methods (#swarm?, #embedded?) and state change methods (#swarm!, #embedded!) for improved type safety and code clarity.
  • [Refactoring] Replace connection client mode symbol-based checks with dedicated Connection::Mode class providing cleaner API with query methods (#subscribe?, #assign?) and state change methods (#subscribe!, #assign!) for improved code clarity.
  • [Fix] Improve same timestamp dispatch in scheduled messages on Ruby 3.2.
  • [Fix] Fix incorrect (6 seconds vs 60 seconds) reset of connections on non-recoverable errors.
  • [Fix] Introduce mutex-safe and thread-safe #inspect where needed.
  • [Fix] Fix too loose requirement of Ruby 3.0 when it was 3.1 via transitive dependencies.
  • [Fix] Fix Pro Cleaner Messages compatibility with external libraries that prepend modules to #each method (e.g., DataDog tracing).
  • [Fix] SG exclusion in swarm triggers a contract validation error.
  • [Change] Require waterdrop >= 2.8.10 to support new features.
  • [Change] Require karafka-rdkafka >= 0.22.0 to support new features and require SSL-bug free version.
  • [Change] Remove no longer needed cooperative.sticky rebalance patch.
  • [Change] Normalize how libs and deps are required (no functional change for the end user)
  • [Change] Remove Ruby 3.1 specs according to the EOL schedule.

Don't miss a new karafka release

NewReleases is sending notifications on new releases.