Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Reorganize the beta release notes a bit and trim down the section on …

…feeds.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@12390 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit f30f1514f3847db6e61c4ae083e599bb21456428 1 parent 2638c90
@ubernostrum ubernostrum authored
Showing with 44 additions and 90 deletions.
  1. +44 −90 docs/releases/1.2-beta-1.txt
View
134 docs/releases/1.2-beta-1.txt
@@ -23,23 +23,21 @@ This document covers changes since the Django 1.2 alpha release; the
updated features in Django between 1.1 and 1.2 alpha.
-What's new in 1.2 beta
-======================
+Deprecations and other changes in 1.2 beta
+==========================================
-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.
+This beta release deprecates one portion of public API, and introduces
+a potentially backwards-incompatible change to another. Under `our API
+stability policy <misc-api-stability>`, deprecation proceeds over
+multiple release cycles: initially, the deprecated API will raise
+``PendingDeprecationWarning``, followed by raising
+``DeprecationWarning`` in the following release, and finally removal
+of the deprecated API. APIs beginning the deprecation process in
+Django 1.2 will be removed in the Django 1.4 release.
-Additionally, some existing APIs have been deprecated; under `our API
-stability policy <misc-api-stability>`, these APIs will continue to
-work for now, but will raise ``PendingDeprecationWarning`` in Django
-1.2 and ``DeprecationWarning`` in Django 1.3, before being removed in
-Django 1.4.
-
-Class-based test runners
-------------------------
+Unit test runners
+-----------------
Django 1.2 changes the test runner tools to use a class-based
approach. Old style function-based test runners will still work, but
@@ -47,79 +45,17 @@ should be updated to use the new :ref:`class-based runners
<topics-testing-test_runner>`.
-``Feed`` in ``django.contrib.syndication.feeds``
-------------------------------------------------
+Syndication feeds
+-----------------
The :class:`django.contrib.syndication.feeds.Feed` class is being
replaced by the :class:`django.contrib.syndication.views.Feed` class.
-The old ``feeds.Feed`` class is deprecated, and will be removed in
-Django 1.4.
-
-The new class has an almost identical API, but allows instances to be
-used as views. For example, consider the use of the old framework in
-the following :ref:`URLconf <topics-http-urls>`::
-
- from django.conf.urls.defaults import *
- from myproject.feeds import LatestEntries, LatestEntriesByCategory
-
- feeds = {
- 'latest': LatestEntries,
- 'categories': LatestEntriesByCategory,
- }
-
- urlpatterns = patterns('',
- # ...
- (r'^feeds/(?P<url>.*)/$', 'django.contrib.syndication.views.feed',
- {'feed_dict': feeds}),
- # ...
- )
-
-Using the new Feed class, these feeds can be deployed directly as views::
-
- from django.conf.urls.defaults import *
- from myproject.feeds import LatestEntries, LatestEntriesByCategory
-
- urlpatterns = patterns('',
- # ...
- (r'^feeds/latest/$', LatestEntries()),
- (r'^feeds/categories/(?P<category_id>\d+)/$', LatestEntriesByCategory()),
- # ...
- )
-
-If you currently use the ``feed()`` view, the ``LatestEntries`` class
-would not need to be modified apart from subclassing the new
-:class:`~django.contrib.syndication.views.Feed` class.
-
-However, ``LatestEntriesByCategory`` uses the ``get_object()`` method
-with the ``bits`` argument to specify a specific category to show. In
-the new :class:`~django.contrib.syndication.views.Feed` class,
-``get_object()`` method takes a ``request`` and arguments from the
-URL, so it would look like this::
-
- from django.contrib.syndication.views import Feed
- from django.shortcuts import get_object_or_404
- from myproject.models import Category
-
- class LatestEntriesByCategory(Feed):
- def get_object(self, request, category_id):
- return get_object_or_404(Category, id=category_id)
-
- # ...
-
-Additionally, the ``get_feed()`` method on ``Feed`` classes now take
-different arguments, which may impact you if you use the ``Feed``
-classes directly. Instead of just taking an optional ``url`` argument,
-it now takes two arguments: the object returned by its own
-``get_object()`` method, and the current ``request`` object.
-
-To take into account ``Feed`` classes not being initialized for each
-request, the ``__init__()`` method now takes no arguments by default.
-Previously it would have taken the ``slug`` from the URL and the
-``request`` object.
-
-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.
+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.
For more information, see the full :ref:`syndication framework
documentation <ref-contrib-syndication>`.
@@ -131,12 +67,21 @@ Cookie encoding
---------------
Due to cookie-handling bugs in Internet Explorer, Safari, and possibly
-other browsers, our 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.
+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.
+
+
+What's new in 1.2 beta
+======================
+
+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.
Object-level permissions
@@ -163,6 +108,15 @@ is allowed or not to the authorization/authentication system. See the
:ref:`authentication docs <topics-auth>` for more details.
+``select_related()`` improvements
+---------------------------------
+
+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.
+
+
The Django 1.2 roadmap
======================

0 comments on commit f30f151

Please sign in to comment.
Something went wrong with that request. Please try again.