What's Changed
- BLM-2: Adding unit tests to chord clone by @Nusnus in #7668
- Fix unknown task error typo by @dcecile in #7675
- rename redis integration test class so that tests are executed by @wochinge in #7684
- Check certificate/private key type when loading them by @qrmt in #7680
- Added integration test_chord_header_id_duplicated_on_rabbitmq_msg_duplication() by @Nusnus in #7692
- New feature flag: allow_error_cb_on_chord_header - allowing setting an error callback on chord header by @Nusnus in #7712
- Update README.rst sorting Python/Celery versions by @andrebr in #7714
- Fixed a bug where stamping a chord body would not use the correct stamping method by @Nusnus in #7722
- Fixed doc duplication typo for Signature.stamp() by @Nusnus in #7725
- Fix issue 7726: variable used in finally block may not be instantiated by @woutdenolf in #7727
- Fixed bug in chord stamping with another chord as a body + unit test by @Nusnus in #7730
- Use "describe_table" not "create_table" to check for existence of DynamoDB table by @maxfirman in #7734
- Enhancements for task_allow_error_cb_on_chord_header tests and docs by @Nusnus in #7744
- Improved custom stamping visitor documentation by @Nusnus in #7745
- Improved the coverage of test_chord_stamping_body_chord() by @Nusnus in #7748
- billiard >= 3.6.3.0,<5.0 for rpm by @auvipy in #7764
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #7625
- Fixed memory leak with ETA tasks at connection error when worker_cancel_long_running_tasks_on_connection_loss is enabled by @Nusnus in #7771
- Fixed bug where a chord with header of type
tuple
was not supported in the link_error flow for task_allow_error_cb_on_chord_header flag by @Nusnus in #7772 - Scheduled weekly dependency update for week 38 by @pyup-bot in #7767
- recreate_module: set spec to the new module by @skshetry in #7773
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #7775
- Override integration test config using integration-tests-config.json by @thedrow in #7778
- Fixed error handling bugs due to upgrade to a newer version of billiard by @Nusnus in #7781
- Do not recommend using easy_install anymore by @jugmac00 in #7789
- GitHub Workflows security hardening by @sashashura in #7768
- Update ambiguous acks_late doc by @Zhong-z in #7728
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #7799
- billiard >=4.0.2,<5.0 by @auvipy in #7720
- importlib_metadata remove deprecated entry point interfaces by @woutdenolf in #7785
- Scheduled weekly dependency update for week 41 by @pyup-bot in #7798
- pyzmq>=22.3.0 by @auvipy in #7497
- Remove
amqp
from theBACKEND_ALISES
list by @Kludex in #7805 - Replace
print
bylogger.debug
by @Kludex in #7809 - Ignore coverage on
except ImportError
by @Kludex in #7812 - Add mongodb dependencies to test.txt by @Kludex in #7810
- Fix grammar typos on the whole project by @Kludex in #7815
- Remove
isatty
wrapper function by @Kludex in #7814 - Remove unused variable
_range
by @Kludex in #7813 - Add type annotation on
concurrency/threads.py
by @Kludex in #7808 - Fix linter workflow by @Kludex in #7816
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #7822
- Scheduled weekly dependency update for week 42 by @pyup-bot in #7821
- Remove
.cookiecutterrc
by @Kludex in #7830 - Remove
.coveragerc
file by @Kludex in #7826 - kombu>=5.3.0b2 by @auvipy in #7834
- Fix readthedocs build failure by @woutdenolf in #7835
- Fixed bug in group, chord, chain stamp() method, where the visitor overrides the previously stamps in tasks of these objects by @Nusnus in #7825
- Stabilized test_mutable_errback_called_by_chord_from_group_fail_multiple by @Nusnus in #7837
- Use SPDX license expression in project metadata by @RazerM in #7845
- New control command
revoke_by_stamped_headers
by @Nusnus in #7838 - Clarify wording in Redis priority docs by @strugee in #7853
- Fix non working example of using celery_worker pytest fixture by @paradox-lab in #7857
- Removed the mandatory requirement to include
stamped_headers
key when implementingon_signature()
by @Nusnus in #7856 - Update serializer docs by @sondrelg in #7858
- Remove reference to old Python version by @Kludex in #7829
- Added on_replace() to Task to allow manipulating the replaced sig with custom changes at the end of the task.replace() by @Nusnus in #7860
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #7869
- Add clarifying information to completed_count documentation by @hankehly in #7873
- Stabilized
test_revoked_by_headers_complex_canvas
by @Nusnus in #7877 - StampingVisitor will visit the callbacks and errbacks of the signature by @Nusnus in #7867
- Fix "rm: no operand" error in clean-pyc script by @hankehly in #7878
- Add --skip-checks flag to bypass django core checks by @mudetz in #7859
- Scheduled weekly dependency update for week 44 by @pyup-bot in #7868
- Added two new unit tests to callback stamping by @Nusnus in #7882
- Sphinx extension: use inspect.signature to make it Python 3.11 compatible by @mathiasertl in #7879
- cryptography==38.0.3 by @auvipy in #7886
- Canvas.py doc enhancement by @Nusnus in #7889
- Fix typo by @sondrelg in #7890
- fix typos in optional tests by @hsk17 in #7876
- Canvas.py doc enhancement by @Nusnus in #7891
- Fix revoke by headers tests stability by @Nusnus in #7892
- feat: add global keyprefix for backend result keys by @kaustavb12 in #7620
- Canvas.py doc enhancement by @Nusnus in #7897
- fix(sec): upgrade sqlalchemy to 1.2.18 by @chncaption in #7899
- Canvas.py doc enhancement by @Nusnus in #7902
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #7904
- Fix test warnings by @ShaheedHaque in #7906
- Support for out-of-tree worker pool implementations by @ShaheedHaque in #7880
- Canvas.py doc enhancement by @Nusnus in #7907
- Use bound task in base task example. Closes #7909 by @WilliamDEdwards in #7910
- Allow the stamping visitor itself to set the stamp value type instead of casting it to a list by @Nusnus in #7914
- Stamping a task left the task properties dirty by @Nusnus in #7916
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #7917
- Fixed bug when chaining a chord with a group by @Nusnus in #7919
- Fixed bug in the stamping visitor mechanism where the request was lacking the stamps in the 'stamps' property by @Nusnus in #7928
- Fixed bug in task_accepted() where the request was not added to the
requests
but only to theactive_requests
by @Nusnus in #7929 - Fix bug in TraceInfo._log_error() where the real exception obj was hiding behind 'ExceptionWithTraceback' by @Nusnus in #7930
- Added integration test: test_all_tasks_of_canvas_are_stamped() by @Nusnus in #7931
- Added new example for the stamping mechanism: examples/stamping by @Nusnus in #7933
- Fixed a bug where replacing a stamped task and stamping it again by @Nusnus in #7934
- Bugfix for nested group stamping on task replace by @Nusnus in #7935
- Added integration test test_stamping_example_canvas() by @Nusnus in #7937
- Fixed a bug in losing chain links when unchaining an inner chain with links by @Nusnus in #7938
- Removing as not mandatory by @auvipy in #7885
- Housekeeping for Canvas.py by @Nusnus in #7942
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #7927
- Scheduled weekly dependency update for week 50 by @pyup-bot in #7954
- try pypy 3.9 in CI by @auvipy in #7956
- sqlalchemy==1.4.45 by @auvipy in #7943
- billiard>=4.1.0,<5.0 by @auvipy in #7957
- feat(typecheck): allow changing type check behavior on the app level; by @moaddib666 in #7952
- Add broker_channel_error_retry option by @nkns165 in #7951
- Add beat_cron_starting_deadline_seconds to prevent unwanted cron runs by @abs25 in #7945
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #7966
- Scheduled weekly dependency update for week 51 by @pyup-bot in #7965
- Added doc to "retry_errors" newly supported field of "publish_retry_policy" of the task namespace by @Nusnus in #7967
- Renamed from master to main in the docs and the CI workflows by @Nusnus in #7968
- Fix docs for the exchange to use with worker_direct by @alessio-b2c2 in #7973
- Pin redis==4.3.4 by @auvipy in #7974
- return list of nodes to make sphinx extension compatible with Sphinx 6.0 by @mathiasertl in #7978
- use version range redis>=4.2.2,<4.4.0 by @auvipy in #7980
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #7982
- Scheduled weekly dependency update for week 01 by @pyup-bot in #7987
- Add annotations to minimise differences with celery-aio-pool's tracer.py. by @ShaheedHaque in #7925
- Fixed bug where linking a stamped task did not add the stamp to the link's options by @Nusnus in #7992
- sqlalchemy==1.4.46 by @auvipy in #7995
- pytz by @auvipy in #8002
- Fix few typos, provide configuration + workflow for codespell to catch any new by @yarikoptic in #8023
- RabbitMQ links update by @arnisjuraga in #8031
- Ignore files generated by tests by @Kludex in #7846
- Revert "sqlalchemy==1.4.46 (#7995)" by @Nusnus in #8033
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #8039
- Fixed bug with replacing a stamped task with a chain or a group (inc. links/errlinks) by @Nusnus in #8034
- Fixed formatting in setup.cfg that caused flake8 to misbehave by @Nusnus in #8044
- Removed duplicated import Iterable by @Nusnus in #8046
- Fix docs by @Nusnus in #8047
- Document --logfile default by @strugee in #8057
- Stamping Mechanism Refactoring by @Nusnus in #8045
- result_backend_thread_safe config shares backend across threads by @CharlieTruong in #8058
- Fix cronjob that use day of month and negative UTC timezone by @pkyosx in #8053
- Stamping Mechanism Examples Refactoring by @Nusnus in #8060
- Fixed bug in Task.on_stamp_replaced() by @Nusnus in #8061
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #8065
- Stamping Mechanism Refactoring 2 by @Nusnus in #8064
- Changed default append_stamps from True to False (meaning duplicates … by @Nusnus in #8068
- typo in comment: mailicious => malicious by @yanick in #8072
- Fix command for starting flower with specified broker URL by @ShukantPal in #8071
- Improve documentation on ETA/countdown tasks (#8069) by @norbertcyran in #8075
New Contributors
- @Nusnus made their first contribution in #7668
- @dcecile made their first contribution in #7675
- @wochinge made their first contribution in #7684
- @qrmt made their first contribution in #7680
- @andrebr made their first contribution in #7714
- @woutdenolf made their first contribution in #7727
- @maxfirman made their first contribution in #7734
- @skshetry made their first contribution in #7773
- @jugmac00 made their first contribution in #7789
- @sashashura made their first contribution in #7768
- @Zhong-z made their first contribution in #7728
- @strugee made their first contribution in #7853
- @paradox-lab made their first contribution in #7857
- @sondrelg made their first contribution in #7858
- @hankehly made their first contribution in #7873
- @mudetz made their first contribution in #7859
- @mathiasertl made their first contribution in #7879
- @hsk17 made their first contribution in #7876
- @kaustavb12 made their first contribution in #7620
- @chncaption made their first contribution in #7899
- @WilliamDEdwards made their first contribution in #7910
- @moaddib666 made their first contribution in #7952
- @nkns165 made their first contribution in #7951
- @abs25 made their first contribution in #7945
- @alessio-b2c2 made their first contribution in #7973
- @yarikoptic made their first contribution in #8023
- @arnisjuraga made their first contribution in #8031
- @CharlieTruong made their first contribution in #8058
- @pkyosx made their first contribution in #8053
- @yanick made their first contribution in #8072
- @ShukantPal made their first contribution in #8071
- @norbertcyran made their first contribution in #8075
Full Changelog: v5.3.0b1...v5.3.0b2