All Versions
175
Latest Version
Avg Release Cycle
63 days
Latest Release
-
Changelog History
Page 2
Changelog History
Page 2
-
v6.4.0 Changes
- π SECURITY: Validate input to avoid possible DoS in Web UI.
- Add strict argument checking [#5071]
Sidekiq will now log a warning if JSON-unsafe arguments are passed to
perform_async
. AddSidekiq.strict_args!(false)
to your initializer to disable this warning. This warning will switch to an exception in Sidekiq 7.0. - π Note that Delayed Extensions will be removed in Sidekiq 7.0 [#5076]
- β Add
perform_{inline,sync}
in Sidekiq::Job to run a job synchronously [#5061, hasan-ally]ruby SomeJob.perform_async(args...) SomeJob.perform_sync(args...) SomeJob.perform_inline(args...)
You can also dynamically redirect a job to run synchronously:ruby SomeJob.set("sync": true).perform_async(args...) # will run via perform_inline
- π· Replace Sidekiq::Worker
app/workers
generator with Sidekiq::Jobapp/sidekiq
generator [#5055]bin/rails generate sidekiq:job ProcessOrderJob
- π Fix job retries losing CurrentAttributes [#5090]
- π Tweak shutdown to give long-running threads time to cleanup [#5095]
-
v6.3.1 Changes
- π Fix keyword arguments error with CurrentAttributes on Ruby 3.0 [#5048]
-
v6.3.0 Changes
- BREAK: The Web UI has been refactored to remove jQuery. Any UI extensions which use jQuery will break.
- π FEATURE: Sidekiq.logger has been enhanced so any
Rails.logger
output in jobs now shows up in the Sidekiq console. Remove any logger hacks in your initializer and see if it Just Worksβ’ now. [#5021] - π FEATURE: Add
Sidekiq::Job
alias forSidekiq::Worker
, to better reflect industry standard terminology. You can now do this:ruby class MyJob include Sidekiq::Job sidekiq_options ... def perform(args) end end
- π FEATURE: Support for serializing ActiveSupport::CurrentAttributes into each job. [#4982] ```ruby
-
v6.2.2 Changes
- Reduce retry jitter, add jitter to
sidekiq_retry_in
values [#4957] - β± Minimize scheduler load on Redis at scale [#4882]
- π Improve logging of delay jobs [#4904, BuonOno]
- Minor CSS improvements for buttons and tables, design PRs always welcome!
- π» Tweak Web UI
Cache-Control
header [#4966] - π· Rename internal API class
Sidekiq::Job
toSidekiq::JobRecord
[#4955]
- Reduce retry jitter, add jitter to
-
v6.2.1 Changes
- β‘οΈ Update RTT warning logic to handle transient RTT spikes [#4851]
- π Fix very low priority CVE on unescaped queue name [#4852]
- β Add note about sessions and Rails apps in API mode
-
v6.2.0 Changes
- π² Store Redis RTT and log if poor [#4824]
- β Add process/thread stats to Busy page [#4806]
- π Improve Web UI on mobile devices [#4840]
- π¨ Refactor Web UI session usage [#4804]
Numerous people have hit "Forbidden" errors and struggled with Sidekiq's
Web UI session requirement. If you have code in your initializer for
Web sessions, it's quite possible it will need to be removed. Here's
an overview:
``
Sidekiq::Web needs a valid Rack session for CSRF protection. If this is a Rails app, make sure you mount Sidekiq::Web *inside* your routes in
config/routes.rb` so Sidekiq can reuse the Rails session:
Rails.application.routes.draw do mount Sidekiq::Web => "/sidekiq" .... end
If this is a bare Rack app, use a session middleware before Sidekiq::Web:
# first, use IRB to create a shared secret key for sessions and commit it require 'securerandom'; File.open(".session.key", "w") {|f| f.write(SecureRandom.hex(32)) }
# now, update your Rack app to include the secret with a session cookie middleware use Rack::Session::Cookie, secret: File.read(".session.key"), same_site: true, max_age: 86400 run Sidekiq::Web
If this is a Rails app in API mode, you need to enable sessions.
https://guides.rubyonrails.org/api_app.html#using-session-middlewares
-
v6.1.3 Changes
- π§ Warn if Redis is configured to evict data under memory pressure [#4752]
- β Add process RSS on the Busy page [#4717]
-
v6.1.2 Changes
- π Improve readability in dark mode Web UI [#4674]
- π Fix Web UI crash with corrupt session [#4672]
- π Allow middleware to yield arguments [#4673, @eugeneius]
- π· Migrate CI from CircleCI to GitHub Actions [#4677]
-
v6.1.1 Changes
- π· Jobs are now sorted by age in the Busy Workers table. [#4641]
- π Fix "check all" JS logic in Web UI [#4619]
-
v6.1.0 Changes
- π» Web UI - Dark Mode fixes [#4543, natematykiewicz]
- π» Ensure
Rack::ContentLength
is loaded as middleware for correct Web UI responses [#4541] - π² Avoid exception dumping SSL store in Redis connection logging [#4532]
- π Better error messages in Sidekiq::Client [#4549]
- β Remove rack-protection, reimplement CSRF protection [#4588]
- Require redis-rb 4.2 [#4591]
- β‘οΈ Update to jquery 1.12.4 [#4593]
- π¨ Refactor internal fetch logic and API [#4602]