|
1 ========================== |
|
2 Django 1.1.2 release notes |
|
3 ========================== |
|
4 |
|
5 Welcome to Django 1.1.2! |
|
6 |
|
7 This is the second "bugfix" release in the Django 1.1 series, |
|
8 improving the stability and performance of the Django 1.1 codebase. |
|
9 |
|
10 Django 1.1.2 maintains backwards compatibility with Django |
|
11 1.1.0, but contain a number of fixes and other |
|
12 improvements. Django 1.1.2 is a recommended upgrade for any |
|
13 development or deployment currently using or targeting Django 1.1. |
|
14 |
|
15 For full details on the new features, backwards incompatibilities, and |
|
16 deprecated features in the 1.1 branch, see the :doc:`/releases/1.1`. |
|
17 |
|
18 Backwards-incompatible changes in 1.1.2 |
|
19 ======================================= |
|
20 |
|
21 Test runner exit status code |
|
22 ---------------------------- |
|
23 |
|
24 The exit status code of the test runners (``tests/runtests.py`` and ``python |
|
25 manage.py test``) no longer represents the number of failed tests, since a |
|
26 failure of 256 or more tests resulted in a wrong exit status code. The exit |
|
27 status code for the test runner is now 0 for success (no failing tests) and 1 |
|
28 for any number of test failures. If needed, the number of test failures can be |
|
29 found at the end of the test runner's output. |
|
30 |
|
31 Cookie encoding |
|
32 --------------- |
|
33 |
|
34 To fix bugs with cookies in Internet Explorer, Safari, and possibly other |
|
35 browsers, our encoding of cookie values was changed so that the characters |
|
36 comma and semi-colon are treated as non-safe characters, and are therefore |
|
37 encoded as ``\054`` and ``\073`` respectively. This could produce backwards |
|
38 incompatibilities, especially if you are storing comma or semi-colon in |
|
39 cookies and have javascript code that parses and manipulates cookie values |
|
40 client-side. |
|
41 |
|
42 One new feature |
|
43 =============== |
|
44 |
|
45 Ordinarily, a point release would not include new features, but in the |
|
46 case of Django 1.1.2, we have made an exception to this rule. Django |
|
47 1.2 (the next major release of Django) will contain a feature that |
|
48 will improve protection against Cross-Site Request Forgery (CSRF) |
|
49 attacks. This feature requires the use of a new :ttag:`csrf_token` |
|
50 template tag in all forms that Django renders. |
|
51 |
|
52 To make it easier to support both 1.1.X and 1.2.X versions of Django with |
|
53 the same templates, we have decided to introduce the :ttag:`csrf_token` template |
|
54 tag to the 1.1.X branch. In the 1.1.X branch, :ttag:`csrf_token` does nothing - |
|
55 it has no effect on templates or form processing. However, it means that the |
|
56 same template will work with Django 1.2. |