Changelog 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314
  1. .. _changelog:
  2. ================
  3. Change history
  4. ================
  5. This document contains change notes for bugfix releases in the 3.1.x series
  6. (Cipater), please see :ref:`whatsnew-3.1` for an overview of what's
  7. new in Celery 3.1.
  8. .. _version-3.1.6:
  9. 3.1.6
  10. =====
  11. :release-date: 2013-12-02 6:00 P.M UTC
  12. :release-by: Ask Solem
  13. - Now depends on :mod:`billiard` 3.3.0.10.
  14. - Now depends on :ref:`Kombu 3.0.7 <kombu:version-3.0.7>`.
  15. - Fixed problem where Mingle caused the worker to hang at startup
  16. (Issue #1686).
  17. - Beat: Would attempt to drop privileges twice (Issue #1708).
  18. - Windows: Fixed error with ``geteuid`` not being available (Issue #1676).
  19. - Tasks can now provide a list of expected error classes (Issue #1682).
  20. The list should only include errors that the task is expected to raise
  21. during normal operation::
  22. @task(throws=(KeyError, HttpNotFound))
  23. What happens when an exceptions is raised depends on the type of error:
  24. - Expected errors (included in ``Task.throws``)
  25. Will be logged using severity ``INFO``, and traceback is excluded.
  26. - Unexpected errors
  27. Will be logged using severity ``ERROR``, with traceback included.
  28. - Cache result backend now compatible with Python 3 (Issue #1697).
  29. - CentOS init script: Now compatible with sys-v style init symlinks.
  30. Fix contributed by Jonathan Jordan.
  31. - Events: Fixed problem when task name is not defined (Issue #1710).
  32. Fix contributed by Mher Movsisyan.
  33. - Task: Fixed unbound local errors (Issue #1684).
  34. Fix contributed by Markus Ullmann.
  35. - Canvas: Now unrolls groups with only one task (optimization) (Issue #1656).
  36. - Task: Fixed problem with eta and timezones.
  37. Fix contributed by Alexander Koval.
  38. - Django: Worker now performs model validation (Issue #1681).
  39. - Task decorator now emits less confusing errors when used with
  40. incorrect arguments (Issue #1692).
  41. - Task: New method ``Task.send_event`` can be used to send custom events
  42. to Flower and other monitors.
  43. - Fixed a compatibility issue with non-abstract task classes
  44. - Events from clients now uses new node name format (``gen<pid>@<hostname>``).
  45. - Fixed rare bug with Callable not being defined at interpreter shutdown
  46. (Issue #1678).
  47. Fix contributed by Nick Johnson.
  48. - Fixed Python 2.6 compatibility (Issue #1679).
  49. .. _version-3.1.5:
  50. 3.1.5
  51. =====
  52. :release-date: 2013-11-21 6:20 P.M UTC
  53. :release-by: Ask Solem
  54. - Now depends on :ref:`Kombu 3.0.6 <kombu:version-3.0.6>`.
  55. - Now depends on :mod:`billiard` 3.3.0.8
  56. - App: ``config_from_object`` is now lazy (Issue #1665).
  57. - App: ``autodiscover_tasks`` is now lazy.
  58. Django users should now wrap access to the settings object
  59. in a lambda::
  60. app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
  61. this ensures that the settings object is not prepared
  62. prematurely.
  63. - Fixed regression for ``--app`` argument experienced by
  64. some users (Issue #1653).
  65. - Worker: Now respects the ``--uid`` and ``--gid`` arguments
  66. even if ``--detach`` is not enabled.
  67. - Beat: Now respects the ``--uid`` and ``--gid`` arguments
  68. even if ``--detach`` is not enabled.
  69. - Python 3: Fixed unorderable error occuring with the worker ``-B``
  70. argument enabled.
  71. - ``celery.VERSION`` is now a named tuple.
  72. - ``maybe_signature(list)`` is now applied recursively (Issue #1645).
  73. - ``celery shell`` command: Fixed ``IPython.frontend`` deprecation warning.
  74. - The default app no longer includes the builtin fixups.
  75. This fixes a bug where ``celery multi`` would attempt
  76. to load the Django settings module before entering
  77. the target working directory.
  78. - The Django daemonization tutorial was changed.
  79. Users no longer have to explicitly export ``DJANGO_SETTINGS_MODULE``
  80. in :file:`/etc/default/celeryd` when the new project layout is used.
  81. - Redis result backend: expiry value can now be 0 (Issue #1661).
  82. - Censoring settings now accounts for non-string keys (Issue #1663).
  83. - App: New ``autofinalize`` option.
  84. Apps are automatically finalized when the task registry is accessed.
  85. You can now disable this behavior so that an exception is raised
  86. instead.
  87. Example:
  88. .. code-block:: python
  89. app = Celery(autofinalize=False)
  90. # raises RuntimeError
  91. tasks = app.tasks
  92. @app.task
  93. def add(x, y):
  94. return x + y
  95. # raises RuntimeError
  96. add.delay(2, 2)
  97. app.finalize()
  98. # no longer raises:
  99. tasks = app.tasks
  100. add.delay(2, 2)
  101. - The worker did not send monitoring events during shutdown.
  102. - Worker: Mingle and gossip is now automatically disabled when
  103. used with an unsupported transport (Issue #1664).
  104. - ``celery`` command: Preload options now supports
  105. the rare ``--opt value`` format (Issue #1668).
  106. - ``celery`` command: Accidentally removed options
  107. appearing before the subcommand, these are now moved to the end
  108. instead.
  109. - Worker now properly responds to ``inspect stats`` commands
  110. even if received before startup is complete (Issue #1659).
  111. - :signal:`task_postrun` is now sent within a finally block, to make
  112. sure the signal is always sent.
  113. - Beat: Fixed syntax error in string formatting.
  114. Contributed by nadad.
  115. - Fixed typos in the documentation.
  116. Fixes contributed by Loic Bistuer, sunfinite.
  117. - Nested chains now works properly when constructed using the
  118. ``chain`` type instead of the ``|`` operator (Issue #1656).
  119. .. _version-3.1.4:
  120. 3.1.4
  121. =====
  122. :release-date: 2013-11-15 11:40 P.M UTC
  123. :release-by: Ask Solem
  124. - Now depends on :ref:`Kombu 3.0.5 <kombu:version-3.0.5>`.
  125. - Now depends on :mod:`billiard` 3.3.0.7
  126. - Worker accidentally set a default socket timeout of 5 seconds.
  127. - Django: Fixup now sets the default app so that threads will use
  128. the same app instance (e.g. for manage.py runserver).
  129. - Worker: Fixed Unicode error crash at startup experienced by some users.
  130. - Calling ``.apply_async`` on an empty chain now works again (Issue #1650).
  131. - The ``celery multi show`` command now generates the same arguments
  132. as the start command does.
  133. - The ``--app`` argument could end up using a module object instead
  134. of an app instance (with a resulting crash).
  135. - Fixed a syntax error problem in the celerybeat init script.
  136. Fix contributed by Vsevolod.
  137. - Tests now passing on PyPy 2.1 and 2.2.
  138. .. _version-3.1.3:
  139. 3.1.3
  140. =====
  141. :release-date: 2013-11-13 12:55 A.M UTC
  142. :release-by: Ask Solem
  143. - Fixed compatibility problem with Python 2.7.0 - 2.7.5 (Issue #1637)
  144. ``unpack_from`` started supporting ``memoryview`` arguments
  145. in Python 2.7.6.
  146. - Worker: :option:`-B` argument accidentally closed files used
  147. for logging.
  148. - Task decorated tasks now keep their docstring (Issue #1636)
  149. .. _version-3.1.2:
  150. 3.1.2
  151. =====
  152. :release-date: 2013-11-12 08:00 P.M UTC
  153. :release-by: Ask Solem
  154. - Now depends on :mod:`billiard` 3.3.0.6
  155. - No longer needs the billiard C extension to be installed.
  156. - The worker silently ignored task errors.
  157. - Django: Fixed ``ImproperlyConfigured`` error raised
  158. when no database backend specified.
  159. Fix contributed by j0hnsmith
  160. - Prefork pool: Now using ``_multiprocessing.read`` with ``memoryview``
  161. if available.
  162. - ``close_open_fds`` now uses ``os.closerange`` if available.
  163. - ``get_fdmax`` now takes value from ``sysconfig`` if possible.
  164. .. _version-3.1.1:
  165. 3.1.1
  166. =====
  167. :release-date: 2013-11-11 06:30 P.M UTC
  168. :release-by: Ask Solem
  169. - Now depends on :mod:`billiard` 3.3.0.4.
  170. - Python 3: Fixed compatibility issues.
  171. - Windows: Accidentally showed warning that the billiard C extension
  172. was not installed (Issue #1630).
  173. - Django: Tutorial updated with a solution that sets a default
  174. :envvar:`DJANGO_SETTINGS_MODULE` so that it doesn't have to be typed
  175. in with the :program:`celery` command.
  176. Also fixed typos in the tutorial, and added the settings
  177. required to use the Django database backend.
  178. Thanks to Chris Ward, orarbel.
  179. - Django: Fixed a problem when using the Django settings in Django 1.6.
  180. - Django: Fixup should not be applied if the django loader is active.
  181. - Worker: Fixed attribute error for ``human_write_stats`` when using the
  182. compatibility prefork pool implementation.
  183. - Worker: Fixed compatibility with billiard without C extension.
  184. - Inspect.conf: Now supports a ``with_defaults`` argument.
  185. - Group.restore: The backend argument was not respected.
  186. .. _version-3.1.0:
  187. 3.1.0
  188. =======
  189. :release-date: 2013-11-09 11:00 P.M UTC
  190. :release-by: Ask Solem
  191. See :ref:`whatsnew-3.1`.