  
   * All of the CSRF has moved from contrib to core (with backwards compatible
     imports in the old locations, which are deprecated).
  
  LazyObject
  ----------
  
  ``LazyObject`` is an undocumented utility class used for lazily wrapping other
  objects of unknown type.  In Django 1.1 and earlier, it handled introspection in
  a non-standard way, depending on wrapped objects implementing a public method
  ``get_all_members()``. Since this could easily lead to name clashes, it has been
 
</s> remove This class has been deprecated in favor of the new generic e-mail backends.
 </s> add The ``SMTPConnection`` class has been deprecated in favor of a generic
E-mail backend API. Old code that explicitly instantiated an instance
of an SMTPConnection::

    from django.core.mail import SMTPConnection
    connection = SMTPConnection()
    messages = get_notification_email()
    connection.send_messages(messages)

should now call :meth:`~django.core.mail.get_connection()` to
instantiate a generic e-mail connection::

    from django.core.mail import get_connection
    connection = get_connection()
    messages = get_notification_email()
    connection.send_messages(messages)

Depending on the value of the :setting:`EMAIL_BACKEND` setting, this
may not return an SMTP connection. If you explicitly require an SMTP
connection with which to send e-mail, you can explicitly request an
SMTP connection::

    from django.core.mail import get_connection
    connection = get_connection('django.core.mail.backends.smtp')
    messages = get_notification_email()
    connection.send_messages(messages)

If your call to construct an instance of ``SMTPConnection`` required
additional arguments, those arguments can be passed to the
:meth:`~django.core.mail.get_connection()` call::

    connection = get_connection('django.core.mail.backends.smtp', hostname='localhost', port=1234) </s> remove             DeprecationWarning
 </s> add             PendingDeprecationWarning
``LazyObject``
--------------
  
   * All of the CSRF has moved from contrib to core (with backwards compatible
     imports in the old locations, which are deprecated).
  
``LazyObject``
--------------
``LazyObject``
--------------
  
  ``LazyObject`` is an undocumented utility class used for lazily wrapping other
  objects of unknown type.  In Django 1.1 and earlier, it handled introspection in
  a non-standard way, depending on wrapped objects implementing a public method
  ``get_all_members()``. Since this could easily lead to name clashes, it has been
keep keep keep keep replace replace keep keep keep keep keep
 Expanded on the SMTPConnection deprecation notes, and made the deprecation a PendingDeprecationWarning as per the deprecation guidelines.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@11790 bcc190cf-cafb-0310-a4f2-bffc1f526a37 
docs/releases/1.2.txt