v5.5.0rc5
Breaking Changes📦 celeryView on GitHub →
⚠ 1 breaking✨ 8 features🐛 10 fixes🔧 10 symbols
Summary
Celery 5.5.0rc5 adds full Quorum Queue support, a new soft shutdown mechanism, Google Pub/Sub transport, and Pydantic task model support, while bumping the minimum Kombu version to 5.5.0 and fixing several bugs.
⚠️ Breaking Changes
- Minimum required Kombu version has been bumped to 5.5.0; projects using an older Kombu must upgrade to Kombu >=5.5.0 to avoid import errors.
Migration Steps
- If using Quorum Queues, configure broker_native_delayed_delivery_queue_type as needed.
- Set task_default_queue_type and/or worker_detect_quorum_queues to enable Quorum Queue detection.
- Enable soft shutdown by adding worker_soft_shutdown_timeout (seconds) to your Celery configuration.
- Optionally set worker_enable_soft_shutdown_on_idle to true if you want soft shutdown to trigger even when the worker is idle.
- If you rely on SIGTERM for shutdown, enable REMAP_SIGTERM via configuration to map it to SIGQUIT.
- Update any code that explicitly creates a group with a single item; it will now be unrolled into a chain.
- Upgrade Python to 3.13 if you want the latest compatibility improvements.
- Refresh dependency versions: elasticsearch <=8.17.1, elastic-transport <=8.17.0, google-cloud-firestore 2.20.0, mypy 1.14.1, pytest-github-actions-annotate-failures 0.3.0.
✨ New Features
- Complete Quorum Queues support with a new ETA mechanism.
- New Google Pub/Sub transport support.
- Improved Python 3.13 support with all dependencies migrated.
- Soft shutdown mechanism with configurable timeout (worker_soft_shutdown_timeout) and idle handling (worker_enable_soft_shutdown_on_idle).
- Official support for REMAP_SIGTERM to map SIGTERM to SIGQUIT for shutdown control.
- Pydantic model support in Celery tasks.
- Initial Quorum Queues configuration options: task_default_queue_type and worker_detect_quorum_queues.
- New configuration option broker_native_delayed_delivery_queue_type for delayed delivery with quorum queues.
🐛 Bug Fixes
- Fixed Cassandra backend port settings not being applied.
- Unrolled a group with a single item when chained using the | operator.
- Fixed Django task: caught the correct error when trying to close DB connection.
- Replaced a task with a chain containing a group now returns a result instead of hanging.
- Avoided using a group of one by unrolling it into a chain (behavior change).
- Corrected IRC network link in documentation.
- Fixed canvas.rst output result from chain object.
- Fixed typo for default of sig configuration.
- Resolved crontab constructor issue (partial entry).
- Redis broker instability resolved in Kombu v5.4.0 (disconnections bug).
🔧 Affected Symbols
worker_soft_shutdown_timeoutworker_enable_soft_shutdown_on_idlebroker_native_delayed_delivery_queue_typetask_default_queue_typeworker_detect_quorum_queuesREMAP_SIGTERMgroupchaincassandra backend port handlingdjango db connection close handling