1. ==========================
    
  2. Django 1.8.8 release notes
    
  3. ==========================
    
  4. 
    
  5. *January 2, 2016*
    
  6. 
    
  7. Django 1.8.8 fixes several bugs in 1.8.7.
    
  8. 
    
  9. Python 3.2 users, please be advised that we've decided to drop support for
    
  10. Python 3.2 in Django 1.8.x at the end of 2016. We won't break things
    
  11. intentionally after that, but we won't test subsequent releases against Python
    
  12. 3.2 either. Upstream support for Python 3.2 ends February 2016 so we don't find
    
  13. much value in providing security updates for a version of Python that could be
    
  14. insecure. To read more about the decision and to let us know if this will be
    
  15. problematic for you, please read the `django-developers thread
    
  16. <https://groups.google.com/g/django-developers/c/eMu5UQpUdWs/discussion>`_.
    
  17. 
    
  18. Bugfixes
    
  19. ========
    
  20. 
    
  21. * Fixed incorrect ``unique_together`` field name generation by ``inspectdb``
    
  22.   (:ticket:`25274`).
    
  23. 
    
  24. * Corrected ``__len`` query lookup on ``ArrayField`` for empty arrays
    
  25.   (:ticket:`25772`).
    
  26. 
    
  27. * Restored the ability to use custom formats from ``formats.py`` with
    
  28.   ``django.utils.formats.get_format()`` and the ``date`` template filter
    
  29.   (:ticket:`25812`).
    
  30. 
    
  31. * Fixed a state bug when migrating a ``SeparateDatabaseAndState`` operation
    
  32.   backwards (:ticket:`25896`).
    
  33. 
    
  34. * Fixed missing ``varchar/text_pattern_ops`` index on ``CharField`` and
    
  35.   ``TextField`` respectively when using ``AlterField`` on PostgreSQL
    
  36.   (:ticket:`25412`).
    
  37. 
    
  38. * Fixed a state bug when using an ``AlterModelManagers`` operation
    
  39.   (:ticket:`25852`).
    
  40. 
    
  41. * Fixed a regression which prevented using a language not in Django's default
    
  42.   language list (:setting:`LANGUAGES`) (:ticket:`25915`).
    
  43. 
    
  44. * ``django.views.decorators.cache.never_cache()`` now sends more persuasive
    
  45.   headers (added ``no-cache, no-store, must-revalidate`` to ``Cache-Control``)
    
  46.   to better prevent caching (:ticket:`13008`). This fixes a problem where a
    
  47.   page refresh in Firefox cleared the selected entries in the admin's
    
  48.   ``filter_horizontal`` and ``filter_vertical`` widgets, which could result
    
  49.   in inadvertent data loss if a user didn't notice that and then submitted the
    
  50.   form (:ticket:`22955`).
    
  51. 
    
  52. * Fixed a regression in the admin which ignored line breaks in read-only fields
    
  53.   instead of converting them to ``<br>`` (:ticket:`25465`).
    
  54. 
    
  55. * Made ``loaddata`` skip disabling and enabling database constraints when it
    
  56.   doesn't load any fixtures (:ticket:`23372`).
    
  57. 
    
  58. * Fixed a crash in ``QuerySet.values()/values_list()`` after an ``annotate()``
    
  59.   and ``order_by()`` when ``values()/values_list()`` includes a field not in
    
  60.   the ``order_by()`` (:ticket:`25316`).