Change8

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.database

Breaking 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

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