parts/django/docs/releases/1.2-beta-1.txt
changeset 69 c6bca38c1cbf
equal deleted inserted replaced
68:5ff1fc726848 69:c6bca38c1cbf
       
     1 ===============================
       
     2 Django 1.2 beta 1 release notes
       
     3 ===============================
       
     4 
       
     5 February 5, 2010
       
     6 
       
     7 Welcome to Django 1.2 beta 1!
       
     8 
       
     9 This is the second in a series of preview/development releases leading
       
    10 up to the eventual release of Django 1.2, currently scheduled to take
       
    11 place in March 2010. This release is primarily targeted at developers
       
    12 who are interested in trying out new features and testing the Django
       
    13 codebase to help identify and resolve bugs prior to the final 1.2
       
    14 release.
       
    15 
       
    16 As such, this release is *not* intended for production use, and any
       
    17 such use is discouraged.
       
    18 
       
    19 This document covers changes since the Django 1.2 alpha release; the
       
    20 :doc:`1.2 alpha release notes </releases/1.2-alpha-1>` cover new and
       
    21 updated features in Django between 1.1 and 1.2 alpha.
       
    22 
       
    23 
       
    24 Deprecations and other changes in 1.2 beta
       
    25 ==========================================
       
    26 
       
    27 This beta release deprecates two portions of public API, and
       
    28 introduces a potentially backwards-incompatible change to
       
    29 another. Under :doc:`our API stability policy </misc/api-stability>`,
       
    30 deprecation proceeds over multiple release cycles: initially, the
       
    31 deprecated API will raise ``PendingDeprecationWarning``, followed by
       
    32 raising ``DeprecationWarning`` in the next release, and finally
       
    33 removal of the deprecated API in the release after that. APIs
       
    34 beginning the deprecation process in Django 1.2 will be removed in the
       
    35 Django 1.4 release.
       
    36 
       
    37 
       
    38 Unit test runners
       
    39 -----------------
       
    40 
       
    41 Django 1.2 changes the test runner tools to use a class-based
       
    42 approach. Old style function-based test runners will still work, but
       
    43 should be updated to use the new :ref:`class-based runners
       
    44 <topics-testing-test_runner>`.
       
    45 
       
    46 
       
    47 Syndication feeds
       
    48 -----------------
       
    49 
       
    50 The :class:`django.contrib.syndication.feeds.Feed` class is being
       
    51 replaced by the :class:`django.contrib.syndication.views.Feed` class.
       
    52 The old ``feeds.Feed`` class is deprecated. The new class has an
       
    53 almost identical API, but allows instances to be used as views.
       
    54 
       
    55 Also, in accordance with `RSS best practices`_, RSS feeds will now
       
    56 include an ``atom:link`` element. You may need to update your tests to
       
    57 take this into account.
       
    58 
       
    59 For more information, see the full :doc:`syndication framework
       
    60 documentation </ref/contrib/syndication>`.
       
    61 
       
    62 .. _RSS best practices: http://www.rssboard.org/rss-profile
       
    63 
       
    64 
       
    65 Cookie encoding
       
    66 ---------------
       
    67 
       
    68 Due to cookie-handling bugs in Internet Explorer, Safari, and possibly
       
    69 other browsers, Django's encoding of cookie values was changed so that
       
    70 the characters comma (',') and semi-colon (';') are treated as
       
    71 non-safe characters, and are therefore encoded as ``\054`` and
       
    72 ``\073`` respectively. This could produce backwards incompatibilities
       
    73 if you are relying on the ability to set these characters directly in
       
    74 cookie values.
       
    75 
       
    76 
       
    77 What's new in 1.2 beta
       
    78 ======================
       
    79 
       
    80 This 1.2 beta release marks the final feature freeze for Django 1.2;
       
    81 while most feature development was completed for 1.2 alpha (which
       
    82 constituted a freeze on major features), a few other new features were
       
    83 added afterward and so are new as of 1.2 beta.
       
    84 
       
    85 
       
    86 Object-level permissions
       
    87 ------------------------
       
    88 
       
    89 A foundation for specifying permissions at the per-object level was
       
    90 added in Django 1.2 alpha but not documented with the alpha release.
       
    91 
       
    92 The default authentication backends shipped with Django do not
       
    93 currently make use of this, but third-party authentication backends
       
    94 are free to do so. See the :doc:`authentication docs </topics/auth>`
       
    95 for more information.
       
    96 
       
    97 
       
    98 Permissions for anonymous users
       
    99 -------------------------------
       
   100 
       
   101 If you provide a custom authentication backend with the attribute
       
   102 ``supports_anonymous_user`` set to ``True``, the ``AnonymousUser``
       
   103 class will check the backend for permissions, just as the normal
       
   104 ``User`` does. This is intended to help centralize permission
       
   105 handling; apps can always delegate the question of whether something
       
   106 is allowed or not to the authorization/authentication system. See the
       
   107 :doc:`authentication docs </topics/auth>` for more details.
       
   108 
       
   109 
       
   110 ``select_related()`` improvements
       
   111 ---------------------------------
       
   112 
       
   113 The ``select_related()`` method of ``QuerySet`` now accepts the
       
   114 ``related_name`` of a reverse one-to-one relation in the list of
       
   115 fields to select. One-to-one relations will not, however, be traversed
       
   116 by a depth-based ``select_related()`` call.
       
   117 
       
   118 
       
   119 The Django 1.2 roadmap
       
   120 ======================
       
   121 
       
   122 Before the final Django 1.2 release, at least one additional
       
   123 preview/development releases will be made available. The current
       
   124 schedule consists of at least the following:
       
   125 
       
   126 * Week of **March 2, 2010**: First Django 1.2 release
       
   127   candidate. String freeze for translations.
       
   128 
       
   129 * Week of **March 9, 2010**: Django 1.2 final release.
       
   130 
       
   131 If necessary, additional beta or release-candidate packages will be
       
   132 issued prior to the final 1.2 release. Django 1.2 will be released
       
   133 approximately one week after the final release candidate.
       
   134 
       
   135 
       
   136 What you can do to help
       
   137 =======================
       
   138 
       
   139 In order to provide a high-quality 1.2 release, we need your
       
   140 help. Although this beta release is, again, *not* intended for
       
   141 production use, you can help the Django team by trying out the beta
       
   142 codebase in a safe test environment and reporting any bugs or issues
       
   143 you encounter. The Django ticket tracker is the central place to
       
   144 search for open issues:
       
   145 
       
   146     * http://code.djangoproject.com/timeline
       
   147 
       
   148 Please open new tickets if no existing ticket corresponds to a problem
       
   149 you're running into.
       
   150 
       
   151 Additionally, discussion of Django development, including progress
       
   152 toward the 1.2 release, takes place daily on the django-developers
       
   153 mailing list:
       
   154 
       
   155     * http://groups.google.com/group/django-developers
       
   156 
       
   157 ... and in the ``#django-dev`` IRC channel on ``irc.freenode.net``. If you're
       
   158 interested in helping out with Django's development, feel free to join the
       
   159 discussions there.
       
   160 
       
   161 Django's online documentation also includes pointers on how to
       
   162 contribute to Django:
       
   163 
       
   164     * :doc:`How to contribute to Django </internals/contributing>`
       
   165 
       
   166 Contributions on any level -- developing code, writing documentation
       
   167 or simply triaging tickets and helping to test proposed bugfixes --
       
   168 are always welcome and appreciated.
       
   169 
       
   170 Development sprints for Django 1.2 will also be taking place at PyCon
       
   171 US 2010, on the dedicated sprint days (February 22 through 25), and
       
   172 anyone who wants to help out is welcome to join in, either in person
       
   173 at PyCon or virtually in the IRC channel or on the mailing list.