Browse Source

2.6 is now Celery 3.0 (Chiastic Slide)

Ask Solem 12 years ago
parent
commit
2e0d7293a1

+ 10 - 10
Changelog

@@ -5,14 +5,14 @@
 .. contents::
     :local:
 
-.. _version-2.6.0:
+.. _version-3.0.0:
 
-2.6.0
-=====
+3.0.0 (Chiastic Slide)
+======================
 :status: FROZEN
 :branch: master
 
-See :ref:`whatsnew-2.6`.
+See :ref:`whatsnew-3.0`.
 
 .. _version-2.5.2:
 
@@ -324,7 +324,7 @@ Important Notes
     :setting:`CELERY_TASK_RESULT_EXPIRES` setting.
 
     The old :setting:`CELERY_AMQP_TASK_RESULT_EXPIRES` setting has been
-    deprecated and will be removed in version 3.0.
+    deprecated and will be removed in version 4.0.
 
     Note that this means that the result backend requires RabbitMQ 1.1.0 or
     higher, and that you have to disable expiration if you are running
@@ -396,12 +396,12 @@ Important Notes
     white-list setting.
 
     The :setting:`CELERY_TASK_ERROR_WHITELIST` setting has been deprecated,
-    and will be removed completely in version 3.0.
+    and will be removed completely in version 4.0.
 
 * Additional Deprecations
 
     The following functions has been deprecated and is scheduled for removal in
-    version 3.0:
+    version 4.0:
 
     =====================================  ===================================
     **Old function**                       **Alternative**
@@ -414,7 +414,7 @@ Important Notes
     =====================================  ===================================
 
     The following settings has been deprecated and is scheduled for removal
-    in version 3.0:
+    in version 4.0:
 
     =====================================  ===================================
     **Old setting**                        **Alternative**
@@ -1440,11 +1440,11 @@ Important Notes
         Using the decorators in :mod:`celery.decorators` emits a
         :class:`PendingDeprecationWarning` with a helpful message urging
         you to change your code, in version 2.4 this will be replaced with
-        a :class:`DeprecationWarning`, and in version 3.0 the
+        a :class:`DeprecationWarning`, and in version 4.0 the
         :mod:`celery.decorators` module will be removed and no longer exist.
 
         Similarly, the `task.accept_magic_kwargs` attribute will no
-        longer have any effect starting from version 3.0.
+        longer have any effect starting from version 4.0.
 
 * The magic keyword arguments are now available as `task.request`
 

+ 1 - 1
README.rst

@@ -4,7 +4,7 @@
 
 .. image:: http://cloud.github.com/downloads/celery/celery/celery_128.png
 
-:Version: 2.6.0rc5
+:Version: 3.0.0rc5 (Chiastic Slide)
 :Web: http://celeryproject.org/
 :Download: http://pypi.python.org/pypi/celery/
 :Source: http://github.com/celery/celery/

+ 5 - 2
celery/__init__.py

@@ -7,12 +7,14 @@
 
 from __future__ import absolute_import
 
-VERSION = (2, 6, 0, 'rc5')
+SERIES = 'Chiastic Slide'
+VERSION = (3, 0, 0, 'rc5')
 __version__ = '.'.join(map(str, VERSION[0:3])) + ''.join(VERSION[3:])
 __author__ = 'Ask Solem'
 __contact__ = 'ask@celeryproject.org'
 __homepage__ = 'http://celeryproject.org'
 __docformat__ = 'restructuredtext'
+VERSION_BANNER = '%s (%s)' % (__version__, SERIES)
 
 # -eof meta-
 
@@ -32,5 +34,6 @@ old_module, new_module = recreate_module(__name__,  # pragma: no cover
     __package__='celery', __file__=__file__,
     __path__=__path__, __doc__=__doc__, __version__=__version__,
     __author__=__author__, __contact__=__contact__,
-    __homepage__=__homepage__, __docformat__=__docformat__, VERSION=VERSION,
+    __homepage__=__homepage__, __docformat__=__docformat__,
+    VERSION=VERSION, SERIES=SERIES, VERSION_BANNER=VERSION_BANNER,
 )

+ 11 - 11
celery/app/defaults.py

@@ -36,8 +36,8 @@ DEFAULT_LOG_FMT = '[%(asctime)s: %(levelname)s] %(message)s'
 DEFAULT_TASK_LOG_FMT = """[%(asctime)s: %(levelname)s/%(processName)s] \
 %(task_name)s[%(task_id)s]: %(message)s"""
 
-_BROKER_OLD = {'deprecate_by': '2.5', 'remove_by': '3.0', 'alt': 'BROKER_URL'}
-_REDIS_OLD = {'deprecate_by': '2.5', 'remove_by': '3.0',
+_BROKER_OLD = {'deprecate_by': '2.5', 'remove_by': '4.0', 'alt': 'BROKER_URL'}
+_REDIS_OLD = {'deprecate_by': '2.5', 'remove_by': '4.0',
               'alt': 'URL form of CELERY_RESULT_BACKEND'}
 
 
@@ -69,7 +69,7 @@ NAMESPACES = {
         'CONNECTION_MAX_RETRIES': Option(100, type='int'),
         'POOL_LIMIT': Option(10, type='int'),
         'INSIST': Option(False, type='bool',
-                         deprecate_by='2.4', remove_by='3.0'),
+                         deprecate_by='2.4', remove_by='4.0'),
         'USE_SSL': Option(False, type='bool'),
         'TRANSPORT': Option(type='string'),
         'TRANSPORT_OPTIONS': Option({}, type='dict'),
@@ -91,7 +91,7 @@ NAMESPACES = {
         'ACKS_LATE': Option(False, type='bool'),
         'ALWAYS_EAGER': Option(False, type='bool'),
         'AMQP_TASK_RESULT_EXPIRES': Option(type='float',
-                deprecate_by='2.5', remove_by='3.0',
+                deprecate_by='2.5', remove_by='4.0',
                 alt='CELERY_TASK_RESULT_EXPIRES'),
         'AMQP_TASK_RESULT_CONNECTION_MAX': Option(1, type='int',
                 remove_by='2.5', alt='BROKER_POOL_LIMIT'),
@@ -137,7 +137,7 @@ NAMESPACES = {
         'SEND_TASK_SENT_EVENT': Option(False, type='bool'),
         'STORE_ERRORS_EVEN_IF_IGNORED': Option(False, type='bool'),
         'TASK_ERROR_WHITELIST': Option((), type='tuple',
-            deprecate_by='2.5', remove_by='3.0'),
+            deprecate_by='2.5', remove_by='4.0'),
         'TASK_PUBLISH_RETRY': Option(True, type='bool'),
         'TASK_PUBLISH_RETRY_POLICY': Option({
                 'max_retries': 100,
@@ -167,9 +167,9 @@ NAMESPACES = {
         'CONSUMER': Option(type='string'),
         'LOG_FORMAT': Option(DEFAULT_PROCESS_LOG_FMT),
         'LOG_COLOR': Option(type='bool'),
-        'LOG_LEVEL': Option('WARN', deprecate_by='2.4', remove_by='3.0',
+        'LOG_LEVEL': Option('WARN', deprecate_by='2.4', remove_by='4.0',
                             alt='--loglevel argument'),
-        'LOG_FILE': Option(deprecate_by='2.4', remove_by='3.0',
+        'LOG_FILE': Option(deprecate_by='2.4', remove_by='4.0',
                             alt='--logfile argument'),
         'MEDIATOR': Option('celery.worker.mediator.Mediator'),
         'MAX_TASKS_PER_CHILD': Option(type='int'),
@@ -187,15 +187,15 @@ NAMESPACES = {
         'SCHEDULER': Option('celery.beat.PersistentScheduler'),
         'SCHEDULE_FILENAME': Option('celerybeat-schedule'),
         'MAX_LOOP_INTERVAL': Option(0, type='float'),
-        'LOG_LEVEL': Option('INFO', deprecate_by='2.4', remove_by='3.0',
+        'LOG_LEVEL': Option('INFO', deprecate_by='2.4', remove_by='4.0',
                             alt='--loglevel argument'),
-        'LOG_FILE': Option(deprecate_by='2.4', remove_by='3.0',
+        'LOG_FILE': Option(deprecate_by='2.4', remove_by='4.0',
                            alt='--logfile argument'),
     },
     'CELERYMON': {
-        'LOG_LEVEL': Option('INFO', deprecate_by='2.4', remove_by='3.0',
+        'LOG_LEVEL': Option('INFO', deprecate_by='2.4', remove_by='4.0',
                             alt='--loglevel argument'),
-        'LOG_FILE': Option(deprecate_by='2.4', remove_by='3.0',
+        'LOG_FILE': Option(deprecate_by='2.4', remove_by='4.0',
                            alt='--logfile argument'),
         'LOG_FORMAT': Option(DEFAULT_LOG_FMT),
     },

+ 1 - 1
celery/app/registry.py

@@ -43,7 +43,7 @@ class TaskRegistry(dict):
         except KeyError:
             raise self.NotRegistered(name)
 
-    # -- these methods are irrelevant now and will be removed in 3.0
+    # -- these methods are irrelevant now and will be removed in 4.0
     def regular(self):
         return self.filter_types('regular')
 

+ 1 - 1
celery/app/task.py

@@ -155,7 +155,7 @@ class Task(object):
     abstract = True
 
     #: If disabled the worker will not forward magic keyword arguments.
-    #: Deprecated and scheduled for removal in v3.0.
+    #: Deprecated and scheduled for removal in v4.0.
     accept_magic_kwargs = None
 
     #: Maximum number of retries before giving up.  If set to :const:`None`,

+ 1 - 1
celery/app/utils.py

@@ -140,7 +140,7 @@ def bugreport(app):
         'system': _platform.system(),
         'arch': ', '.join(filter(None, _platform.architecture())),
         'py_i': platforms.pyimplementation(),
-        'celery_v': celery.__version__,
+        'celery_v': celery.VERSION_BANNER,
         'kombu_v': kombu.__version__,
         'billiard_v': billiard.__version__,
         'py_v': _platform.python_version(),

+ 2 - 2
celery/apps/beat.py

@@ -15,7 +15,7 @@ from __future__ import absolute_import
 import socket
 import sys
 
-from celery import __version__, platforms, beat
+from celery import VERSION_BANNER, platforms, beat
 from celery.app import app_or_default
 from celery.app.abstract import configurated, from_config
 from celery.utils.imports import qualname
@@ -62,7 +62,7 @@ class Beat(configurated):
 
     def run(self):
         print(str(self.colored.cyan(
-                    'celerybeat v%s is starting.' % __version__)))
+                    'celerybeat v%s is starting.' % VERSION_BANNER)))
         self.init_loader()
         self.set_process_title()
         self.start_scheduler()

+ 2 - 2
celery/apps/worker.py

@@ -22,7 +22,7 @@ from functools import partial
 
 from billiard import cpu_count, current_process
 
-from celery import __version__, platforms, signals
+from celery import VERSION_BANNER, platforms, signals
 from celery.app import app_or_default
 from celery.app.abstract import configurated, from_config
 from celery.exceptions import ImproperlyConfigured, SystemTerminate
@@ -221,7 +221,7 @@ class Worker(configurated):
         banner = (BANNER % {
             'app': appr,
             'hostname': self.hostname,
-            'version': __version__,
+            'version': VERSION_BANNER,
             'conninfo': self.app.connection().as_uri(),
             'concurrency': concurrency,
             'events': events,

+ 2 - 2
celery/backends/amqp.py

@@ -34,7 +34,7 @@ class BacklogLimitExceeded(Exception):
 def repair_uuid(s):
     # Historically the dashes in UUIDS are removed from AMQ entity names,
     # but there is no known reason to.  Hopefully we'll be able to fix
-    # this in v3.0.
+    # this in v4.0.
     return '%s-%s-%s-%s-%s' % (s[:8], s[8:12], s[12:16], s[16:20], s[20:])
 
 
@@ -77,7 +77,7 @@ class AMQPBackend(BaseDictBackend):
         self.auto_delete = auto_delete
 
         # AMQP_TASK_RESULT_EXPIRES setting is deprecated and will be
-        # removed in version 3.0.
+        # removed in version 4.0.
         dexpires = conf.CELERY_AMQP_TASK_RESULT_EXPIRES
 
         self.expires = None

+ 7 - 4
celery/bin/base.py

@@ -112,7 +112,7 @@ class Command(object):
     args = ''
 
     #: Application version.
-    version = celery.__version__
+    version = celery.VERSION_BANNER
 
     #: If false the parser will raise an exception if positional
     #: args are provided.
@@ -161,6 +161,7 @@ class Command(object):
         """
         if argv is None:
             argv = list(sys.argv)
+        self.early_version(argv)
         argv = self.setup_app_from_commandline(argv)
         prog_name = os.path.basename(argv[0])
         return self.handle_argv(prog_name, argv[1:])
@@ -209,13 +210,15 @@ class Command(object):
         sys.stderr.write(msg + '\n')
         sys.exit(status)
 
+    def early_version(self, argv):
+        if '--version' in argv:
+            sys.stdout.write('%s\n' % self.version)
+            sys.exit(0)
+
     def parse_options(self, prog_name, arguments):
         """Parse the available options."""
         # Don't want to load configuration to just print the version,
         # so we handle --version manually here.
-        if '--version' in arguments:
-            sys.stdout.write('%s\n' % self.version)
-            sys.exit(0)
         parser = self.create_parser(prog_name)
         return parser.parse_args(arguments)
 

+ 0 - 2
celery/bin/celery.py

@@ -16,7 +16,6 @@ from billiard import freeze_support
 from importlib import import_module
 from pprint import pformat
 
-from celery import __version__
 from celery.platforms import EX_OK, EX_FAILURE, EX_UNAVAILABLE, EX_USAGE
 from celery.utils import term
 from celery.utils import text
@@ -63,7 +62,6 @@ def command(fun, name=None, sortpri=0):
 class Command(BaseCommand):
     help = ''
     args = ''
-    version = __version__
     prog_name = 'celery'
     show_body = True
     leaf = True

+ 2 - 2
celery/bin/celeryd_detach.py

@@ -13,12 +13,12 @@
 from __future__ import absolute_import
 from __future__ import with_statement
 
+import celery
 import os
 import sys
 
 from optparse import OptionParser, BadOptionError
 
-from celery import __version__
 from celery.platforms import EX_FAILURE, detached
 from celery.utils.log import get_logger
 
@@ -104,7 +104,7 @@ class PartialOptionParser(OptionParser):
 class detached_celeryd(object):
     option_list = OPTION_LIST
     usage = '%prog [options] [celeryd options]'
-    version = __version__
+    version = celery.VERSION_BANNER
     description = ('Detaches Celery worker nodes.  See `celeryd --help` '
                    'for the list of supported worker arguments.')
     command = sys.executable

+ 2 - 2
celery/bin/celeryd_multi.py

@@ -103,7 +103,7 @@ from time import sleep
 from kombu.utils import cached_property
 from kombu.utils.encoding import from_utf8
 
-from celery import __version__
+from celery import VERSION_BANNER
 from celery.platforms import PIDFile, shellsplit
 from celery.utils import term
 from celery.utils.text import pluralize
@@ -367,7 +367,7 @@ class MultiTool(object):
     def splash(self):
         if not self.nosplash:
             c = self.colored
-            self.note(c.cyan('celeryd-multi v%s' % __version__))
+            self.note(c.cyan('celeryd-multi v%s' % VERSION_BANNER))
 
     def waitexec(self, argv, path=sys.executable):
         args = ' '.join([path] + list(argv))

+ 2 - 2
celery/events/cursesmon.py

@@ -19,7 +19,7 @@ from itertools import count
 from textwrap import wrap
 from math import ceil
 
-from celery import __version__
+from celery import VERSION_BANNER
 from celery import states
 from celery.app import app_or_default
 from celery.utils.text import abbr, abbrtask
@@ -49,7 +49,7 @@ class CursesMonitor(object):  # pragma: no cover
     online_str = 'Workers online: '
     help_title = 'Keys: '
     help = ('j:up k:down i:info t:traceback r:result c:revoke ^c: quit')
-    greet = 'celeryev %s' % __version__
+    greet = 'celeryev %s' % VERSION_BANNER
     info_str = 'Info: '
 
     def __init__(self, state, keymap=None, app=None):

+ 1 - 2
celery/exceptions.py

@@ -12,8 +12,6 @@ from billiard.exceptions import (  # noqa
     SoftTimeLimitExceeded, TimeLimitExceeded, WorkerLostError,
 )
 
-from .utils.encoding import safe_repr
-
 UNREGISTERED_FMT = """\
 Task of kind %s is not registered, please make sure it's imported.\
 """
@@ -62,6 +60,7 @@ class RetryTaskError(Exception):
     """The task is to be retried later."""
 
     def __init__(self, message=None, exc=None, when=None, **kwargs):
+        from kombu.utils.encoding import safe_repr
         self.message = message
         if isinstance(exc, basestring):
             self.exc, self.excs = None, exc

+ 2 - 2
celery/loaders/__init__.py

@@ -23,13 +23,13 @@ def get_loader_cls(loader):
     return symbol_by_name(loader, LOADER_ALIASES)
 
 
-@deprecated(deprecation='2.5', removal='3.0',
+@deprecated(deprecation='2.5', removal='4.0',
         alternative='celery.current_app.loader')
 def current_loader():
     return current_app.loader
 
 
-@deprecated(deprecation='2.5', removal='3.0',
+@deprecated(deprecation='2.5', removal='4.0',
             alternative='celery.current_app.conf')
 def load_settings():
     return current_app.conf

+ 1 - 1
celery/worker/consumer.py

@@ -647,7 +647,7 @@ class Consumer(object):
         """Sets up the process mailbox when running in a greenlet
         environment."""
         # THIS CODE IS TERRIBLE
-        # Luckily work has already started rewriting the Consumer for 3.0.
+        # Luckily work has already started rewriting the Consumer for 4.0.
         self._pidbox_node_shutdown = threading.Event()
         self._pidbox_node_stopped = threading.Event()
         try:

+ 1 - 1
celery/worker/job.py

@@ -149,7 +149,7 @@ class Request(object):
         See :meth:`celery.task.base.Task.run` for more information.
 
         Magic keyword arguments are deprecated and will be removed
-        in version 3.0.
+        in version 4.0.
 
         """
         kwargs = dict(self.kwargs)

+ 2 - 2
docs/conf.py

@@ -112,7 +112,7 @@ if False:
 # -- Options for Epub output ---------------------------------------------------
 
 # Bibliographic Dublin Core info.
-epub_title = 'Celery Manual, Version 2.6'
+epub_title = 'Celery Manual, Version 3.0'
 epub_author = 'Ask Solem'
 epub_publisher = 'Celery Project'
 epub_copyright = '2009-2012'
@@ -129,7 +129,7 @@ epub_scheme = 'ISBN'
 epub_identifier = 'celeryproject.org'
 
 # A unique identification for the text.
-epub_uid = 'Celery Manual, Version 2.6'
+epub_uid = 'Celery Manual, Version 3.0'
 
 # HTML files that should be inserted before the pages created by sphinx.
 # The format is a list of tuples containing the path and title.

+ 1 - 133
docs/configuration.rst

@@ -56,7 +56,7 @@ Note that workers running Celery versions below 2.5 will assume a local
 timezone for all messages, so only enable if all workers have been
 upgraded.
 
-Disabled by default.  UTC will be enabled by default in version 3.0.
+Disabled by default.  UTC will be enabled by default in version 4.0.
 
 .. setting:: CELERY_TIMEZONE
 
@@ -1500,135 +1500,3 @@ Default is `[%(asctime)s: %(levelname)s/%(processName)s] %(message)s`
 
 See the Python :mod:`logging` module for more information about log
 formats.
-
-.. _conf-deprecated:
-
-Deprecated Settings
--------------------
-
-These settings have been deprecated and should no longer used,
-as they will be removed in future versions.
-
-.. setting:: CELERY_AMQP_TASK_RESULT_EXPIRES
-
-CELERY_AMQP_TASK_RESULT_EXPIRES
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-.. deprecated:: 2.5
-
-The time in seconds of which the task result queues should expire.
-
-This setting is deprecated, and will be removed in version 3.0.
-Please use :setting:`CELERY_TASK_RESULT_EXPIRES` instead.
-
-.. note::
-
-    AMQP result expiration requires RabbitMQ versions 2.1.0 or higher.
-
-.. setting:: CELERY_TASK_ERROR_WHITELIST
-
-CELERY_TASK_ERROR_WHITELIST
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-.. deprecated:: 2.5
-
-A white list of exceptions to send error emails for.
-
-This option is pending deprecation and is scheduled for removal
-in version 3.0.
-
-.. setting:: CELERYD_LOG_FILE
-
-CELERYD_LOG_FILE
-~~~~~~~~~~~~~~~~
-
-.. deprecated:: 2.4
-
-This option is deprecated and is scheduled for removal in version 3.0.
-Please use the :option:`--logfile` argument instead.
-
-The default file name the worker daemon logs messages to.  Can be overridden
-using the :option:`--logfile` option to :mod:`~celery.bin.celeryd`.
-
-The default is :const:`None` (`stderr`)
-
-.. setting:: CELERYD_LOG_LEVEL
-
-CELERYD_LOG_LEVEL
-~~~~~~~~~~~~~~~~~
-
-.. deprecated:: 2.4
-
-This option is deprecated and is scheduled for removal in version 3.0.
-Please use the :option:`--loglevel` argument instead.
-
-Worker log level, can be one of :const:`DEBUG`, :const:`INFO`, :const:`WARNING`,
-:const:`ERROR` or :const:`CRITICAL`.
-
-Can also be set via the :option:`--loglevel` argument to
-:mod:`~celery.bin.celeryd`.
-
-See the :mod:`logging` module for more information.
-
-.. setting:: CELERYBEAT_LOG_FILE
-
-CELERYBEAT_LOG_FILE
-~~~~~~~~~~~~~~~~~~~
-
-.. deprecated:: 2.4
-
-This option is deprecated and is scheduled for removal in version 3.0.
-Please use the :option:`--logfile` argument instead.
-
-The default file name to log messages to.  Can be overridden using
-the `--logfile` option to :mod:`~celery.bin.celerybeat`.
-
-The default is :const:`None` (`stderr`).
-
-.. setting:: CELERYBEAT_LOG_LEVEL
-
-CELERYBEAT_LOG_LEVEL
-~~~~~~~~~~~~~~~~~~~~
-
-.. deprecated:: 2.4
-
-This option is deprecated and is scheduled for removal in version 3.0.
-Please use the :option:`--loglevel` argument instead.
-
-Logging level. Can be any of :const:`DEBUG`, :const:`INFO`, :const:`WARNING`,
-:const:`ERROR`, or :const:`CRITICAL`.
-
-Can also be set via the :option:`--loglevel` argument to
-:mod:`~celery.bin.celerybeat`.
-
-See the :mod:`logging` module for more information.
-
-.. setting:: CELERYMON_LOG_FILE
-
-CELERYMON_LOG_FILE
-~~~~~~~~~~~~~~~~~~
-
-.. deprecated:: 2.4
-
-This option is deprecated and is scheduled for removal in version 3.0.
-Please use the :option:`--logfile` argument instead.
-
-The default file name to log messages to.  Can be overridden using
-the :option:`--logfile` argument to `celerymon`.
-
-The default is :const:`None` (`stderr`)
-
-.. setting:: CELERYMON_LOG_LEVEL
-
-CELERYMON_LOG_LEVEL
-~~~~~~~~~~~~~~~~~~~
-
-.. deprecated:: 2.4
-
-This option is deprecated and is scheduled for removal in version 3.0.
-Please use the :option:`--loglevel` argument instead.
-
-Logging level. Can be any of :const:`DEBUG`, :const:`INFO`, :const:`WARNING`,
-:const:`ERROR`, or :const:`CRITICAL`.
-
-See the :mod:`logging` module for more information.

+ 2 - 2
docs/getting-started/introduction.rst

@@ -38,7 +38,7 @@ What do I need?
 ===============
 
 .. sidebar:: Version Requirements
-    :subtitle: Celery version 2.6 runs on
+    :subtitle: Celery version 3.0 runs on
 
     - Python ❨2.5, 2.6, 2.7, 3.2, 3.3❩
     - PyPy ❨1.8, 1.9❩
@@ -60,7 +60,7 @@ Get Started
 ===========
 
 If this is the first time you're trying to use Celery, or you are
-new to Celery 2.6 coming from previous versions then you should our
+new to Celery 3.0 coming from previous versions then you should read our
 getting started tutorials:
 
 - :ref:`first-steps`

+ 1 - 1
docs/getting-started/next-steps.rst

@@ -72,7 +72,7 @@ The :program:`celery` program can be used to start the worker::
 
 When the worker starts you should see a banner and some messages::
 
-     -------------- celery@halcyon.local v2.6.0rc4
+     -------------- celery@halcyon.local v3.0 (Chiastic Slide)
      ---- **** -----
      --- * ***  * -- [Configuration]
      -- * - **** --- . broker:      amqp://guest@localhost:5672//

+ 1 - 1
docs/includes/introduction.txt

@@ -1,4 +1,4 @@
-:Version: 2.6.0rc5
+:Version: 3.0.0rc5 (Chiastic Slide)
 :Web: http://celeryproject.org/
 :Download: http://pypi.python.org/pypi/celery/
 :Source: http://github.com/celery/celery/

+ 1 - 1
docs/index.rst

@@ -48,7 +48,7 @@ Contents
     community
     tutorials/index
     faq
-    whatsnew-2.6
+    whatsnew-3.0
     whatsnew-2.5
     changelog
     reference/index

+ 3 - 3
docs/internals/deprecation.rst

@@ -7,9 +7,9 @@
 .. contents::
     :local:
 
-.. _deprecations-v3.0:
+.. _deprecations-v4.0:
 
-Removals for version 3.0
+Removals for version 4.0
 ========================
 
 Old Task API
@@ -72,7 +72,7 @@ Magic keyword arguments
 ~~~~~~~~~~~~~~~~~~~~~~~
 
 The magic keyword arguments accepted by tasks will be removed
-in 3.0, so you should start rewriting any tasks
+in 4.0, so you should start rewriting any tasks
 using the ``celery.decorators`` module and depending
 on keyword arguments being passed to the task,
 for example::

+ 2 - 2
docs/internals/protocol.rst

@@ -89,14 +89,14 @@ to process it.
 * callbacks
     :`<list>subtask`:
 
-    .. versionadded:: 2.6
+    .. versionadded:: 3.0
 
     A list of subtasks to apply if the task exited successfully.
 
 * errbacks
     :`<list>subtask`:
 
-    .. versionadded:: 2.6
+    .. versionadded:: 3.0
 
     A list of subtasks to apply if an error occurs while executing the task.
 

+ 1 - 1
docs/whatsnew-2.5.rst

@@ -152,7 +152,7 @@ Deprecations
 
 * The :mod:`celery.decorators` module has changed status
   from pending deprecation to deprecated, and is scheduled for removal
-  in version 3.0.  The ``celery.task`` module must be used instead.
+  in version 4.0.  The ``celery.task`` module must be used instead.
 
 .. _v250-news:
 

+ 10 - 9
docs/whatsnew-2.6.rst → docs/whatsnew-3.0.rst

@@ -1,8 +1,8 @@
-.. _whatsnew-2.6:
+.. _whatsnew-3.0:
 
-==========================
- What's new in Celery 2.6
-==========================
+===========================================
+ What's new in Celery 3.0 (Chiastic Slide)
+===========================================
 
 Celery is a simple, flexible and reliable distributed system to
 process vast amounts of messages, while providing operations with
@@ -21,7 +21,7 @@ While this version is backward compatible with previous versions
 it's important that you read the following section.
 
 If you use Celery in combination with Django you must also
-read the `django-celery changelog`_ and upgrade to `django-celery 2.6`_.
+read the `django-celery changelog`_ and upgrade to `django-celery 3.0`_.
 
 This version is officially supported on CPython 2.5, 2.6, 2.7, 3.2 and 3.3,
 as well as PyPy and Jython.
@@ -58,7 +58,7 @@ as well as PyPy and Jython.
 
 .. _`website`: http://celeryproject.org/
 .. _`django-celery changelog`: http://bit.ly/djcelery-26-changelog
-.. _`django-celery 2.6`: http://pypi.python.org/pypi/django-celery/
+.. _`django-celery 3.0`: http://pypi.python.org/pypi/django-celery/
 
 .. contents::
     :local:
@@ -106,15 +106,16 @@ for the no-execv patch to work.
 Last version to support Python 2.5
 ----------------------------------
 
-The 2.6 series will be last series to support Python 2.5.
+The 3.0 series will be last version to support Python 2.5,
+and starting from 3.1 Python 2.6 and later will be required.
 
 With several other distributions taking the step to discontinue
 Python 2.5 support, we feel that it is time too.
 
 Python 2.6 should be widely available at this point, and we urge
 you to upgrade, but if that is not possible you still have the option
-to continue using the Celery 2.6 series, and important bug fixes
-introduced in Celery 2.7 will be back-ported to Celery 2.6 upon request.
+to continue using the Celery 3.0, and important bug fixes
+introduced in Celery 3.1 will be back-ported to Celery 3.0 upon request.
 
 .. _v260-news: