All Versions
148
Latest Version
Avg Release Cycle
37 days
Latest Release
20 days ago

Changelog History
Page 1

  • v6.0.3

    October 25, 2019
    • 🛠 Fix Sidekiq::Client.push_bulk API which was erroneously putting invalid at values in the job payloads [#4321]
  • v6.0.2

    October 12, 2019
    • 🛠 Fix Sidekiq Enterprise's rolling restart functionality, broken by refactoring in 6.0.0. [#4334]
    • 🐎 More internal refactoring and performance tuning [fatkodima]
  • v6.0.1

    October 02, 2019
    • 🐎 Performance tuning, Sidekiq should be 10-15% faster now [#4303, 4299, 4269, fatkodima]
    • 💻 Dark Mode support in Web UI (further design polish welcome!) [#4227, mperham, fatkodima, silent-e]
    • 👷 Job-specific log levels, allowing you to turn on debugging for problematic workers. [fatkodima, #4287] ruby MyWorker.set(log_level: :debug).perform_async(...)
    • 👷 Ad-hoc job tags. You can tag your jobs with, e.g, subdomain, tenant, country, locale, application, version, user/client, "alpha/beta/pro/ent", types of jobs, teams/people responsible for jobs, additional metadata, etc. Tags are shown on different pages with job listings. Sidekiq Pro users can filter based on them [fatkodima, #4280] ruby class MyWorker include Sidekiq::Worker sidekiq_options tags: ['bank-ops', 'alpha'] ... end
    • ⏱ Fetch scheduled jobs in batches before pushing into specific queues. This will decrease enqueueing time of scheduled jobs by a third. [fatkodima, #4273] ScheduledSet with 10,000 jobs Before: 56.6 seconds After: 39.2 seconds
    • Compress error backtraces before pushing into Redis, if you are storing error backtraces, this will halve the size of your RetrySet in Redis [fatkodima, #4272] RetrySet with 100,000 jobs Before: 261 MB After: 129 MB
    • 👌 Support display of ActiveJob 6.0 payloads in the Web UI [#4263]
    • Add SortedSet#scan for pattern based scanning. For large sets this API will be MUCH faster than standard iteration using each. [fatkodima, #4262] ruby Sidekiq::DeadSet.new.scan("UnreliableApi") do |job| job.retry end
    • 👷 Dramatically speed up SortedSet#find_job(jid) by using Redis's ZSCAN support, approx 10x faster. [fatkodima, #4259] zscan 0.179366 0.047727 0.227093 ( 1.161376) enum 8.522311 0.419826 8.942137 ( 9.785079)
    • ✅ Respect rails' generators test_framework option and gracefully handle extra worker suffix on generator [fatkodima, #4256]
    • ➕ Add ability to sort 'Enqueued' page on Web UI by position in the queue [fatkodima, #4248]
    • 👌 Support Client.push_bulk with different delays [fatkodima, #4243] ruby Sidekiq::Client.push_bulk("class" => FooJob, "args" => [[1], [2]], "at" => [1.minute.from_now.to_f, 5.minutes.from_now.to_f])
    • ✅ Easier way to test enqueuing specific ActionMailer and ActiveRecord delayed jobs. Instead of manually parsing embedded class, you can now test by fetching jobs for specific classes. [fatkodima, #4292] ruby assert_equal 1, Sidekiq::Extensions::DelayedMailer.jobs_for(FooMailer).size
    • ➕ Add sidekiqmon to gemspec executables [#4242]
    • Gracefully handle Sidekiq.logger = nil [#4240]
    • Inject Sidekiq::LogContext module if user-supplied logger does not include it [#4239]
  • v6.0

    🚀 This release has major breaking changes. Read and test carefully in production.

    • 🔧 With Rails 6.0.1+, ActiveJobs can now use sidekiq_options directly to configure Sidekiq features/internals like the retry subsystem. [#4213, pirj] ruby class MyJob < ActiveJob::Base queue_as :myqueue sidekiq_options retry: 10, backtrace: 20 def perform(...) end end
    • 🌲 Logging has been redesigned to allow for pluggable log formatters: ruby Sidekiq.configure_server do |config| config.log_formatter = Sidekiq::Logger::Formatters::JSON.new end 👀 See the Logging wiki page for more details.
    • 💥 BREAKING CHANGE Validate proper usage of the REDIS_PROVIDER variable. This variable is meant to hold the name of the environment variable which contains your Redis URL, so that you can switch Redis providers quickly and easily with a single variable change. It is not meant to hold the actual Redis URL itself. If you want to manually set the Redis URL (not recommended as it implies you have no failover), then you may set REDIS_URL directly. [#3969]
    • 💥 BREAKING CHANGE Increase default shutdown timeout from 8 seconds to 25 seconds. Both Heroku and ECS now use 30 second shutdown timeout by default and we want Sidekiq to take advantage of this time. If you have deployment scripts which depend on the old default timeout, use -t 8 to get the old behavior. [#3968]
    • 💥 BREAKING CHANGE Remove the daemonization, logfile and pidfile arguments to Sidekiq. Use a proper process supervisor (e.g. systemd or foreman) to manage Sidekiq. See the Deployment wiki page for links to more resources.
    • ↔ Integrate the StandardRB code formatter to ensure consistent code styling. [#4114, gearnode]
  • v6.0.0.pre1

    April 23, 2019
  • v5.2.7

    April 22, 2019
    • 🛠 Fix stale enqueued_at when retrying [#4149]
    • 🏗 Move build to Circle CI [#4120]
  • v5.2.6

    April 12, 2019
    • 🛠 Fix edge case where a job failure during Redis outage could result in a lost job [#4141]
    • 👍 Better handling of malformed job arguments in payload [#4095]
    • ⏪ Restore bootstap's dropdown css component [#4099, urkle]
    • 🙋‍♂ Display human-friendly time diff for longer queue latencies [#4111, interlinked]
    • 👍 Allow Sidekiq::Worker#set to be chained
  • v5.2.5

    January 08, 2019
    • 🛠 Fix default usage of config/sidekiq.yml [#4077, Tensho]
  • v5.2.4

    January 07, 2019
    • ➕ Add warnings for various deprecations and changes coming in Sidekiq 6.0. See the 6-0 branch. [#4056]
    • ✅ Various improvements to the Sidekiq test suite and coverage [#4026, #4039, Tensho]
  • v5.2.3

    November 06, 2018
    • ⚠ Warning message on invalid REDIS_PROVIDER [#3970]
    • ➕ Add sidekiqctl status command [#4003, dzunk]
    • ⚡️ Update elapsed time calculatons to use monotonic clock [#3999]
    • 🛠 Fix a few issues with mobile Web UI styling [#3973, navied]
    • 👷 Jobs with retry: false now go through the global death_handlers, meaning you can take action on failed ephemeral jobs. [#3980, Benjamin-Dobell]
    • 🛠 Fix race condition in defining Workers. [#3997, mattbooks]