Change8

v5.6.0b2

Breaking Changes
📦 celeryView on GitHub →
2 breaking6 features🐛 6 fixes🔧 6 symbols

Summary

Celery 5.6.0b2 introduces Redis credential provider support, improved timezone handling, and several bug fixes while raising the minimum Python requirement to 3.9 and removing Python 3.8 support.

⚠️ Breaking Changes

  • Support for Python 3.8 has been removed; projects must upgrade to Python 3.9 or newer.
  • Python version requirement has been raised to >=3.9, which may break environments still on older versions.

Migration Steps

  1. Upgrade your runtime to Python 3.9 or newer.
  2. If you were using Python 3.8, update your CI, Dockerfiles, and tox configurations accordingly.
  3. Remove any usage of backports.zoneinfo as it is no longer required.
  4. If you relied on disable-prefetch with non-Redis brokers, adjust your configuration because the feature now works only with Redis.
  5. Review any custom RedisBackend usage to handle the new credential_provider option.

✨ New Features

  • Added credential_provider support to the Redis backend.
  • Celery.timezone now attempts tzlocal.get_localzone() before falling back to LocalTimezone.
  • Added support for specifying a Redis client name.
  • Documentation added for the task_id parameter of apply_async.
  • CI now tests against Python 3.14 release candidate 2.
  • PyPy testing upgraded to Python 3.11.

🐛 Bug Fixes

  • Fixed arithmetic overflow issue in the MSSQL result backend.
  • Corrected broker connection retry attempt counter in error logs.
  • Restricted the disable-prefetch feature to Redis brokers only.
  • Preserved group order when using the replaced signature.
  • Removed backports.zoneinfo for Python 3.9 compatibility.
  • Flake8 style fixes.

🔧 Affected Symbols

RedisBackendcelery.timezonedisable_prefetchgroup.replace_signatureMSSQLResultBackendbroker connection retry logging