Skip to content

Update celery to 5.5.1#1175

Closed
pyup-bot wants to merge 1 commit intomasterfrom
pyup-update-celery-4.2.1-to-5.5.1
Closed

Update celery to 5.5.1#1175
pyup-bot wants to merge 1 commit intomasterfrom
pyup-update-celery-4.2.1-to-5.5.1

Conversation

@pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented Apr 8, 2025

This PR updates celery from 4.2.1 to 5.5.1.

Changelog

5.5.1

=====
:release-date: 24 Mar, 2025
:release-by: Tomer Nosrati

What's Changed
~~~~~~~~~~~~~~

- Update trove classifier with missing python 3.13 (2262)
- Fix native_delayed_delivery for queue with explicit bindings (2263)
- SQS: Fix Query Protocol Content-Type header (2266)
- SQS: More Protocol Tests (2267)
- Prepare for release: v5.5.1 (2270)

.. _version-5.5.0:

5.5.0

=====
:release-date: 13 Mar, 2025
:release-by: Tomer Nosrati

Key Highlights
~~~~~~~~~~~~~~

Native Delayed Delivery
-----------------------

Official support to `RabbitMQ Delayed Delivery <https://docs.particular.net/transports/rabbitmq/delayed-delivery>`_,
which is required to enable ETA tasks with quorum queues in Celery.

urllib3 instead of curl
-----------------------

We can finally say goodbye to the :pypi:`pycurl` dependency and use :pypi:`urllib3` instead.

Transport: Google Pub/Sub
-------------------------

New support for Google Pub/Sub as a transport broker.

What's Changed
~~~~~~~~~~~~~~

- Pin tzdata to latest version 2024.2 (2121)
- Refactored CI (2122)
- Added unit tests to "tox -e parallel" environment (2123)
- Improve pre-commit checks and fix all new lint errors (2124)
- Removed codecov flags (2126)
- Pin pre-commit to latest version 3.8.0 (2125)
- Limit redis-py <5.1.0 (2132)
- Removed "on push" from the linter GitHub Actions workflow (2133)
- Bump pymongo from 4.9.1 to 4.10.0 (2130)
- Update pymongo to 4.10.1 (2136)
- fix(pytest): skip file-lock test on Windows (2138)
- Apply errback and callback when retry occurs (2129)
- Pin pre-commit to latest version 4.0.0 (Python 3.9+) (2140)
- Pin pre-commit to latest version 4.0.1 (2144)
- Add native delayed delivery API to kombu (2128)
- Add support for Google Pub/Sub as transport broker (2147)
- Update the transport options according to the retry policy (2148)
- Feature: urllib3 instead of curl (2134)
- Update mypy to 1.12.0 (2149)
- Prepare for (pre) release: v5.5.0rc1 (2150)
- Added missing changelog highlight for Google Pub/Sub (2151)
- Bump grpcio from 1.66.2 to 1.67.0 (2158)
- Fix: restrict google-cloud-pubsub version (2160)
- Update mypy to 1.12.1 (2164)
- Added a unit test that proves timeout is used when retry policy is specified (2166)
- Fix regression from 2148 (2165)
- Update google-cloud-pubsub requirement from <=2.20.3,>=2.18.4 to >=2.18.4,<=2.25.2 (2168)
- Revert "Update google-cloud-pubsub requirement from <=2.20.3,>=2.18.4 to >=2.18.4,<=2.25.2" (2169)
- Update mypy to 1.13.0 (2172)
- Fix: restrict google protobuf version (2175)
- Add support for Python 3.13 (2052)
- Apply retry policy to maybe_declare() (2174)
- Pin redis to >=4.5.2,!=4.5.5,!=5.0.2,<=5.2.0 (2178)
- Added confirm_timeout argument to publish() (2167)
- Prepare for (pre) release: v5.5.0rc2 (2181)
- Bump pytest-cov from 5.0.0 to 6.0.0 (2183)
- Add documentation for debug logs environment variables (2186)
- Add documentation for py-amqp transport options (2187)
- Bump codecov/codecov-action from 4 to 5 (2189)
- Update pytest to 8.3.4 (2196)
- Update redis requirement from !=4.5.5,!=5.0.2,<=5.2.0,>=4.5.2 to >=4.5.2,!=4.5.5,!=5.0.2,<=5.2.1 (2203)
- Close connections in case of an exception (2201)
- Bump pytest-freezer from 0.4.8 to 0.4.9 (2205)
- Bump mypy from 1.13.0 to 1.14.0 (2211)
- fix(sqs): don't crash on multiple predefined queues with aws sts session (2224)
- Bump mypy from 1.14.0 to 1.14.1 (2215)
- Bump tzdata from 2024.2 to 2025.1 (2230)
- fix: interpret the ssl_check_hostname as a boolean (2229)
- Revert "Resolving TypeError, during version unpacking " (2225)
- Bump flake8 from 7.1.1 to 7.1.2 (2244)
- Prepare for (pre) release: v5.5.0rc3 (2247)
- Bump pytest from 8.3.4 to 8.3.5 (2253)
- Update delayed_infra example for better clarity (2252)
- SQS: Support Async JSON SQS Protocol & Message Attributes (2226)
- Prepare for release: v5.5.0 (2255)

5.5.0rc5

========

:release-date: 2025-02-25
:release-by: Tomer Nosrati

Celery v5.5.0 Release Candidate 5 is now available for testing.
Please help us test this version and report any issues.

Key Highlights
~~~~~~~~~~~~~~

See :ref:`whatsnew-5.5` or read the main highlights below.

5.5.0rc4

========

:release-date: 2024-12-19
:release-by: Tomer Nosrati

Celery v5.5.0 Release Candidate 4 is now available for testing.
Please help us test this version and report any issues.

Key Highlights
~~~~~~~~~~~~~~

See :ref:`whatsnew-5.5` or read the main highlights below.

5.5.0rc3

========
:release-date: 20 Feb, 2025
:release-by: Tomer Nosrati

Key Highlights
~~~~~~~~~~~~~~

Native Delayed Delivery
-----------------------

Official support to `RabbitMQ Delayed Delivery <https://docs.particular.net/transports/rabbitmq/delayed-delivery>`_,
which is required to enable ETA tasks with quorum queues in Celery.

urllib3 instead of curl
-----------------------

We can finally say goodbye to the :pypi:`pycurl` dependency and use :pypi:`urllib3` instead.

Transport: Google Pub/Sub
-------------------------

New support for Google Pub/Sub as a transport broker.

What's Changed
~~~~~~~~~~~~~~

- Bump pytest-cov from 5.0.0 to 6.0.0 (2183)
- Add documentation for debug logs environment variables (2186)
- Add documentation for py-amqp transport options (2187)
- Bump codecov/codecov-action from 4 to 5 (2189)
- Update pytest to 8.3.4 (2196)
- Update redis requirement from !=4.5.5,!=5.0.2,<=5.2.0,>=4.5.2 to >=4.5.2,!=4.5.5,!=5.0.2,<=5.2.1 (2203)
- Close connections in case of an exception (2201)
- Bump pytest-freezer from 0.4.8 to 0.4.9 (2205)
- Bump mypy from 1.13.0 to 1.14.0 (2211)
- fix(sqs): don't crash on multiple predefined queues with aws sts session (2224)
- Bump mypy from 1.14.0 to 1.14.1 (2215)
- Bump tzdata from 2024.2 to 2025.1 (2230)
- fix: interpret the ssl_check_hostname as a boolean (2229)
- Revert "Resolving TypeError, during version unpacking " (2225)
- Bump flake8 from 7.1.1 to 7.1.2 (2244)
- Prepare for (pre) release: v5.5.0rc3 (2247)

.. _version-5.5.0rc2:

5.5.0rc2

========
:release-date: 29 Oct, 2024
:release-by: Tomer Nosrati

Key Highlights
~~~~~~~~~~~~~~

Native Delayed Delivery
-----------------------

Official support to `RabbitMQ Delayed Delivery <https://docs.particular.net/transports/rabbitmq/delayed-delivery>`_,
which is required to enable ETA tasks with quorum queues in Celery.

urllib3 instead of curl
-----------------------

We can finally say goodbye to the :pypi:`pycurl` dependency and use :pypi:`urllib3` instead.

Transport: Google Pub/Sub
-------------------------

New support for Google Pub/Sub as a transport broker.

What's Changed
~~~~~~~~~~~~~~

- Added missing changelog highlight for Google Pub/Sub (2151)
- Bump grpcio from 1.66.2 to 1.67.0 (2158)
- Fix: restrict google-cloud-pubsub version (2160)
- Update mypy to 1.12.1 (2164)
- Added a unit test that proves timeout is used when retry policy is specified (2166)
- Fix regression from 2148 (2165)
- Update google-cloud-pubsub requirement from <=2.20.3,>=2.18.4 to >=2.18.4,<=2.25.2 (2168)
- Revert "Update google-cloud-pubsub requirement from <=2.20.3,>=2.18.4 to >=2.18.4,<=2.25.2" (2169)
- Update mypy to 1.13.0 (2172)
- Fix: restrict google protobuf version (2175)
- Add support for Python 3.13 (2052)
- Apply retry policy to maybe_declare() (2174)
- Pin redis to >=4.5.2,!=4.5.5,!=5.0.2,<=5.2.0 (2178)
- Added confirm_timeout argument to publish() (2167)
- Prepare for (pre) release: v5.5.0rc2 (2181)

.. _version-5.5.0rc1:

5.5.0rc1

========
:release-date: 14 Oct, 2024
:release-by: Tomer Nosrati

Key Highlights
~~~~~~~~~~~~~~

Native Delayed Delivery
-----------------------

Official support to `RabbitMQ Delayed Delivery <https://docs.particular.net/transports/rabbitmq/delayed-delivery>`_,
which is required to enable ETA tasks with quorum queues in Celery.

urllib3 instead of curl
-----------------------

We can finally say goodbye to the :pypi:`pycurl` dependency and use :pypi:`urllib3` instead.

Transport: Google Pub/Sub
-------------------------

New support for Google Pub/Sub as a transport broker.

What's Changed
~~~~~~~~~~~~~~

- Pin tzdata to latest version 2024.2 (2121)
- Refactored CI (2122)
- Added unit tests to "tox -e parallel" environment (2123)
- Improve pre-commit checks and fix all new lint errors (2124)
- Removed codecov flags (2126)
- Pin pre-commit to latest version 3.8.0 (2125)
- Limit redis-py <5.1.0 (2132)
- Removed "on push" from the linter GitHub Actions workflow (2133)
- Bump pymongo from 4.9.1 to 4.10.0 (2130)
- Update pymongo to 4.10.1 (2136)
- fix(pytest): skip file-lock test on Windows (2138)
- Apply errback and callback when retry occurs (2129)
- Pin pre-commit to latest version 4.0.0 (Python 3.9+) (2140)
- Pin pre-commit to latest version 4.0.1 (2144)
- Add native delayed delivery API to kombu (2128)
- Add support for Google Pub/Sub as transport broker (2147)
- Update the transport options according to the retry policy (2148)
- Feature: urllib3 instead of curl (2134)
- Update mypy to 1.12.0 (2149)
- Prepare for (pre) release: v5.5.0rc1 (2150)

.. _version-5.4.2:

5.5.0b4

=======

:release-date: 2024-09-30
:release-by: Tomer Nosrati

Celery v5.5.0 Beta 4 is now available for testing.
Please help us test this version and report any issues.

Key Highlights
~~~~~~~~~~~~~~

Python 3.13 Initial Support
---------------------------

This release introduces the initial support for Python 3.13 with Celery.

After upgrading to this version, please share your feedback on the Python 3.13 support.

Previous Pre-release Highlights
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Soft Shutdown
-------------

The soft shutdown is a new mechanism in Celery that sits between the warm shutdown and the cold shutdown.
It sets a time limited "warm shutdown" period, during which the worker will continue to process tasks that are already running.
After the soft shutdown ends, the worker will initiate a graceful cold shutdown, stopping all tasks and exiting.

The soft shutdown is disabled by default, and can be enabled by setting the new configuration option :setting:`worker_soft_shutdown_timeout`.
If a worker is not running any task when the soft shutdown initiates, it will skip the warm shutdown period and proceed directly to the cold shutdown
unless the new configuration option :setting:`worker_enable_soft_shutdown_on_idle` is set to True. This is useful for workers
that are idle, waiting on ETA tasks to be executed that still want to enable the soft shutdown anyways.

The soft shutdown can replace the cold shutdown when using a broker with a visibility timeout mechanism, like :ref:`Redis <broker-redis>`
or :ref:`SQS <broker-sqs>`, to enable a more graceful cold shutdown procedure, allowing the worker enough time to re-queue tasks that were not
completed (e.g., ``Restoring 1 unacknowledged message(s)``) by resetting the visibility timeout of the unacknowledged messages just before
the worker exits completely.

After upgrading to this version, please share your feedback on the new Soft Shutdown mechanism.

Relevant Issues:
`9213 <https://github.com/celery/celery/pull/9213>`_,
`9231 <https://github.com/celery/celery/pull/9231>`_,
`9238 <https://github.com/celery/celery/pull/9238>`_

- New :ref:`documentation <worker-stopping>` for each shutdown type.
- New :setting:`worker_soft_shutdown_timeout` configuration option.
- New :setting:`worker_enable_soft_shutdown_on_idle` configuration option.

REMAP_SIGTERM
-------------

The ``REMAP_SIGTERM`` "hidden feature" has been tested, :ref:`documented <worker-REMAP_SIGTERM>` and is now officially supported.
This feature allows users to remap the SIGTERM signal to SIGQUIT, to initiate a soft or a cold shutdown using :sig:`TERM`
instead of :sig:`QUIT`.

Pydantic Support
----------------

This release introduces support for Pydantic models in Celery tasks.
For more info, see the new pydantic example and PR `9023 <https://github.com/celery/celery/pull/9023>`_ by mathiasertl.

After upgrading to this version, please share your feedback on the new Pydantic support.

Redis Broker Stability Improvements
-----------------------------------
The root cause of the Redis broker instability issue has been `identified and resolved <https://github.com/celery/kombu/pull/2007>`_
in the v5.4.0 release of Kombu, which should resolve the disconnections bug and offer additional improvements.

After upgrading to this version, please share your feedback on the Redis broker stability.

Relevant Issues:
`7276 <https://github.com/celery/celery/discussions/7276>`_,
`8091 <https://github.com/celery/celery/discussions/8091>`_,
`8030 <https://github.com/celery/celery/discussions/8030>`_,
`8384 <https://github.com/celery/celery/discussions/8384>`_

Quorum Queues Initial Support
-----------------------------
This release introduces the initial support for Quorum Queues with Celery. 

See new configuration options for more details:

- :setting:`task_default_queue_type`
- :setting:`worker_detect_quorum_queues`

After upgrading to this version, please share your feedback on the Quorum Queues support.

Relevant Issues:
`6067 <https://github.com/celery/celery/discussions/6067>`_,
`9121 <https://github.com/celery/celery/discussions/9121>`_

What's Changed
~~~~~~~~~~~~~~

- Correct the error description in exception message when validate soft_time_limit (9246)
- Update msgpack to 1.1.0 (9249)
- chore(utils/time.py): rename `_is_ambigious` -> `_is_ambiguous` (9248)
- Reduced Smoke Tests to min/max supported python (3.8/3.12) (9252)
- Update pytest to 8.3.3 (9253)
- Update elasticsearch requirement from <=8.15.0 to <=8.15.1 (9255)
- Update mongodb without deprecated `[srv]` extra requirement (9258)
- blacksmith.sh: Migrate workflows to Blacksmith (9261)
- Fixes 9119: inject dispatch_uid for retry-wrapped receivers (9247)
- Run all smoke tests CI jobs together (9263)
- Improve documentation on visibility timeout (9264)
- Bump pytest-celery to 1.1.2 (9267)
- Added missing "app.conf.visibility_timeout" in smoke tests (9266)
- Improved stability with t/smoke/tests/test_consumer.py (9268)
- Improved Redis container stability in the smoke tests (9271)
- Disabled EXHAUST_MEMORY tests in Smoke-tasks (9272)
- Marked xfail for test_reducing_prefetch_count with Redis - flaky test (9273)
- Fixed pypy unit tests random failures in the CI (9275)
- Fixed more pypy unit tests random failures in the CI (9278)
- Fix Redis container from aborting randomly (9276)
- Run Integration & Smoke CI tests together after unit tests pass (9280)
- Added "loglevel verbose" to Redis containers in smoke tests (9282)
- Fixed Redis error in the smoke tests: "Possible SECURITY ATTACK detected" (9284)
- Refactored the smoke tests github workflow (9285)
- Increased --reruns 3->4 in smoke tests (9286)
- Improve stability of smoke tests (CI and Local) (9287)
- Fixed Smoke tests CI "test-case" labels (specific instead of general) (9288)
- Use assert_log_exists instead of wait_for_log in worker smoke tests (9290)
- Optimized t/smoke/tests/test_worker.py (9291)
- Enable smoke tests dockers check before each test starts (9292)
- Relaxed smoke tests flaky tests mechanism (9293)
- Updated quorum queue detection to handle multiple broker instances (9294)
- Non-lazy table creation for database backend (9228)
- Pin pymongo to latest version 4.9 (9297)
- Bump pymongo from 4.9 to 4.9.1 (9298)
- Bump Kombu to v5.4.2 (9304)
- Use rabbitmq:3 in stamping smoke tests (9307)
- Bump pytest-celery to 1.1.3 (9308)
- Added Python 3.13 Support (9309)
- Add log when global qos is disabled (9296)
- Added official release docs (whatsnew) for v5.5 (9312)
- Enable Codespell autofix (9313)
- Pydantic typehints: Fix optional, allow generics (9319)
- Prepare for (pre) release: v5.5.0b4 (9322)

.. _version-5.5.0b3:

5.5.0b3

=======

:release-date: 2024-09-08
:release-by: Tomer Nosrati

Celery v5.5.0 Beta 3 is now available for testing.
Please help us test this version and report any issues.

Key Highlights
~~~~~~~~~~~~~~

Soft Shutdown
-------------

The soft shutdown is a new mechanism in Celery that sits between the warm shutdown and the cold shutdown.
It sets a time limited "warm shutdown" period, during which the worker will continue to process tasks that are already running.
After the soft shutdown ends, the worker will initiate a graceful cold shutdown, stopping all tasks and exiting.

The soft shutdown is disabled by default, and can be enabled by setting the new configuration option :setting:`worker_soft_shutdown_timeout`.
If a worker is not running any task when the soft shutdown initiates, it will skip the warm shutdown period and proceed directly to the cold shutdown
unless the new configuration option :setting:`worker_enable_soft_shutdown_on_idle` is set to True. This is useful for workers
that are idle, waiting on ETA tasks to be executed that still want to enable the soft shutdown anyways.

The soft shutdown can replace the cold shutdown when using a broker with a visibility timeout mechanism, like :ref:`Redis <broker-redis>`
or :ref:`SQS <broker-sqs>`, to enable a more graceful cold shutdown procedure, allowing the worker enough time to re-queue tasks that were not
completed (e.g., ``Restoring 1 unacknowledged message(s)``) by resetting the visibility timeout of the unacknowledged messages just before
the worker exits completely.

After upgrading to this version, please share your feedback on the new Soft Shutdown mechanism.

Relevant Issues:
`9213 <https://github.com/celery/celery/pull/9213>`_,
`9231 <https://github.com/celery/celery/pull/9231>`_,
`9238 <https://github.com/celery/celery/pull/9238>`_

- New :ref:`documentation <worker-stopping>` for each shutdown type.
- New :setting:`worker_soft_shutdown_timeout` configuration option.
- New :setting:`worker_enable_soft_shutdown_on_idle` configuration option.

REMAP_SIGTERM
-------------

The ``REMAP_SIGTERM`` "hidden feature" has been tested, :ref:`documented <worker-REMAP_SIGTERM>` and is now officially supported.
This feature allows users to remap the SIGTERM signal to SIGQUIT, to initiate a soft or a cold shutdown using :sig:`TERM`
instead of :sig:`QUIT`.

Previous Pre-release Highlights
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Pydantic Support
----------------

This release introduces support for Pydantic models in Celery tasks.
For more info, see the new pydantic example and PR `9023 <https://github.com/celery/celery/pull/9023>`_ by mathiasertl.

After upgrading to this version, please share your feedback on the new Pydantic support.

Redis Broker Stability Improvements
-----------------------------------
The root cause of the Redis broker instability issue has been `identified and resolved <https://github.com/celery/kombu/pull/2007>`_
in the v5.4.0 release of Kombu, which should resolve the disconnections bug and offer additional improvements.

After upgrading to this version, please share your feedback on the Redis broker stability.

Relevant Issues:
`7276 <https://github.com/celery/celery/discussions/7276>`_,
`8091 <https://github.com/celery/celery/discussions/8091>`_,
`8030 <https://github.com/celery/celery/discussions/8030>`_,
`8384 <https://github.com/celery/celery/discussions/8384>`_

Quorum Queues Initial Support
-----------------------------
This release introduces the initial support for Quorum Queues with Celery. 

See new configuration options for more details:

- :setting:`task_default_queue_type`
- :setting:`worker_detect_quorum_queues`

After upgrading to this version, please share your feedback on the Quorum Queues support.

Relevant Issues:
`6067 <https://github.com/celery/celery/discussions/6067>`_,
`9121 <https://github.com/celery/celery/discussions/9121>`_

What's Changed
~~~~~~~~~~~~~~

- Added SQS (localstack) broker to canvas smoke tests (9179)
- Pin elastic-transport to <= latest version 8.15.0 (9182)
- Update elasticsearch requirement from <=8.14.0 to <=8.15.0 (9186)
- Improve formatting (9188)
- Add basic helm chart for celery (9181)
- Update kafka.rst (9194)
- Update pytest-order to 1.3.0 (9198)
- Update mypy to 1.11.2 (9206)
- All added to routes (9204)
- Fix typos discovered by codespell (9212)
- Use tzdata extras with zoneinfo backports (8286)
- Use `docker compose` in Contributing's doc build section (9219)
- Failing test for issue 9119 (9215)
- Fix date_done timezone issue (8385)
- CI Fixes to smoke tests (9223)
- Fix: passes current request context when pushing to request_stack (9208)
- Fix broken link in the Using RabbitMQ docs page (9226)
- Added Soft Shutdown Mechanism (9213)
- Added worker_enable_soft_shutdown_on_idle (9231)
- Bump cryptography from 43.0.0 to 43.0.1 (9233)
- Added docs regarding the relevancy of soft shutdown and ETA tasks (9238)
- Show broker_connection_retry_on_startup warning only if it evaluates as False (9227)
- Fixed docker-docs CI failure (9240)
- Added docker cleanup auto-fixture to improve smoke tests stability (9243)
- print is not thread-safe, so should not be used in signal handler (9222)
- Prepare for (pre) release: v5.5.0b3 (9244)

.. _version-5.5.0b2:

5.5.0b2

=======

:release-date: 2024-08-06
:release-by: Tomer Nosrati

Celery v5.5.0 Beta 2 is now available for testing.
Please help us test this version and report any issues.

Key Highlights
~~~~~~~~~~~~~~

Pydantic Support
----------------

This release introduces support for Pydantic models in Celery tasks.
For more info, see the new pydantic example and PR `9023 <https://github.com/celery/celery/pull/9023>`_ by mathiasertl.

After upgrading to this version, please share your feedback on the new Pydantic support.

Previous Beta Highlights
~~~~~~~~~~~~~~~~~~~~~~~~

Redis Broker Stability Improvements
-----------------------------------
The root cause of the Redis broker instability issue has been `identified and resolved <https://github.com/celery/kombu/pull/2007>`_
in the v5.4.0 release of Kombu, which should resolve the disconnections bug and offer additional improvements.

After upgrading to this version, please share your feedback on the Redis broker stability.

Relevant Issues:
`7276 <https://github.com/celery/celery/discussions/7276>`_,
`8091 <https://github.com/celery/celery/discussions/8091>`_,
`8030 <https://github.com/celery/celery/discussions/8030>`_,
`8384 <https://github.com/celery/celery/discussions/8384>`_

Quorum Queues Initial Support
-----------------------------
This release introduces the initial support for Quorum Queues with Celery. 

See new configuration options for more details:

- :setting:`task_default_queue_type`
- :setting:`worker_detect_quorum_queues`

After upgrading to this version, please share your feedback on the Quorum Queues support.

Relevant Issues:
`6067 <https://github.com/celery/celery/discussions/6067>`_,
`9121 <https://github.com/celery/celery/discussions/9121>`_

What's Changed
~~~~~~~~~~~~~~

- Bump pytest from 8.3.1 to 8.3.2 (9153)
- Remove setuptools deprecated test command from setup.py (9159)
- Pin pre-commit to latest version 3.8.0 from Python 3.9 (9156)
- Bump mypy from 1.11.0 to 1.11.1 (9164)
- Change "docker-compose" to "docker compose" in Makefile (9169)
- update python versions and docker compose (9171)
- Add support for Pydantic model validation/serialization (fixes 8751) (9023)
- Allow local dynamodb to be installed on another host than localhost (8965)
- Terminate job implementation for gevent concurrency backend (9083)
- Bump Kombu to v5.4.0 (9177)
- Add check for soft_time_limit and time_limit values (9173)
- Prepare for (pre) release: v5.5.0b2 (9178)

.. _version-5.5.0b1:

5.5.0b1

=======

:release-date: 2024-07-24
:release-by: Tomer Nosrati

Celery v5.5.0 Beta 1 is now available for testing.
Please help us test this version and report any issues.

Key Highlights
~~~~~~~~~~~~~~

Redis Broker Stability Improvements
-----------------------------------
The root cause of the Redis broker instability issue has been `identified and resolved <https://github.com/celery/kombu/pull/2007>`_
in the release-candidate for Kombu v5.4.0. This beta release has been upgraded to use the new
Kombu RC version, which should resolve the disconnections bug and offer additional improvements.

After upgrading to this version, please share your feedback on the Redis broker stability.

Relevant Issues:
`7276 <https://github.com/celery/celery/discussions/7276>`_,
`8091 <https://github.com/celery/celery/discussions/8091>`_,
`8030 <https://github.com/celery/celery/discussions/8030>`_,
`8384 <https://github.com/celery/celery/discussions/8384>`_

Quorum Queues Initial Support
-----------------------------
This release introduces the initial support for Quorum Queues with Celery. 

See new configuration options for more details:

- :setting:`task_default_queue_type`
- :setting:`worker_detect_quorum_queues`

After upgrading to this version, please share your feedback on the Quorum Queues support.

Relevant Issues:
`6067 <https://github.com/celery/celery/discussions/6067>`_,
`9121 <https://github.com/celery/celery/discussions/9121>`_

What's Changed
~~~~~~~~~~~~~~

- (docs): use correct version celery v.5.4.x (8975)
- Update mypy to 1.10.0 (8977)
- Limit pymongo<4.7 when Python <= 3.10 due to breaking changes in 4.7 (8988)
- Bump pytest from 8.1.1 to 8.2.0 (8987)
- Update README to Include FastAPI in Framework Integration Section (8978)
- Clarify return values of ..._on_commit methods (8984)
- add kafka broker docs (8935)
- Limit pymongo<4.7 regardless of Python version (8999)
- Update pymongo[srv] requirement from <4.7,>=4.0.2 to >=4.0.2,<4.8 (9000)
- Update elasticsearch requirement from <=8.13.0 to <=8.13.1 (9004)
- security: SecureSerializer: support generic low-level serializers (8982)
- don't kill if pid same as file (8997) (8998)
- Update cryptography to 42.0.6 (9005)
- Bump cryptography from 42.0.6 to 42.0.7 (9009)
- Added -vv to unit, integration and smoke tests (9014)
- SecuritySerializer: ensure pack separator will not be conflicted with serialized fields (9010)
- Update sphinx-click to 5.2.2 (9025)
- Bump sphinx-click from 5.2.2 to 6.0.0 (9029)
- Fix a typo to display the help message in first-steps-with-django (9036)
- Pinned requests to v2.31.0 due to docker-py bug 3256 (9039)
- Fix certificate validity check (9037)
- Revert "Pinned requests to v2.31.0 due to docker-py bug 3256" (9043)
- Bump pytest from 8.2.0 to 8.2.1 (9035)
- Update elasticsearch requirement from <=8.13.1 to <=8.13.2 (9045)
- Fix detection of custom task set as class attribute with Django (9038)
- Update elastic-transport requirement from <=8.13.0 to <=8.13.1 (9050)
- Bump pycouchdb from 1.14.2 to 1.16.0 (9052)
- Update pytest to 8.2.2 (9060)
- Bump cryptography from 42.0.7 to 42.0.8 (9061)
- Update elasticsearch requirement from <=8.13.2 to <=8.14.0 (9069)
- [enhance feature] Crontab schedule: allow using month names (9068)
- Enhance tox environment: [testenv:clean] (9072)
- Clarify docs about Reserve one task at a time (9073)
- GCS docs fixes (9075)
- Use hub.remove_writer instead of hub.remove for write fds (4185) (9055)
- Class method to process crontab string (9079)
- Fixed smoke tests env bug when using integration tasks that rely on Redis (9090)
- Bugfix - a task will run multiple times when chaining chains with groups (9021)
- Bump mypy from 1.10.0 to 1.10.1 (9096)
- Don't add a separator to global_keyprefix if it already has one (9080)
- Update pymongo[srv] requirement from <4.8,>=4.0.2 to >=4.0.2,<4.9 (9111)
- Added missing import in examples for Django (9099)
- Bump Kombu to v5.4.0rc1 (9117)
- Removed skipping Redis in t/smoke/tests/test_consumer.py tests (9118)
- Update pytest-subtests to 0.13.0 (9120)
- Increased smoke tests CI timeout (9122)
- Bump Kombu to v5.4.0rc2 (9127)
- Update zstandard to 0.23.0 (9129)
- Update pytest-subtests to 0.13.1 (9130)
- Changed retry to tenacity in smoke tests (9133)
- Bump mypy from 1.10.1 to 1.11.0 (9135)
- Update cryptography to 43.0.0 (9138)
- Update pytest to 8.3.1 (9137)
- Added support for Quorum Queues (9121)
- Bump Kombu to v5.4.0rc3 (9139)
- Cleanup in Changelog.rst (9141)
- Update Django docs for CELERY_CACHE_BACKEND (9143)
- Added missing docs to previous releases (9144)
- Fixed a few documentation build warnings (9145)
- docs(README): link invalid (9148)
- Prepare for (pre) release: v5.5.0b1 (9146)

.. _version-5.4.0:

5.4.2

=====
:release-date: 19 Sep, 2024
:release-by: Tomer Nosrati

Fixed issue with SQS 2113

- tzdata is required for machines without IANA database (2107)
- blacksmith.sh: Migrate workflows to Blacksmith (2112)
- Revert "Validate SQS SSL certs by default" (2114)
- Update pymongo to 4.9 (2115)
- Bump pymongo from 4.9 to 4.9.1 (2118)
- Prepare for release: v5.4.2 (2119)

.. _version-5.4.1:

5.4.1

=====
:release-date: 11 Sep, 2024
:release-by: Tomer Nosrati

- Update mypy to 1.11.2 (2101)
- SQS: Fixes 2091 queue_delete() method doesn't actually delete the queue (2099)
- Validate SQS SSL certs by default (2094)
- Resolving TypeError, during version unpacking (2098)
- Revert: allow users to disable broker heartbeats by not providing a timeout (2097, 2016) (2104)
- Update msgpack to 1.1.0 (2105)
- Update pytest to 8.3.3 (2108)
- Prepare for release: v5.4.1 (2109)

.. _version-5.4.0:

5.4

environments. The release candidate version is available for testing.
The official release is planned for March-April 2024.

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

.. _version-5.3.6:

5.4.0

=====
:release-date: 6 August, 2024
:release-by: Tomer Nosrati

We want to add a special thanks to contribution `2007 <https://github.com/celery/kombu/pull/2007>`_ by
awmackowiak for fixing the Redis reconnection bug. Restoring Redis stability has been an essential improvement - thank you!

The rest of the changes are listed below.

Changes
-------
- fix: Fanout exchange messages mixed across virtual databases in Redis sentinel (1986)
- Pin pymongo to latest version 4.7.2 (1994)
- enable/fix test_etcd.py (resolves 2001) (2002)
- Limit requests<2.32.0 due to docker-py issue 3256 (2011)
- enhance: allow users to disable broker heartbeats (1998)
- enhance: allow uses to disable broker heartbeats by not providing a timeout (1997, 1998) (2016)
- chore(typing): annotate `utils/debug.py` (1714)
- ConnectionPool can't be used after .resize(..., reset=True) (resolves 2018) (2024)
- Fix Redis connections after reconnect - consumer starts consuming the tasks after crash (2007)
- Add support for mongodb+srv scheme (1976)
- Added Changelog for v5.4.0rc1 (2033)
- Fixed bumpversion bug with RC versions (2034)
- Fix typo in README.rst (2036)
- Reverted limiting requests<2.32.0 in requirements/default.txt but kept in tox.ini due to docker-py issue 3256 (2041)
- Redis transport - Redelivered messages should respect the original priority (2026)
- Exclude Unit 3.9 from CI (2046)
- Fixed CI error from excluding Python 3.9 unit tests (2047)
- Fixed flaky integration test: test_publish_requeue_consume() (2048)
- fix: don't crash on `properties`.`body_encoding`: `utf-8` (1690)
- chore: handle kafka transport with confluentkafka ✨ (1574)
- Revert "Exclude Unit 3.9 from CI 2046" (2054)
- fix azure service bus isinstance checks when None (2053)
- Added Changelog for v5.4.0rc2 (2056)
- Fixed typo in Changelog for v5.4.0rc2 (2057)
- Use logging.Logger.warning (2058)
- SQS: add support for passing MessageAttributes (2059)
- Added Changelog for v5.4.0rc3 (2064)
- Prepare for release: v5.4.0 (2095)

Dependencies Updates
--------------------
- Update mypy to 1.10.0 (1988)
- Update pytest to 8.2.0 (1990)
- Bump pytest from 8.2.0 to 8.2.1 (2005)
- Pin typing_extensions to latest version 4.12.1 (2017)
- Bump pytest from 8.2.1 to 8.2.2 (2021)
- Bump pymongo from 4.7.2 to 4.7.3 (2022)
- Update flake8 to 7.1.0 (2028)
- Bump mypy from 1.10.0 to 1.10.1 (2039)
- Bump pymongo from 4.7.3 to 4.8.0 (2044)
- Pin zstandard to latest version 0.23.0 (2060)
- Update mypy to 1.11.0 (2062)
- Update pytest to 8.3.1 (2063)
- Update typing_extensions to 4.12.2 (2066)
- Pin vine to latest version 5.1.0 (2067)
- Update pytest to 8.3.2 (2076)
- Pin codecov to latest version 2.1.13 (2084)
- Pin pytest-freezer to latest version 0.4.8 (2085)
- Pin msgpack to latest version 1.0.8 (2080)
- Pin python-consul2 to latest version 0.1.5 (2078)
- Pin pycouchdb to latest version 1.16.0 (2079)
- Pin bumpversion to latest version 0.6.0 (2083)
- Pin kazoo to latest version 2.10.0 (2082)
- Pin pyro4 to latest version 4.82 (2081)
- Bump mypy from 1.11.0 to 1.11.1 (2087)
- Bump flake8 from 7.1.0 to 7.1.1 (2090)

5.4.0rc3

========
:release-date: 22 July, 2024
:release-by: Tomer Nosrati

- Fixed typo in Changelog for v5.4.0rc2 (2057)
- Use logging.Logger.warning (2058)
- Pin zstandard to latest version 0.23.0 (2060)
- Update mypy to 1.11.0 (2062)
- Update pytest to 8.3.1 (2063)
- SQS: add support for passing MessageAttributes (2059)

.. _version-5.4.0rc2:

5.4.0rc2

========
:release-date: 11 July, 2024
:release-by: Tomer Nosrati

The ``requests`` package is no longer limited to <2.32.0 per 2041.
Contribution 2007 by awmackowiak was confirmed to have solved the Redis reconnection bug.

- Bump mypy from 1.10.0 to 1.10.1 (2039)
- Fix typo in README.rst (2036)
- Reverted limiting requests<2.32.0 in requirements/default.txt but kept in tox.ini due to docker-py issue 3256 (2041)
- Redis transport - Redelivered messages should respect the original priority (2026)
- Exclude Unit 3.9 from CI (2046)
- Fixed CI error from excluding Python 3.9 unit tests (2047)
- Fixed flaky integration test: test_publish_requeue_consume() (2048)
- Bump pymongo from 4.7.3 to 4.8.0 (2044)
- fix: don't crash on `properties`.`body_encoding`: `utf-8` (1690)
- chore: handle kafka transport with confluentkafka ✨ (1574)
- Revert "Exclude Unit 3.9 from CI 2046" (2054)
- fix azure service bus isinstance checks when None (2053)

.. _version-5.4.0rc1:

5.4.0rc1

========
:release-date: 22 June, 2024
:release-by: Tomer Nosrati

We want to add a special thanks to contribution 2007 by awmackowiak for fixing the Redis reconnection bug.
This release candidate aims to allow the community to test the changes and provide feedback.

Please let us know if Redis is stable again!

New: 1998, 2016, 2024, 1976
The rest of the changes are bug fixes and dependency updates.

Lastly, ``requests`` is limited to <2.32.0 per 2011.

- Update mypy to 1.10.0 (1988)
- Update pytest to 8.2.0 (1990)
- fix: Fanout exchange messages mixed across virtual databases in Redis sentinel (1986)
- Pin pymongo to latest version 4.7.2 (1994)
- enable/fix test_etcd.py (resolves 2001) (2002)
- Bump pytest from 8.2.0 to 8.2.1 (2005)
- Limit requests<2.32.0 due to docker-py issue 3256 (2011)
- enhance: allow users to disable broker heartbeats (1998)
- enhance: allow uses to disable broker heartbeats by not providing a timeout (1997,1998) (2016)
- Pin typing_extensions to latest version 4.12.1 (2017)
- chore(typing): annotate `utils/debug.py` (1714)
- Bump pytest from 8.2.1 to 8.2.2 (2021)
- Bump pymongo from 4.7.2 to 4.7.3 (2022)
- ConnectionPool can't be used after .resize(..., reset=True) (resolves 2018) (2024)
- Fix Redis connections after reconnect - consumer starts consuming the tasks after crash. (2007)
- Update flake8 to 7.1.0 (2028)
- Add support for mongodb+srv scheme (1976)

.. _version-5.3.7:

5.3.7

=====
:release-date: 11 April, 2024
:release-by: Tomer Nosrati

The release of v5.3.6 was missing the bumbversion commit so v5.3.7 is only released to sync it back.

.. _version-5.3.6:

5.3.6

=====
:release-date: 27 Mar, 2024
:release-by: Tomer Nosrati

- boto3>=1.26.143 (1890)
- Always convert azureservicebus namespace to fully qualified (1892)
- Pin pytest-sugar to latest version 1.0.0 (1912)
- Upgrade to pytest v8 that removed nose compatibility (1914)
- fix warning for usage of utcfromtimestamp (1926)
- Update pytest to 8.0.2 (1942)
- Hotfix: Fix CI failures (limit redis to <5.0.2 instead of <6.0.0) (1961)
- Expose cancel callback from py-amqp channel.basic_consume (1953)
- Update mypy to 1.9.0 (1963)
- Update pytest to 8.1.1 (1965)
- Pin hypothesis to hypothesis<7 (1966)
- redis>=4.5.2,<5.0.2,!=4.5.5 -> redis>=4.5.2,!=5.0.2,!=4.5.5 (1969)
- add escape hatch for custom JSON serialization (1955)
- Pin pytest-cov to latest version 5.0.0 (1972)

.. _version-5.3.5:

5.3.5

=====
:release-date: 12 Jan, 2024
:release-by: Tomer Nosrati

- Fix ReadTheDocs CI (1827).
- fix(docs): add Redis to the list of transports where SSL is supported (1826).
- Fixed Improper Method Call: Replaced `mktemp` (1828).
- Bump actions/setup-python from 4 to 5 (1829).
- Bump github/codeql-action from 2 to 3 (1832).
- fix: freeze set during ticks iter in async hub (1830).
- azure service bus: fix TypeError when using Managed Identities (1825).
- Fix unacknowledge typo in restore_visible() (1839).
- Changed pyup -> dependabot for updating dependencies (1842).
- Bump pytest from 7.4.3 to 7.4.4 (1843).
- Bump flake8 from 6.0.0 to 7.0.0 (1845).
- Bump mypy from 1.3.0 to 1.8.0 (1844).
- Fix crash when using global_keyprefix with a sentinel connection (1838)
- Fixed version_dev in docs/conf.py (1875).

.. _version-5.3.4:

5.3.4

=====
:release-date: 16 Nov, 2023
:release-by: Asif Saif Uddin

- Use the correct protocol for SQS requests (1807).


.. _version-5.3.3:

5.3.3

=====
:release-date: 6 Nov, 2023
:release-by: Asif Saif Uddin

- Raise access denied error when ack.
- test redis 5.0.0.
- fix azure servicebus using managed identity support (1801).
- Added as_uri method to MongoDB transport - Fixes 1795 (1796).
- Revert "[fix 1726] Use boto3 for SQS async requests (1759)" (1799).
- Create a lock on cached_property if not present (1811).
- Bump kafka deps versions & fix integration test failures (1818).
- Added Python 3.12 support.
- Fix: redis requeue concurrency bug 1800 (1805).


.. _version-5.3.2:

5.3.2

=====
:release-date: 31 Aug, 2023
:release-by: Tomer Nosrati

- Reverted unwanted constraint introduced in 1629 with max_retries (1755)
- Doc fix (hotfix for 1755) (1758)
- Python3.12: fix imports in kombu/utils/objects.py (1756)
- [fix 1726] Use boto3 for SQS async requests (1759)
- docs: Remove SimpleQueue import (1764)
- Fixed pre-commit issues (1773)
- azure service bus: add managed identity support (1641)
- fix: Prevent redis task loss when closing connection while in poll (1733)
- Kombu & celery with SQS 222 (1779)
- syntax correction (1780)

.. _version-5.3.1:

5.3.1

=====
:release-date: 15 Jun, 2023
:release-by: Asif Saif Uddin

- Update pycurl version.
- Declare python 3.11 support (1425).
- Fix: allow deserializing any version of UUID.
- Update PyCurl version in SQS (1747).


.. _version-5.3.0:

5.3.0

=====
:release-date: 03 Jun, 2023
:release-by: Asif Saif Uddin

- Support for Kafka as transport.
- Add fanout to filesystem (1499).
- Added possibility to serialize and deserialize binary messages in json (1516).
- Support pymongo 4.x (1536).
- Support redis-py 4.5.x.
- Upgrade Azure Storage Queues transport to version 12 (1539).
- Add support to SQS DelaySeconds (1567).
- Add WATCH to prefixed complex commands.
- Avoid losing type of UUID when serializing/deserializing (1575).
- Added HLEN to the list of prefixed redis commands (1540).
- Add managed identity support to azure storage queue (1631).
- Add Support of sqlalchemy v2.0.
- Deprecate pytz and use zoneinfo (1680)


.. _version-5.3.0rc2:

5.3.0rc2

========
:release-date: 31 May, 2023
:release-by: Asif Saif Uddin

- add missing zoneinfo dependency (1732).
- Support redis >= 4.5.2
- Loosen urlib3 version range for botocore compat


.. _version-5.3.0rc1:

5.3.0rc1

========
:release-date: 24 May, 2023
:release-by: Asif Saif Uddin

- Moved to pytest-freezer (1683).
- Deprecate pytz and use zoneinfo (1680).
- handle keyerror in azureservicebus transport when message is not
found in qos and perform basic_ack (1691).
- fix mongodb transport obsolete calls (1694).
- SQS: avoid excessive GetQueueURL calls by using cached queue url (1621).
- Update confluentkafka.txt version (1727).
- Revert back to pyro4 for now.


.. _version-5.3.0b3:

5.3.0b3

=======
:release-date: 20 Mar, 2023
:release-by: Asif Saif Uddin

- Use SPDX license expression in project metadata.
- Allowing Connection.ensure() to retry on specific exceptions given by policy (1629).
- Redis==4.3.4 temporarilly in an attempt to avoid BC (1634).
- Add managed identity support to azure storage queue (1631).
- Support sqla v2.0 (1651).
- Switch to Pyro5 (1655).
- Remove unused _setupfuns from serialization.py.
- Refactor: Refactor utils/json (1659).
- Adapt the mock to correctly mock the behaviors as implemented on Python 3.10. (Ref 1663).


.. _version-5.3.0b2:

5.3.0b2

=======
:release-date: 19 Oct, 2022
:release-by: Asif Saif Uddin

- fix: save QueueProperties to _queue_name_cache instead of QueueClient.
- hub: tick delay fix (1587).
- Fix incompatibility with redis in disconnect() (1589).
- Solve Kombu filesystem transport not thread safe.
- importlib_metadata remove deprecated entry point interfaces (1601).
- Allow azurestoragequeues transport to be used with Azurite emulator in docker-compose (1611).


.. _version-5.3.0b1:

5.3.0b1

=======
:release-date: 1 Aug, 2022
:release-by: Asif Saif Uddin

- Add ext.py files to setup.cfg.
- Add support to SQS DelaySeconds (1567).
- Add WATCH to prefixed complex commands.
- Avoid losing type of UUID when serializing/deserializing (1575).
- chore: add confluentkafka to extras.

.. _version-5.3.0a1:

5.3.0a1

=======
:release-date: 29 Jun, 2022
:release-by: Asif Saif Uddin

- Add fanout to filesystem (1499).
- Protect set of ready tasks by lock to avoid concurrent updates. (1489).
- Correct documentation stating kombu uses pickle protocol version 2.
- Use new entry_points interface.
- Add mypy to the pipeline (1512).
- Added possibility to serialize and deserialize binary messages in json (1516).
- Bump pyupgrade version and add __future__.annotations import.
- json.py cleaning from outdated libs (1533).
- bump new py-amqp to 5.1.1 (1534).
- add GitHub URL for PyPi.
- Upgrade pytest to ~=7.1.1.
- Support pymongo 4.x (1536).
- Initial Kafka support (1506).
- Upgrade Azure Storage Queues transport to version 12 (1539).
- move to consul2 (1544).
- Datetime serialization and deserialization fixed (1515).
- Bump redis>=4.2.2 (1546).
- Update sqs dependencies (1547).
- Added HLEN to the list of prefixed redis commands (1540).
- Added some type annotations.


.. _version-5.2.4:

5.2.7

=====

:release-date: 2022-5-26 12:15 P.M UTC+2:00
:release-by: Omer Katz

- Fix packaging issue which causes poetry 1.2b1 and above to fail install Celery (7534).

.. _version-5.2.6:

5.2.6

=====

:release-date: 2022-4-04 21:15 P.M UTC+2:00
:release-by: Omer Katz

- load_extension_class_names - correct module_name (7433).
 This fixes a regression caused by 7218.

.. _version-5.2.5:

5.2.5

=====

:release-date: 2022-4-03 20:42 P.M UTC+2:00
:release-by: Omer Katz

**This release was yanked due to a regression caused by the PR below**

- Use importlib instead of deprecated pkg_resources (7218).

.. _version-5.2.4:

5.2.4

=====
:release-date: 06 Mar, 2022
:release-by: Asif Saif Uddin

- Allow getting recoverable_connection_errors without an active transport.
- Prevent KeyError: 'purelib' by removing INSTALLED_SCHEME hack from setup.py.
- Revert "try pining setuptools (1466)" (1481).
- Fix issue 789: Async http code not allowing for proxy config (790).
- Fix The incorrect times of retrying.
- Set redelivered property for Celery with Redis (1484).
- Remove use of OrderedDict in various places (1483).
- Warn about missing hostname only when default one is available (1488).
- All supported versions of Python define __package__.
- Added global_keyprefix support for pubsub clients (1495).
- try pytest 7 (1497).
- Add an option to not base64-encode SQS messages.
- Fix SQS extract_task_name message reference.


.. _version-5.2.3:

5.2.3

=====
:release-date: 29 Dec, 2021
:release-by: Asif Saif Uddin

- Allow redis >= 4.0.2.
- Fix PyPy CI jobs.
- SQS transport: detect FIFO queue properly by checking queue URL (1450).
- Ensure that restore is atomic in redis transport (1444).
- Restrict setuptools>=59.1.1,<59.7.0.
- Bump minimum py-amqp to v5.0.9 (1462).
- Reduce memory usage of Transport (1470).
- Prevent event loop polling on closed redis transports (and causing leak).
- Respect connection timeout (1458)
- prevent redis event loop stopping on 'consumer: Cannot connect' (1477).


.. _version-5.2.2:

5.2.2

=====
:release-date: 16 Nov, 2021
:release-by: Asif Saif Uddin

- Pin redis version to >= 3.4.1<4.0.0 as it is not fully compatible yet.


.. _version-5.2.1:

5.2.1

=====
:release-date: 8 Nov, 2021
:release-by: Asif Saif Uddin

- Bump redis version to >= 3.4.1.
- try latest sqs dependencies ti fix security warning.
- Tests & dependency updates

.. _version-5.2.0:

5.2.0

=====
:release-date: 5 Nov, 2021
:release-by: Naomi Elstein

- v 1.4.x (1338).
- stop mentioning librabbitmq (1381).
- Merge branch 'master' of https://github.com/celery/kombu
- test new pytest version (1383).
- drop python 3.6 from CI (1382).
- Use ANY from unittest instead of case.mock.
- Fix missing dependency to redis in docs requirements.
- [pre-commit.ci] pre-commit autoupdate.
- Remove dependency to case (1389).
- Fix: check redis response type.
- [pre-commit.ci] pre-commit autoupdate (1393).
- py3.7+ on setup (1392).
- Prevent caching of oid in pidbox (1394).
- Added unittests for 1394 .
- fix flake8 in kombu/asynchronous/aws/connection.py (1397).
- [pre-commit.ci] pre-commit autoupdate.
- Fix test_pidbox unittests to support non-linux platforms (1398).
- [pre-commit.ci] pre-commit autoupdate.
- removre bdist.
- add python 3.10 to CI & fix other issues (1402).
- try to fix CI (1407).
- Dont failfast when pypy3 tests fail (1408).
- Return empty list instead of InconsistencyError when exchange table is empty (1404).
- [pre-commit.ci] pre-commit autoupdate.

.. _version-5.2.0rc1:

5.2.0rc2

========

:release-date: 2021-11-02 1.54 P.M UTC+3:00
:release-by: Naomi Elstein

- Bump Python 3.10.0 to rc2.
- [pre-commit.ci] pre-commit autoupdate (6972).
- autopep8.
- Prevent worker to send expired revoked items upon hello command (6975).
- docs: clarify the 'keeping results' section (6979).
- Update deprecated task module removal in 5.0 documentation (6981).
- [pre-commit.ci] pre-commit autoupdate.
- try python 3.10 GA.
- mention python 3.10 on readme.
- Documenting the default consumer_timeout value for rabbitmq >= 3.8.15.
- Azure blockblob backend parametrized connection/read timeouts (6978).
- Add as_uri method to azure block blob backend.
- Add possibility to override backend implementation with celeryconfig (6879).
- [pre-commit.ci] pre-commit autoupdate.
- try to fix deprecation warning.
- [pre-commit.ci] pre-commit autoupdate.
- not needed anyore.
- not needed anyore.
- not used anymore.
- add github discussions forum

.. _version-5.2.0rc1:

5.2.0rc1

========
:release-date: 2021-09-07 7:00 P.M UTC+6:00
:release-by: Asif Saif Uddin

- Remove backward compatible code not used anymore (1344).
- Add support for setting redis username (1351).
- Add support for Python 3.9.
- Use hostname from URI when server_host is None.
- Use Python's built-in json module by default, instead of simplejson.
- SQS Channel.predefined_queues should be {} if not defined.
- Add global key prefix for keys set by Redis transporter (1349).
- fix: raise BrokenPipeError (1231).
- fix: add missing commands to prefix.
- Make BrokerState Transport specific.
- Tests & Docs cleanup.

.. _version-5.1.0:

5.2.0b3

=======

:release-date: 2021-09-02 8.38 P.M UTC+3:00
:release-by: Omer Katz

- Add args to LOG_RECEIVED (fixes 6885) (6898).
- Terminate job implementation for eventlet concurrency backend (6917).
- Add cleanup implementation to filesystem backend (6919).
- [pre-commit.ci] pre-commit autoupdate (69).
- Add before_start hook (fixes 4110) (6923).
- Restart consumer if connection drops (6930).
- Remove outdated optimization documentation (6933).
- added https verification check functionality in arangodb backend (6800).
- Drop Python 3.6 support.
- update supported python versions on readme.
- [pre-commit.ci] pre-commit autoupdate (6935).
- Remove appveyor configuration since we migrated to GA.
- pyugrade is now set to upgrade code to 3.7.
- Drop exclude statement since we no longer test with pypy-3.6.
- 3.10 is not GA so it's not supported yet.
- Celery 5.1 or earlier support Python 3.6.
- Fix linting error.
- fix: Pass a Context when chaining fail results (6899).
- Bump version: 5.2.0b2 → 5.2.0b3.

.. _version-5.2.0b2:

5.2.0b2

=======

:release-date: 2021-08-17 5.35 P.M UTC+3:00
:release-by: Omer Katz

- Test windows on py3.10rc1 and pypy3.7 (6868).
- Route chord_unlock task to the same queue as chord body (6896).
- Add message properties to app.tasks.Context (6818).
- handle already converted LogLevel and JSON (6915).
- 5.2 is codenamed dawn-chorus.
- Bump version: 5.2.0b1 → 5.2.0b2.

.. _version-5.2.0b1:

5.2.0b1

=======

:release-date: 2021-08-11 5.42 P.M UTC+3:00
:release-by: Omer Katz

- Add Python 3.10 support (6807).
- Fix docstring for Signal.send to match code (6835).
- No blank line in log output (6838).
- Chords get body_type independently to handle cases where body.type does not exist (6847).
- Fix 6844 by allowing safe queries via app.inspect().active() (6849).
- Fix multithreaded backend usage (6851).
- Fix Open Collective donate button (6848).
- Fix setting worker concurrency option after signal (6853).
- Make ResultSet.on_ready promise hold a weakref to self (6784).
- Update configuration.rst.
- Discard jobs on flush if synack isn't enabled (6863).
- Bump click version to 8.0 (6861).
- Amend IRC network link to Libera (6837).
- Import celery lazily in pytest plugin and unignore flake8 F821, "undefined name '...'" (6872).
- Fix inspect --json output to return valid json without --quiet.
- Remove celery.task references in modules, docs (6869).
-  The Consul backend must correctly associate requests and responses (6823).


Changes
=======

py-amqp is fork of amqplib used by Kombu containing additional features and improvements.
The previous amqplib changelog is here:
http://code.google.com/p/py-amqplib/source/browse/CHANGES


.. _version-5.3.1:

5.1.1

=====
:release-date: 2022-04-17 12:45 P.M. UTC+6:00
:release-by: Asif Saif Uddin

- Use AF_UNSPEC for name resolution (389).


.. _version-5.1.0:

5.1.0

=====
:release-date: 2023-11-05 2:45 P.M UTC+6:00
:release-by: ASIF SAIF UDDIN

- Dropped Python 3.6 support.
- Added new Python versions support.
- Dropped old dependencies.
- Added new GHA based CI.
- Added slots support and impproved dynamic assignment.


Contributed by **Asif Saif Uddin**


.. _version-5.0.0:

5.1.0b1

=======
:release-date: 2021-04-01 10:30 P.M UTC+6:00
:release-by: Asiff Saif Uddin

- Wheels are no longer universal.
- Revert "Added redis transport key_prefix from envvars".
- Redis Transport: Small improvements of `SentinelChannel` (1253).
- Fix pidbox not using default channels.
- Revert "on worker restart - restore visible regardless to time (905)".
- Add vine to dependencies.
- Pin urllib3<1.26 to fix failing unittests.
- Add timeout to producer publish (1269).
- Remove python2 compatibility code (1277).
- redis: Support Sentinel with SSL.
- Support for Azure Service Bus 7.0.0 (1284).
- Allow specifying session token (1283).
- kombu/asynchronous/http/curl: implement _set_timeout.
- Disable namedtuple to object feature in simplejson (1297).
- Update to tox docker 2.0.
- SQS back-off policy (1301).
- Fixed SQS unittests.
- Fix: non kombu json message decoding in SQS transport (1306).
- Add Github Actions CI (1309).
- Update default pickle protocol version to 4 (1314).
- Update connection.py (1311).
- Drop support for the lzma backport.
- Drop obsolete code importing pickle (1315).
- Update default login method for librabbitmq and pyamqp (936).
- SQS Broker - handle STS authentication with AWS (1322).
- Min py-amqp version is v5.0.6 (1325).
- Numerous docs & example fixes.
- Use a thread-safe implementation of cached_property (1316).


.. _version-5.0.2:

5.0.9

=====
:release-date: 2021-12-20 11:00 A.M. UTC+6:00
:release-by: Asif Saif Uddin

- Append to _used_channel_ids in _used_channel_ids


.. _version-5.0.8:

5.0.8

=====
:release-date: 2021-12-19 11:15 A.M. UTC+6:00
:release-by: Asif Saif Uddin

- Reduce memory usage of Connection (377)
- Add additional error handling around code where an OSError
may be raised on failed connections. Fixes (378)


.. _version-5.0.7:

5.0.7

=====
:release-date: 2021-12-13 15:45 P.M. UTC+6:00
:release-by: Asif Saif Uddin

- Remove dependency to case
- Bugfix: not closing socket after server disconnect


.. _version-5.0.6:

5.0.6

=====
:release-date: 2021-04-01 10:45 A.M. UTC+6:00
:release-by: Asif Saif Uddin

- Change the order in which context.check_hostname and context.verify_mode get set
in SSLTransport._wrap_socket_sni. Fixes bug introduced in 5.0.3 where setting
context.verify_mode = ssl.CERT_NONE would raise
"ValueError: Cannot set verify_mode to CERT_NONE when check_hostname is enabled."
Setting context.check_hostname prior to setting context.verify_mode resolves the
issue.
- Remove TCP_USER_TIMEOUT option for Solaris (355)
- Pass long_description to setup() (353)
- Fix for tox-docker 2.0
- Moved to GitHub actions CI (359)

.. _version-5.0.5:

5.0.5

=====
:release-date: 2021-01-28 4:30 P.M UTC+6:00
:release-by: Asif Saif Uddin

-  Removed mistakenly introduced code which was causing import errors



.. _version-5.0.4:

5.0.4

=====
:release-date: 2021-01-28 2:30 P.M UTC+6:00
:release-by: Asif Saif Uddin

-  Add missing load_default_certs() call to fix a regression in v5.0.3 release. (350)


.. _version-5.0.3:

5.0.3

=====
:release-date: 2021-01-19 9:00 P.M UTC+6:00
:release-by: Asif Saif Uddin

- Change the default value of ssl_version to None. When not set, the
proper value between ssl.PROTOCOL_TLS_CLIENT and ssl.PROTOCOL_TLS_SERVER
will be selected based on the param server_side in order to create
a TLS Context object with better defaults that fit the desired
connection side.

- Change the default value of cert_reqs to None. The default value
of ctx.verify_mode is ssl.CERT_NONE, but when ssl.PROTOCOL_TLS_CLIENT
is used, ctx.verify_mode defaults to ssl.CERT_REQUIRED.

- Fix context.check_hostname logic. Checking the hostname depends on
having support of the SNI TLS extension and being provided with a
server_hostname value. Another important thing to mention is that
enabling hostname checking automatically sets verify_mode from
ssl.CERT_NONE to ssl.CERT_REQUIRED in the stdlib ssl and it cannot
be set back to ssl.CERT_NONE as long as hostname checking is enabled.

- Refactor the SNI tests to test one thing at a time and removing some
tests that were being repeated over and over.



.. _version-5.0.2:

5.0.2

=====
:release-date: 2020-09-06 6:30 P.M UTC+3:00
:release-by: Omer Katz

- Bump required amqp version to 5.0.0.

.. _version-5.0.1:

5.0.1

=====
:release-date: 2020-08-23 19:10 P.M UTC+3:00
:release-by: Omer Katz

- Removed kombu.five from the reference documentation since it no longer exists
- Adjusted the stable documentation's version in Sphinx's configuration since that was overlooked in the latest release

.. _version-5.0.0:

5.0.0

=====
:release-date: 2020-09-06 6:10 P.M UTC+3:00
:release-by: Omer Katz

- Dropped Python 3.5 support.

Contributed by **Omer Katz**

.. _version-5.0.0a1:

5.0.0b1

=======
:release-date: 2020-09-01 6:20 P.M UTC+3:00
:release-by: Omer Katz

- Dropped Python 3.5 support.

Contributed by **Omer Katz**

- Removed additional compatibility code.

Contributed by **Omer Katz**

.. _version-5.0.0a1:

5.0.0a1

=======
:release-date: 2019-04-01 4:30 P.M UTC+3:00
:release-by: Omer Katz

- Dropped Python 2.x support.

Contributed by **Omer Katz**

- Dropped Python 3.4 support.

Contributed by **Omer Katz**

- Removed the :mod:`vine.five` module.

Contributed by **Omer Katz**

- Removed the :mod:`vine.backports.weakref_backports` module.

Contributed by **Omer Katz**

.. _version-1.3.0:

4.6.11

=======
:release-date: 2020-06-24 1.15 P.M UTC+6:00
:release-by: Asif Saif Uddin

- Revert incompatible changes in 1193 and additional improvements (1211)
- Default_channel should reconnect automatically (1209)


.. _version-4.6.10:

4.6.10

======
:release-date: 2020-06-03 10.45 A.M UTC+6:00
:release-by: Asif Saif Uddin

- Doc improvement.
- set _connection in _ensure_connection (1205)
- Fix for the issue 1172
- reuse connection [bug fix]


.. _version-4.6.9:

4.6.9

=====
:release-date: 2020-06-01 14.00 P.M UTC+6:00
:release-by: Asif Saif Uddin

- Prevent failure if AWS creds are not explicitly defined on predefined.
- Raise RecoverableConnectionError in maybe_declare with retry on and.
- Fix for the issue 1172 .
- possible fix for 1174 .
- Fix: make SQLAlchemy Channel init thread-safe
- Added integration testing infrastructure for RabbitMQ
- Initial redis integration tests implementation
- SQLAlchemy transport: Use Query.with_for_update() instead of deprecated
- Fix Consumer Encoding
- Added Integration tests for direct, topic and fanout exchange types
- Added TTL integration tests
- Added integration tests for priority queues
- fix 100% cpu usage on linux while using sqs
- Modified Mutex to use redis LuaLock implementation
- Fix: eliminate remaining race conditions from SQLAlchemy Channel
- Fix connection imaybe_declare (1196)
- Fix for issue 1198: Celery crashes in cases where there aren’t enough
- Ensure connection when connecting to broker
- update pyamqp to 2.6 with optional cythonization

.. _version-4.6.8:

4.6.8

=====
:release-date: 2020-03-29 20:45 A.M UTC+6:00
:release-by: Asif Saif Uddin

- Added support for health_check_interval option in broker_transport_options (1145)
- Added retry_on_timeout parameter to Redis Channel (1150)
- Added support for standard values for ssl_cert_reqs query parameter for Redis (1139)
- Added predefined_queues option to SQS transport (1156)
- Added ssl certificate verification against ca certificates when amqps is used for pyamqp transport (1151)
- Fix issue (701) where kombu.transport.redis.Mutex is broken in python 3 (1141)
- Fix brop error in Redis Channel (1144)

.. _version-4.6.7:

4.6.7

=====
:release-date: 2019-12-07 20:45 A.M UTC+6:00
:release-by: Asif Saif Uddin

- Use importlib.metadata from the standard library on Python 3.8+ (1086).
- Add peek lock settings to be changed using transport options (1119).
- Fix redis health checks (1122).
- Reset ready before execute callback (1126).
- Add missing parameter queue_args in kombu.connection.SimpleBuffer (1128)

.. _version-4.6.6:

4.6.6

=====
:release-date: 2019-11-11 00:15 A.M UTC+6:00
:release-by: Asif Saif Uddin

- Revert _lookup_direct and related changes of redis.
- Python 3.8 support
- Fix 'NoneType' object has no attribute 'can_read' bug of redis transport
- Issue 1019 Fix redis transport socket timeout
- Add wait timeout settings to receive queue message (1110)
- Bump py-amqp to 2.5.2

.. _version-4.6.5:

4.6.5

=====
:release-date: 2019-09-30 19:30 P.M UTC+6:00
:release-by: Asif Saif Uddin

- Revert _lookup api and correct redis implemetnation.
- Major overhaul of redis test cases by adding more full featured fakeredis module.
- Add more test cases to boost coverage of kombu redis transport.
- Refactor the producer consumer test cases to be based on original mocks and be passing
- Fix lingering line length issue in test.
- Sanitise url when include_password is false
- Pinned pycurl to 7.43.0.2 as it is the latest build with wheels provided
- Bump py-amqp to 2.5.2


.. _version-4.6.4:

4.6.4

=====
:release-date: 2019-08-14 22:45 P.M UTC+6:00
:release-by: Asif Saif Uddin

- Use importlib-metadata instead of pkg_resources for better performance
- Allow users to switch URLs while omitting the resource identifier (1032)
- Don't stop receiving tasks on 503 SQS error. (1064)
- Fix maybe declare (1066)
- Revert "Revert "Use SIMEMBERS instead of SMEMBERS to check for queue (Redis Broker)
- Fix MongoDB backend to work properly with TTL (1076)
- Make sure that max_retries=0 is treated differently than None (1080)
- Bump py-amqp to 2.5.1


.. _version-4.6.3:

4.6.3

=====
:release-date: 2019-06-15 12:45 A.M UTC+6:0

@pyup-bot pyup-bot mentioned this pull request Apr 8, 2025
@pyup-bot
Copy link
Collaborator Author

Closing this in favor of #1182

@pyup-bot pyup-bot closed this Apr 25, 2025
@hpfn hpfn deleted the pyup-update-celery-4.2.1-to-5.5.1 branch April 25, 2025 22:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant