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
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
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
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.