Changelogs

7.38.4 (2025-08-14)

Bug Fixes

7.38.3 (2025-08-06)

Bug Fixes

7.38.2 (2025-07-18)

Bug Fixes

  • scheduler: take offset into the startMillis calculation (#2944) fixes #247 (1e3f3c5)

  • connection: ignore info command when skipVersionCheck is provided as true (#3342) fixes #3341 (b94d7ed)

7.38.1 (2025-07-15)

Bug Fixes

  • groups: use rate limit delay as blockTimeout when is lower than delayed marker (#353) (9936325)

Performance Improvements

  • worker: do not wait rate limit when fetching jobs (#3322) (c32e6a0)

  • woker: keep lower blockTimeout when consuming delayed markers (#3333) (e687d7c)

7.38.0 (2025-07-11)

Features

7.37.0 (2025-07-10)

Bug Fixes

  • avoid circular reference between scripts and queue (#3301) (fb65677)

  • scheduler: fix slot calculation when using every (#3307) (588719e)

Features

Performance Improvements

  • scheduler: save offset value when every is provided (#3142) (98f35bc)

7.36.0 (2025-07-09)

Bug Fixes

  • deps: address brace-expansion vulnerability with v1.1.12 (240b0b5)

  • job-scheduler: support for groups (#345) (467544e)

  • flow: add new error code when parent has failed children (#3268) (b8fba5e)

  • job: do not parse ignored failures in getDependencies (#3284) fixes #3283 (04ca6b5)

  • scheduler: remove current job when it is in delayed state (#3269) fixes #3262 #3272 (1ca4cbd)

  • worker: avoid dangling jobs to hang the queue with rate limit (#3297) fixes #3289 (263d33d)

Features

  • sandbox: add getIgnoredChildrenFailures method in job's wrapper (#3263) (5d2723d)

  • backoff: add jitter option (#3291) (86c4c6d)

Performance Improvements

7.35.2 (2025-05-23)

Bug Fixes

  • groups: use correct local concurrency attribute name (#343) (712d263)

7.35.1 (2025-05-16)

Bug Fixes

7.35.0 (2025-05-02)

Bug Fixes

  • deduplication: remove deduplication key only when jobId matches with the last one being saved (#3236) (192e82c)

  • job-scheduler: remove next delayed job if present even if scheduler does not exist (#3203) ref #3197 (61395bf)

  • queue-events: omit telemetry options (#3239) (e4dac2c)

Features

  • queue: add getIgnoredChildrenFailures method (#3194) (4affb11)

  • flow: support ignored children in getFlow and getDependencies methods (#3238) ref #3213 (2927803)

  • flow: support failed children in getFlow and getDependencies methods (#3243) (d3b1cff)

7.34.0 (2025-04-30)

Bug Fixes

  • flow-producer: fix queueName otel attribute when passing it to addNode (#3198) (758ea26)

  • flow: remove job from dependencies when failParentOnFailure or continueParentOnFailure (#3201) (1fbcbec)

  • job-scheduler: fix endDate presence validation (#3195) (339f13e)

  • made line split more compatible (#3208) (3c2349a), closes #3204

  • flow-producer: use FlowProducer prefix by defualt when calling getFlow (#3224) (bd17aad)

Features

Performance Improvements

7.33.0 (2025-04-17)

Bug Fixes

  • job: deserialize priority in fromJSON (#3126) (c3269b1)

  • scheduler: remove multi when updating a job scheduler (#3108) (4b619ca)

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

  • job-scheduler: restore iterationCount attribute (#3134) (eec7114)

  • job-scheduler: add marker when upserting job scheduler if needed (#3145) (0e137b2)

  • flow: consider prioritized state when moving a parent to failed (#3160) (d91d9f4)

  • flow: only validate pending dependencies when moving to completed (#3164) (d3c397f)

  • scheduler: remove next delayed job when possible (#3153) (219c0db)

  • job-scheduler: emit duplicated event when next delayed job exists (#3172) (d57698f)

  • flow: validate pending dependencies before removing lock (#3182) (8d59e3b)

  • queue-events: pass right path for JobProgress type (#3192) fixes #3191 (33c62e6)

  • fix manual retries so that they honor groups max concurrency (#332) (5fffdc6)

Features

  • job: add complete span in moveToCompleted method (#3132) (c37123c)

  • job: support ignored and failed counts in getDependenciesCount (#3137) ref #3136 (83953db)

  • prometheus export: expose global variables (0325a39)

  • add deduplicated job id to the deduplicated event (0f21c10)

  • updateProgress: allow more types to be used as progress (#3187) (f16b748)

Performance Improvements

  • worker: optimize job retrieval for failed jobs in chunks (#3127) (e0f02ce)

  • flow: validate parentKey existence before trying to move it to failed (#3163) (5a88e47)

7.32.2 (2025-03-15)

Bug Fixes

7.32.1 (2025-03-11)

Bug Fixes

  • worker-pro: fix return typing in getNextJob method (#305) (ee43930)

7.32.0 (2025-03-05)

Features

  • group: support removing custom group rate limit (#299) (685eec1)

7.31.1 (2025-03-04)

Bug Fixes

  • scheduler: validate repeatKey if present when cleaning failed jobs (#3115) fixes #3114 (d4cad84)

  • flow: consider delayed state when moving a parent to failed (#3112) (6a28b86)

  • telemetry: fix span name for moveToFailed logic (#3113) (7a4b500)

7.31.0 (2025-03-02)

Bug Fixes

  • batch: remove debug statement (6620f82)

Features

  • batches: add initial support for minSize (48d1e01)

  • batches: add timeout option for minSize (2c40aff)

7.30.4 (2025-03-01)

Bug Fixes

  • job-scheduler: consider removing current job from wait, paused or prioritized (#3066) (97cd2b1)

Performance Improvements

  • delayed: add marker once when promoting delayed jobs (#3096) (python) (38912fb)

7.30.3 (2025-02-21)

Bug Fixes

  • repeat: use JobPro class when creating delayed job (#292) (ce9eff8)

  • worker: do not execute run method when no processor is defined when resuming (#3089) (4a66933)

  • worker: do not resume when closing (#3080) (024ee0f)

  • job: set processedBy when moving job to active in moveToFinished (#3077) fixes #3073 (1aa970c)

  • drain: pass delayed key for redis cluster (#3074) (05ea32b)

  • job-scheduler: restore limit option to be saved (#3071) (3e649f7)

  • job-scheduler: return undefined in getJobScheduler when it does not exist (#3065) fixes #3062 (548cc1c)

  • fix return type of getNextJob (b970281)

Features

  • job: add moveToWait method for manual processing (#2978) (5a97491)

  • queue: support removeGlobalConcurrency method (#3076) (ece8532)

Performance Improvements

  • add-job: add job into wait or prioritized state when delay is provided as 0 (#3052) (3e990eb)

7.30.2 (2025-02-20)

Bug Fixes

  • worker: wait fetched jobs to be processed when closing (#3059) (d4de2f5)

7.30.1 (2025-02-20)

Bug Fixes

  • job: save processedBy attribute when preparing for processing (#300) (c947f6e)

7.30.0 (2025-02-19)

Features

7.29.0 (2025-02-18)

Features

  • job-scheduler: revert add delayed job and update in the same script (9f0f1ba)

7.28.0 (2025-02-15)

Bug Fixes

  • worker: evaluate if a job needs to be fetched when moving to failed (#3043) (406e21c)

  • retry-job: consider updating failures in job (#3036) (21e8495)

  • flow-producer: add support for skipWaitingForReady (6d829fc)

Features

  • job-scheduler: save limit option (#3033) (a1571ea)

  • queue: add option to skip wait until connection ready (e728299)

7.27.0 (2025-02-12)

Bug Fixes

  • worker: avoid possible hazard in closing worker (0f07467)

Features

  • queue-getters: add prometheus exporter (078ae9d)

  • job-scheduler: save iteration count (#3018) (ad5c07c)

  • sandbox: add support for getChildrenValues (dcc3b06)

7.26.6 (2025-02-03)

Bug Fixes

  • worker: add missing otel trace when extending locks (#290) (efbf948)

7.26.5 (2025-02-02)

Bug Fixes

  • worker: remove the use of multi in extend locks (3862075)

7.26.4 (2025-01-30)

Bug Fixes

  • retry-job: pass stalled key instead of limiter (#291) (e981c69)

7.26.3 (2025-01-26)

Bug Fixes

  • queue: use same telemetry logic in add method as BullMQ (#287) (214c0d9)

7.26.2 (2025-01-18)

Bug Fixes

  • job-scheduler: use delayed job data when template data is not present (#3010) fixes #3009 (95edb40)

  • job-scheduler: add next delayed job only when prevMillis matches with producerId (#3001) (4ea35dd)

  • job-scheduler: avoid duplicates when upserting in a quick sequence (#2991) (e8cdb99)

  • dynamic-rate-limit: validate job lock cases (#2975) (8bb27ea)

Performance Improvements

  • job-scheduler: add delayed job and update scheduler in same script (#2997) (9be28a0)

  • job-scheduler: add delayed job and scheduler in same script (#2993) (95718e8)

7.26.1 (2024-12-22)

Bug Fixes

  • sandbox: fix issue where job could stay in active forever (#2979) (c0a6bcd)

  • sandboxed: fix detecting special errors by sending default messages (#2967) fixes #2962 (52b0e34)

7.26.0 (2024-12-17)

Bug Fixes

  • scripts: make sure jobs fields are not empty before unpack (4360572)

  • guarantee every repeatable jobs are slotted (9917df1)

  • job-scheduler: avoid duplicated delayed jobs when repeatable jobs are retried (af75315)

  • job-scheduler: omit deduplication and debounce options from template options (#2960) (b5fa6a3)

Features

  • telemetry: add option to omit context propagation on jobs (#2946) (6514c33)

  • replace multi by lua scripts in moveToFailed (#2958) (c19c914)

7.25.0 (2024-12-17)

Features

  • queue: enhance getJobSchedulers method to include template information (#2956) ref #2875 (5b005cd)

7.24.0 (2024-12-07)

Bug Fixes

  • worker: catch connection error when moveToActive is called (#2952) (544fc7c)

  • scheduler-template: remove console.log when getting template information (#2950) (3402bfe)

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

  • job-scheduler: upsert template when same pattern options are provided (#2943) ref #2940 (b56c3b4)

Features

  • queue: enhance getJobScheduler method to include template information (#2929) ref #2875 (cb99080)

  • queue: add getJobSchedulersCount method (#2945) (38820dc)

7.23.1 (2024-12-06)

Bug Fixes

  • stalled: move parent to group when needed (#276) (8449a41)

7.23.0 (2024-11-26)

Bug Fixes

  • scheduler: remove deprecation warning on immediately option (#2923) (14ca7f4)

Features

  • telemetry: add telemetry support (#273) (e5cc134)

  • queue: refactor a protected addJob method allowing telemetry extensions (09f2571)

7.22.0 (2024-11-22)

Bug Fixes

  • queue: change _jobScheduler from private to protected for extension (#2920) (34c2348)

  • scheduler: use Job class from getter for extension (#2917) (5fbb075)

  • telemetry: do not set span on parent context if undefined (c417a23)

Features

  • job-scheduler: add telemetry support to the job scheduler (72ea950)

  • queue: add rateLimit method (#2896) (db84ad5)

  • queue: add removeRateLimitKey method (#2806) (ff70613)

Performance Improvements

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

7.21.1 (2024-11-15)

Bug Fixes

  • deps: use fixed version of bullmq v5.26.1 (#269) (33e73e4)

7.21.0 (2024-11-14)

Bug Fixes

  • queue: fix generics to be able to properly be extended (f2495e5)

Features

  • queue-pro: expose jobs pro in getters (e1da097)

  • improve queue getters to use generic job type (#2905) (c9531ec)

7.20.2 (2024-11-13)

Bug Fixes

  • job-scheculer: avoid hazards when upserting job schedulers concurrently (022f7b7)

  • connection: do not allow to set blockingConnection option (#2851) (9391cc2)

7.20.1 (2024-11-10)

Bug Fixes

  • repeatable: only apply immediately in the first iteration (f69cfbc)

7.20.0 (2024-11-09)

Bug Fixes

  • scripts: set package version by default for extension (#2887) (b955340)

  • worker: allow retrieving concurrency value (#2883) fixes #2880 (52f6317)

  • connection: set packageVersion as protected attribute for extension (#2884) (411ccae)

Features

  • queue-events: add QueueEventsProducer for publishing custom events (#2844) (5eb03cd)

  • flows: add telemetry support (#2879) (5ed154b)

7.19.0 (2024-11-08)

Bug Fixes

  • deps: bump msgpackr to 1.1.2 to resolve ERR_BUFFER_OUT_OF_BOUNDS error (#2882) ref #2747 (4d2136c)

Features

7.18.0 (2024-11-07)

Bug Fixes

  • proper way to get version (b4e25c1)

  • scripts: add missing wait in isJobInList (9ef865c)

  • redis: use version for naming loaded lua scripts (fe73f6d)

Features

  • queue: add option to skip metas update (b7dd925)

  • queue: add queue version support (#2822) (3a4781b)

7.17.2 (2024-10-23)

Bug Fixes

  • sandbox: fix serialization of error with circular references are present (#2815) fix #2813 (a384d92)

7.17.1 (2024-10-18)

Bug Fixes

  • worker-pro: use JobPro as part of WorkerProListener events (#260) (966ac9c)

7.17.0 (2024-10-12)

Bug Fixes

  • repeat: also consider startDate when using "every" (25bbaa8)

  • sandbox: catch exit errors (#2800) (6babb9e)

Features

  • repeat: deprecate immediately on job scheduler (ed047f7)

  • job: expose priority value (#2804) (9abec3d)

  • job: add deduplication logic (#2796) (0a4982d)

  • queue: add new upsertJobScheduler, getJobSchedulers and removeJobSchedulers methods (dd6b6b2)

  • worker-fork: allow passing fork options (#2795) (f7a4292)

  • worker-thread: allow passing Worker options (#2791) ref #1555 (6a1f7a9)

7.16.0 (2024-09-24)

Bug Fixes

  • repeatable: avoid delayed job deletion if next job already existed (#2778) (6a851c1)

  • connection: allow passing connection string into IORedis (#2746) (73005e8)

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

  • pattern: do not save offset when immediately is provided (#2756) (a8cb8a2)

Features

  • groups: support changing priority intra groups (#255) (2b0bf7e)

  • queue: add getDebounceJobId method (#2717) (a68ead9)

Performance Improvements

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

7.15.4 (2024-09-21)

Bug Fixes

  • repeat: replace delayed job when updating repeat key (88029bb)

7.15.3 (2024-09-07)

Bug Fixes

7.15.2 (2024-09-07)

Bug Fixes

  • flow: remove debounce key when parent is moved to fail (#2720) (d51aabe)

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

  • job: throw error if removeDependencyOnFailure and ignoreDependencyOnFailure are used together (#2711) (967632c)

  • job: change moveToFinished return type to reflect jobData (#2706) ref #2342 (de094a3)

  • stalled: support removeDependencyOnFailure option when job is stalled (#2708) (e0d3790)

Performance Improvements

  • fifo-queue: use linked list structure for queue (#2629) (df74578)

7.15.1 (2024-09-06)

Bug Fixes

  • worker: fix close sequence to reduce risk for open handlers (#2656) (8468e44)

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

7.15.0 (2024-09-05)

Bug Fixes

Features

  • queue-pro: add getGroupRateLimitTtl method (#250) (5a907d9)

Performance Improvements

7.14.1 (2024-08-09)

Bug Fixes

  • flow: get groupId from moveToWaitingChildren script (#247) (1bee26e)

7.14.0 (2024-08-08)

Features

  • queue-events: pass debounceId as a param of debounced event (#2678) (97fb97a)

  • job: allow passing debounce as option (#2666) (163ccea)

7.13.0 (2024-07-31)

Bug Fixes

  • repeatable: remove repeat hash when removing repeatable job (#2676) (97a297d)

  • repeatable: keep legacy repeatables if it exists instead of creating one with new structure (#2665) (93fad41)

  • repeatable: consider removing legacy repeatable job (#2658) fixes #2661 (a6764ae)

  • repeatable: pass custom key as an args in addRepeatableJob to prevent CROSSSLOT issue (#2662) fixes #2660 (9d8f874)

Features

Performance Improvements

7.12.0 (2024-07-26)

Features

7.11.0 (2024-07-14)

Features

7.10.1 (2024-07-09)

Bug Fixes

  • get-groups-count: consider other group states apart of waiting (#240) (eccd4e6)

7.10.0 (2024-07-06)

Bug Fixes

  • queue-getters: consider passing maxJobs when calling getRateLimitTtl (#2631) fixes #2628 (9f6609a)

  • job: consider changing priority to 0 (#2599) (4dba122)

  • priority: consider paused state when calling getCountsPerPriority (python) (#2609) (6e99250)

  • priority: use module instead of bit.band to keep order (python) (#2597) (9ece15b)

Features

Performance Improvements

7.9.2 (2024-06-28)

Bug Fixes

  • groups: promote maxed groups after decreasing active count (#234) (545b6c2)

7.9.1 (2024-06-18)

Bug Fixes

  • maxed: consider passing max concurrency into repairMaxedGroup (#232) (a3885a5)

7.9.0 (2024-06-15)

Features

  • groups: allow passing limit when calling getGroupsJobsCount (#230) (ac0469f)

7.8.3 (2024-06-13)

Bug Fixes

  • groups: consider removing job from prioritized group when using remove method (#229) (b61b96f)

7.8.2 (2024-05-31)

Bug Fixes

  • worker: properly cancel blocking command during disconnections (2cf12b3)

  • extendlock,createbulk use pipeline no multi command (a053d9b)

  • repeat: throw error when endDate is pointing to the past (#2574) (5bd7990)

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

  • sandboxed: ensure DelayedError is checked in Sandboxed processors (#2567) fixes #2566 (8158fa1)

  • job: validate job existence when adding a log (#2562) (f87e3fe)

7.8.1 (2024-05-18)

Bug Fixes

  • groups: remove concurrency when removing group (#226) (332728e)

7.8.0 (2024-05-10)

Features

7.7.2 (2024-05-04)

Bug Fixes

  • worker: make sure clearTimeout is always called after bzpopmin (782382e)

  • worker: force timeout on bzpopmin command (#2543) (ae7cb6c)

Performance Improvements

  • worker: do not call bzpopmin when blockDelay is lower or equal 0 (#2544) ref #2466 (9760b85)

7.7.1 (2024-04-30)

Bug Fixes

  • worker-pro: correct typo in options argument for limiter (0e999dd)

7.7.0 (2024-04-30)

Features

  • groups: support for local group concurrency using setGroupConcurrency method (#220) (159a341)

7.6.2 (2024-04-25)

Bug Fixes

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

7.6.1 (2024-04-23)

Bug Fixes

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

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

Performance Improvements

  • worker: reset delays after generating blockTimeout value (#2529) (e92cea4)

7.6.0 (2024-04-17)

Features

7.5.0 (2024-04-10)

Bug Fixes

  • worker: use 0.002 as minimum timeout for redis version lower than 7.0.8 (#2515) fixes #2466 (44f7d21)

Features

  • allow arbitrary large drainDelay (9693321)

Performance Improvements

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

  • add-to-group: skip reinsertion of group (#215) (6823251)

7.4.1 (2024-04-07)

Bug Fixes

7.4.0 (2024-04-04)

Bug Fixes

  • connection: ignore error when setting custom end status (#2473) (3e17e45)

  • job: stack trace limit (#2487) (cce3bc3)

  • scripts: use command name in error message when moving to finished (#2483) (3c335d4)

  • queue: use QueueOptions type in opts attribute (#2481) (51a589f)

  • worker: validate drainDelay must be greater than 0 (#2477) (ab43693)

Features

  • getters: add getWorkersCount (743c7aa)

7.3.1 (2024-03-30)

Bug Fixes

  • group-limit: set rate limiting even when group is empty (#212) (08824cf)

7.3.0 (2024-03-16)

Bug Fixes

  • deps: move fast-glob and minimatch as dev-dependencies (#2452) (cf13b31)

  • worker: set blockTimeout as 0.001 when reach the time to get delayed jobs (#2455) fixes #2450 (2de15ca)

Features

7.2.0 (2024-03-15)

Bug Fixes

  • deps: replaced glob by fast-glob due to security advisory (91cf9a9)

  • sandbox: extend SandboxedJob from JobJsonSandbox (#2446) fixes #2439 (7606e36)

  • add-job: fix parent job cannot be replaced error message (#2441) (1e9a13f)

Features

  • worker: add support for naming workers (7ba2729)

7.1.0 (2024-03-14)

Bug Fixes

  • flow: remove failed children references on auto removal (#2432) (8a85207)

  • redis-connection: close redis connection even when initializing (#2425) fixes #2385 (1bc26a6)

Features

  • flow: add ignoreDependencyOnFailure option (#2426) (c7559f4)

7.0.0 (2024-03-12)

Bug Fixes

  • worker: update processor types (#193) (8ebb72e)

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

  • reprocess-job: add marker if needed (#2406) (5923ed8)

  • rate-limit: move job to wait even if ttl is 0 (#2403) (c1c2ccc)

  • stalled: consider adding marker when moving job back to wait (#2384) (4914df8)

  • retry-jobs: add marker when needed (#2374) (1813d5f)

  • security: upgrade msgpackr https://github.com/advisories/GHSA-7hpj-7hhx-2fgx (7ae0953)

  • worker: worker can be closed if Redis is down (#2350) (888dcc2)

  • worker: throw error if connection is missing (6491a18)

Features

Performance Improvements

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

  • change-delay: add delay marker when needed (#2411) (8b62d28)

  • flow: add marker when moving parent to wait (python) (#2408) (6fb6896)

  • move-to-active: check rate limited once (#2391) (ca6c17a)

BREAKING CHANGES

Last updated

Was this helpful?