This is the second in a series of preview/development releases leading
up to the eventual release of Django 1.2, currently scheduled to take
place in March 2010. This release is primarily targeted at developers
who are interested in trying out new features and testing the Django
codebase to help identify and resolve bugs prior to the final 1.2
release.

As such, this release is not intended for production use, and any
such use is discouraged.

This document covers changes since the Django 1.2 alpha release; the
1.2 alpha release notes cover new and
updated features in Django between 1.1 and 1.2 alpha.

This beta release deprecates two portions of public API, and
introduces a potentially backwards-incompatible change to
another. Under our API stability policy,
deprecation proceeds over multiple release cycles: initially, the
deprecated API will raise PendingDeprecationWarning, followed by
raising DeprecationWarning in the next release, and finally
removal of the deprecated API in the release after that. APIs
beginning the deprecation process in Django 1.2 will be removed in the
Django 1.4 release.

The django.contrib.syndication.feeds.Feed class is being
replaced by the django.contrib.syndication.views.Feed class.
The old feeds.Feed class is deprecated. The new class has an
almost identical API, but allows instances to be used as views.

Also, in accordance with RSS best practices, RSS feeds will now
include an atom:link element. You may need to update your tests to
take this into account.

Due to cookie-handling bugs in Internet Explorer, Safari, and possibly
other browsers, Django’s encoding of cookie values was changed so that
the characters comma (‘,’) and semi-colon (‘;’) are treated as
non-safe characters, and are therefore encoded as \054 and
\073 respectively. This could produce backwards incompatibilities
if you are relying on the ability to set these characters directly in
cookie values.

This 1.2 beta release marks the final feature freeze for Django 1.2;
while most feature development was completed for 1.2 alpha (which
constituted a freeze on major features), a few other new features were
added afterward and so are new as of 1.2 beta.

If you provide a custom authentication backend with the attribute
supports_anonymous_user set to True, the AnonymousUser
class will check the backend for permissions, just as the normal
User does. This is intended to help centralize permission
handling; apps can always delegate the question of whether something
is allowed or not to the authorization/authentication system. See the
authentication docs for more details.

The select_related() method of QuerySet now accepts the
related_name of a reverse one-to-one relation in the list of
fields to select. One-to-one relations will not, however, be traversed
by a depth-based select_related() call.

In order to provide a high-quality 1.2 release, we need your
help. Although this beta release is, again, not intended for
production use, you can help the Django team by trying out the beta
codebase in a safe test environment and reporting any bugs or issues
you encounter. The Django ticket tracker is the central place to
search for open issues:

Development sprints for Django 1.2 will also be taking place at PyCon
US 2010, on the dedicated sprint days (February 22 through 25), and
anyone who wants to help out is welcome to join in, either in person
at PyCon or virtually in the IRC channel or on the mailing list.