123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350 |
- .. _changelog:
- ================
- Change history
- ================
- This document contains change notes for bugfix releases in
- the 4.x series, please see :ref:`whatsnew-4.2` for
- an overview of what's new in Celery 4.2.
- 4.2.0
- =====
- - **Development/Testing**: Add docker-compose and base Dockerfile for development (#4482)
- Contributed by **Chris Mitchell**.
- - **Documentation/Sphinx**: Teach autodoc to document tasks if undoc-members is not set (#4588)
- Contributed by **Leo Singer**.
- - **Documentation/Sphinx**: Put back undoc-members option in sphinx test (#4586)
- Contributed by **Leo Singer**.
- - **Documentation/Sphinx**: Sphinx autodoc picks up tasks automatically only if `undoc-members` is set (#4584)
- Contributed by **Leo Singer**.
- - **Task**: Fix shadow_name issue when using previous version Task class (#4572)
- Contributed by :github_user:`pachewise`.
- - **Task**: Add support for bound tasks as `link_error` parameter (Fixes #3723) (#4545)
- Contributed by :github_user:`brabiega`.
- - **Deployment**: Add a command line option for setting the Result Backend URL (#4549)
- Contributed by :github_user:`y0ngdi`.
- - **CI**: Enable pip cache in appveyor build (#4546)
- Contributed by **Thijs Triemstra**.
- - **Concurrency/Asynpool**: Fix errno property name shadowing.
- Contributed by **Omer Katz**.
- - **DynamoDB Backend**: Configurable endpoint URL (#4532)
- Contributed by **Bohdan Rybak**.
- - **Timezones**: Correctly detect UTC timezone and timezone from settings (Fixes #4517) (#4519)
- Contributed by :github_user:`last-partizan`.
- - **Control**: Cleanup the mailbox's producer pool after forking (
- Contributed by **Nick Eaket**.
- - **Documentation**: Start Celery and Celery Beat on Azure WebJob (
- Contributed by **PauloPeres**.
- - **Celery Beat**: Schedule due tasks on startup, after Beat restart has occurred (
- Contributed by **Igor Kasianov**.
- - **Worker**: Use absolute time when task is accepted by worker pool (
- Contributed by **Régis Behmo**.
- - **Canvas**: Propagate arguments to chains inside groups (
- Contributed by **Chris Mitchell**.
- - **Canvas**: Fix `Task.replace` behavior in nested chords (fixes
- Contributed by **Denis Shirokov** & **Alex Hill**.
- - **Installation**: Pass python_requires argument to setuptools (
- Contributed by **Jon Dufresne**.
- - **Message Protocol Compatibility**: Handle "hybrid" messages that have moved between Celery versions (
- Contributed by **Russell Keith-Magee**.
- - **Canvas**: request on_timeout now ignores soft time limit exception (fixes
- Contributed by **Alex Garel**.
- - **Redis Result Backend**: Integration test to verify PubSub unsubscriptions (
- Contributed by **George Psarakis**.
- - **Message Protocol Properties**: Allow the shadow keyword argument and the shadow_name method to set shadow properly (
- Contributed by :github_user:`hclihn`.
- - **Canvas**: Run chord_unlock on same queue as chord body (
- Contributed by **Alex Hill**.
- - **Canvas**: Support chords with empty header group (
- Contributed by **Alex Hill**.
- - **Timezones**: make astimezone call in localize more safe (
- Contributed by **Matt Davis**.
- - **Canvas**: Fix length-1 and nested chords (
- Contributed by **Alex Hill**.
- - **CI**: Run `Openstack Bandit <https://pypi.org/project/bandit/1.0.1/>`_ in Travis CI in order to detect security issues.
- Contributed by **Omer Katz**.
- - **CI**: Run `isort <https://github.com/timothycrosley/isort>`_ in Travis CI in order to lint Python **import** statements.
- Contributed by **Omer Katz**.
- - **Canvas**: Resolve TypeError on `.get` from nested groups (
- Contributed by **Misha Wolfson**.
- - **CouchDB Backend**: Correct CouchDB key string type for Python 2/3 compatibility (
- Contributed by :github_user:`fmind` && **Omer Katz**.
- - **Group Result**: Fix current_app fallback in GroupResult.restore() (
- Contributed by **Alex Hill**.
- - **Consul Backend**: Correct key string type for Python 2/3 compatibility (
- Contributed by **Wido den Hollander**.
- - **Group Result**: Correctly restore an empty GroupResult (
- Contributed by **Alex Hill** & **Omer Katz**.
- - **Result**: Disable synchronous waiting for sub-tasks on eager mode(
- Contributed by **Denis Podlesniy**.
- - **Celery Beat**: Detect timezone or Daylight Saving Time changes (
- Contributed by **Vincent Barbaresi**.
- - **Canvas**: Fix append to an empty chain. Fixes
- Contributed by **Omer Katz**.
- - **Task**: Allow shadow to override task name in trace and logging messages. (
- Contributed by :github_user:`hclihn`.
- - **Documentation/Sphinx**: Fix getfullargspec Python 2.x compatibility in contrib/sphinx.py (
- Contributed by **Javier Martin Montull**.
- - **Documentation**: Updated installation instructions for SQS broker (
- Contributed by **Sergio Fernandez**.
- - **Celery Beat**: Better equality comparison for ScheduleEntry instances (
- Contributed by :github_user:`mariia-zelenova`.
- - **Task**: Adding 'shadow' property to as_task_v2 (
- Contributed by **Marcelo Da Cruz Pinto**.
- - Try to import directly, do not use deprecated imp method (
- Contributed by **Tobias Kunze**.
- - **Task**: Enable `kwargsrepr` and `argsrepr` override for modifying task argument representation (
- Contributed by **James M. Allen**.
- - **Result Backend**: Add Redis Sentinel backend (
- Contributed by **Geoffrey Bauduin**.
- - Use unique time values for Collections/LimitedSet (
- Contributed by :github_user:`lead2gold`.
- - **CI**: Report coverage for all result backends.
- Contributed by **Omer Katz**.
- - **Django**: Use Django DB max age connection setting (fixes
- Contributed by **Marco Schweighauser**.
- - **Canvas**: Properly take into account chain tasks link_error (
- Contributed by :github_user:`agladkov`.
- - **Canvas**: Allow to create group with single task (fixes issue
- Contributed by :github_user:`agladkov`.
- - **Canvas**: Copy dictionary parameter in chord.from_dict before modifying (fixes issue
- Contributed by :github_user:`agladkov`.
- - **Results Backend**: Add Cassandra options (
- Contributed by **Scott Cooper**.
- - **Worker**: Apply rate limiting for tasks with ETA (
- Contributed by :github_user:`arpanshah29`.
- - **Celery Beat**: support scheduler entries without a schedule (
- Contributed by **Markus Kaiserswerth**.
- - **SQS Broker**: Updated SQS requirements file with correct boto3 version (
- Contributed by **Alejandro Varas**.
- - Remove unused code from _create_app contextmanager (
- Contributed by **Ryan P Kilby**.
- - **Group Result**: Modify GroupResult.as_tuple() to include parent (fixes
- Contributed by :github_user:`pachewise`.
- - **Beat**: Set default scheduler class in beat command. (
- Contributed by :github_user:`Kxrr`.
- - **Worker**: Retry signal receiver after raised exception (
- Contributed by **David Davis**.
- - **Task**: Allow custom Request class for tasks (
- Contributed by **Manuel Vázquez Acosta**.
- - **Django**: Django fixup should close all cache backends (
- Contributed by **Raphaël Riel**.
- - **Deployment**: Adds stopasgroup to the supervisor scripts (
- Contributed by :github_user:`martialp`.
- - Using Exception.args to serialize/deserialize exceptions (
- Contributed by **Alexander Ovechkin**.
- - **Timezones**: Correct calculation of application current time with timezone (
- Contributed by **George Psarakis**.
- - **Remote Debugger**: Set the SO_REUSEADDR option on the socket (
- Contributed by **Theodore Dubois**.
- - **Django**: Celery ignores exceptions raised during `django.setup()` (
- Contributed by **Kevin Gu**.
- - Use heartbeat setting from application configuration for Broker connection (
- Contributed by :github_user:`mperice`.
- - **Celery Beat**: Fixed exception caused by next_transit receiving an unexpected argument. (
- Contributed by **DDevine**.
- - **Task** Introduce exponential backoff with Task auto-retry (
- Contributed by **David Baumgold**.
- - **AsyncResult**: Remove weak-references to bound methods in AsyncResult promises. (
- Contributed by **Vinod Chandru**.
- - **Development/Testing**: Allow eager application of canvas structures (
- Contributed by **Nicholas Pilon**.
- - **Command Line**: Flush stderr before exiting with error code 1.
- Contributed by **Antonin Delpeuch**.
- - **Task**: Escapes single quotes in kwargsrepr strings.
- Contributed by **Kareem Zidane**
- - **AsyncResult**: Restore ability to join over ResultSet after fixing celery/
- Contributed by **Derek Harland**
- - **Redis Results Backend**: Unsubscribe on message success.
- Previously Celery would leak channels, filling the memory of the Redis instance.
- Contributed by **George Psarakis**
- - **Task**: Only convert eta to isoformat when it is not already a string.
- Contributed by **Omer Katz**
- Documentation, CI, Installation and Tests fixes:
- - **Sammie S. Taunton**
- - **Dan Wilson**
- - :github_user:`pachewise`
- - **Sergi Almacellas Abellana**
- - **Omer Katz**
- - **Alex Zaitsev**
- - **Leo Singer**
- - **Rachel Johnson**
- - **Jon Dufresne**
- - **Samuel Dion-Girardeau**
- - **Ryan Guest**
- - **Huang Huang**
- - **Geoffrey Bauduin**
- - **Andrew Wong**
- - **Mads Jensen**
- - **Jackie Leng**
- - **Harry Moreno**
- - :github_user:`michael-k`
- - **Nicolas Mota**
- - **Armenak Baburyan**
- - **Patrick Zhang**
- - :github_user:`anentropic`
- - :github_user:`jairojair`
- - **Ben Welsh**
- - **Michael Peake**
- - **Fengyuan Chen**
- - :github_user:`arpanshah29`
- - **Xavier Hardy**
- - **Shitikanth**
- - **Igor Kasianov**
- - **John Arnold**
- - :github_user:`dmollerm`
|