Skip to content

Releases: celery/celery

v5.4.0

17 Apr 20:32
92514ac
Compare
Choose a tag to compare

Celery v5.4.0 and v5.3.x have consistently focused on enhancing the overall QA, both internally and externally.
This effort led to the new pytest-celery v1.0.0 release, developed concurrently with v5.3.0 & v5.4.0.

This release introduces two significant QA enhancements:

  • Smoke Tests: A new layer of automatic tests has been added to Celery's standard CI. These tests are designed to handle production scenarios and complex conditions efficiently. While new contributions will not be halted due to the lack of smoke tests, we will request smoke tests for advanced changes where appropriate.
  • Standalone Bug Report Script: The new pytest-celery plugin now allows for encapsulating a complete Celery dockerized setup within a single pytest script. Incorporating these into new bug reports will enable us to reproduce reported bugs deterministically, potentially speeding up the resolution process.

Contrary to the positive developments above, there have been numerous reports about issues with the Redis broker malfunctioning upon restarts and disconnections. Our initial attempts to resolve this were not successful (#8796).
With our enhanced QA capabilities, we are now prepared to address the core issue with Redis (as a broker) again.

The rest of the changes for this release are grouped below, with the changes from the latest release candidate listed at the end.

What's Changed

  • Add a Task class specialised for Django (#8491)
  • Add Google Cloud Storage (GCS) backend (#8868)
  • Added documentation to the smoke tests infra (#8970)
  • Added a checklist item for using pytest-celery in a bug report (#8971)
  • Bugfix: Missing id on chain (#8798)
  • Bugfix: Worker not consuming tasks after Redis broker restart (#8796)
  • Catch UnicodeDecodeError when opening corrupt beat-schedule.db (#8806)
  • chore(ci): Enhance CI with workflow_dispatch for targeted debugging and testing (#8826)
  • Doc: Enhance "Testing with Celery" section (#8955)
  • Docfix: pip install celery[sqs] -> pip install "celery[sqs]" (#8829)
  • Enable efficient chord when using dynamicdb as backend store (#8783)
  • feat(daemon): allows daemonization options to be fetched from app settings (#8553)
  • Fix DeprecationWarning: datetime.datetime.utcnow() (#8726)
  • Fix recursive result parents on group in middle of chain (#8903)
  • Fix typos and grammar (#8915)
  • Fixed version documentation tag from #8553 in configuration.rst (#8802)
  • Hotfix: Smoke tests didn't allow customizing the worker's command arguments, now it does (#8937)
  • Make custom remote control commands available in CLI (#8489)
  • Print safe_say() to stdout for non-error flows (#8919)
  • Support moto 5.0 (#8838)
  • Update contributing guide to use ssh upstream url (#8881)
  • Update optimizing.rst (#8945)
  • Updated concurrency docs page. (#8753)

Dependencies Updates

  • Bump actions/setup-python from 4 to 5 (#8701)
  • Bump codecov/codecov-action from 3 to 4 (#8831)
  • Bump isort from 5.12.0 to 5.13.2 (#8772)
  • Bump msgpack from 1.0.7 to 1.0.8 (#8885)
  • Bump mypy from 1.8.0 to 1.9.0 (#8898)
  • Bump pre-commit to 3.6.1 (#8839)
  • Bump pre-commit/action from 3.0.0 to 3.0.1 (#8835)
  • Bump pytest from 8.0.2 to 8.1.1 (#8901)
  • Bump pytest-celery to v1.0.0 (#8962)
  • Bump pytest-cov to 5.0.0 (#8924)
  • Bump pytest-order from 1.2.0 to 1.2.1 (#8941)
  • Bump pytest-subtests from 0.11.0 to 0.12.1 (#8896)
  • Bump pytest-timeout from 2.2.0 to 2.3.1 (#8894)
  • Bump python-memcached from 1.59 to 1.61 (#8776)
  • Bump sphinx-click from 4.4.0 to 5.1.0 (#8774)
  • Update cryptography to 42.0.5 (#8869)
  • Update elastic-transport requirement from <=8.12.0 to <=8.13.0 (#8933)
  • Update elasticsearch requirement from <=8.12.1 to <=8.13.0 (#8934)
  • Upgraded Sphinx from v5.3.0 to v7.x.x (#8803)

Changes since 5.4.0rc2

New Contributors

Full Changelog: v5.3.6...v5.4.0

v5.4.0rc2

27 Mar 15:20
Compare
Choose a tag to compare
v5.4.0rc2 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: v5.4.0rc1...v5.4.0rc2

v5.4.0rc1

17 Jan 18:00
Compare
Choose a tag to compare
v5.4.0rc1 Pre-release
Pre-release

Celery v5.4 continues our effort to provide improved stability in production environments.
The release candidate version is available for testing.
The official release is planned for March-April 2024.

Please share feedback in the discussion below.

What's Changed

  • New Config: worker_enable_prefetch_count_reduction by @Nusnus in #8581
  • Added "Serverless" section to Redis doc (redis.rst) by @Nusnus in #8640
  • Upstash's Celery example repo link fix due to deprecation of the prev… by @Nusnus in #8665
  • Update mypy version by @auvipy in #8679
  • Update cryptography dependency to 41.0.7 by @danyi1212 in #8690
  • Add type annotations to celery/utils/nodenames.py by @lyzlisa in #8667
  • Issue 3426. Adding myself to the contributors. by @Mulugruntz in #8696
  • Bump actions/setup-python from 4 to 5 by @dependabot in #8701
  • Fixed bug where chord.link_error() throws an exception on a dict type errback object by @Nusnus in #8702
  • Bump github/codeql-action from 2 to 3 by @dependabot in #8725
  • Fixed multiprocessing integration tests not running on Mac by @Nusnus in #8727
  • Added make docker-docs by @Nusnus in #8729
  • Fix DeprecationWarning: datetime.datetime.utcnow() by @cclauss in #8726
  • Remove new adjective in docs by @Viicos in #8743
  • add type annotation to celery/utils/sysinfo.py by @em1le in #8747
  • add type annotation to celery/utils/iso8601.py by @em1le in #8750
  • Change type annotation to celery/utils/iso8601.py by @em1le in #8752
  • Update test deps by @auvipy in #8754
  • Mark flaky: test_asyncresult_get_cancels_subscription() by @Nusnus in #8757
  • change _read_as_base64 (b64encode returns bytes) on celery/utils/term.py by @em1le in #8759
  • Replace string concatenation with fstring on celery/utils/term.py by @em1le in #8760
  • Add type annotation to celery/utils/term.py by @em1le in #8755
  • Skipping test_tasks::test_task_accepted by @Nusnus in #8761
  • Updated concurrency docs page. by @robotrapta in #8753
  • Changed pyup -> dependabot for updating dependencies by @Nusnus in #8764
  • Bump isort from 5.12.0 to 5.13.2 by @dependabot in #8772
  • Update elasticsearch requirement from <=8.11.0 to <=8.11.1 by @dependabot in #8775
  • Bump sphinx-click from 4.4.0 to 5.1.0 by @dependabot in #8774
  • Bump python-memcached from 1.59 to 1.61 by @dependabot in #8776
  • Update elastic-transport requirement from <=8.10.0 to <=8.11.0 by @dependabot in #8780
  • python-memcached==1.61 -> python-memcached>=1.61 by @Nusnus in #8787
  • Remove usage of utcnow by @amweiss in #8791
  • Smoke Tests by @Nusnus in #8793
  • Moved smoke tests to their own workflow by @Nusnus in #8797
  • Bugfix: Worker not consuming tasks after Redis broker restart by @Nusnus in #8796
  • Bugfix: Missing id on chain by @Nusnus in #8798
  • Prepare for (pre) release: v5.4.0rc1 by @Nusnus in #8800

New Contributors

Full Changelog: v5.3.6...v5.4.0rc1

v5.3.6

22 Nov 15:18
Compare
Choose a tag to compare

This release is focused mainly to fix AWS SQS new feature compatibility issue and old regressions.
The code changes are mostly fix for regressions. More details can be found below.

What's Changed

New Contributors

Full Changelog: v5.3.5...v5.3.6

v5.3.5

10 Nov 13:32
Compare
Choose a tag to compare

Main theme of this release is adding Python 3.12 compatibility support all through the projects dependencies. Also lots of bugs were squashed. Dependencies upgraded and docs improved.

What's Changed

New Contributors

Full Changelog: v5.3.4...v5.3.5

v5.3.4

03 Sep 20:03
Compare
Choose a tag to compare

Notice Regarding v5.3.2 and v5.3.3

Versions 5.3.2 and 5.3.3 were identified to contain breaking changes and have been yanked to maintain codebase stability.
We appreciate the community's timely feedback on these versions and apologize for any inconvenience caused.

What's Changed

New Contributors

Full Changelog: v5.3.1...v5.3.4

v5.3.1

18 Jun 14:18
Compare
Choose a tag to compare

Release date: 2023-06-18 8:15 P.M GMT+6

Release by: Asif Saif Uddin

  • Upgrade to latest pycurl release (#7069).
  • Limit librabbitmq>=2.0.0; python_version < '3.11' (#8302).
  • Added initial support for python 3.11 (#8304).
  • ChainMap observers fix (#8305).
  • Revert optimization CLI flag behaviour back to original.
  • Restrict redis 4.5.5 as it has severe bugs (#8317).
  • Tested pypy 3.10 version in CI (#8320).
  • Bump new version of kombu to 5.3.1 (#8323).
  • Fixed a small float value of retry_backoff (#8295).
  • Limit pyro4 up to python 3.10 only as it is (#8324).

v5.3.0

06 Jun 06:02
Compare
Choose a tag to compare

Release date: 2023-06-06 12:00 P.M GMT+6

Release by: Asif Saif Uddin

  • Test kombu 5.3.0 & minor doc update (#8294).
  • Update librabbitmq.txt > 2.0.0 (#8292).
  • Upgrade syntax to py3.8 (#8281).

v5.3.0rc2

31 May 14:47
Compare
Choose a tag to compare

Release date: 2023-05-31 9:00 P.M GMT+6

Release by: Asif Saif Uddin

  • Add missing dependency.
  • Fix exc_type being the exception instance rather.
  • Fixed revoking tasks by stamped headers (#8269).
  • Support sqlalchemy 2.0 in tests (#8271).
  • Fix docker (#8275).
  • Update redis.txt to 4.5 (#8278).
  • Update kombu>=5.3.0rc2.

v5.3.0rc1

11 May 13:24
Compare
Choose a tag to compare

Release date: 2023-05-11 4:24 P.M GMT+2

Release by: Tomer Nosrati