1. ==========================
    
  2. Django 1.5.5 release notes
    
  3. ==========================
    
  4. 
    
  5. *October 23, 2013*
    
  6. 
    
  7. Django 1.5.5 fixes a couple security-related bugs and several other bugs in the
    
  8. 1.5 series.
    
  9. 
    
  10. Readdressed denial-of-service via password hashers
    
  11. ==================================================
    
  12. 
    
  13. Django 1.5.4 imposes a 4096-byte limit on passwords in order to mitigate a
    
  14. denial-of-service attack through submission of bogus but extremely large
    
  15. passwords. In Django 1.5.5, we've reverted this change and instead improved
    
  16. the speed of our PBKDF2 algorithm by not rehashing the key on every iteration.
    
  17. 
    
  18. Properly rotate CSRF token on login
    
  19. ===================================
    
  20. 
    
  21. This behavior introduced as a security hardening measure in Django 1.5.2 did
    
  22. not work properly and is now fixed.
    
  23. 
    
  24. Bugfixes
    
  25. ========
    
  26. 
    
  27. * Fixed a data corruption bug with ``datetime_safe.datetime.combine`` (#21256).
    
  28. * Fixed a Python 3 incompatibility in ``django.utils.text.unescape_entities()``
    
  29.   (#21185).
    
  30. * Fixed a couple data corruption issues with ``QuerySet`` edge cases under
    
  31.   Oracle and MySQL (#21203, #21126).
    
  32. * Fixed crashes when using combinations of ``annotate()``,
    
  33.   ``select_related()``, and ``only()`` (#16436).
    
  34. 
    
  35. Backwards incompatible changes
    
  36. ==============================
    
  37. 
    
  38. * The undocumented ``django.core.servers.basehttp.WSGIServerException`` has
    
  39.   been removed. Use ``socket.error`` provided by the standard library instead.