Migrating to Celery v5.5.0
Version v5.5.0 introduces 1 breaking change. This guide details how to update your code.
Released: 3/31/2025
1
Breaking Changes
7
Migration Steps
6
Affected Symbols
⚠️ Check Your Code
If you use any of these symbols, you need to read this guide:
kombucelery.backends.rediscelery.workercelery.app.taskcelery.contrib.broker.quorumcelery.backends.databaseBreaking Changes
●Issue #1
The `pycurl` dependency has been removed in favor of `urllib3`. Code that directly imports or relies on `pycurl` will raise ImportError; replace usage with `urllib3` or adjust custom transport implementations.
Migration Steps
- 1If your project imports `pycurl`, replace those imports with `urllib3` equivalents and ensure no custom transport relies on `pycurl`.
- 2Install the new Google Pub/Sub extra if using that transport: `pip install \"celery[gcpubsub]\"`.
- 3To enable REMAP_SIGTERM, set the environment variable `REMAP_SIGTERM=\"SIGQUIT\"` before starting workers.
- 4Review RabbitMQ quorum queue configuration; adjust `broker_native_delayed_delivery_queue_type`, `task_default_queue_type`, and `worker_detect_quorum_queues` as needed.
- 5If you rely on soft shutdown behavior, configure `worker_soft_shutdown_timeout` and optionally `worker_enable_soft_shutdown_on_idle`.
- 6For Pydantic task support, add `pydantic=True` to task decorators and configure related options.
- 7When using the database result backend and you need lazy table creation, set `database_create_tables_at_setup = False` in app config.
Release Summary
Celery 5.5.0 introduces Redis broker stability fixes, replaces pycurl with urllib3, adds RabbitMQ quorum queue and soft‑shutdown support, native Pydantic task integration, Google Pub/Sub transport, Python 3.13 compatibility, and several configuration enhancements.
Need More Details?
View the full release notes and all changes for Celery v5.5.0.
View Full Changelog