v1.2.0
Breaking, shipped as a minor by choice. The peer ranges move to the next major of each
Redis/BullMQ package and the 'paused' job state is removed from the public status surface —
changes that would normally warrant a major. They ship under a minor because the package has no
downstream consumer yet; every breaking detail is called out below so a first adopter sees it.
Changed
- Peer dependencies migrated to the next major:
bullmq^5→^6,bullmq-otel^1→
^2, andioredis^5→^6. A consumer must upgrade all three together.ioredis6 keeps
'legacy'reply mapping by default, so BullMQ's reply-shape assumptions are unaffected; it does
require Node.js ≥ 20, already covered by this package'sengines.
Removed
'paused'is no longer a job status. BullMQ 6 dropped'paused'from its job-state set —
jobs on a paused queue now live in'wait'. It is therefore removed from theJobStatusunion,
from theJOB_STATUSconstant (JOB_STATUS.PAUSEDno longer exists), and from the
getMetrics().countsshape, which now reports the five remaining statuses (waiting,active,
completed,failed,delayed). The queue-lifecycle'paused'/'resumed'events
(@OnQueueEvent) and thepauseQueue/resumeQueuemethods are unchanged — those describe the
queue, not a job.
Internal
- Dev-tooling bumps:
eslint^10,typescript^6,@types/node^26, plus@eslint/js
^10. These do not ship and do not changedist/. The package'senginesstays at Node ≥ 24. - Mutation gate tightened: Stryker
break/highraised from 95/99 → 100 (the run is at 100%,
0 survivors).