NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #1830 most downloaded on PyPI
BullMQ for Python
Last release 4 days ago
30 Sep 2026
Release timing varies
gaps range from 8 days to 2 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
138 releases · first in 2023
One column per quarter.
queue: support getJob method [python] ( #4848 ) ref #4840
worker: eliminate close and pause latency on idle queue [python] ( #4670 ) fixes #4597
deps: update dependency virtualenv to v21.9.0 [python]
deps: update dependency virtualenv to v21.7.16 [python]
deps: update python dependencies [python]
deduplication: remove deduplication key if job key does not longer exist (python) (elixir) (php) (rust) (dotnet)
deps: update dependency semver to v3.1.0 [python]
deps: update dependency psycopg to v3.3.5 [python]
queue: support getDeduplicationJobId method [python] ( #4655 ) ref #4647
job: add DelayedError and Job.moveToDelayed for processor-controlled delays [python]
queue: do not affect rate limit when processing deferred failures (python) (elixir) (rust) (dotnet)
worker: store failed reason without extra JSON encoding [python] ( #4615 ) fixes #4596
scheduler: make job schedulers advance and support the postgres backend [python] fixes #4483
add missing sql files to release packages (elixir) (python)
feat!: release BullMQ v6 with pluggable queue backends (php) (python) (elixir) (e1f86ef), closes Hi#level Queue#client Queue#redisVersion Queue#databa
port JobScheduler, LockManager, AbortController, QueueEvents classes and global limits [python] fixes #2772
queue: retrieve jobs in same transaction under getJobs (#4300) (python) (elixir) (php) (rust)
connection: use more permissive typing on NodeRedisRawClient options (#4184) (#4187) (0feec14), closes #4170
worker: [python] avoid tight error loop on Redis disconnect
connection: deprecate skipWaitingForReady option as is not having any effect [python]
queue: add skipVersionCheck and skipWaitingForReady to QueueBaseOptions [python]
connection: add return type hints to RedisConnection methods [python]
queue: guard getCompleted against empty task set [python]
python: add type hints to worker.py methods
python: add return type hints to Job methods (#4003) [python]
python: getFailed() incorrectly returns completed jobs (#3996) [python]
error: export UnrecoverableError from package root (#4047) [python]
worker: emit active event as soon as getting next job (elixir) (python) (#3936) ref #3911
delayed: allow to fetch next job when moving job to delayed (python) (elixir)
connection: use single_connection_client as true (#3887) fixes #2243 [python]
sandbox: add getDependenciesCount proxy for jobs (#3923) ref #3533 (elixir) (php) (python)
worker: make close method fault-tolerant (#3886) [python]
worker: use discard instead of remove in processJob to prevent KeyError (#3884) [python]
flow: allow deduplication from root parent (python) (elixir) (#3817) fixes #3761
job: reuse registered scripts [python]
use prioritized key name instead of priority [python] (#3717) fixes #3716
fix worker connection name on cluster #3340
queue: add missing defaultJobOptions field to QueueBaseOptions TypedDict [python] (#3702) fixes #3695
job: apply limit when removing jobs by max age (python) (elixir) (#3694) fixes #3672
queue: support drain method [python]
queue: convert boolean force parameter to string in obliterate method [python] (#3642) fixes #3640
flow: resolve KeyError when child job fails with failParentOnFailure option [python] (#3639) fixes #3638
flow: support failParentOnFailure and related dependency options with validation [python] (#3621) fixes #3620
add: add deduplication support [python] (#3614) ref #3613
job: support retry method options [elixir] [python]
upsertJobScheduler does not apply change on existing scheduled job (#3524) (98f73b3), closes #3500
deps: upgrade semver to v3 [python]
queue: support getWaitingCount method [python]
job: Add moveToCompleted method [python] (#3251) (`6a8e3e2`)
flow: Support failed children in getFlow and getDependencies methods (#3243) (`d3b1cff`)
d3b1cff)2927803)4affb11)9456472)4b96266)738d375)f16b748)0f21c10)0325a39)72fac42)e4dac2c)61395bf)192e82c)bd17aad)3c2349a)339f13e)1fbcbec)758ea26)33c62e6)8d59e3b)d57698f)219c0db)d3c397f)d91d9f4)job-scheduler: Add marker when upserting job scheduler if needed (#3145) (`0e137b2`)
job: Support ignored and failed counts in getDependenciesCount (#3137) ref #3136 (`83953db`)
83953db)c37123c)eec7114)589adb4)4b619ca)c3269b1)worker: Cast delay_until to integer [python] (#3116) (`db617e4`)
db617e4)d4cad84)7a4b500)6a28b86)97cd2b1)queue: Support removeGlobalConcurrency method (#3076) (`ece8532`)
ece8532)5a97491)9f0f1ba)a1571ea)e728299)078ae9d)ad5c07c)dcc3b06)6514c33)c19c914)5b005cd)cb99080)38820dc)4a66933)024ee0f)1aa970c)05ea32b)3e649f7)548cc1c)b970281)d4de2f5)406e21c)21e8495)6d829fc)0f07467)95edb40)4ea35dd)e8cdb99)8bb27ea)c0a6bcd)52b0e34)4360572)af75315)9917df1)b5fa6a3)544fc7c)3402bfe)85f6f6f)b56c3b4)62075cf)63e6245)a4d5efb)68b0d33)3709687)490d902)14c9fed)e8ca2ec)6c4101a)moveToDelayed (#2961) (3b218ff)6b5c3de)ba28e37)f1dfbad)fb871dd)38912fb)3e990eb)9be28a0)95718e8)Your coding agent can read these notes before it upgrades. Set up the MCP server →