Skip to content

6.3.4 (2026-09-01)

Bug Fixes

  • deps: update rust crate croner to v4 [security] (#4666) (fd33926)

6.3.3 (2026-08-31)

Bug Fixes

  • bun: duplicate() and reconnect target the correct server (#4591) (e9b5679)
  • worker: keep blocking client alive when parked in reconnecting (#4586) (8fd4850)

6.3.2 (2026-08-29)

Bug Fixes

  • deps: upgrade msgpackr to 2.1.0 and uuid to 1.26.0 (rust) (#4621) (74987e9)
  • worker: delegate maximumBlockTimeout to the backend (python) (#4644) (ea4543c)

6.3.1 (2026-08-27)

Bug Fixes

  • postgres: resolve priv SQL dir at runtime for Mix releases (#4636) (9d737e9)

6.3.0 (2026-08-26)

Features

  • postgres: forward :ssl option to Postgrex connection (#4631) (elixir) (bb569b8)

6.2.2 (2026-08-25)

Performance Improvements

  • queue: do not affect rate limit when processing deferred failures (python) (elixir) (rust) (dotnet) (#4607) (ec4be04)

6.2.1 (2026-08-25)

Bug Fixes

  • Nothing changed, triggered by a elixir version release

6.2.0 (2026-08-21)

Features

  • types: add generic ProgressType parameter to Job and Worker (#4529) fixes #3721 (c06b51c)

6.1.2 (2026-08-16)

Bug Fixes

6.1.1 (2026-08-14)

Bug Fixes

6.1.0 (2026-08-12)

Features

6.0.11 (2026-08-10)

Bug Fixes

6.0.10 (2026-08-10)

Bug Fixes

6.0.9 (2026-08-07)

Bug Fixes

  • events: type completed event returnvalue as deserialized value (#4441) fixes #4147 (5910ccc)

6.0.8 (2026-08-05)

Bug Fixes

  • deps: avoid deep ioredis import so postgres backend works without ioredis internals (#4437) fixes #4435 (550e446)
  • postgres: fail fast when SQL loader directory cannot be resolved (#4482) (f3936a2)

6.0.7 (2026-08-04)

Bug Fixes

  • worker: recover blocking reads that never settle after a reconnect fixes #4479 (#4484) (e7e9a64)

6.0.6 (2026-08-03)

Bug Fixes

6.0.5 (2026-08-01)

Bug Fixes

  • No Node.js changes.

6.0.4 (2026-08-01)

Bug Fixes

6.0.3 (2026-07-31)

Bug Fixes

  • postgres: drop redundant bullmq_ prefix from schema objects (#4436) (elixir) (python) (067a73f)

6.0.2 (2026-07-31)

Bug Fixes

  • No Node.js changes.

6.0.1 (2026-07-31)

Bug Fixes

  • No Node.js changes.

6.0.0 (2026-07-30)

Features

  • release BullMQ v6 with pluggable queue backends (php) (python) (elixir) (e1f86ef)
  • Introduce the IQueueBackend abstraction, Redis and PostgreSQL backends, and the accompanying v6 updates across the supported language clients.

BREAKING CHANGES

  • High-level classes no longer expose Redis internals. The optional Connection constructor parameter is replaced by an optional BackendFactory. Queue#client, Queue#redisVersion, Queue#databaseType, Worker#blockingClient, and FlowProducer#client are removed. Access the raw Redis client through the RedisQueueBackend returned by getBackend(). Worker#waitUntilReady() now resolves to void instead of the Redis client.
  • Legacy repeatable jobs and their APIs are removed. This includes the repeat option on Queue#add and Queue#addBulk, the Repeat class, Queue#getRepeatableJobs(), Queue#removeRepeatable(), and Queue#removeRepeatableByKey(). Migrate recurring jobs to Job Schedulers.
  • The minimum supported Node.js version is now 14.17.0.
  • Worker#resume() is now asynchronous, returns Promise<void>, and must be awaited.
  • Queue#clean() telemetry now reports the number of cleaned jobs instead of recording the complete array of job IDs.
  • The deprecated TelemetryAttributes JobFinishedTimestamp and TelemetryAttributes.JobStatus members are removed. Telemetry uses JobState, and workers no longer set JobFinishedTimestamp on spans.
  • Meter#createGauge() is now required for telemetry adapters.
  • The deprecated debounce option and Job#debounceId property are removed. Use deduplication and Job#deduplicationId instead.
  • The deprecated debounced event is removed. Listen for the deduplicated event instead.
  • FlowJob now distinguishes parent and leaf nodes. Deduplication is no longer allowed on parent flow nodes.
  • Job#discard() is removed from the Node.js API. Use UnrecoverableError instead.
  • The legacy nextSchedulerJobId property is removed from Job and JobJson.
  • ioredis is no longer installed as a direct dependency and is now an optional peer dependency. Redis users must install ioredis explicitly.
  • The paused job state is removed from JobType and from the default Queue#getJobCounts() result. Jobs in a paused queue are represented as waiting.
  • RepeatOptions no longer accepts the cron-parser currentDate, utc, or nthDayOfWeek options. Use tz: 'UTC' instead of utc: true.
  • The public Redis implementation exports Scripts, createScripts, JobJsonRaw, and RedisJobOptions are removed. Use the backend APIs instead.

Released under the MIT License.