Skip to content

Latest commit

 

History

History
2200 lines (1297 loc) · 126 KB

CHANGELOG.md

File metadata and controls

2200 lines (1297 loc) · 126 KB

Changelog

Full Changelog

Merged pull requests:

v8.0.10 (2024-02-22)

Full Changelog

Closed issues:

  • until_and_while_executing and lock_ttl: jobs silently dropped #788
  • Slow evalsha causing timeouts #668

v7.1.33 (2024-02-12)

Full Changelog

v8.0.9 (2024-02-12)

Full Changelog

Fixed bugs:

v8.0.8 (2024-02-12)

Full Changelog

Implemented enhancements:

  • fix: ensure a new lock isn't conflicting with itself #830 (mhenrixon)

Fixed bugs:

  • until_and_while_executing not entering perform method on initial run #824
  • fix(digest): write digest on middleware call #774 (mhenrixon)

Closed issues:

  • incompatibility with sidekiq-failures #790
  • Jobs queued during existing job inherit lock digest #766

v8.0.7 (2024-02-05)

Full Changelog

Implemented enhancements:

Fixed bugs:

Closed issues:

Merged pull requests:

v8.0.6 (2024-01-24)

Full Changelog

Implemented enhancements:

Closed issues:

  • should respond to has_valid_sidekiq_options? #822
  • while_executing with on_conflict: :reschedule Reschedule job after job execution #800
  • Large retry queue causes reaper to run too slow #759

Merged pull requests:

v7.1.32 (2023-11-11)

Full Changelog

Closed issues:

  • Reaper manager registration is subject to race conditions #801

v8.0.5 (2023-11-11)

Full Changelog

Merged pull requests:

  • Bump @babel/traverse from 7.22.8 to 7.23.3 in /myapp #819 (dependabot[bot])
  • Bump postcss from 8.4.21 to 8.4.31 in /myapp #811 (dependabot[bot])
  • fix: while_executing should not invoke conflict strategy when the job was successfully executed [v8] #810 (cuzik)
  • Bump actions/checkout from 3 to 4 #808 (dependabot[bot])
  • Bump semver from 6.3.0 to 6.3.1 in /myapp #798 (dependabot[bot])
  • Because replace is a client strategy, it should only remove client locks aka queue locks. #778 (bigzed)

v8.0.4 (2023-11-11)

Full Changelog

Implemented enhancements:

Fixed bugs:

  • Sidekiq 7: Unsupported command argument type: TrueClass #816
  • fix(web): don't show bogus lock digests #804 (Earlopain)

Closed issues:

  • register_reaper_process nx: true crash Sidekiq on startup #817

Merged pull requests:

  • fix: Sidekiq 7.2 throws TypeError: Unsupported command argument type: TrueClass when using byscore: true #815 (Amnesthesia)
  • Add sidekiq_option for on-conflict-reschedule perform_in time #813 (mgmarlow)
  • Handle strategy fallbacks properly #809 (matejrisek)
  • Fix CI status badge #802 (tagliala)

v7.1.31 (2023-08-28)

Full Changelog

Closed issues:

  • Should client middleware also be added to the Sidekiq server config? #803
  • 8.0.1 Time on locks & changelog UI is incorrect/wrong #761
  • Job executed twice when reaper runs #738

v7.1.30 (2023-07-17)

Full Changelog

Closed issues:

  • Release new gem version with "fix replace deprecated rpoplpush w/lmove" #795
  • Redis has deprecated the rpoplpushcommand #793
  • Deprecation Warning: Use of rpoplpush command in Redis #792
  • Logging::Middleware.context can include empty string as key when lock is not set in job hash #785

v8.0.3 (2023-05-27)

Full Changelog

Implemented enhancements:

Fixed bugs:

Closed issues:

  • unlocked reflection is never called #782
  • Migrate away from deprecated Redis commands #780
  • while_executing with on_conflict: :reschedule reschedules job when unlock fails #770
  • Redis server v6.0 compatibility #769
  • Locks not removed after worker finishes #758

Merged pull requests:

  • Add lock to item when lock_type is pulled from Job class sidekiq options #786 (ttstarck)
  • Fix rubocop failure by expecting array to be empty #784 (GabrielaGuedes)
  • fix(doc): improve information on unlock_failed #776 (mhenrixon)

v8.0.2 (2023-03-13)

Full Changelog

Closed issues:

  • Missing v7.1 branch? #757
  • Allow one running job but at most one job in the queue #748

Merged pull requests:

v8.0.1 (2023-02-14)

Full Changelog

Closed issues:

  • TypeError: Unsupported command argument type: ActiveSupport::Duration #754
  • Incompatibility with Sidekiq 7 #736

Merged pull requests:

  • Fix active worker detection by using correct keys #756 (dodo121)
  • Fix minor typo in drift_reaper_interval comment #755 (lazyatom)

v8.0.0 (2023-01-30)

Full Changelog

Implemented enhancements:

Closed issues:

  • Support for redis 5 #752
  • while_executing jobs being dropped #749

Merged pull requests:

  • fix: backport the fix for the return value of #deep_transform_keys #750 (fixtheclouds)

v7.1.29 (2022-12-03)

Full Changelog

Fixed bugs:

Merged pull requests:

v7.1.28 (2022-11-28)

Full Changelog

Fixed bugs:

  • Unique Jobs Not Running with Version 7.1.26 #730

Closed issues:

  • Error "undefined method `redis_info' for Sidekiq:Module" on upgrade #740
  • spammed by Nothing to delete; exiting during spec #733

Merged pull requests:

v7.1.27 (2022-07-30)

Full Changelog

Implemented enhancements:

Fixed bugs:

  • Fix(namespace): Prevent self-conflict when redis-namespace is present #732 (mhenrixon)

Closed issues:

  • Disable logging in Rails testing #727
  • Memory bloat / dangling keys / reaper not cleaning orphans #637

v7.1.26 (2022-07-28)

Full Changelog

Implemented enhancements:

  • Fix(until_expired): Fix test and implementation #725 (mhenrixon)

Fixed bugs:

  • Fix(until_and_while_executing): Improve timeouts slightly #728 (mhenrixon)
  • Fix(unlock): Delete primed keys on last entry #726 (mhenrixon)

Merged pull requests:

v7.1.25 (2022-06-13)

Full Changelog

Fixed bugs:

v7.1.24 (2022-06-09)

Full Changelog

Implemented enhancements:

Merged pull requests:

  • Use sidekiq/testing Worker.clear API in sidekiq_unique_jobs/testing #713 (dsander)

v7.1.23 (2022-05-23)

Full Changelog

Fixed bugs:

v7.1.22 (2022-05-04)

Full Changelog

Fixed bugs:

  • Failed jobs waiting to be retried are not considered when fetching uniqueness #394
  • fix(locksmith): execute to yield without arguments #710 (mhenrixon)
  • fix: re:lock until_executing on worker failure #709 (mhenrixon)

Closed issues:

  • Reviwing: Failed jobs waiting to be retried are not considered when fetching uniqueness #708

v7.1.21 (2022-04-23)

Full Changelog

Implemented enhancements:

Closed issues:

  • DEPRECATION WARNING: default_worker_options is deprecated and will be removed from Sidekiq 7.0 (use default_job_options instead) (called from notify_agents at /Users/hackeron/Development/Tether/timeline/app/models/user.rb:303) #705

v7.1.20 (2022-04-22)

Full Changelog

Implemented enhancements:

Merged pull requests:

  • improve README wrt. middleware config #704 (slhck)

v7.1.19 (2022-04-09)

Full Changelog

Fixed bugs:

  • concurrent-ruby 1.1.10 spikes volume of jobs #701
  • Reimplement the entire TimerTask as it was #702 (mhenrixon)

v7.1.18 (2022-04-05)

Full Changelog

Implemented enhancements:

v7.1.17 (2022-04-05)

Full Changelog

v7.1.16 (2022-04-02)

Full Changelog

Implemented enhancements:

Fixed bugs:

Closed issues:

  • concurrent-ruby has dropped support for TimerTask timeouts #697
  • Most recent changelogs are removed first #696
  • Improve README slightly #694
  • locksmith.rb:327: NoMethodError: undefined method `+' for nil:NilClass #686
  • lock_timeout cannot be nil #675
  • Skip reaping when queues are too large #670

Merged pull requests:

v7.1.15 (2022-02-10)

Full Changelog

Merged pull requests:

  • Fixing reschedule when using a non default queue #679 (bigzed)

v7.1.14 (2022-02-04)

Full Changelog

Implemented enhancements:

v7.1.13 (2022-02-03)

Full Changelog

Implemented enhancements:

Fixed bugs:

Closed issues:

  • Job finished, but lock is not cleared #677
  • sidekiq_options lock conflicts with sidekiq-lock gem lock option #669
  • Inconsistent documentation for config validation #647

Merged pull requests:

v7.1.12 (2021-12-01)

Full Changelog

Implemented enhancements:

  • Improve Ruby Reaper performance under heavy load #663
  • Improve reaper performance under heavy load #666 (mhenrixon)

v7.1.11 (2021-11-30)

Full Changelog

Fixed bugs:

Closed issues:

  • Question: Wait instead of cancelling if it is executing? #655
  • Expired Locks remain in zset of digests [using "until_expired" lock] #653
  • [Q&A] Performance & Dead Locks #652
  • Sidekiq 6.3.0 includes Job module that clashes with sidekiq_unique_ext.rb class Job #651

v7.1.10 (2021-10-18)

Full Changelog

Fixed bugs:

  • "IndexError: string not matched" when job is replaced on client #635

Merged pull requests:

  • Update URL for Sidekiq's Enterprise unique jobs #648 (jsantos)

v7.1.8 (2021-10-08)

Full Changelog

Fixed bugs:

  • undefined method delete' for class Sidekiq::Job' #634
  • INFO keys not persisted when job is enqueued #602
  • lock_info set to true but no lock info showing up in web ui #589
  • Prevent too eager cleanup of lock info #645 (mhenrixon)

Closed issues:

  • Compatibility with unreleased Sidekiq 6.3.0 #636

Merged pull requests:

v7.0.13 (2021-09-27)

Full Changelog

v7.1.7 (2021-09-27)

Full Changelog

Implemented enhancements:

Fixed bugs:

  • OnConflict::Replace: yield when lock was achieved #640 (mhenrixon)

v7.1.6 (2021-09-21)

Full Changelog

Closed issues:

  • until_and_while_executing is not running the job at all in sidekiq-unique-jobs 7.1.4 #626

Merged pull requests:

v7.1.5 (2021-07-28)

Full Changelog

Fixed bugs:

v7.1.4 (2021-07-21)

Full Changelog

Fixed bugs:

v7.1.3 (2021-07-20)

Full Changelog

Fixed bugs:

  • Locks are not released: seeing 'Might need to be unlocked manually" warnings #594
  • Disable resurrector by default #623 (mhenrixon)
  • Documentation fixes #622 (ursm)

Closed issues:

  • Lock until_and_while_executing not working as expected #613

Merged pull requests:

v7.1.2 (2021-07-01)

Full Changelog

Fixed bugs:

  • Ensure limit and timeout are always numbers #620 (pinkahd)

v7.1.1 (2021-06-30)

Full Changelog

Fixed bugs:

Closed issues:

  • Max expiration for locks #593

v7.1.0 (2021-06-29)

Full Changelog

Implemented enhancements:

Fixed bugs:

v7.0.12 (2021-06-04)

Full Changelog

Implemented enhancements:

Merged pull requests:

  • Set correct namespace for custom strategy example #609 (Wolfer)
  • Clarify the documentation related to lock_ttl #607 (donaldpiret)

v7.0.11 (2021-05-16)

Full Changelog

Fixed bugs:

  • Constants are not necessary when deleting locks #606 (mhenrixon)

Closed issues:

  • Sidekiq Pro Sharded Web UI Error > 7.0.8 #605
  • Timed out after 0s while waiting for primed token #601

v7.0.10 (2021-05-10)

Full Changelog

Fixed bugs:

Closed issues:

  • Nested Sidekiq jobs are not kicked off with until_and_while_executing #600

v7.0.9 (2021-04-26)

Full Changelog

Fixed bugs:

v7.0.8 (2021-04-14)

Full Changelog

Implemented enhancements:

Closed issues:

  • Question: where do orphaned locks come from? #592
  • upgrade_v6_lock : ERR wrong number of arguments for 'hmset' command #591

Merged pull requests:

v7.0.7 (2021-03-19)

Full Changelog

Fixed bugs:

v7.0.6 (2021-03-19)

Full Changelog

Fixed bugs:

  • Deprecation warning for redis behaviour change in 5.0 #579
  • Consider a match only when both values present #586 (mhenrixon)

Closed issues:

  • Reaper: undefined method `delete_suffix' for nil:NilClass #585

v7.0.5 (2021-03-18)

Full Changelog

Implemented enhancements:

  • Improve compatibility with redis-namespace #581 (Wolfer)

Fixed bugs:

  • RubyReaper treats runtime lock as orphan and delete it #580
  • Prefer conn.exists? when possible #583 (mhenrixon)
  • Don't reap :RUN keys when active #582 (mhenrixon)

Closed issues:

  • redis-namespace asks to use admistrative commands directly #578

v7.0.4 (2021-02-17)

Full Changelog

Fixed bugs:

v7.0.3 (2021-02-17)

Full Changelog

Fixed bugs:

Merged pull requests:

v7.0.2 (2021-02-08)

Full Changelog

Fixed bugs:

  • Lock not getting properly cleared for some jobs #560
  • while_executing + raise let non-unique jobs to be executed #534
  • delete_by_digest does not work with the msg['unique_digest'] value available in sidekiq_retries_exhausted #532
  • Multiple jobs running at the same time #531
  • Unable to setup in standalone Ruby project #523
  • v7.0.0.beta15 Can't push new jobs to queue #501
  • Reaper doesn't work - lua or ruby #498
  • Tasks run once, and then there is no launch #464
  • Jobs executing and immediately returning #418
  • until_and_while_executing + sidekiq retry mechanism #395
  • Fix that :PRIMED keys are seemingly not removed #574 (mhenrixon)

Closed issues:

  • Just some clarification on the documentation. #530
  • Unique Digests dashboard not filtering the full set of results #529
  • after_unlock isn't called unless it's a class method #526
  • The job gets JID and goes to dead right away #522
  • Able to assign customise Redis setup #509
  • SidekiqUniqueJobs::UniqueArgs#create_digest is getting called twice #391

Merged pull requests:

v7.0.1 (2021-01-22)

Full Changelog

Implemented enhancements:

  • Any way to manually clear/reset the changelog history? #568
  • Present the entire changelog in its own view #569 (mhenrixon)

Fixed bugs:

Closed issues:

  • undefined method 'delete_by_digest' for SidekiqUniqueJobs::Digests:Class #567
  • Rejected jobs are still displayed as 'Queued' with gem 'sidekiq-status' on /sidekiq/statuses #564

v7.0.0 (2021-01-20)

Full Changelog

Implemented enhancements:

Fixed bugs:

  • Race condition in ruby reaper #559
  • Fix until and while executed and improve documentation #397
  • Fix race condition to avoid reaping active jobs #563 (mhenrixon)

Closed issues:

  • Is it possible to have a :until_executed lock with an expiration time? #524

v7.0.0.beta29 (2021-01-16)

Full Changelog

Fixed bugs:

  • Ruby Reaper active check incorrect #557
  • Routes with authentication should work with web #562 (mhenrixon)

Closed issues:

  • Can't add the lock tab o nthe website when there is authentication through devise #561

v7.0.0.beta28 (2021-01-07)

Full Changelog

Fixed bugs:

  • lock_args does not work when you define the lock_args argument and default lock_args function at the same time. #548
  • incorrect :while_executing behavior #432
  • Fix active check for the worker hash #558 (mhenrixon)
  • Prefer lock_prefix not unique_prefix #554 (mhenrixon)
  • Fix issue 432 #552 (mhenrixon)

v7.0.0.beta27 (2020-11-03)

Full Changelog

Implemented enhancements:

Fixed bugs:

Closed issues:

  • Documentation incorrect for delete_by_digest #547
  • Locked jobs after kill -9 with while_executing lock #546

v7.0.0.beta26 (2020-10-28)

Full Changelog

Implemented enhancements:

Merged pull requests:

v6.0.25 (2020-10-26)

Full Changelog

v7.0.0.beta25 (2020-10-26)

Full Changelog

Implemented enhancements:

Fixed bugs:

Closed issues:

  • ConnectionPool::TimeoutError and :until_executed #535

Merged pull requests:

v7.0.0.beta24 (2020-09-27)

Full Changelog

Implemented enhancements:

Closed issues:

  • Leaked keys in version 5.0.10 #519

v7.0.0.beta23 (2020-06-23)

Full Changelog

Fixed bugs:

  • Exit early when no results are returned from LRANGE given jobs might already processed #521 (vipulnsward)

v6.0.23 (2020-06-23)

Full Changelog

Fixed bugs:

  • Ruby reaper incorrectly checks active jobs — removes every active lock as result #517

v7.0.0.beta22 (2020-06-12)

Full Changelog

Fixed bugs:

v7.0.0.beta21 (2020-06-12)

Full Changelog

Implemented enhancements:

Fixed bugs:

Closed issues:

  • Missing web interface #514

v7.0.0.beta20 (2020-06-02)

Full Changelog

Fixed bugs:

  • Reaper can't be registered again if sidekiq gets killed by SIGKILL #490

Closed issues:

  • How do I turn this on for only one job class? #510

v7.0.0.beta19 (2020-05-21)

Full Changelog

Fixed bugs:

v7.0.0.beta18 (2020-05-21)

Full Changelog

Fixed bugs:

v7.0.0.beta17 (2020-05-20)

Full Changelog

Implemented enhancements:

Fixed bugs:

  • Deep stringify worker options to account for hash in on_conflict #506 (jasonbekolay)

v7.0.0.beta16 (2020-05-19)

Full Changelog

Fixed bugs:

Closed issues:

  • V7 Beta 15 on_conflict: with Hash does not work on server #499

v6.0.22 (2020-04-13)

Full Changelog

v7.0.0.beta15 (2020-04-10)

Full Changelog

Implemented enhancements:

Fixed bugs:

  • V7 - on_conflict: no longer accepts a Hash #495
  • Brpoplpush::RedisScript::LuaError: WRONGTYPE Operation against a key holding the wrong kind of value #491
  • Lua script bug #489
  • Reaper will delete locks for running jobs #488
  • Fix access to hash members #496 (mhenrixon)
  • Fix cursor assignment #494 (mhenrixon)
  • Prevent reaping of active jobs #493 (mhenrixon)

v7.0.0.beta14 (2020-03-30)

Full Changelog

Fixed bugs:

v6.0.21 (2020-03-30)

Full Changelog

v7.0.0.beta13 (2020-03-26)

Full Changelog

Fixed bugs:

v7.0.0.beta12 (2020-03-25)

Full Changelog

Fixed bugs:

  • until_expired is not setting TTL #468
  • Fix bug where expiration wasn't set until unlock #481 (mhenrixon)

v6.0.20 (2020-03-22)

Full Changelog

Fixed bugs:

  • Deletion of digest doesn't work from admin UI #438

Closed issues:

  • Please keep some recent versions on rubygems.org #478
  • validate_worker! throws error #466

v7.0.0.beta11 (2020-03-21)

Full Changelog

Fixed bugs:

v7.0.0.beta10 (2020-03-21)

Full Changelog

Implemented enhancements:

Fixed bugs:

  • With v6.0.18, Sidekiq doesn't run at all #471
  • Fix errors_as_string on lock_config.rb #469 (donaldpiret)

Merged pull requests:

v6.0.19 (2020-03-21)

Full Changelog

v7.0.0.beta9 (2019-12-04)

Full Changelog

Implemented enhancements:

  • Keys without TTL #417
  • Various changes to test and verify reliability #463 (mhenrixon)

Closed issues:

  • until_and_while_executing with sidekiq pro reliable_scheduler! #411

v7.0.0.beta8 (2019-11-28)

Full Changelog

Implemented enhancements:

  • Allow worker to configure client and server strategies separately #402
  • Separate client and server on_conflict #462 (mhenrixon)

Fixed bugs:

  • while_executing has problems at low concurrency #384
  • lock: :until_and_while_executing not working for scheduled jobs #334

Closed issues:

  • Custom Locks with error #392
  • :until_executed jobs get stuck every now and then #379

v7.0.0.beta7 (2019-11-28)

Full Changelog

Fixed bugs:

  • A worker with "While Executing" lock and "Reschedule" strategy is rescheduled forever #457
  • Prevent callbacks from preventing locks #460 (mhenrixon)

v7.0.0.beta6 (2019-11-28)

Full Changelog

Implemented enhancements:

  • Clarify usage with global_id and sidekiq-status #455 (mhenrixon)

Merged pull requests:

v6.0.18 (2019-11-28)

Full Changelog

Fixed bugs:

  • Jobs not pushed when using sidekiq-status #412

Closed issues:

  • Unique jobs only executed once when used with sidekiq-global_id #235

v7.0.0.beta5 (2019-11-26)

Full Changelog

Implemented enhancements:

Fixed bugs:

Merged pull requests:

v6.0.17 (2019-11-26)

Full Changelog

v6.0.16 (2019-11-25)

Full Changelog

v7.0.0.beta4 (2019-11-25)

Full Changelog

Fixed bugs:

v7.0.0.beta3 (2019-11-24)

Full Changelog

Implemented enhancements:

Fixed bugs:

  • Redis is busy running script and script never terminates #441
  • Make the ruby reaper plain ruby #443 (mhenrixon)

Closed issues:

  • Some jobs seem to be treated as duplicate despite empty queue #440

Merged pull requests:

  • Fix typo and some formatting issues in README #442 (ajkerr)

v7.0.0.beta2 (2019-10-08)

Full Changelog

Fixed bugs:

Closed issues:

  • incorrect :until_and_while_executing behavior #424

v7.0.0.beta1 (2019-10-07)

Full Changelog

Implemented enhancements:

Fixed bugs:

Merged pull requests:

v6.0.15 (2019-10-05)

Full Changelog

Implemented enhancements:

  • Lock both worker and queue #274

Fixed bugs:

  • Duplicate job was pushed ( v6.0.13 ) #414
  • Constant SidekiqUniqueJobs::Web::Digests not found #396

Closed issues:

  • :until_executing does not schedule job in Sidekiq 6.0.1 at all #427
  • Typo in documentation #423
  • Error in documentation #422
  • FIFO strategy #415
  • NoMethodError on setting global configurations #413
  • Syntax error on using the v6.0.13 #410
  • Add support for on_conflict: :log for UntilExecuting lock #408
  • Allow sidekiq_options to set lock_info #401
  • Validate sidekiq_options for each worker #398
  • Expiration for all locks #393
  • Fix your paypal link in README #389

v6.0.13 (2019-04-14)

Full Changelog

Implemented enhancements:

Closed issues:

  • Unique args in combination with sidekiq cron contains _aj_symbol_keys #363
  • Low quality piece of shit #360
  • Passthrough has been deprecated and will be removed in redis-namespace 2.0 #338

v6.0.12 (2019-02-28)

Full Changelog

Fixed bugs:

  • we are receiving SidekiqUniqueJobs::ScriptError "Problem compiling convert_legacy_lock" after upgrading from 5.0.10 -> 6.0.11 #377
  • Fix converting legacy locks #378 (mhenrixon)

v6.0.11 (2019-02-24)

Full Changelog

Implemented enhancements:

Fixed bugs:

  • Prevent memory leaks (many locks stay in memory) #368
  • :until_and_while_executing not processing queued jobs after executing #355
  • Version 6: lets you schedule job with missing arguments #351
  • Version 6 Ignores Jobs Enqueued in Version 5 #345
  • Job will not enqueue even with no existing match #342
  • Convert v5 locks when needed #375 (mhenrixon)

Closed issues:

  • Infinite lock using until_and_while_executing after sidekiq restart #361
  • getting a crash using lock_expiration on v6.0.6 #350
  • Problem when job failed and is retrying #332

Merged pull requests:

v6.0.10 (2019-02-23)

Full Changelog

Implemented enhancements:

Closed issues:

  • Unsure of sane defaults #372

v6.0.9 (2019-02-11)

Full Changelog

Implemented enhancements:

v6.0.8 (2019-01-10)

Full Changelog

Fixed bugs:

Closed issues:

  • Automatic unlock of jobs #362
  • (6.0.7) uniquejobs:{digest}:AVAILABLE keys never expire #359
  • Strange behavior using strategy "reject" with "until_executed" #358
  • Pinpointing issues with unique digests not being removed #353

Merged pull requests:

v6.0.7 (2018-11-29)

Full Changelog

Implemented enhancements:

Fixed bugs:

  • Version 5: Job ID Hash Entries Not Removed if Unique Key Expires #346
  • Move the lpush last #354 (mhenrixon)
  • Convert expiration time to integer #330 (dareddov)

Closed issues:

  • First job never unlocks the lock / Endless waiting #352
  • Version 5&6: uniqueness not respected for Job without params #349

Merged pull requests:

v5.0.11 (2018-11-19)

Full Changelog

Closed issues:

  • concurrent-ruby 1.1.1 is causing this gem to break #340
  • lock remains after job not properly finish #339
  • Using a different Redis instance #337
  • Using :until_and_while_executing not yielding expected results #336
  • "payload is not unique", but cannot find digest or scheduled job #335
  • Confused with UntilExecuted documenation #326
  • Job never requeued after raising unhandled error with until_and_while_executing? #322

v6.0.6 (2018-08-09)

Full Changelog

Implemented enhancements:

Closed issues:

  • Unique UntilExecuted not working while the job is executing? #319

v6.0.5 (2018-08-07)

Full Changelog

Fixed bugs:

Closed issues:

  • Why is lock_timeout: nil VERY DANGEROUS? #313

v6.0.4 (2018-08-02)

Full Changelog

Fixed bugs:

Closed issues:

  • Question about until_timeout with 6.0.0 #303

v6.0.3 (2018-08-02)

Full Changelog

Fixed bugs:

Closed issues:

  • Sidekiq Web Pagination Broken #309

Merged pull requests:

v6.0.2 (2018-08-01)

Full Changelog

Fixed bugs:

v6.0.1 (2018-07-31)

Full Changelog

Fixed bugs:

  • :until_executed is throwing errors and not requeuing the job. #256
  • Remove unused method #307 (mhenrixon)

Closed issues:

  • ArgumentError: sidekiq_unique_jobs/web breaks sidekiq Retries page #306
  • If the job dies, it doesn't remove the lock #304

Merged pull requests:

v6.0.0 (2018-07-27)

Full Changelog

v6.0.0.rc8 (2018-07-24)

Full Changelog

Implemented enhancements:

  • Add RequeueWhileExecuting strategy #223
  • New feature: Replace original job if duplicate is added #177
  • Add a replace strategy for client locks #302 (mhenrixon)

Merged pull requests:

v6.0.0.rc7 (2018-07-23)

Full Changelog

Implemented enhancements:

Closed issues:

  • Unique Job not work while play with crontab #294
  • Making the GEM compatible with Ruby < 2.3 #291

Merged pull requests:

v6.0.0.rc6 (2018-07-15)

Full Changelog

Fixed bugs:

Closed issues:

  • Locking with retries #289

Merged pull requests:

v6.0.0.rc5 (2018-06-30)

Full Changelog

Fixed bugs:

  • bundle exec jobs console does not work #253
  • Rename command line binary #287 (mhenrixon)

v6.0.0.rc4 (2018-06-30)

Full Changelog

Implemented enhancements:

v6.0.0.rc3 (2018-06-29)

Full Changelog

Fixed bugs:

v6.0.0.rc2 (2018-06-26)

Full Changelog

Implemented enhancements:

  • Within tests: workers enqueued in the future don't clear their unique locks after being drained/executed #254
  • Unexpected behavior with until_executed #250

Fixed bugs:

  • Unique job needs to be unlocked manually? #261
  • Duplicate jobs getting created #257
  • Multiple non-unique jobs with until_executed? #255
  • :until_executing not unlocking when starting to run #245
  • Drop jobs hash #282 (mhenrixon)

Closed issues:

  • Difference between :until_and_while_executing vs :until_executed is not clear #249
  • Deprecated Documentation #246
  • Are we meant to manually expire the unique jobs hash? #234
  • How :until_executing works ? Run job only once and discard new jobs while another job is executing #226

Merged pull requests:

v6.0.0.rc1 (2018-06-26)

Full Changelog

Implemented enhancements:

v6.0.0.beta2 (2018-06-25)

Full Changelog

Implemented enhancements:

v6.0.0.beta1 (2018-06-22)

Full Changelog

Implemented enhancements:

Fixed bugs:

Merged pull requests:

v6.0.0.beta (2018-06-17)

Full Changelog

Closed issues:

  • Incomplete sentence in README #264
  • ActiveJob and Sidekiq::Worker #259
  • ActiveJob and Sidekiq::Worker #258
  • Non-unique jobs can be added even when sidekiq_options unique: :until_executed #251
  • Trouble with "inline" mode #243
  • Sidekiq::Worker.set not working with sidekiq-unique-jobs #242
  • sidekiq-unique-job with ActiveJob #238
  • Deadlock using :while_executing? #233

v5.0.10 (2017-08-19)

Full Changelog

Closed issues:

  • Version v5.0.5 might have introduced a breaking change in while_executing and was not documented #230
  • String arguments not seen as unique #222
  • unique_args method suppresses all NameError exceptions #219

Merged pull requests:

v5.0.9 (2017-07-06)

Full Changelog

Closed issues:

  • The work of several unique sidekiq tasks within one queue #225
  • Missing documentation on activejob usage #221

Merged pull requests:

v5.0.8 (2017-05-03)

Full Changelog

Closed issues:

  • Using JSON.parse in delete_by_value_ext break compatiblity with other Sidekiq extensions #220
  • Is it possible to get the Job ID of original job? #217

v5.0.7 (2017-04-26)

Full Changelog

Closed issues:

  • Can't delete Sidekiq::Job after 5.0.1 #218
  • Uniqueness across workers #210

v5.0.6 (2017-04-23)

Full Changelog

Closed issues:

  • Different unique arguments depending on lock type #203
  • Strategy until_and_while_executing not working properly #199
  • while_executing working wrong #193

v5.0.5 (2017-04-23)

Full Changelog

Merged pull requests:

v5.0.4 (2017-04-18)

Full Changelog

v5.0.3 (2017-04-18)

Full Changelog

v5.0.2 (2017-04-17)

Full Changelog

Closed issues:

  • Uniqueness should not survive Class.jobs.clear #214
  • when arguments are empty then unique_args proc/method is not executed #201

v5.0.1 (2017-04-16)

Full Changelog

Closed issues:

  • Removing "uniquejobs" hash? #213
  • deprecation warnings with redis-namespace 2.0 #212
  • Unclear docs / examples for unique_args #211
  • Jobs Console fails to launch #208
  • Util.del Redis::CommandError: ERR syntax error #207
  • version 4.0.19 #206
  • Job.delete does not remove lock in all circumstances #205
  • disappearing jobs - known issue in conjunction with other extensions? #202
  • Broken pipe @ io_write - <STDERR> on sidekiq unique jobs #198
  • Doesn't play well with redis-namespace #196
  • SidekiqUniqueJobs::ScriptError #192

Merged pull requests:

v5.0.0 (2017-04-08)

Full Changelog

Fixed bugs:

  • Can't enable testing with newer versions of sidekiq #175
  • strange behaviour #172

Closed issues:

  • Could not find a valid gem 'sidekiq-unique-jobs' (= 3.0.15) in any repository #197
  • uniquejobs hash doesn't get cleaned up #195
  • Code block under "Finer Control over Uniqueness" in your documentation might have the wrong option specified #191
  • not able to run test without live Redis #186
  • unique while not sucessfully completed? #185
  • Duplicate jobs when using :until_and_while_executing #181
  • unique: :while_executing doesn't remove lock when the Sidekiq node running the job shuts down and terminates the job prematurely #170
  • :while_executing appears to be broken #159
  • Using ":until_executing, :until_executed, :until_timeout, :until_and_while_executing" all break Sidekiq::Testing #157
  • Way to remove lock in application code #147

Merged pull requests:

v4.0.18 (2016-07-24)

Full Changelog

Closed issues:

  • ArgumentError: wrong number of arguments (given 1, expected 2) #190
  • Should be note on document only works on production mode #189
  • SidekiqUniqueJobs::ScriptError: release_lock.lua NOSCRIPT No matching script. #187
  • sidekiq-unique-jobs kills sidekiq in production #183
  • Parameters turn into String #182
  • You really helped me today #180
  • 4.0.17 config #171
  • Problem with releasing uniquejobs locks after timeout expires #169
  • NOSCRIPT No matching script. Please use EVAL. #168
  • Broken compatibility with Sidekiq 3.4 #140

Merged pull requests:

v4.0.17 (2016-03-02)

Full Changelog

Closed issues:

  • No place where I can say "Thank you" for all contributors #165

v4.0.16 (2016-02-17)

Full Changelog

Merged pull requests:

v4.0.15 (2016-02-16)

Full Changelog

Closed issues:

  • Until timeout question #163
  • Error when run rspec #162
  • Unique job keys never dissapear #161
  • Uniqueness breaks jobs #160
  • Too many open files #155

Merged pull requests:

v4.0.13 (2015-12-16)

Full Changelog

Closed issues:

  • Seeing this error with latest version 4.0.12 #154
  • Unique job showing weird behavior #153

v4.0.12 (2015-12-15)

Full Changelog

Closed issues:

  • Can't schedule a job from another job #151
  • perform_in not working in version 4.0.9 #150
  • unique: until_and_while_executing not working as expected #146
  • while_executing still runs duplicate tasks #136
  • Version 4 Upgrade #133

v4.0.11 (2015-12-12)

Full Changelog

Closed issues:

  • Release a new version for Ruby < 2.1 compatability #152

v4.0.10 (2015-12-12)

Full Changelog

Closed issues:

  • Until Executed is taking waiting for unique_expiration #149
  • Until Executed vs Unique Until And While Executing is confusing in README #148
  • sidekiq-unique-jobs not enabled from sidekiq workers #131

v4.0.9 (2015-11-14)

Full Changelog

Closed issues:

  • Error when using unique_args in 4.0.8 #145
  • Ignore lock when jobs spawned from another sidekiq worker #142
  • Two Rails apps on the same server, but only one Sidekiq instances is working correctly #141
  • ActiveRecord::RecordNotDestroyed: Failed to destroy the record #139

v4.0.8 (2015-10-31)

Full Changelog

Closed issues:

  • Jobs not getting queued in v4 #138
  • Unique args being considered? #137
  • No mention how to test in README #135
  • License Difference #132

Merged pull requests:

  • Calculate worker's unique args when a proc or a symbol is specified #143 (zeqfreed)
  • Fix markdown link formatting #134 (thbar)

v4.0.7 (2015-10-14)

Full Changelog

Closed issues:

  • docs clarification #130
  • 4.* is hurting background job workers performance #127

v4.0.6 (2015-10-14)

Full Changelog

Closed issues:

  • NameError: uninitialized constant SidekiqUniqueJobs::RunLockFailed #126

v4.0.5 (2015-10-13)

Full Changelog

Closed issues:

  • Rails + Sidekiq will go bezerk after sidekiq-unique-jobs testing check. #128
  • NoMethodError: undefined method `to_sym' for true:TrueClass #125
  • Redis::CommandError: ERR unknown command 'eval' #124

Merged pull requests:

  • Forces to look for testing namespace in Sidekiq and not his ancestors #129 (antek-drzewiecki)
  • Fix outdated phrasing and add test coverage to readme #123 (albertyw)

v4.0.4 (2015-10-09)

Full Changelog

Closed issues:

  • Active job with unique args doesn't work #120
  • 4.0.1 => job no longer unique #117
  • Update Changelog and Tags #115

v4.0.3 (2015-10-08)

Full Changelog

Closed issues:

  • unique_unlock_order - never option #122
  • Run 1 job and queue 1 #121
  • unique_lock vs unique_locks typo #119
  • 4.0.2 commited but not released to rubygems? #118

v4.0.2 (2015-10-06)

Full Changelog

4.0.1 (2015-10-06)

Full Changelog

Closed issues:

  • Don't work with perform_in #114
  • 3.0.15 apparently breaks inline testing #113
  • sidekiq_unique record in Redis is not cleaned when foreman process is killed #112
  • Can't ensure unique job simultaneously. #111
  • Job considered as duplicate after completion only in production #110
  • Gem requires Redis 2.6+? #109
  • unable to re-schedule job at specific time #108
  • Documentation Not Clear #78
  • Runtime uniqueness when using :before_yield as unlock order #72
  • Using with sidekiq delayed extensions #45

Merged pull requests:

v4.0.0 (2015-10-05)

Full Changelog

Implemented enhancements:

  • Duplicated Jobs With Nested Sidekiq Workers #10

Closed issues:

  • 3.0.14 Error: ERR wrong number of arguments for 'set' command (Redis::CommandError) #104
  • Testing #103
  • Active Job #102
  • Why is SidekiqUnique behaviour applied to regular Workers? #100
  • Confusing behavior when trying to [1,2,3].each { |n| SomeJob.perform_in(n.seconds.from_now, n) } never running, logging as duplicate value #98
  • Scheduled jobs are not unlocked when deleted #97
  • Testing functions should be moved out of production code #95
  • Jobs can unlock mutexes they don't own #94
  • Jobs scheduled in the future are never run #93
  • perform_at and perform_async do not unique if perform_at is in the future. #91
  • Latest release is breaking #90
  • Optimize Redis usage #89
  • Unique jobs sets Sidekiq testing to inline! mode #88
  • Test suite unclear on what happens when duplicate job is attempted #84
  • Change log level to info rather than warn #80
  • Jobs are unlocked if they fail and are retried #77
  • Usage of sidekiq-unique-jobs with activejob #76
  • If a job is deleted from the enqueued list, it's still unique and new jobs can't be added. #74
  • Incorrect README re: uniqueness time? #73
  • Sidekiq::Testing inline detection assumes you're always using inline testing #71
  • unique_args_enabled has been deprecated, nothing in readme #70
  • The second job does not run, even if it has different arguments #69
  • Jobs not being executed anymore?? #65
  • mock_redis and the mess #62
  • What is the exact behavior? #47
  • Throttling jobs #39
  • undefined method `get_sidekiq_options' for "MyScheduledWorker":String #27
  • Crash handling #14
  • Missing info from README #6

Merged pull requests:

  • Allow job with jid matching unique lock to pass unique check #105 (deltaroe)
  • Prevent Jobs from deleting mutexes they don't own #96 (pik)
  • Add after unlock hook #92 (HParker)
  • Do not unlock on sidekiq shutdown #87 (deltaroe)
  • Remove no-op code, protect global space from test code #86 (stevenjonescgm)
  • Remove unique lock when executing and clearing jobs in sidekiq fake mode #83 (crberube)
  • Fix tests. Tests with latest sidekiq versions and ruby versions #82 (simonoff)
  • Duplicate Payload logging configuration #81 (jprincipe)
  • output log if not unique #79 (sonots)
  • Checking Sidekiq::Testing.inline? on testing strategy and connector #75 (Draiken)

v3.0.11 (2014-12-15)

Full Changelog

Closed issues:

  • ConnectionPool used incorrectly - causes deadlocks #66
  • undefined configuration when using .configure #64

Merged pull requests:

  • Use ConnectionPool blocks to ensure exclusive connection. Closes #66. #67 (adstage-david)

v3.0.10 (2014-11-19)

Full Changelog

Closed issues:

  • LoadError: cannot load such file -- mock_redis #60
  • The deprecation message is unclear and unnecessary #59

Merged pull requests:

v3.0.9 (2014-11-05)

Full Changelog

Closed issues:

  • sidekiq-unique-jobs prevents not unique jobs creation event with sidekiq inline test mode #58
  • mock redis dependency #55
  • Unique key inconsistency between server and client #48
  • Example Test using Sidekiq::Testing.inline #44
  • Will a second job lose if the job is already queued, or is already scheduled? #43
  • Can you update the change log? #42

Merged pull requests:

  • Refactoring connectors to use them in client and server #56 (salrepe)
  • Fix dependency error in inline testing connector #54 (salrepe)
  • Add extension to Sidekiq API that is uniqueness-aware #52 (rickenharp)

v3.0.3 (2014-11-03)

Full Changelog

Closed issues:

  • is mock_redis really a runtime dependency? #46

Merged pull requests:

  • Unlock testing inline jobs like normal ones #53 (salrepe)
  • Declare mock_redis as development dependency instead of runtime one #51 (phuongnd08)

v3.0.2 (2014-06-08)

Full Changelog

Closed issues:

  • Add unique job key to the message json #40

Merged pull requests:

  • Add the unique hash to the message for use by the workers. #41 (sullimander)

v3.0.1 (2014-06-08)

Full Changelog

Closed issues:

  • Support for sidekiq 3? #34
  • Short jobs are not unique for the given time window #33
  • Not all sidekiq:sidekiq_unique keys are removed from Redis #31
  • What does uniqueness mean in case of this gem? #30
  • Server middleware removes payload hash key before expiration #26
  • Lock remains when running with Sidekiq::Testing.inline! #23
  • What is the use case for the uniqueness window? #22
  • clarification on unique_args #20
  • payload_hash staying around #13

Merged pull requests:

v2.7.0 (2013-11-24)

Full Changelog

Closed issues:

  • Sidekiq tests failed when sidekiq-unique-jobs is used #24
  • Redis not mocked in testing #18
  • Scheduled Unique Jobs Not Being Enqueued #15
  • Retries duplicates unique jobs #5
  • Middleware not added to chain? #2

Merged pull requests:

  • Make unlock/yield order configurable. #21 (endofunky)
  • Rely on Sidekiq's String#constantize extension instead of rolling our own #19 (disbelief)
  • Attempt to constantize String worker_class arguments passed to client middleware #17 (disbelief)
  • Compatibility with Sidekiq 2.12.1 Scheduled Jobs #16 (lsimoneau)
  • Allow worker to specify which arguments to include in uniquing hash #12 (sax)
  • Add support for unique when using Sidekiq's delay function #11 (eduardosasso)
  • Adding the unique prefix option #8 (KensoDev)
  • Remove unnecessary log messages #7 (marclennox)

v2.3.2 (2012-09-27)

Full Changelog

Closed issues:

  • Scheduled workers #1

Merged pull requests:

  • Fix multiple bugs, cleaned up dependencies, and added a feature #4 (kemper-blinq)
  • Dependency on sidekiq 2.2.0 and up #3 (philostler)

v2.2.1 (2012-08-19)

Full Changelog

v2.2.0 (2012-08-19)

Full Changelog

v2.1.0 (2012-08-07)

Full Changelog

* This Changelog was automatically generated by github_changelog_generator