.. _internals-deprecation: =========================== Django Deprecation Timeline =========================== This document outlines when various pieces of Django will be removed, following their deprecation, as per the :ref:`Django deprecation policy ` * 1.3 * ``AdminSite.root()``. This release will remove the old method for hooking up admin URLs. This has been deprecated since the 1.1 release. * 1.4 * ``CsrfResponseMiddleware``. This has been deprecated since the 1.2 release, in favour of the template tag method for inserting the CSRF token. ``CsrfMiddleware``, which combines ``CsrfResponseMiddleware`` and ``CsrfViewMiddleware``, is also deprecated. * The old imports for CSRF functionality (``django.contrib.csrf.*``), which moved to core in 1.2, will be removed. * ``SMTPConnection``. The 1.2 release deprecated the ``SMTPConnection`` class in favor of a generic E-mail backend API. * The many to many SQL generation functions on the database backends will be removed. These have been deprecated since the 1.2 release. * 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()``), which have been deprecated since the 1.2 release, will be removed. The :ref:`messages framework ` should be used instead. * 2.0 * ``django.views.defaults.shortcut()``. This function has been moved to ``django.contrib.contenttypes.views.shortcut()`` as part of the goal of removing all ``django.contrib`` references from the core Django codebase. The old shortcut will be removed in the 2.0 release.