npm bullmq 6.0.0
v6.0.0

latest releases: 6.7.2, 6.7.1, 6.7.0...
3 months ago

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.

Don't miss a new bullmq release

NewReleases is sending notifications on new releases.