From d4a5019bef116028edb6e66eac9156da96a3d704 Mon Sep 17 00:00:00 2001 From: Tim Graham Date: Mon, 3 Feb 2014 08:09:27 -0500 Subject: Reordered deprecation timeline and added back old info; refs #21920. --- docs/internals/deprecation.txt | 519 ++++++++++++++++++++++++++++++++--------- docs/releases/1.4.txt | 8 +- docs/releases/1.5.txt | 8 +- docs/releases/1.6.txt | 4 +- docs/releases/1.7.txt | 4 +- 5 files changed, 426 insertions(+), 117 deletions(-) (limited to 'docs') diff --git a/docs/internals/deprecation.txt b/docs/internals/deprecation.txt index b8cdb27c5a..7b5a5d7468 100644 --- a/docs/internals/deprecation.txt +++ b/docs/internals/deprecation.txt @@ -7,70 +7,123 @@ in a backward incompatible way, following their deprecation, as per the :ref:`deprecation policy `. More details about each item can often be found in the release notes of two versions prior. -1.7 +.. _deprecation-removed-in-2.0: + +2.0 --- -See the :doc:`Django 1.5 release notes` for more details on -these changes. +* ``ssi`` and ``url`` template tags will be removed from the ``future`` template + tag library (used during the 1.3/1.4 deprecation period). -* The module ``django.utils.simplejson`` will be removed. The standard library - provides :mod:`json` which should be used instead. +.. _deprecation-removed-in-1.9: -* The function ``django.utils.itercompat.product`` will be removed. The Python - builtin version should be used instead. +1.9 +--- -* Auto-correction of INSTALLED_APPS and TEMPLATE_DIRS settings when they are - specified as a plain string instead of a tuple will be removed and raise an - exception. +See the :ref:`Django 1.7 release notes` for more +details on these changes. -* The ``mimetype`` argument to the ``__init__`` methods of - :class:`~django.http.HttpResponse`, - :class:`~django.template.response.SimpleTemplateResponse`, and - :class:`~django.template.response.TemplateResponse`, will be removed. - ``content_type`` should be used instead. This also applies to the - :func:`~django.shortcuts.render_to_response` shortcut and - the sitemap views, :func:`~django.contrib.sitemaps.views.index` and - :func:`~django.contrib.sitemaps.views.sitemap`. +* ``django.utils.dictconfig`` will be removed. -* When :class:`~django.http.HttpResponse` is instantiated with an iterator, - or when :attr:`~django.http.HttpResponse.content` is set to an iterator, - that iterator will be immediately consumed. +* ``django.utils.importlib`` will be removed. -* The ``AUTH_PROFILE_MODULE`` setting, and the ``get_profile()`` method on - the User model, will be removed. +* ``django.utils.tzinfo`` will be removed. -* The ``cleanup`` management command will be removed. It's replaced by - ``clearsessions``. +* ``django.utils.unittest`` will be removed. -* The ``daily_cleanup.py`` script will be removed. +* The ``syncdb`` command will be removed. -* The ``depth`` keyword argument will be removed from - :meth:`~django.db.models.query.QuerySet.select_related`. +* ``django.db.models.signals.pre_syncdb`` and + ``django.db.models.signals.post_syncdb`` will be removed. -* The undocumented ``get_warnings_state()``/``restore_warnings_state()`` - functions from :mod:`django.test.utils` and the ``save_warnings_state()``/ - ``restore_warnings_state()`` - :ref:`django.test.*TestCase ` methods are - deprecated. Use the :class:`warnings.catch_warnings` context manager - available starting with Python 2.6 instead. +* ``allow_syncdb`` on database routers will no longer automatically become + ``allow_migrate``. -* The undocumented ``check_for_test_cookie`` method in - :class:`~django.contrib.auth.forms.AuthenticationForm` will be removed - following an accelerated deprecation. Users subclassing this form should - remove calls to this method, and instead ensure that their auth related views - are CSRF protected, which ensures that cookies are enabled. +* All models will need to be defined inside an installed application or + declare an explicit :attr:`~django.db.models.Options.app_label`. + Furthermore, it won't be possible to import them before their application + is loaded. In particular, it won't be possible to import models inside + the root package of their application. -* The version of :func:`django.contrib.auth.views.password_reset_confirm` that - supports base36 encoded user IDs - (``django.contrib.auth.views.password_reset_confirm_uidb36``) will be - removed. If your site has been running Django 1.6 for more than - :setting:`PASSWORD_RESET_TIMEOUT_DAYS`, this change will have no effect. If - not, then any password reset links generated before you upgrade to Django 1.7 - won't work after the upgrade. +* If models are organized in a package, Django will no longer look for + :ref:`initial SQL data` in ``myapp/models/sql/``. Move your + custom SQL files to ``myapp/sql/``. + +* The model and form ``IPAddressField`` will be removed. + +* ``AppCommand.handle_app()`` will no longer be supported. + +* ``RequestSite`` will be located in ``django.contrib.sites.requests`` and + ``get_current_site`` in ``django.contrib.sites.shortcuts``. + +* FastCGI support via the ``runfcgi`` management command will be + removed. Please deploy your project using WSGI. + +* ``django.utils.datastructures.SortedDict`` will be removed. Use + :class:`collections.OrderedDict` from the Python standard library instead. + +* ``ModelAdmin.declared_fieldsets`` will be removed. + +* Instances of ``util.py`` in the Django codebase have been renamed to + ``utils.py`` in an effort to unify all util and utils references. + The modules that provided backwards compatibility will be removed: + + * ``django.contrib.admin.util`` + * ``django.contrib.gis.db.backends.util`` + * ``django.db.backends.util`` + * ``django.forms.util`` + +* ``ModelAdmin.get_formsets`` will be removed. + +* Remove the backward compatible shims introduced to rename the + ``BaseMemcachedCache._get_memcache_timeout()`` method to + ``get_backend_timeout()``. + +* The ``--natural`` and ``-n`` options for :djadmin:`dumpdata` will be removed. + Use :djadminopt:`--natural-foreign` instead. + +* The ``use_natural_keys`` argument for ``serializers.serialize()`` will be + removed. Use ``use_natural_foreign_keys`` instead. + +* ``django.forms.get_declared_fields`` will be removed. + +* The ability to use a ``SplitDateTimeWidget`` with ``DateTimeField`` will be + removed. + +* The ``WSGIRequest.REQUEST`` property will be removed. + +* The class ``django.utils.datastructures.MergeDict`` will be removed. + +* The ``zh-cn`` and ``zh-tw`` language codes will be removed and have been + replaced by the ``zh-hans`` and ``zh-hant`` language code respectively. + +* The internal ``django.utils.functional.memoize`` will be removed. + +* ``django.core.cache.get_cache`` will be removed. Add suitable entries + to :setting:`CACHES` and use :data:`django.core.cache.caches` instead. + +* ``django.db.models.loading`` will be removed. + +* Passing callable arguments to querysets will no longer be possible. + +* ``BaseCommand.requires_model_validation`` will be removed in favor of + ``requires_system_checks``. Admin validators will be replaced by admin + checks. + +* ``ModelAdmin.validator`` will be removed in favor of the new ``checks`` + attribute. + +* ``django.db.backends.DatabaseValidation.validate_field`` will be removed in + favor of the ``check_field`` method. + +.. _deprecation-removed-in-1.8: 1.8 --- +See the :ref:`Django 1.6 release notes` for more +details on these changes. + * ``django.contrib.comments`` will be removed. * The following transaction management APIs will be removed: @@ -151,104 +204,352 @@ these changes. (``django.contrib.gis.sitemaps.views.index`` and ``django.contrib.gis.sitemaps.views.sitemap``). -1.9 +.. _deprecation-removed-in-1.7: + +1.7 --- -* ``django.utils.dictconfig`` will be removed. +See the :ref:`Django 1.5 release notes` for more +details on these changes. -* ``django.utils.importlib`` will be removed. +* The module ``django.utils.simplejson`` will be removed. The standard library + provides :mod:`json` which should be used instead. -* ``django.utils.tzinfo`` will be removed. +* The function ``django.utils.itercompat.product`` will be removed. The Python + builtin version should be used instead. -* ``django.utils.unittest`` will be removed. +* Auto-correction of INSTALLED_APPS and TEMPLATE_DIRS settings when they are + specified as a plain string instead of a tuple will be removed and raise an + exception. -* The ``syncdb`` command will be removed. +* The ``mimetype`` argument to the ``__init__`` methods of + :class:`~django.http.HttpResponse`, + :class:`~django.template.response.SimpleTemplateResponse`, and + :class:`~django.template.response.TemplateResponse`, will be removed. + ``content_type`` should be used instead. This also applies to the + :func:`~django.shortcuts.render_to_response` shortcut and + the sitemap views, :func:`~django.contrib.sitemaps.views.index` and + :func:`~django.contrib.sitemaps.views.sitemap`. -* ``django.db.models.signals.pre_syncdb`` and - ``django.db.models.signals.post_syncdb`` will be removed. +* When :class:`~django.http.HttpResponse` is instantiated with an iterator, + or when :attr:`~django.http.HttpResponse.content` is set to an iterator, + that iterator will be immediately consumed. -* ``allow_syncdb`` on database routers will no longer automatically become - ``allow_migrate``. +* The ``AUTH_PROFILE_MODULE`` setting, and the ``get_profile()`` method on + the User model, will be removed. -* All models will need to be defined inside an installed application or - declare an explicit :attr:`~django.db.models.Options.app_label`. - Furthermore, it won't be possible to import them before their application - is loaded. In particular, it won't be possible to import models inside - the root package of their application. +* The ``cleanup`` management command will be removed. It's replaced by + ``clearsessions``. -* If models are organized in a package, Django will no longer look for - :ref:`initial SQL data` in ``myapp/models/sql/``. Move your - custom SQL files to ``myapp/sql/``. +* The ``daily_cleanup.py`` script will be removed. -* The model and form ``IPAddressField`` will be removed. +* The ``depth`` keyword argument will be removed from + :meth:`~django.db.models.query.QuerySet.select_related`. -* ``AppCommand.handle_app()`` will no longer be supported. +* The undocumented ``get_warnings_state()``/``restore_warnings_state()`` + functions from :mod:`django.test.utils` and the ``save_warnings_state()``/ + ``restore_warnings_state()`` + :ref:`django.test.*TestCase ` methods are + deprecated. Use the :class:`warnings.catch_warnings` context manager + available starting with Python 2.6 instead. -* ``RequestSite`` will be located in ``django.contrib.sites.requests`` and - ``get_current_site`` in ``django.contrib.sites.shortcuts``. +* The undocumented ``check_for_test_cookie`` method in + :class:`~django.contrib.auth.forms.AuthenticationForm` will be removed + following an accelerated deprecation. Users subclassing this form should + remove calls to this method, and instead ensure that their auth related views + are CSRF protected, which ensures that cookies are enabled. -* FastCGI support via the ``runfcgi`` management command will be - removed. Please deploy your project using WSGI. +* The version of :func:`django.contrib.auth.views.password_reset_confirm` that + supports base36 encoded user IDs + (``django.contrib.auth.views.password_reset_confirm_uidb36``) will be + removed. If your site has been running Django 1.6 for more than + :setting:`PASSWORD_RESET_TIMEOUT_DAYS`, this change will have no effect. If + not, then any password reset links generated before you upgrade to Django 1.7 + won't work after the upgrade. -* ``django.utils.datastructures.SortedDict`` will be removed. Use - :class:`collections.OrderedDict` from the Python standard library instead. +.. _deprecation-removed-in-1.6: -* ``ModelAdmin.declared_fieldsets`` will be removed. +1.6 +--- -* Instances of ``util.py`` in the Django codebase have been renamed to - ``utils.py`` in an effort to unify all util and utils references. - The modules that provided backwards compatibility will be removed: +See the :ref:`Django 1.4 release notes` for more +details on these changes. - * ``django.contrib.admin.util`` - * ``django.contrib.gis.db.backends.util`` - * ``django.db.backends.util`` - * ``django.forms.util`` +* ``django.contrib.databrowse`` will be removed. -* ``ModelAdmin.get_formsets`` will be removed. +* ``django.contrib.localflavor`` will be removed following an accelerated + deprecation. -* Remove the backward compatible shims introduced to rename the - ``BaseMemcachedCache._get_memcache_timeout()`` method to - ``get_backend_timeout()``. +* ``django.contrib.markup`` will be removed following an accelerated + deprecation. -* The ``--natural`` and ``-n`` options for :djadmin:`dumpdata` will be removed. - Use :djadminopt:`--natural-foreign` instead. +* The compatibility modules ``django.utils.copycompat`` and + ``django.utils.hashcompat`` as well as the functions + ``django.utils.itercompat.all`` and ``django.utils.itercompat.any`` will + be removed. The Python builtin versions should be used instead. -* The ``use_natural_keys`` argument for ``serializers.serialize()`` will be - removed. Use ``use_natural_foreign_keys`` instead. +* The ``csrf_response_exempt`` and ``csrf_view_exempt`` decorators will + be removed. Since 1.4 ``csrf_response_exempt`` has been a no-op (it + returns the same function), and ``csrf_view_exempt`` has been a + synonym for ``django.views.decorators.csrf.csrf_exempt``, which should + be used to replace it. -* ``django.forms.get_declared_fields`` will be removed. +* The ``django.core.cache.backends.memcached.CacheClass`` backend + was split into two in Django 1.3 in order to introduce support for + PyLibMC. The historical ``CacheClass`` will be removed in favor of + ``django.core.cache.backends.memcached.MemcachedCache``. -* The ability to use a ``SplitDateTimeWidget`` with ``DateTimeField`` will be +* The UK-prefixed objects of ``django.contrib.localflavor.uk`` will only + be accessible through their GB-prefixed names (GB is the correct + ISO 3166 code for United Kingdom). + +* The ``IGNORABLE_404_STARTS`` and ``IGNORABLE_404_ENDS`` settings have been + superseded by :setting:`IGNORABLE_404_URLS` in the 1.4 release. They will be removed. -* The ``WSGIRequest.REQUEST`` property will be removed. +* The :doc:`form wizard ` has been + refactored to use class-based views with pluggable backends in 1.4. + The previous implementation will be removed. -* The class ``django.utils.datastructures.MergeDict`` will be removed. +* Legacy ways of calling + :func:`~django.views.decorators.cache.cache_page` will be removed. -* The ``zh-cn`` and ``zh-tw`` language codes will be removed and have been - replaced by the ``zh-hans`` and ``zh-hant`` language code respectively. +* The backward-compatibility shim to automatically add a debug-false + filter to the ``'mail_admins'`` logging handler will be removed. The + :setting:`LOGGING` setting should include this filter explicitly if + it is desired. -* The internal ``django.utils.functional.memoize`` will be removed. +* The builtin truncation functions ``django.utils.text.truncate_words()`` + and ``django.utils.text.truncate_html_words()`` will be removed in + favor of the ``django.utils.text.Truncator`` class. -* ``django.core.cache.get_cache`` will be removed. Add suitable entries - to :setting:`CACHES` and use :data:`django.core.cache.caches` instead. +* The :class:`~django.contrib.gis.geoip.GeoIP` class was moved to + :mod:`django.contrib.gis.geoip` in 1.4 -- the shortcut in + :mod:`django.contrib.gis.utils` will be removed. -* ``django.db.models.loading`` will be removed. +* ``django.conf.urls.defaults`` will be removed. The functions + :func:`~django.conf.urls.include`, :func:`~django.conf.urls.patterns` and + :func:`~django.conf.urls.url` plus :data:`~django.conf.urls.handler404`, + :data:`~django.conf.urls.handler500`, are now available through + :mod:`django.conf.urls` . -* Passing callable arguments to querysets will no longer be possible. +* The functions ``setup_environ()`` and ``execute_manager()`` will be removed + from :mod:`django.core.management`. This also means that the old (pre-1.4) + style of :file:`manage.py` file will no longer work. -* ``BaseCommand.requires_model_validation`` will be removed in favor of - ``requires_system_checks``. Admin validators will be replaced by admin - checks. +* Setting the ``is_safe`` and ``needs_autoescape`` flags as attributes of + template filter functions will no longer be supported. -* ``ModelAdmin.validator`` will be removed in favor of the new ``checks`` - attribute. +* The attribute ``HttpRequest.raw_post_data`` was renamed to ``HttpRequest.body`` + in 1.4. The backward compatibility will be removed -- + ``HttpRequest.raw_post_data`` will no longer work. -* ``django.db.backends.DatabaseValidation.validate_field`` will be removed in - favor of the ``check_field`` method. +* The value for the ``post_url_continue`` parameter in + ``ModelAdmin.response_add()`` will have to be either ``None`` (to redirect + to the newly created object's edit page) or a pre-formatted url. String + formats, such as the previous default ``'../%s/'``, will not be accepted any + more. -2.0 +.. _deprecation-removed-in-1.5: + +1.5 --- -* ``ssi`` and ``url`` template tags will be removed from the ``future`` template - tag library (used during the 1.3/1.4 deprecation period). +See the :ref:`Django 1.3 release notes` for more +details on these changes. + +* Starting Django without a :setting:`SECRET_KEY` will result in an exception + rather than a ``DeprecationWarning``. (This is accelerated from the usual + deprecation path; see the :doc:`Django 1.4 release notes`.) + +* The ``mod_python`` request handler will be removed. The ``mod_wsgi`` + handler should be used instead. + +* The ``template`` attribute on ``django.test.client.Response`` + objects returned by the :ref:`test client ` will be removed. + The :attr:`~django.test.Response.templates` attribute should be + used instead. + +* The ``django.test.simple.DjangoTestRunner`` will be removed. + Instead use a unittest-native class. The features of the + ``django.test.simple.DjangoTestRunner`` (including fail-fast and + Ctrl-C test termination) can currently be provided by the unittest-native + :class:`~unittest.TextTestRunner`. + +* The undocumented function + ``django.contrib.formtools.utils.security_hash`` will be removed, + instead use ``django.contrib.formtools.utils.form_hmac`` + +* The function-based generic view modules will be removed in favor of their + class-based equivalents, outlined :doc:`here + `. + +* The ``django.core.servers.basehttp.AdminMediaHandler`` will be + removed. In its place use + ``django.contrib.staticfiles.handlers.StaticFilesHandler``. + +* The template tags library ``adminmedia`` and the template tag ``{% + admin_media_prefix %}`` will be removed in favor of the generic static files + handling. (This is faster than the usual deprecation path; see the + :doc:`Django 1.4 release notes`.) + +* The :ttag:`url` and :ttag:`ssi` template tags will be + modified so that the first argument to each tag is a template variable, not + an implied string. In 1.4, this behavior is provided by a version of the tag + in the ``future`` template tag library. + +* The ``reset`` and ``sqlreset`` management commands will be removed. + +* Authentication backends will need to support an inactive user + being passed to all methods dealing with permissions. + The ``supports_inactive_user`` attribute will no longer be checked + and can be removed from custom backends. + +* :meth:`~django.contrib.gis.geos.GEOSGeometry.transform` will raise + a :class:`~django.contrib.gis.geos.GEOSException` when called + on a geometry with no SRID value. + +* ``django.http.CompatCookie`` will be removed in favor of + ``django.http.SimpleCookie``. + +* ``django.core.context_processors.PermWrapper`` and + ``django.core.context_processors.PermLookupDict`` will be removed in + favor of the corresponding + ``django.contrib.auth.context_processors.PermWrapper`` and + ``django.contrib.auth.context_processors.PermLookupDict``, respectively. + +* The :setting:`MEDIA_URL` or :setting:`STATIC_URL` settings will be + required to end with a trailing slash to ensure there is a consistent + way to combine paths in templates. + +* ``django.db.models.fields.URLField.verify_exists`` will be removed. The + feature was deprecated in 1.3.1 due to intractable security and + performance issues and will follow a slightly accelerated deprecation + timeframe. + +* Translations located under the so-called *project path* will be ignored during + the translation building process performed at runtime. The + :setting:`LOCALE_PATHS` setting can be used for the same task by including the + filesystem path to a ``locale`` directory containing non-app-specific + translations in its value. + +* The Markup contrib app will no longer support versions of Python-Markdown + library earlier than 2.1. An accelerated timeline was used as this was + a security related deprecation. + +* The ``CACHE_BACKEND`` setting will be removed. The cache backend(s) should be + specified in the :setting:`CACHES` setting. + +.. _deprecation-removed-in-1.4: + +1.4 +--- + +See the :ref:`Django 1.2 release notes` for more +details on these changes. + +* ``CsrfResponseMiddleware`` and ``CsrfMiddleware`` will be removed. Use + the ``{% csrf_token %}`` template tag inside forms to enable CSRF + protection. ``CsrfViewMiddleware`` remains and is enabled by default. + +* The old imports for CSRF functionality (``django.contrib.csrf.*``), + which moved to core in 1.2, will be removed. + +* The ``django.contrib.gis.db.backend`` module will be removed in favor + of the specific backends. + +* ``SMTPConnection`` will be removed in favor of a generic Email backend API. + +* The many to many SQL generation functions on the database backends + will be removed. + +* The ability to use the ``DATABASE_*`` family of top-level settings to + define database connections will be removed. + +* The ability to use shorthand notation to specify a database backend + (i.e., ``sqlite3`` instead of ``django.db.backends.sqlite3``) will be + removed. + +* The ``get_db_prep_save``, ``get_db_prep_value`` and + ``get_db_prep_lookup`` methods will have to support multiple databases. + +* The ``Message`` model (in ``django.contrib.auth``), its related + manager in the ``User`` model (``user.message_set``), and the + associated methods (``user.message_set.create()`` and + ``user.get_and_delete_messages()``), will be removed. The + :doc:`messages framework ` should be used + instead. The related ``messages`` variable returned by the + auth context processor will also be removed. Note that this + means that the admin application will depend on the messages + context processor. + +* Authentication backends will need to support the ``obj`` parameter for + permission checking. The ``supports_object_permissions`` attribute + will no longer be checked and can be removed from custom backends. + +* Authentication backends will need to support the ``AnonymousUser`` class + being passed to all methods dealing with permissions. The + ``supports_anonymous_user`` variable will no longer be checked and can be + removed from custom backends. + +* The ability to specify a callable template loader rather than a + ``Loader`` class will be removed, as will the ``load_template_source`` + functions that are included with the built in template loaders for + backwards compatibility. + +* ``django.utils.translation.get_date_formats()`` and + ``django.utils.translation.get_partial_date_formats()``. These functions + will be removed; use the locale-aware + ``django.utils.formats.get_format()`` to get the appropriate formats. + +* In ``django.forms.fields``, the constants: ``DEFAULT_DATE_INPUT_FORMATS``, + ``DEFAULT_TIME_INPUT_FORMATS`` and + ``DEFAULT_DATETIME_INPUT_FORMATS`` will be removed. Use + ``django.utils.formats.get_format()`` to get the appropriate + formats. + +* The ability to use a function-based test runner will be removed, + along with the ``django.test.simple.run_tests()`` test runner. + +* The ``views.feed()`` view and ``feeds.Feed`` class in + ``django.contrib.syndication`` will be removed. The class-based view + ``views.Feed`` should be used instead. + +* ``django.core.context_processors.auth``. This release will + remove the old method in favor of the new method in + ``django.contrib.auth.context_processors.auth``. + +* The ``postgresql`` database backend will be removed, use the + ``postgresql_psycopg2`` backend instead. + +* The ``no`` language code will be removed and has been replaced by the + ``nb`` language code. + +* Authentication backends will need to define the boolean attribute + ``supports_inactive_user`` until version 1.5 when it will be assumed that + all backends will handle inactive users. + +* ``django.db.models.fields.XMLField`` will be removed. This was + deprecated as part of the 1.3 release. An accelerated deprecation + schedule has been used because the field hasn't performed any role + beyond that of a simple ``TextField`` since the removal of oldforms. + All uses of ``XMLField`` can be replaced with ``TextField``. + +* The undocumented ``mixin`` parameter to the ``open()`` method of + ``django.core.files.storage.Storage`` (and subclasses) will be removed. + +.. _deprecation-removed-in-1.3: + +1.3 +--- + +See the :ref:`Django 1.1 release notes` for more +details on these changes. + +* ``AdminSite.root()``. This method of hooking up the admin URLs will be + removed in favor of including ``admin.site.urls``. + +* Authentication backends need to define the boolean attributes + ``supports_object_permissions`` and ``supports_anonymous_user`` until + version 1.4, at which point it will be assumed that all backends will + support these options. diff --git a/docs/releases/1.4.txt b/docs/releases/1.4.txt index e59917478a..c2b26d0aa0 100644 --- a/docs/releases/1.4.txt +++ b/docs/releases/1.4.txt @@ -9,9 +9,9 @@ Welcome to Django 1.4! These release notes cover the `new features`_, as well as some `backwards incompatible changes`_ you'll want to be aware of when upgrading from Django 1.3 or older versions. We've also dropped some -features, which are detailed in :doc:`our deprecation plan -`, and we've `begun the deprecation process for some -features`_. +features, which are detailed in :ref:`our deprecation plan +`, and we've `begun the deprecation process for +some features`_. .. _`new features`: `What's new in Django 1.4`_ .. _`backwards incompatible changes`: `Backwards incompatible changes in 1.4`_ @@ -1175,6 +1175,8 @@ class ``initial`` dictionary. This has been fixed to return a copy of this dictionary, so form instances can modify their initial data without messing with the class variable. +.. _deprecated-features-1.4: + Features deprecated in 1.4 ========================== diff --git a/docs/releases/1.5.txt b/docs/releases/1.5.txt index b1ae7a1bc0..4a5cf27565 100644 --- a/docs/releases/1.5.txt +++ b/docs/releases/1.5.txt @@ -9,9 +9,9 @@ Welcome to Django 1.5! These release notes cover the `new features`_, as well as some `backwards incompatible changes`_ you'll want to be aware of when upgrading from Django 1.4 or older versions. We've also dropped some -features, which are detailed in :doc:`our deprecation plan -`, and we've `begun the deprecation process for some -features`_. +features, which are detailed in :ref:`our deprecation plan +`, and we've `begun the deprecation process for +some features`_. .. _`new features`: `What's new in Django 1.5`_ .. _`backwards incompatible changes`: `Backwards incompatible changes in 1.5`_ @@ -715,6 +715,8 @@ Miscellaneous :meth:`~django.db.models.query.QuerySet.select_related` now raises :exc:`~django.core.exceptions.DoesNotExist` instead of returning ``None``. +.. _deprecated-features-1.5: + Features deprecated in 1.5 ========================== diff --git a/docs/releases/1.6.txt b/docs/releases/1.6.txt index 8407f4f097..d3c9dca22e 100644 --- a/docs/releases/1.6.txt +++ b/docs/releases/1.6.txt @@ -27,7 +27,7 @@ Welcome to Django 1.6! These release notes cover the `new features`_, as well as some `backwards incompatible changes`_ you'll want to be aware of when upgrading from Django 1.5 or older versions. We've also dropped some features, which are detailed in -:doc:`our deprecation plan `, and we've `begun the +:ref:`our deprecation plan `, and we've `begun the deprecation process for some features`_. .. _`new features`: `What's new in Django 1.6`_ @@ -955,6 +955,8 @@ Miscellaneous which may result in a ``TypeError`` if you don't update the signature of your custom method. +.. _deprecated-features-1.6: + Features deprecated in 1.6 ========================== diff --git a/docs/releases/1.7.txt b/docs/releases/1.7.txt index 305b34fe55..c1031b5a55 100644 --- a/docs/releases/1.7.txt +++ b/docs/releases/1.7.txt @@ -7,7 +7,7 @@ Welcome to Django 1.7! These release notes cover the `new features`_, as well as some `backwards incompatible changes`_ you'll want to be aware of when upgrading from Django 1.6 or older versions. We've also dropped some features, which are detailed in -:doc:`our deprecation plan `, and we've `begun the +:ref:`our deprecation plan `, and we've `begun the deprecation process for some features`_. .. _`new features`: `What's new in Django 1.7`_ @@ -959,6 +959,8 @@ Miscellaneous to ``False``). If you maintain a custom database backend, you should check that method. +.. _deprecated-features-1.7: + Features deprecated in 1.7 ========================== -- cgit v1.3