This document describes the current stable version of Celery (5.6). 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).