Change8

v5.5.0

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

  1. If your project imports `pycurl`, replace those imports with `urllib3` equivalents and ensure no custom transport relies on `pycurl`.
  2. Install the new Google Pub/Sub extra if using that transport: `pip install \"celery[gcpubsub]\"`.
  3. To enable REMAP_SIGTERM, set the environment variable `REMAP_SIGTERM=\"SIGQUIT\"` before starting workers.
  4. Review RabbitMQ quorum queue configuration; adjust `broker_native_delayed_delivery_queue_type`, `task_default_queue_type`, and `worker_detect_quorum_queues` as needed.
  5. If you rely on soft shutdown behavior, configure `worker_soft_shutdown_timeout` and optionally `worker_enable_soft_shutdown_on_idle`.
  6. For Pydantic task support, add `pydantic=True` to task decorators and configure related options.
  7. 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