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.