changelog-2.5.rst 4.9 KB

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