Skip to content

[4.18.3](https://github.com/taskforcesh/bullmq/compare/v4.18.2...v4.18.3) (2025-07-19)

Source URL: https://docs.bullmq.io/changelog/changelog-v4

  • delayed: add marker once when promoting delayed jobs (#3312) (c4a4ada)
  • proper way to get version (1a433d2)
  • use versions for lua commands (b0a216d)
  • queue: add version support (a600463)
  • sandbox: support URL (local files) as processor file (7eea670)
  • flows: update constructor and methods to match queue base (#2324) (d6c2064)
  • sandboxed: better compatibility with esbuild (8eaf955)
  • child-processor: preserve dynamic imports in commonjs (d97a5e0)
  • flows: add meta key to queues created with flows (272ec69)
  • sandboxes: use the more compatible dynamic import instead of require (6d2fe6e)
  • repeat-strategy: add missing Promise return type (#2301) (6f8f534)
  • update-progress: remove old updateProgress script to prevent conflict (#2298) (python) (e65b819)
  • worker: get dirname by using module.filename (#2296) fixes #2288 (6e4db5a)
  • worker: should cap update progress events (2cab9e9)
  • worker: better handling of concurrency when fetching jobs (#2242) (d2e2035)
  • utils: use EventEmitter as a type instead of a namespace (#2283) (41c9d1d)
  • job: set delay value on current job instance when it is retried (#2266) (python) (76e075f)
  • connection: better handling of attached listeners (02474ad)
  • connection: move redis instance check to queue base (13a339a)
  • queue: improve clean to work iteratively (#2260) (0cfa66f)
  • update delay job property when moving to delayed set (#2261) (69ece08)
  • add-job: trim events when waiting-children event is published (#2262) (python) (198bf05)
  • worker: keep extending locks while closing workers (#2259) (c4d12ea)
  • redis-connection: check redis version greater or equal than v6 only once (#2252) (a09b15a)
  • sandbox: do not return empty object result when it is undefined (#2247) (308db7f)
  • events: trim events when removing jobs (#2235) (python) (889815c)
  • events: do not publish removed event on non-existent jobs (#2227) (c134606)
  • delayed: trim events when moving jobs to delayed (python) (#2211) (eca8c2d)
  • expose addJobLog and updateJobProgress to the Queue instance (#2202) (2056939)
  • worker: throw exception with NaN as concurrency (#2184) (f36ac8b)
  • queue: differentiate score purpose per state in clean method (#2133) fixes #2124 (862f10b)
  • sandbox: convert wrapJob method as protected for extension (#2182) (1494b55)
  • move-to-finished: consider addition of prioritized jobs when processing last active job (#2176) (python) (4b01f35)
  • remove: change error message when job is locked (python) (#2175) (2f5628f)
  • connection: provide skipVersionCheck option for shared connections (#2149) ref #2148 (914820f)
  • sandbox: ignore extra params on processor (#2142) (3602c20)
  • worker: abort rate-limit delay when closing worker (264a81c)
  • queue: throw error when name is not provided (#2123) (78fb0e2)
  • job: generate priority limit constant once (#2102) (8880f9f)
  • retry: compare prev state instead of regex expression (#2099) (c141283)
  • queue: add promoteJobs to promote all delayed jobs (6074592)
  • job: add option for removing children in remove method (python) (#2064) (841dc87)
  • job: add removeDependencyOnFailure option (#1953) (ffd49e2)
  • flow: emit delayed event when parent is moved to delayed (#2055) (f419ff1)
  • common: add option to change repeatable jobs redis key hash algorithm (#2023) (ca17364)
  • queue: add getPrioritized and getPrioritizedCount methods (#2005) (7363abe)
  • queue: add removeDeprecatedPriorityKey method
  • priority: add prioritized as a new state (#1984) (python) (42a890a)
  • priority: priority is separeted in its own zset, no duplication needed
  • job: change job method name update to updateData

ref faster priority jobs