This document describes the current stable version of Celery (5.2). For development docs, go here.

Change history

This document contains change notes for bugfix & new features in the 5.0.x , please see What’s new in Celery 5.0 (singularity) for an overview of what’s new in Celery 5.0.

5.0.6

release-date:

2021-06-28 3.00 P.M UTC+3:00

release-by:

Omer Katz

  • Inspect commands accept arguments again (#6710).

  • The worker_pool setting is now respected correctly (#6711).

  • Ensure AMQPContext exposes an app attribute (#6741).

  • Exit celery with non zero exit value if failing (#6602).

  • –quiet flag now actually makes celery avoid producing logs (#6599).

  • pass_context for handle_preload_options decorator (#6583).

  • Fix –pool=threads support in command line options parsing (#6787).

Fix the behavior of our json serialization which regressed in 5.0 (#6561). - celery -A app events -c camera now works as expected (#6774).

5.0.5

release-date:

2020-12-16 5.35 P.M UTC+2:00

release-by:

Omer Katz

  • Ensure keys are strings when deleting results from S3 (#6537).

  • Fix a regression breaking celery –help and celery events (#6543).

5.0.4

release-date:

2020-12-08 2.40 P.M UTC+2:00

release-by:

Omer Katz

  • DummyClient of cache+memory:// backend now shares state between threads (#6524).

    This fixes a problem when using our pytest integration with the in memory result backend. Because the state wasn’t shared between threads, #6416 results in test suites hanging on result.get().

5.0.3

release-date:

2020-12-03 6.30 P.M UTC+2:00

release-by:

Omer Katz

  • Make –workdir eager for early handling (#6457).

  • When using the MongoDB backend, don’t cleanup if result_expires is 0 or None (#6462).

  • Fix passing queues into purge command (#6469).

  • Restore app.start() and app.worker_main() (#6481).

  • Detaching no longer creates an extra log file (#6426).

  • Result backend instances are now thread local to ensure thread safety (#6416).

  • Don’t upgrade click to 8.x since click-repl doesn’t support it yet.

  • Restore preload options (#6516).

5.0.2

release-date:

2020-11-02 8.00 P.M UTC+2:00

release-by:

Omer Katz

  • Fix _autodiscover_tasks_from_fixups (#6424).

  • Flush worker prints, notably the banner (#6432).

  • Breaking Change: Remove ha_policy from queue definition. (#6440)

    This argument has no effect since RabbitMQ 3.0. Therefore, We feel comfortable dropping it in a patch release.

  • Python 3.9 support (#6418).

  • Regression: When using the prefork pool, pick the fair scheduling strategy by default (#6447).

  • Preserve callbacks when replacing a task with a chain (#6189).

  • Fix max_retries override on self.retry() (#6436).

  • Raise proper error when replacing with an empty chain (#6452)

5.0.1

release-date:

2020-10-18 1.00 P.M UTC+3:00

release-by:

Omer Katz

  • Specify UTF-8 as the encoding for log files (#6357).

  • Custom headers now propagate when using the protocol 1 hybrid messages (#6374).

  • Retry creating the database schema for the database results backend in case of a race condition (#6298).

  • When using the Redis results backend, awaiting for a chord no longer hangs when setting result_expires to 0 (#6373).

  • When a user tries to specify the app as an option for the subcommand, a custom error message is displayed (#6363).

  • Fix the –without-gossip, –without-mingle, and –without-heartbeat options which now work as expected. (#6365)

  • Provide a clearer error message when the application cannot be loaded.

  • Avoid printing deprecation warnings for settings when they are loaded from Django settings (#6385).

  • Allow lowercase log levels for the –loglevel option (#6388).

  • Detaching now works as expected (#6401).

  • Restore broadcasting messages from celery control (#6400).

  • Pass back real result for single task chains (#6411).

  • Ensure group tasks a deeply serialized (#6342).

  • Fix chord element counting (#6354).

  • Restore the celery shell command (#6421).

5.0.0

release-date:

2020-09-24 6.00 P.M UTC+3:00

release-by:

Omer Katz

  • Breaking Change Remove AMQP result backend (#6360).

  • Warn when deprecated settings are used (#6353).

  • Expose retry_policy for Redis result backend (#6330).

  • Prepare Celery to support the yet to be released Python 3.9 (#6328).

5.0.0rc3

release-date:

2020-09-07 4.00 P.M UTC+3:00

release-by:

Omer Katz

  • More cleanups of leftover Python 2 support (#6338).

5.0.0rc2

release-date:

2020-09-01 6.30 P.M UTC+3:00

release-by:

Omer Katz

  • Bump minimum required eventlet version to 0.26.1.

  • Update Couchbase Result backend to use SDK V3.

  • Restore monkeypatching when gevent or eventlet are used.

5.0.0rc1

release-date:

2020-08-24 9.00 P.M UTC+3:00

release-by:

Omer Katz

  • Allow to opt out of ordered group results when using the Redis result backend (#6290).

  • Breaking Change Remove the deprecated celery.utils.encoding module.

5.0.0b1

release-date:

2020-08-19 8.30 P.M UTC+3:00

release-by:

Omer Katz

  • Breaking Change Drop support for the Riak result backend (#5686).

  • Breaking Change pytest plugin is no longer enabled by default (#6288). Install pytest-celery to enable it.

  • Breaking Change Brand new CLI based on Click (#5718).

5.0.0a2

release-date:

2020-08-05 7.15 P.M UTC+3:00

release-by:

Omer Katz

  • Bump Kombu version to 5.0 (#5686).

5.0.0a1

release-date:

2020-08-02 9.30 P.M UTC+3:00

release-by:

Omer Katz

  • Removed most of the compatibility code that supports Python 2 (#5686).

  • Modernized code to work on Python 3.6 and above (#5686).