changelog-2.5.rst 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. .. _changelog-2.5:
  2. ===============================
  3. Change history for Celery 2.5
  4. ===============================
  5. This document contains change notes for bugfix releases in the 2.5.x series,
  6. please see :ref:`whatsnew-2.5` for an overview of what's
  7. new in Celery 2.5.
  8. If you're looking for versions prior to 2.5 you should visit our
  9. :ref:`history` of releases.
  10. .. contents::
  11. :local:
  12. .. _version-2.5.5:
  13. 2.5.5
  14. =====
  15. :release-date: 2012-06-06 04:00 P.M BST
  16. :release-by: Ask Solem
  17. This is a dummy release performed for the following goals:
  18. - Protect against force upgrading to Kombu 2.2.0
  19. - Version parity with django-celery
  20. .. _version-2.5.3:
  21. 2.5.3
  22. =====
  23. :release-date: 2012-04-16 07:00 P.M BST
  24. :release-by: Ask Solem
  25. * A bug causes messages to be sent with UTC timestamps even though
  26. :setting:`CELERY_ENABLE_UTC` was not enabled (Issue #636).
  27. * celerybeat: No longer crashes if an entry's args is set to None
  28. (Issue #657).
  29. * Autoreload did not work if a module's ``__file__`` attribute
  30. was set to the modules '.pyc' file. (Issue #647).
  31. * Fixes early 2.5 compatibility where __package__ does not exist
  32. (Issue #638).
  33. .. _version-2.5.2:
  34. 2.5.2
  35. =====
  36. :release-date: 2012-04-13 04:30 P.M GMT
  37. :release-by: Ask Solem
  38. .. _v252-news:
  39. News
  40. ----
  41. - Now depends on Kombu 2.1.5.
  42. - Django documentation has been moved to the main Celery docs.
  43. See :ref:`django`.
  44. - New :signal:`celeryd_init` signal can be used to configure workers
  45. by hostname.
  46. - Signal.connect can now be used as a decorator.
  47. Example:
  48. .. code-block:: python
  49. from celery.signals import task_sent
  50. @task_sent.connect
  51. def on_task_sent(**kwargs):
  52. print("sent task: %r" % (kwargs,))
  53. - Invalid task messages are now rejected instead of acked.
  54. This means that they will be moved to the dead-letter queue
  55. introduced in the latest RabbitMQ version (but must be enabled
  56. manually, consult the RabbitMQ documentation).
  57. - Internal logging calls has been cleaned up to work
  58. better with tools like Sentry.
  59. Contributed by David Cramer.
  60. - New method ``subtask.clone()`` can be used to clone an existing
  61. subtask with augmented arguments/options.
  62. Example:
  63. .. code-block:: pycon
  64. >>> s = add.subtask((5,))
  65. >>> new = s.clone(args=(10,), countdown=5})
  66. >>> new.args
  67. (10, 5)
  68. >>> new.options
  69. {"countdown": 5}
  70. - Chord callbacks are now triggered in eager mode.
  71. .. _v252-fixes:
  72. Fixes
  73. -----
  74. - Programs now verifies that the pidfile is actually written correctly
  75. (Issue #641).
  76. Hopefully this will crash the worker immediately if the system
  77. is out of space to store the complete pidfile.
  78. In addition, we now verify that existing pidfiles contain
  79. a new line so that a partially written pidfile is detected as broken,
  80. as before doing:
  81. echo -n "1" > celeryd.pid
  82. would cause the worker to think that an existing instance was already
  83. running (init has pid 1 after all).
  84. - Fixed 2.5 compatibility issue with use of print_exception.
  85. Fix contributed by Martin Melin.
  86. - Fixed 2.5 compatibility issue with imports.
  87. Fix contributed by Iurii Kriachko.
  88. - All programs now fix up ``__package__`` when called as main.
  89. This fixes compatibility with Python 2.5.
  90. Fix contributed by Martin Melin.
  91. - [celery control|inspect] can now be configured on the command-line.
  92. Like with the worker it is now possible to configure celery settings
  93. on the command-line for celery control|inspect
  94. .. code-block:: console
  95. $ celery inspect -- broker.pool_limit=30
  96. - Version dependency for python-dateutil fixed to be strict.
  97. Fix contributed by Thomas Meson.
  98. - ``Task.__call__`` is now optimized away in the task tracer
  99. rather than when the task class is created.
  100. This fixes a bug where a custom __call__ may mysteriously disappear.
  101. - Autoreload's inotify support has been improved.
  102. Contributed by Mher Movsisyan.
  103. - The Django broker documentation has been improved.
  104. - Removed confusing warning at top of routing user guide.
  105. .. _version-2.5.1:
  106. 2.5.1
  107. =====
  108. :release-date: 2012-03-01 01:00 P.M GMT
  109. :release-by: Ask Solem
  110. .. _v251-fixes:
  111. Fixes
  112. -----
  113. * Eventlet/Gevent: A small typo caused the worker to hang when eventlet/gevent
  114. was used, this was because the environment was not monkey patched
  115. early enough.
  116. * Eventlet/Gevent: Another small typo caused the mediator to be started
  117. with eventlet/gevent, which would make the worker sometimes hang at shutdown.
  118. * Mulitprocessing: Fixed an error occurring if the pool was stopped
  119. before it was properly started.
  120. * Proxy objects now redirects ``__doc__`` and ``__name__`` so ``help(obj)``
  121. works.
  122. * Internal timer (timer2) now logs exceptions instead of swallowing them
  123. (Issue #626).
  124. * celery shell: can now be started with :option:`--eventlet` or
  125. :option:`--gevent` options to apply their monkey patches.
  126. .. _version-2.5.0:
  127. 2.5.0
  128. =====
  129. :release-date: 2012-02-24 04:00 P.M GMT
  130. :release-by: Ask Solem
  131. See :ref:`whatsnew-2.5`.
  132. Since the changelog has gained considerable size, we decided to
  133. do things differently this time: by having separate "what's new"
  134. documents for major version changes.
  135. Bugfix releases will still be found in the changelog.