Skip to content

Latest commit

 

History

History
245 lines (157 loc) · 7.92 KB

CHANGELOG.md

File metadata and controls

245 lines (157 loc) · 7.92 KB

v6.0.6

  • Fixes a bug with the command line utility (#321)
  • Internal refactoring to improve performance (#318)
  • Adds coverage for retrying jobs

v6.0.5

  • Fixes a bug with keys not being deleted ([#317](mhenrixon#317
  • ))

v6.0.4

  • Prevent locks from stealing each other (#316)

v6.0.3

  • Fixes a few hickups (#315)

v6.0.2

  • Fixes sidekiq web pagination of unique digests
  • Fixes lock_expiration usage (Lua doesn't support expire after persisting a key)

v6.0.1

  • Remove unused method that causes conflict with sidekiq/web

v6.0.0

  • Complete rewrite of the locking mechanism
  • Improved README
  • Improved reliability
  • Improved coverage
  • Removed a ton of default configuration
  • Removed support for ActiveJob
  • Added WhileExecutingReject unique: :while_executing_reject
  • Renamed UntilTimeout to UntilExpired
  • Removed concurrency for now (a0cff5bc42edbe7190d6ede7e7f845074d2d7af6)
  • Improved integration testing for locks
  • Totally delete the hash that was growing out of proportion
  • Adds a sidekiq web extension for viewing and deleting unique digests
  • Renamed the configuration unique: to lock: (still backwards compatible)
  • Added some very simplistic conflict strategies.

v5.1.0

  • Refactoring the runtime locks (WhileExecuting)

v5.0.10

  • Cleans up test setup and make tests more readable
  • Allow raising all errors
  • Log previously hidden errors
  • Revert the changes of v5.0.5 (8a4b7648b8b0ee5d7dc1f5f5a036f41d52ad9a42)
  • Allow name errors in unique args method to be raised

v5.0.9

  • #229 Use HSCAN for expiring keys
  • #232 Fix testing helper

v5.0.8

v5.0.7

v5.0.6

v5.0.5

  • Use a class level mutex for while_executing

v5.0.4

  • Fixes a problem with installing the gem

v5.0.3

  • Removes test files and appraisals and such from the released gem version to speed up gem installs

v5.0.2

  • Added more helpful debug, warning and error messages for failures to collect unique arghuments

v5.0.1

  • Added a command line util for cleaning out expired keys
  • Use SidekiqUniqueJobs.logger instead of spreading out Sidekiq.logger everywhere.

v5.0.0

  • Only support Sidekiq >= 4
  • Removed overrides and support for older Sidekiq testing
  • Added coverage

v4.0.18

  • Allow mock_redis to be used over redis
  • Fixes some locking inconsistencies

v4.0.17

  • Always release lock in the lua script release_lock.lua and return success #169

v4.0.16

  • Allow run & queue lock timeout (expiration) to be different #164
  • Fix a bug with loading sidekiq test overrides (#167

v4.0.15

  • Close #156
  • Close #158
  • Style fixes and some minor adjustments to the console/cmd line app

v4.0.13

  • Allow deleting locks by jid

v4.0.12

v4.0.11

  • Always load forwardable #152

v4.0.10

  • Fix #152
  • Minor improvement to internal esthetics

v4.0.9

  • Add command line and console extensions for removal of unique jobs (c292d87)

v4.0.8

  • Use unique arguments for the WhileExecuting lock (#127
  • Delicensed code (#132
  • Fix queuing unique jobs (#138

v4.0.7

v4.0.6

  • Removes enforced uniqueness for all jobs (#127

v4.0.5

  • Forces look for Sidekiq::Testing in Sidekiq without ancestors #129

v4.0.4

  • Fix usage with active job
  • Get rid of unneeded configuration options unique_args_enabled (just use whatever unique argument that is configured).

v4.0.3

  • Remove unique_lock and use unique: to set this like in unique: :until_timeout
  • Warn when using unique: true and suggest to change it to what we need with a fallback.
  • Create constants for hash keys to avoid having to fix spelling or for renaming keys only having to be done in one place and avoid having to type .freeze everywhere.
  • Move all explicit logic out from the server middle ware and make it just call execute on the instance of the lock class (prepare for allowing custom locking classes to be used).
  • Create a new job for scheduling jobs after it started executing but only allow one job to run at the same time.

v4.0.2

  • Fix a problem with an unresolved reference

v4.0.1

  • Get rid of development dependency on active support (causing trouble with jruby)

v4.0.0

  • Improved uniqueness handling (complete refactoring, upgrade with causion)
  • 100% breaking changes

v3.0.15

  • Jobs only ever unlock themselves now (see #96 & #94 for info) thanks @pik
  • Slight refactoring and internal renaming. Shouldn't affect anyone
  • Run locks as an alternative when you only need to prevent the same job running twice but want to be able to schedule it multiple times. See #99 (thanks @pik)
  • Fixes #90, #92, #93, #97, #98, #100, #101, #105

v3.0.14

  • Improve uniqueness check performance thanks @mpherham
  • Remove locks in sidekiq fake testing mode
  • Do not unlock jobs when sidekiq is shutting down

v3.0.13

  • Improved testing capabilities (testing uniqueness should not work better)
  • Configurable logging of duplicate payloads
  • Now requires sidekiq_unique_ext and sidekiq/api by default
  • Drop support for MRI 1.9 and sidekiq 2

v3.0.11

  • Ensure threadsafety (thanks to adstage-david)

v3.0.9

  • Fixed that all jobs stopped processing

v3.0.8

  • Unique extensions for Web GUI by @rickenharp. Uniqueness will now be removed when a job is.

v3.0.7

  • Internal refactoring
  • Improved coverage
  • Rubocop style validation

v3.0.5

  • Fixed the different test modes (major thanks to @salrepe)

v3.0.2

  • Removed runtime dependency on mock_redis (add gem 'mock_redis' to your desired group to use it)

v2.7.0

  • Use mock_redis when testing in fake mode
  • Replace minitest with rspec
  • Add codeclimate badge
  • Update travis with redis-server

v2.6.5

v2.1.0

Extracted the unique jobs portion from sidekiq main repo since @mperham dropped support for it.