unstale

pypi / celery

celery

What changed in celery 5, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-21.

1 breaking1 security3 new APIs and options2 performance23 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.2.2 on npm

celery 530 changes

Breaking changes 1

  • Python 3.8 support is dropped; Python 3.9 is now required to use Celery 5.6.0.

    5.6.0release notes

Security 1

  • Broker URLs containing passwords are now sanitized in all log output, preventing credentials from being logged in plaintext by delayed delivery.

    5.6.0release notes

New APIs and options 3

  • Sets the exchange type for auto-created missing queues.

    5.6.0release notes

  • Sets the queue type for auto-created missing queues, such as quorum or classic.

    5.6.0release notes

  • Adds a configuration option to limit ETA or countdown tasks fetched by workers, helping prevent out-of-memory crashes when brokers contain many scheduled tasks.

    5.6.0release notes

Performance 2

Fixes and other changes 23

  • Avoids an AttributeError when a process lacks _sentinel_poll.

    5.6.3release notes

  • Provides friendlier status errors in the CLI.

    5.6.3release notes

  • Fixes database backend connection health.

    5.6.3release notes

  • Fixes a worker recursion bug and adds defensive checks for pool_cls.__module__.

    5.6.3release notes

  • A request's ignore_result setting now takes precedence over the task definition.

    5.6.3release notes

  • Avoids cycle detection in native delayed delivery.

    5.6.3release notes

  • The database backend filters unsupported SQL engine arguments when using NullPool.

    5.6.3release notes

  • Fixes NameError with TYPE_CHECKING annotations on Python 3.14 and later.

    5.6.3release notes

  • Dispatches chains and callbacks on the deduplication fast path for redelivered tasks.

    5.6.3release notes

  • Fixes workers failing to reconnect after Redis failover.

    5.6.3release notes

  • Fixes a reconnection error in the RPC backend.

    5.6.3release notes

  • Clears the timer while catching an exception.

    5.6.3release notes

  • Fixes a RuntimeError during warm shutdown with eventlet 0.37.0 and later.

    5.6.3release notes

  • Fixes recursive WorkController instantiation and an AttributeError when pool_cls is a string.

    5.6.2release notes

  • Revoked tasks now immediately update backend status to REVOKED.

    5.6.2release notes

  • Broker heartbeats are sent during graceful shutdown.

    5.6.1release notes

  • Database pools are closed only in prefork mode.

    5.6.1release notes

  • Avoids unnecessary Django database connection creation during cleanup.

    5.6.1release notes

  • Fixes ACL authentication when using Redis Sentinel as the broker.

    5.6.1release notes

  • Subscriptions are cleaned up when results are forgotten, fixing a memory leak.

    5.6.0release notes

  • Celery 5.6.0 adds initial support for Python 3.14.

    5.6.0release notes

  • The SQS transport switches back from urllib3 to pycurl due to critical issues affecting SQS users.

    5.6.0release notes

  • Traceback reference cycles are broken during task exception handling so they can be garbage-collected, fixing a memory leak particularly severe on Python 3.11+.

    5.6.0release notes