github taskforcesh/bullmq vex1.0.0

5 hours ago

1.0.0 (2025-12-04)

Bug Fixes

  • avoid the .toJSON serializer interface #70 (5941b82), closes Job#toJSON Job#asJSON
  • backoff: handle backoff strategy as function (#1463) (3640269)
  • cleanup signatures for queue add and addBulk (#127) (48e221b)
  • compat: remove Queue3 class (#1421) (fc797f7)
  • connect if redis client has status "wait" (f711717)
  • default job settings #58 (667fc6e)
  • extendlock,createbulk use pipeline no multi command (a053d9b)
  • flow: respect defaultJobOptions from queue opts (#1080) fixes #1034 (0aca072)
  • job: added nullable/optional properties (cef134f)
  • job: revert console warn custom job ids when they represent integers (#2312) (84015ff)
  • made line split more compatible (#3208) (3c2349a), closes #3204
  • modified imports to work when esModuleInterop is disabled (#132) (01681f2)
  • modified QueueGetters.getJob and Job.fromId to also return null to (65183fc)
  • modified QueueGetters.getJob and Job.fromId to return undefined (ede352b)
  • python: unify redis connection args for Queue and Worker (#2282) (8eee20f)
  • queue-base: error event is passed through (ad14e77)
  • queue: ensure the Queue constructor doesn't try to set queue options if the client is closed (b40c6eb)
  • retry-jobs: add marker when needed (#2374) (1813d5f)
  • revert "feat(sandbox): experimental support ESM" (#1384) (7d180eb)
  • scheduler: divide next timestamp by 4096 (#204) (9562d74)
  • stalled-jobs: move stalled jobs to wait in batches (a23fcb8), closes #422
  • update delay job property when moving to delayed set (#2261) (69ece08)
  • upsertJobScheduler does not apply change on existing scheduled job (#3524) (98f73b3), closes #3500

Features

  • add initial version of BullMQ [elixir] (#3588) (976734f)
  • flows: add queuesOptions for rate limit (#692) (6689ec3), closes #621
  • improve delayed jobs and remove QueueScheduler (1f66e5a)
  • initial python package (#1673) (a97b22f)
  • job.progress() return last progress for sandboxed processors (5c4b146)
  • move stalled jobs check and handling to Worker class from QueueScheduler (13769cb)
  • move-to-delayed: allow passing token (#1213) (14f0e4a)
  • prometheus export: expose global variables (0325a39)
  • python: support reusable redis connections (29ad8c8)
  • queue-scheduler: launch without launching process (#729) (f1932a7), closes #436
  • queue: add new upsertJobScheduler, getJobSchedulers and removeJobSchedulers methods (dd6b6b2)
  • rate-limit: remove group key support and improve global rate limit (81f780a)
  • remove delay dependency (97e1a30)
  • remove dependence on Bluebird.delay #67 (bedbaf2)
  • upstash: don't throw an error when detecting an upstash host (2e06bca)
  • worker: improved markers handling (73cf5fc)
  • worker: improved markers handling (0bac0fb)
  • worker: launch without launching process (#724) (af689e4), closes #436

Performance Improvements

  • priority: add prioritized as a new state (#1984) (python) (42a890a)

BREAKING CHANGES

  • worker: Markers use now a dedicated key in redis instead of using a special Job ID.

  • worker: Markers use now a dedicated key in redis instead of using a special Job ID.

  • priority: priority is separeted in its own zset, no duplication needed

  • feat(queue): add removeDeprecatedPriorityKey method

  • refactor: change job method name update to updateData

ref faster priority jobs

  • rate-limit: limit by group keys has been removed in favor
    of a much simpler and efficent rate-limit implementation.
  • backoff: object mapping is replaced by single function
  • compat: The compatibility class for Bullv3 is no longer available.
  • The QueueScheduler class is removed since it is not necessary anymore.
    Delayed jobs are now handled in a much simpler and
    robust way, without the need of a separate process.
  • failed and stalled events are now produced by the Worker class instead of by the QueueScheduler.

Don't miss a new bullmq release

NewReleases is sending notifications on new releases.