Changelog 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. .. _changelog:
  2. ================
  3. Change history
  4. ================
  5. This document contains change notes for bugfix releases in
  6. the 4.0.x series (latentcall), please see :ref:`whatsnew-4.0` for
  7. an overview of what's new in Celery 4.0.
  8. .. _version-4.0.1:
  9. 4.0.1
  10. =====
  11. :release-date: TBA
  12. :release-by: Ask Solem
  13. - **Tasks**: Added new method to register class-based tasks (Issue #3615).
  14. To register a class based task you should now call ``app.register_task``:
  15. .. code-block:: python
  16. from celery import Celery, Task
  17. app = Celery()
  18. class CustomTask(Task):
  19. def run(self):
  20. return 'hello'
  21. app.register_task(CustomTask())
  22. - **Tasks**: The ``task-sent`` event was not being sent even if
  23. configured to do so (Issue #3646).
  24. - **Worker**: Fixed AMQP heartbeat support for eventlet/gevent pools
  25. (Issue #3649).
  26. - **App**: ``app.conf.humanize()`` would not work if configuration
  27. not finalized (Issue #3652).
  28. - **Utils**: ``saferepr`` attempted to show iterables as lists
  29. and mappings as dicts.
  30. - **Utils**: ``saferepr`` did not handle unicode-errors
  31. when attempting to format ``bytes`` on Python 3 (Issue #3610).
  32. - **Utils**: ``saferepr`` should now properly represent byte strings
  33. with non-ascii characters (Issue #3600).
  34. - **Results**: Fixed bug in elasticsearch where _index method missed
  35. the body argument (Issue #3606).
  36. Fix contributed by **何翔宇** (Sean Ho).
  37. - **Canvas**: Fixed :exc:`ValueError` in chord with single task header
  38. (Issue #3608).
  39. Fix contributed by **Viktor Holmqvist**.
  40. - **Task**: Ensure class-based task has name prior to registration
  41. (Issue #3616).
  42. Fix contributed by **Rick Wargo**.
  43. - **Beat**: Fixed problem with strings in shelve (Issue #3644).
  44. Fix contributed by **Alli**.
  45. - **Worker**: Fixed :exc:`KeyError` in ``inspect stats`` when ``-O`` argument
  46. set to something other than ``fast`` or ``fair`` (Issue #3621).
  47. - **Task**: Retried tasks were no longer sent to the original queue
  48. (Issue #3622).
  49. - **Worker**: Python 3: Fixed None/int type comparison in
  50. :file:`apps/worker.py` (Issue #3631).
  51. - **Results**: Redis has a new :setting:`redis_socket_connect_timeout`
  52. setting.
  53. - **Results**: Redis result backend passed the ``socket_connect_timeout``
  54. argument to UNIX socket based connections by mistake, causing a crash.
  55. - **Worker**: Fixed missing logo in worker splash screen when running on
  56. Python 3.x (Issue #3627).
  57. Fix contributed by **Brian Luan**.
  58. - **Deps**: Fixed ``celery[redis]`` bundle installation (Issue #3643).
  59. Fix contributed by **Rémi Marenco**.
  60. - **Deps**: Bundle ``celery[sqs]`` now also requires :pypi:`pycurl`
  61. (Issue #3619).
  62. - **Worker**: Hard time limits were no longer being respected (Issue #3618).
  63. - **Worker**: Soft time limit log showed ``Trues`` instead of the number
  64. of seconds.
  65. - **App**: ``registry_cls`` argument no longer had any effect (Issue #3613).
  66. - **Worker**: Event producer now uses ``connection_for_Write`` (Issue #3525).
  67. - **Results**: Redis/memcache backends now uses :setting:`result_expires`
  68. to expire chord counter (Issue #3573).
  69. Contributed by **Tayfun Sen**.
  70. - **Django**: Fixed command for upgrading settings with Django (Issue #3563).
  71. Fix contributed by **François Voron**.
  72. - **Testing**: Added a ``celery_parameters`` test fixture to be able to use
  73. customized ``Celery`` init parameters. (#3626)
  74. Contributed by **Steffen Allner**.
  75. - Documentation improvements contributed by
  76. - :github_user:`csfeathers`
  77. - **Moussa Taifi**
  78. - **Yuhannaa**
  79. - **Laurent Peuch**
  80. - **Christian**
  81. - **Bruno Alla**
  82. - **Steven Johns**
  83. - :github_user:`tnir`
  84. - **GDR!**
  85. .. _version-4.0.0:
  86. 4.0.0
  87. =====
  88. :release-date: 2016-11-04 02:00 P.M PDT
  89. :release-by: Ask Solem
  90. See :ref:`whatsnew-4.0` (in :file:`docs/whatsnew-4.0.rst`).
  91. .. _version-4.0.0rc7:
  92. 4.0.0rc7
  93. ========
  94. :release-date: 2016-11-02 01:30 P.M PDT
  95. Important notes
  96. ---------------
  97. - Database result backend related setting names changed from
  98. ``sqlalchemy_*`` -> ``database_*``.
  99. The ``sqlalchemy_`` named settings won't work at all in this
  100. version so you need to rename them. This is a last minute change,
  101. and as they were not supported in 3.1 we will not be providing
  102. aliases.
  103. - ``chain(A, B, C)`` now works the same way as ``A | B | C``.
  104. This means calling ``chain()`` might not actually return a chain,
  105. it can return a group or any other type depending on how the
  106. workflow can be optimized.