- support for Sidekiq 7.2 (thanks for the issue report 9mm)
- dropped support for Sidekiq 5 and older as it reached EOL
- removed
redis
as gem dependency (relying on sidekiq version you're using to choose the right one)
- support for Sidekiq 7 (thanks to @stympy)
- move CI pipelines to Github Actions - drop tests for everything below Sidekiq 5, run tests on redis 6.2 & 7.0 and ruby 2.6 - 3.1
- maintenance - test on latest ruby versions (remove outdated rubies from build), add sidekiq 6 to build matrix, remove coveralls
- fix for ruby 3 (thanks to @ak15)
- make lock container configurable (non breaking change) - in case you would like to something else than
Thread.current
- now you easily can
- do not assume
ActiveSupport
is loaded / or oldSidekiq
patches are present (add own symbolize keys logic) - make
options
andpayload
attr readers asprivate
inRedisLock
as it should be - potentially breaking change if you were accessing those (abusing) somehow for whatever reason (that shouldn't happen in the first place!) - run test on travis for sidekiq
2.17
,3.5
,4.2
and>= 5.1
and all newest rubies (2.2
-2.5
)
- ability to set custom lock value. Works just like setting timeout and name, handles procs as well (thanks to @piokaczm)
sidekiq_options lock: {
timeout: timeout,
name: name,
value: custom_value
}
- ability to globally configure
lock
method name
Sidekiq.configure_server do |config|
config.lock_method = :redis_lock
end
-
added inline test helper, by requiring
sidekiq/lock/testing/inline
you will have access to two methods:-
set_sidekiq_lock(worker_class, payload)
-
clear_sidekiq_lock
That will setup
RedisLock
under proper thread variable. This can be handy if you test your workers inline (without full stack middleware) -
- Initial release