All Versions
112
Latest Version
Avg Release Cycle
5 days
Latest Release
489 days ago

Changelog History
Page 4

  • v2.0.0-beta3 Changes

    June 14, 2022
    • ๐Ÿ— Jobs building responsibility extracted out of the listener code base.
    • ๐Ÿ›  Fix a case where specs supervisor would try to kill no longer running process (#868)
    • ๐Ÿ›  Fix an instable integration spec that could misbehave under load
    • โœ… Commit offsets prior to pausing partitions to ensure that the latest offset is always committed
    • ๐Ÿ›  Fix a case where consecutive CTRL+C (non-stop) would case an exception during forced shutdown
    • โž• Add missing consumer.prepared.error into LoggerListener
    • Delegate partition resuming from the consumers to listeners threads.
    • โž• Add support for Long Running Jobs (LRJ) for ActiveJob [PRO]
    • โž• Add support for Long Running Jobs for consumers [PRO]
    • ๐Ÿ‘ท Allow active_job_topic to accept a block for extra topic related settings
    • โœ‚ Remove no longer needed logger threads
    • Auto-adapt number of processes for integration specs based on the number of CPUs
    • ๐Ÿ–จ Introduce an integration spec runner that prints everything to stdout (better for development)
    • ๐Ÿ‘ท Introduce extra integration specs for various ActiveJob usage scenarios
    • ๐Ÿ“‡ Rename consumer method #prepared to #prepare to reflect better its use-case
    • โœ… For test and dev raise an error when expired license key is used (never for non dev)
    • โž• Add worker related monitor events (worker.process and worker.processed)
    • โšก๏ธ Update LoggerListener to include more useful information about processing and polling messages
  • v2.0.0-beta2 Changes

    June 07, 2022
    • Abstract away notion of topics groups (until now it was just an array)
    • โšก๏ธ Optimize how jobs queue is closed. Since we enqueue jobs only from the listeners, we can safely close jobs queue once listeners are done. By extracting this responsibility from listeners, we remove corner cases and race conditions. Note here: for non-blocking jobs we do wait for them to finish while running the poll. This ensures, that for async jobs that are long-living, we do not reach max.poll.interval.
    • ๐Ÿ‘ท Shutdown jobs are executed in workers to align all the jobs behaviours.
    • ๐Ÿ‘ท Shutdown jobs are always blocking.
    • ๐Ÿ‘ท Notion of ListenersBatch was introduced similar to WorkersBatch to abstract this concept.
    • โฑ Change default shutdown_timeout to be more than max_wait_time not to cause forced shutdown when no messages are being received from Kafka.
    • โฑ Abstract away scheduling of revocation and shutdown jobs for both default and pro schedulers
    • Introduce a second (internal) messages buffer to distinguish between raw messages buffer and karafka messages buffer
    • ๐Ÿ“‡ Move messages and their metadata remap process to the listener thread to allow for their inline usage
    • ๐Ÿ”„ Change how we wait in the shutdown phase, so shutdown jobs can still use Kafka connection even if they run for a longer period of time. This will prevent us from being kicked out from the group early.
    • โฑ Introduce validation that ensures, that shutdown_timeout is more than max_wait_time. This will prevent users from ending up with a config that could lead to frequent forceful shutdowns.
  • v2.0.0-beta1 Changes

    May 22, 2022
    • โšก๏ธ Update the jobs queue blocking engine and allow for non-blocking jobs execution
    • Provide #prepared hook that always runs before the fetching loop is unblocked
    • ๐ŸŽ [Pro] Introduce performance tracker for scheduling optimizer
    • Provide ability to pause (#pause) and resume (#resume) given partitions from the consumers
    • ๐Ÿ”จ Small integration specs refactoring + specs for pausing scenarios
  • v2.0.0-alpha6 Changes

    April 17, 2022
    • ๐Ÿ›  Fix a bug, where upon missing boot file and Rails, railtie would fail with a generic exception (#818)
    • ๐Ÿ›  Fix an issue with parallel pristine specs colliding with each other during bundle install (#820)
    • Replace consumer.consume with consumer.consumed event to match the behaviour
    • ๐Ÿ‘‰ Make sure, that offset committing happens before the consumer.consumed event is propagated
    • ๐Ÿ›  Fix for failing when not installed (just a dependency) (#817)
    • Evict messages from partitions that were lost upon rebalancing (#825)
    • Do not run #revoked on partitions that were lost and assigned back upon rebalancing (#825)
    • โœ‚ Remove potential duplicated that could occur upon rebalance with re-assigned partitions (#825)
    • โšก๏ธ Optimize integration test suite additional consumers shutdown process (#828)
    • โšก๏ธ Optimize messages eviction and duplicates removal on poll stopped due to lack of messages
    • โž• Add static group membership integration spec
  • v2.0.0-alpha5 Changes

    April 03, 2022
    • ๐Ÿ“‡ Rename StdoutListener to LoggerListener (#811)
  • v2.0.0-alpha4 Changes

    March 20, 2022
    • ๐Ÿ‘ท Rails support without ActiveJob queue adapter usage (#805)
  • v2.0.0-alpha3 Changes

    March 16, 2022
    • โช Restore 'app.initialized' state and add notification on it
    • ๐Ÿ›  Fix the installation flow for Rails and add integration tests for this scenario
    • โž• Add more integration tests covering some edge cases
  • v2.0.0-alpha2 Changes

    February 19, 2022
    • Require kafka keys to be symbols
    • ๐Ÿ‘ท [Pro] Added ActiveJob Pro adapter
    • โšก๏ธ Small updates to the license and docs
  • v2.0.0-alpha1 Changes

    January 30, 2022
    • ๐Ÿ”„ Change license to LGPL-3.0
    • [Pro] Introduce a Pro subscription
    • ๐Ÿ’Ž Switch from ruby-kafka to librdkafka as an underlying driver
    • โœ… Introduce fully automatic integration tests that go through the whole server lifecycle
    • โ†” Integrate WaterDrop tightly with autoconfiguration inheritance and an option to redefine it
    • ๐Ÿ‘ท Multi-threaded support for concurrent jobs consumption (when in separate topics and/or partitions)
    • ๐Ÿ‘ Introduce subscriptions groups concept for better resources management
    • โœ‚ Remove completely all the callbacks in favour of finalizer method #on_shutdown
    • Provide on_revoked method for taking actions upon topic revoke
    • โœ‚ Remove single message consumption mode in favour of documentation on how to do it easily by yourself
    • ๐Ÿ”€ Provide sync and async offset management with async preferred
    • ๐Ÿ’Ž Introduce seamless Ruby on Rails integration via Rails::Railte
    • โšก๏ธ Update cli info to reflect the 2.0 details
    • โœ‚ Remove responders in favour of WaterDrop 2.0 producer
    • โœ‚ Remove pidfiles support
    • โœ‚ Remove daemonization support
    • ๐Ÿ”ง Stop validating kafka configuration beyond minimum as it is handled by librdkafka
    • โœ‚ Remove topics mappers concept
    • Reorganize monitoring to match new concepts
    • ๐Ÿ‘ท Notify on fatal worker processing errors
    • ๐Ÿ“‡ Rename Karafka::Params::BatchMetadata to Karafka::Messages::BatchMetadata
    • ๐Ÿ“‡ Rename Karafka::Params::Params to Karafka::Messages::Message
    • ๐Ÿ“‡ Rename #params_batch in consumers to #messages
    • ๐Ÿ“‡ Rename Karafka::Params::Metadata to Karafka::Messages::Metadata
    • ๐Ÿ‘ Allow for processing work of multiple consumer groups by the same worker poll
    • ๐Ÿ“‡ Rename Karafka::Fetcher to Karafka::Runner and align notifications key names
    • โšก๏ธ Update install templates
    • ๐Ÿ‘ sidekiq-backend is no longer supported
    • โšก๏ธ testing gem for RSpec has been updated
    • ๐Ÿ‘ WaterDrop 2.1+ support
    • ๐Ÿ’… Simple routing style (0.5) now builds a single consumer group instead of one per topic
    • โšก๏ธ Example apps were updated
    • Hook for underlying statistics emitted from librdkafka have been added
    • Hook for underlying async errors emitted from librdkafka have been added
    • ๐Ÿ‘ท ActiveJob Rails adapter
    • โž• Added benchmarks that can be used to profile Karafka
    • Standardize error hook for all error reporting
  • v1.4.13 Changes

    February 19, 2022
    • โฌ‡๏ธ Drop support for ruby 2.6
    • โž• Add mfa requirement