{"title":"Django 1.8.8 release notes","version":"dev","locale":"en","docname":"releases/1.8.8","url":"/en/dev/releases/1.8.8/","canonical":"https://djangodocs.dev/en/dev/releases/1.8.8/","summary":"Django 1.8.8 fixes several bugs in 1.8.7. Python 3.2 users, please be advised that we’ve decided to drop support for Python 3.2 in Django 1.8.x at the end…","html":"<h1>Django 1.8.8 release notes<a class=\"heading-anchor\" href=\"#django-1-8-8-release-notes\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p><em>January 2, 2016</em></p>\n<p>Django 1.8.8 fixes several bugs in 1.8.7.</p>\n<p>Python 3.2 users, please be advised that we’ve decided to drop support for\nPython 3.2 in Django 1.8.x at the end of 2016. We won’t break things\nintentionally after that, but we won’t test subsequent releases against Python\n3.2 either. Upstream support for Python 3.2 ends February 2016 so we don’t find\nmuch value in providing security updates for a version of Python that could be\ninsecure. To read more about the decision and to let us know if this will be\nproblematic for you, please read the <a class=\"reference external\" href=\"https://groups.google.com/g/django-developers/c/eMu5UQpUdWs/discussion\">django-developers thread</a>.</p>\n<section id=\"bugfixes\">\n<h2>Bugfixes<a class=\"heading-anchor\" href=\"#bugfixes\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<ul class=\"simple\">\n<li><p>Fixed incorrect <code class=\"docutils literal notranslate\">unique_together</code> field name generation by <code class=\"docutils literal notranslate\">inspectdb</code>\n(<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/25274\">#25274</a>).</p></li>\n<li><p>Corrected <code class=\"docutils literal notranslate\">__len</code> query lookup on <code class=\"docutils literal notranslate\">ArrayField</code> for empty arrays\n(<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/25772\">#25772</a>).</p></li>\n<li><p>Restored the ability to use custom formats from <code class=\"docutils literal notranslate\">formats.py</code> with\n<code class=\"docutils literal notranslate\">django.utils.formats.get_format()</code> and the <code class=\"docutils literal notranslate\">date</code> template filter\n(<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/25812\">#25812</a>).</p></li>\n<li><p>Fixed a state bug when migrating a <code class=\"docutils literal notranslate\">SeparateDatabaseAndState</code> operation\nbackwards (<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/25896\">#25896</a>).</p></li>\n<li><p>Fixed missing <code class=\"docutils literal notranslate\">varchar/text_pattern_ops</code> index on <code class=\"docutils literal notranslate\">CharField</code> and\n<code class=\"docutils literal notranslate\">TextField</code> respectively when using <code class=\"docutils literal notranslate\">AlterField</code> on PostgreSQL\n(<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/25412\">#25412</a>).</p></li>\n<li><p>Fixed a state bug when using an <code class=\"docutils literal notranslate\">AlterModelManagers</code> operation\n(<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/25852\">#25852</a>).</p></li>\n<li><p>Fixed a regression which prevented using a language not in Django’s default\nlanguage list (<a class=\"reference internal\" href=\"/en/dev/ref/settings/#std-setting-LANGUAGES\"><code class=\"xref std std-setting docutils literal notranslate\">LANGUAGES</code></a>) (<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/25915\">#25915</a>).</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.views.decorators.cache.never_cache()</code> now sends more persuasive\nheaders (added <code class=\"docutils literal notranslate\">no-cache, no-store, must-revalidate</code> to <code class=\"docutils literal notranslate\">Cache-Control</code>)\nto better prevent caching (<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/13008\">#13008</a>). This fixes a problem where a\npage refresh in Firefox cleared the selected entries in the admin’s\n<code class=\"docutils literal notranslate\">filter_horizontal</code> and <code class=\"docutils literal notranslate\">filter_vertical</code> widgets, which could result\nin inadvertent data loss if a user didn’t notice that and then submitted the\nform (<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/22955\">#22955</a>).</p></li>\n<li><p>Fixed a regression in the admin which ignored line breaks in read-only fields\ninstead of converting them to <code class=\"docutils literal notranslate\">&lt;br&gt;</code> (<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/25465\">#25465</a>).</p></li>\n<li><p>Made <code class=\"docutils literal notranslate\">loaddata</code> skip disabling and enabling database constraints when it\ndoesn’t load any fixtures (<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/23372\">#23372</a>).</p></li>\n<li><p>Fixed a crash in <code class=\"docutils literal notranslate\">QuerySet.values()/values_list()</code> after an <code class=\"docutils literal notranslate\">annotate()</code>\nand <code class=\"docutils literal notranslate\">order_by()</code> when <code class=\"docutils literal notranslate\">values()/values_list()</code> includes a field not in\nthe <code class=\"docutils literal notranslate\">order_by()</code> (<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/25316\">#25316</a>).</p></li>\n</ul>\n</section>","rootId":"django-1-8-8-release-notes","toc":[{"title":"Bugfixes","anchor":"bugfixes","children":[]}],"breadcrumbs":[{"docname":"releases/index","title":"Release notes","url":"/en/dev/releases/"}],"prev":{"docname":"releases/1.8.9","title":"Django 1.8.9 release notes","url":"/en/dev/releases/1.8.9/"},"next":{"docname":"releases/1.8.7","title":"Django 1.8.7 release notes","url":"/en/dev/releases/1.8.7/"},"formats":{"html":"/en/dev/releases/1.8.8/","markdown":"/en/dev/releases/1.8.8.md","json":"/en/dev/releases/1.8.8.json"},"source":"https://github.com/django/django/blob/main/docs/releases/1.8.8.txt","official":"https://docs.djangoproject.com/en/dev/releases/1.8.8/","inVersions":["dev","6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9","1.8"],"inLocales":["en"]}