v5.5.0
Breaking Changes📦 celeryView on GitHub →
⚠ 1 breaking✨ 10 features🐛 3 fixes🔧 6 symbols
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.
⚠️ Breaking Changes
- 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
- If your project imports `pycurl`, replace those imports with `urllib3` equivalents and ensure no custom transport relies on `pycurl`.
- Install the new Google Pub/Sub extra if using that transport: `pip install \"celery[gcpubsub]\"`.
- To enable REMAP_SIGTERM, set the environment variable `REMAP_SIGTERM=\"SIGQUIT\"` before starting workers.
- Review RabbitMQ quorum queue configuration; adjust `broker_native_delayed_delivery_queue_type`, `task_default_queue_type`, and `worker_detect_quorum_queues` as needed.
- If you rely on soft shutdown behavior, configure `worker_soft_shutdown_timeout` and optionally `worker_enable_soft_shutdown_on_idle`.
- For Pydantic task support, add `pydantic=True` to task decorators and configure related options.
- When using the database result backend and you need lazy table creation, set `database_create_tables_at_setup = False` in app config.
✨ New Features
- Redis broker stability improvements in Kombu 5.5.0, fixing long‑standing disconnection issues.
- New `exception_safe_to_retry` feature for the Redis result backend, providing safer retry handling on temporary connection errors.
- `pycurl` dependency replaced with `urllib3`.
- Support for RabbitMQ Quorum Queues, including ETA task compatibility and automatic native delayed delivery.
- Soft shutdown mechanism with `worker_soft_shutdown_timeout` and `worker_enable_soft_shutdown_on_idle` settings.
- Native Pydantic model support in tasks via `pydantic=True` and related configuration options.
- Google Cloud Pub/Sub transport added (`celery[gcpubsub]`).
- Official support for Python 3.13 (and continued compatibility with Python 3.8‑3.13 and PyPy 3.10+).
- REMAP_SIGTERM feature officially supported; allows remapping SIGTERM to SIGQUIT for graceful shutdowns.
- Database backend `create_tables_at_setup` option to control when tables are created.
🐛 Bug Fixes
- Fixed long‑standing disconnection issues with the Redis broker in Kombu 5.5.0.
- Improved exception handling in the Redis result backend with `exception_safe_to_retry`.
- Various stability and compatibility fixes for Python 3.13 support.
🔧 Affected Symbols
kombucelery.backends.rediscelery.workercelery.app.taskcelery.contrib.broker.quorumcelery.backends.database