Skip to content

2.26.0 (2026-07-26)

Features

  • port JobScheduler, LockManager, AbortController, QueueEvents classes and global limits [python] fixes #2772 (#4336) (2664876)

2.25.4 (2026-07-24)

Bug Fixes

  • queue: retrieve jobs in same transaction under getJobs (#4300) (python) (elixir) (php) (rust) (8571503)

2.25.3 (2026-07-10)

Bug Fixes

  • flow: use correct data structure when retrying failed child using ignoreDependencyOnFailure fixes #4235 (#4236) (6f1b2e3)

2.25.2 (2026-05-10)

Bug Fixes

  • worker: [python] avoid tight error loop on Redis disconnect (#4102) (51c935b)

2.25.1 (2026-05-04)

Bug Fixes

  • connection: deprecate skipWaitingForReady option as is not having any effect [python] (#4140) (c9c0c0a)

2.25.0 (2026-04-29)

Features

  • queue: add skipVersionCheck and skipWaitingForReady to QueueBaseOptions [python] (#4086) (54311e5)

2.24.0 (2026-04-28)

Features

  • connection: add return type hints to RedisConnection methods [python] (#4025) (4ca9c27)

2.23.1 (2026-04-26)

Bug Fixes

  • queue: guard getCompleted against empty task set [python] (#3885) (19b9ca0)

2.23.0 (2026-04-22)

Features

  • python: add type hints to worker.py methods (#4035) (1423b58)

2.22.0 (2026-04-20)

Features

  • job: add return type hints to Job methods (#4003) [python] (704690c)

2.21.1 (2026-04-20)

Bug Fixes

  • queue: getFailed() incorrectly returns completed jobs (#3996) [python] (f77f249)

2.21.0 (2026-04-20)

Bug Fixes

  • queue: use slice reversal instead of reverse() which returns None (#4022) (1652435)

Features

2.20.4 (2026-04-17)

Bug Fixes

  • error: export UnrecoverableError from package root (#4047) [python] (be9f032)

2.20.3 (2026-04-10)

Bug Fixes

  • worker: emit active event as soon as getting next job (elixir) (python) (#3936) ref #3911 (d5eca5a)

2.20.2 (2026-04-09)

Performance Improvements

  • delayed: allow to fetch next job when moving job to delayed (python) (elixir) (#3870) (0cb0b8c)

2.20.1 (2026-04-09)

Bug Fixes

  • connection: use single_connection_client as true (#3887) fixes #2243 [python] (bf45186)

2.20.0 (2026-04-03)

Features

  • deduplication: add keepLastIfActive option for at-least-once-after-active semantics (#3902) (aa529bc)

2.19.8 (2026-03-19)

Bug Fixes

  • worker: make close method fault-tolerant (#3886) [python] (3c118d1)

2.19.7 (2026-03-18)

Bug Fixes

  • worker: use discard instead of remove in processJob to prevent KeyError (#3884) [python] (e5b7aff)

2.19.6 (2026-03-06)

Bug Fixes

  • flow: allow deduplication from root parent (python) (elixir) (#3817) fixes #3761 (6cd60a7)
  • auto-remove: remove orphaned jobs when auto-remove is enabled (#3853) (504b536)

2.19.5 (2026-02-11)

Performance Improvements

2.19.4 (2026-01-28)

Bug Fixes

2.19.3 (2026-01-24)

Bug Fixes

2.19.2 (2026-01-22)

Bug Fixes

  • queue: add missing defaultJobOptions field to QueueBaseOptions TypedDict [python] (#3702) fixes #3695 (61504f1)

2.19.1 (2026-01-22)

Performance Improvements

  • job: apply limit when removing jobs by max age (python) (elixir) (#3694) fixes #3672 (a8fc316)

2.19.0 (2026-01-13)

Features

2.18.3 (2025-12-25)

Bug Fixes

  • queue: convert boolean force parameter to string in obliterate method [python] (#3642) fixes #3640 (706da0d)

2.18.2 (2025-12-24)

Bug Fixes

  • flow: resolve KeyError when child job fails with failParentOnFailure option [python] (#3639) fixes #3638 (7f602e1)

2.18.1 (2025-12-20)

Bug Fixes

  • flow: support failParentOnFailure and related dependency options with validation [python] (#3621) fixes #3620 (9c533c0)

2.18.0 (2025-12-19)

Features

2.17.0 (2025-12-14)

Features

  • job: support retry method options [elixir] [python] (#3601) (6e406a9)

2.16.2 (2025-12-02)

Bug Fixes

2.16.1 (2025-09-08)

Bug Fixes

2.16.0 (2025-09-07)

Features

  • queue: support getWaitingCount method [python] (#3434) (1c75abb)

2.15.1 (2025-09-06)

Bug Fixes

  • job: consider parent update when retrying (#3402) (python) fixes #3320 (316d1ed)
  • job: pass stacktrace into scripts on failures [python] (#3294) (97b215d)

2.15.0 (2025-05-13)

Bug Fixes

Features

2.14.0 (2025-05-01)

Bug Fixes

  • connection: add str type in connection option [python] (#3212) (72fac42)
  • flow: remove job from dependencies when failParentOnFailure or continueParentOnFailure (#3201) (1fbcbec)
  • flow: validate pending dependencies before removing lock (#3182) (8d59e3b)
  • flow: only validate pending dependencies when moving to completed (#3164) (d3c397f)
  • flow: consider prioritized state when moving a parent to failed (#3160) (d91d9f4)

Features

Performance Improvements

  • flow: change parent failure in a lazy way (#3228) (6b37a37)
  • flow: validate parentKey existence before trying to move it to failed (#3163) (5a88e47)

2.13.1 (2025-03-15)

Bug Fixes

  • Nothing changed

2.13.0 (2025-03-15)

Bug Fixes

  • flow: consider to fail a parent not in waiting-children when failParentOnFailure is provided (#3098) (589adb4)

2.12.1 (2025-02-28)

Bug Fixes

  • worker: cast delay_until to integer [python] (#3116) (db617e4)
  • flow: consider delayed state when moving a parent to failed (#3112) (6a28b86)

2.12.0 (2025-02-21)

Bug Fixes

  • flow: allow using removeOnFail and failParentOnFailure in parents (#2947) fixes #2229 (85f6f6f)

Performance Improvements

  • delayed: add marker once when promoting delayed jobs (#3096) (python) (38912fb)
  • add-job: add job into wait or prioritized state when delay is provided as 0 (#3052) (3e990eb)

2.11.0 (2024-11-26)

Features

  • queue: add getDelayedCount method [python] (#2934) (71ce75c)

Performance Improvements

  • marker: add base markers while consuming jobs to get workers busy (#2904) fixes #2842 (1759c8b)

2.10.1 (2024-10-26)

Bug Fixes

  • commands: add missing build statement when releasing [python] (#2869) fixes #2868 (ff2a47b)

2.10.0 (2024-10-24)

Features

  • job: add getChildrenValues method [python] (#2853) (0f25213)

2.9.4 (2024-09-10)

Bug Fixes

  • metrics: differentiate points in different minutes to be more accurate (#2766) (python) (7cb670e)

Performance Improvements

  • metrics: save zeros as much as max data points (#2758) (3473054)

2.9.3 (2024-08-31)

Bug Fixes

  • flow: recursive ignoreDependencyOnFailure option (#2712) (53bc9eb)

2.9.2 (2024-08-10)

Bug Fixes

  • flow: validate parentData before ignoreDependencyOnFailure when stalled check happens (#2702) (python) (9416501)

2.9.1 (2024-08-08)

Bug Fixes

  • Nothing changed

2.9.0 (2024-08-02)

Bug Fixes

  • job: make sure json.dumps return JSON compliant JSON [python] (#2683) (4441711)

2.8.1 (2024-07-11)

Bug Fixes

  • delayed: avoid using jobId in order to schedule delayed jobs (#2587) (python) (228db2c)

Performance

  • delayed: keep moving delayed jobs to waiting when queue is paused (#2640) (python) (b89e2e0)

2.8.0 (2024-07-10)

Bug Fixes

  • parent: consider re-adding child that is in completed state using same jobIds (#2627) (python) fixes #2554 (00cd017)
  • priority: consider paused state when calling getCountsPerPriority (python) (#2609) (6e99250)
  • priority: use module instead of bit.band to keep order (python) (#2597) (9ece15b)

Features

  • queue: add getCountsPerPriority method [python] (#2607) (02b8338)

2.7.8 (2024-06-05)

Bug Fixes

2.7.7 (2024-06-04)

Bug Fixes

  • retry-job: throw error when job is not in active state (#2576) (ca207f5)

2.7.6 (2024-05-09)

Bug Fixes

2.7.5 (2024-04-28)

Bug Fixes

  • worker: wait for jobs to finalize on close (#2545) [python] (d81f210)

2.7.4 (2024-04-26)

Bug Fixes

  • redis-connection: increase redis retry strategy backoff (#2546) [python] (6cf7712)

2.7.3 (2024-04-24)

Bug Fixes

  • stalled: consider ignoreDependencyOnFailure option (python) (#2540) fixes #2531 (0140959)

2.7.2 (2024-04-20)

Bug Fixes

  • worker: return minimumBlockTimeout depending on redis version (python) (#2532) (83dfb63)

2.7.1 (2024-04-18)

Bug Fixes

  • stalled: consider failParentOnFailure when moving child into failed (#2526) fixes #2464 (python) (5e31eb0)

2.7.0 (2024-04-13)

Features

2.6.0 (2024-04-13)

Features

  • worker: use 0.002 as minimum timeout for redis version lower than 7.0.8 [python] (#2521) (f3862dd)

2.5.0 (2024-04-08)

Features

  • python: support reusable redis connections (29ad8c8)

2.4.0 (2024-04-07)

Performance Improvements

  • stalled: remove jobId from stalled after removing lock when moved from active (#2512) (python) (64feec9)

2.3.3 (2024-03-24)

Bug Fixes

  • connection: accept all parameters for redis connection [python] (#2486) (ce30192)

2.3.2 (2024-03-23)

Bug Fixes

  • Nothing changed

2.3.1 (2024-03-19)

Bug Fixes

  • worker: set blockTimeout as 0.001 when reach the time to get delayed jobs [python] (#2478) (b385034)

2.3.0 (2024-03-16)

Features

2.2.4 (2024-02-13)

Bug Fixes

  • flow: parent job cannot be replaced (python) (#2417) (2696ef8)

2.2.3 (2024-02-10)

Performance Improvements

  • marker: differentiate standard and delayed markers (python) (#2389) (18ebee8)

2.2.2 (2024-02-03)

Bug Fixes

  • reprocess-job: add marker if needed (#2406) (5923ed8)
  • stalled: consider adding marker when moving job back to wait (#2384) (4914df8)

Performance Improvements

  • flow: add marker when moving parent to wait (python) (#2408) (6fb6896)
  • move-to-active: check rate limited once (#2391) (ca6c17a)

2.2.1 (2024-01-16)

Bug Fixes

2.2.0 (2024-01-14)

Features

2.1.0 (2024-01-12)

Bug Fixes

2.0.0 (2023-12-23)

Bug Fixes

  • connection: unify redis connection args for Queue and Worker (#2282) (8eee20f)

Features

  • job: add isActive method [python] (#2352) (afb5e31)
  • job: separate attemptsMade from attemptsStarted when manually moving a job (#2203) (0e88e4f)
  • scripts: use new queue markers (4276eb7)
  • worker: improved markers handling (73cf5fc) (0bac0fb)

BREAKING CHANGES

Released under the MIT License.