This document outlines when various pieces of Django will be removed or altered in a backward incompatible way, following their deprecation, as per the deprecation policy. More details about each item can often be found in the release notes of two versions prior.
See the Django 1.7 release notes for more details on these changes.
See the 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:
Upgrade paths are described in the transaction management docs.
The cycle and firstof template tags will auto-escape their arguments. In 1.6 and 1.7, this behavior is provided by the version of these tags in the future template tag library.
The SEND_BROKEN_LINK_EMAILS setting will be removed. Add the django.middleware.common.BrokenLinkEmailsMiddleware middleware to your MIDDLEWARE_CLASSES setting instead.
django.middleware.doc.XViewMiddleware will be removed. Use django.contrib.admindocs.middleware.XViewMiddleware instead.
Model._meta.module_name was renamed to model_name.
Remove the backward compatible shims introduced to rename get_query_set and similar queryset methods. This affects the following classes: BaseModelAdmin, ChangeList, BaseCommentNode, GenericForeignKey, Manager, SingleRelatedObjectDescriptor and ReverseSingleRelatedObjectDescriptor.
Remove the backward compatible shims introduced to rename the attributes ChangeList.root_query_set and ChangeList.query_set.
django.views.defaults.shortcut will be removed, as part of the goal of removing all django.contrib references from the core Django codebase. Instead use django.contrib.contenttypes.views.shortcut. django.conf.urls.shortcut will also be removed.
Support for the Python Imaging Library (PIL) module will be removed, as it no longer appears to be actively maintained & does not work on Python 3. You are advised to install Pillow, which should be used instead.
The following private APIs will be removed:
django.forms.widgets.RadioInput will be removed in favor of django.forms.widgets.RadioChoiceInput.
The module django.test.simple and the class django.test.simple.DjangoTestSuiteRunner will be removed. Instead use django.test.runner.DiscoverRunner.
The module django.test._doctest will be removed. Instead use the doctest module from the Python standard library.
The CACHE_MIDDLEWARE_ANONYMOUS_ONLY setting will be removed.
Usage of the hard-coded Hold down “Control”, or “Command” on a Mac, to select more than one. string to override or append to user-provided help_text in forms for ManyToMany model fields will not be performed by Django anymore either at the model or forms layer.
The Model._meta.get_(add|change|delete)_permission methods will be removed.
The session key django_language will no longer be read for backwards compatibility.
Geographic Sitemaps will be removed (django.contrib.gis.sitemaps.views.index and django.contrib.gis.sitemaps.views.sitemap).
django.utils.html.fix_ampersands, the fix_ampersands template filter and django.utils.html.clean_html will be removed following an accelerated deprecation.
See the Django 1.5 release notes for more details on these changes.
See the Django 1.4 release notes for more details on these changes.
See the Django 1.3 release notes for more details on these changes.
See the Django 1.2 release notes for more details on these changes.
See the Django 1.1 release notes for more details on these changes.
Dec 16, 2014