.. _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
<internal-release-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.

    * 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.
