Change8

v5.5.0rc5

Breaking Changes
📦 celeryView on GitHub →
1 breaking8 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

  1. If using Quorum Queues, configure broker_native_delayed_delivery_queue_type as needed.
  2. Set task_default_queue_type and/or worker_detect_quorum_queues to enable Quorum Queue detection.
  3. Enable soft shutdown by adding worker_soft_shutdown_timeout (seconds) to your Celery configuration.
  4. Optionally set worker_enable_soft_shutdown_on_idle to true if you want soft shutdown to trigger even when the worker is idle.
  5. If you rely on SIGTERM for shutdown, enable REMAP_SIGTERM via configuration to map it to SIGQUIT.
  6. Update any code that explicitly creates a group with a single item; it will now be unrolled into a chain.
  7. Upgrade Python to 3.13 if you want the latest compatibility improvements.
  8. 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