django/docs/releases/1.9.1.txt

86 lines
3.1 KiB
Plaintext

==========================
Django 1.9.1 release notes
==========================
*January 2, 2016*
Django 1.9.1 fixes several bugs in 1.9.
Bugfixes
========
* Fixed ``BaseCache.get_or_set()`` with the ``DummyCache`` backend
(:ticket:`25840`).
* Fixed a regression in ``FormMixin`` causing forms to be validated twice
(:ticket:`25548`, :ticket:`26018`).
* Fixed a system check crash with nested ``ArrayField``\s (:ticket:`25867`).
* Fixed a state bug when migrating a ``SeparateDatabaseAndState`` operation
backwards (:ticket:`25896`).
* Fixed a regression in ``CommonMiddleware`` causing ``If-None-Match`` checks
to always return HTTP 200 (:ticket:`25900`).
* Fixed missing ``varchar/text_pattern_ops`` index on ``CharField`` and
``TextField`` respectively when using ``AlterField`` on PostgreSQL
(:ticket:`25412`).
* Fixed admin's delete confirmation page's summary counts of related objects
(:ticket:`25883`).
* Added ``from __future__ import unicode_literals`` to the default ``apps.py``
created by ``startapp`` on Python 2 (:ticket:`25909`). Add this line to your
own ``apps.py`` files created using Django 1.9 if you want your migrations
to work on both Python 2 and Python 3.
* Prevented ``QuerySet.delete()`` from crashing on MySQL when querying across
relations (:ticket`25882`).
* Fixed evaluation of zero-length slices of ``QuerySet.values()``
(:ticket:`25894`).
* Fixed a state bug when using an ``AlterModelManagers`` operation
(:ticket:`25852`).
* Fixed ``TypedChoiceField`` change detection with nullable fields
(:ticket:`25942`).
* Fixed incorrect timezone warnings in custom admin templates that don't have
a ``data-admin-utc-offset`` attribute in the ``body`` tag.
(:ticket:`25845`).
* Fixed a regression which prevented using a language not in Django's default
language list (:setting:`LANGUAGES`) (:ticket:`25915`).
* Avoided hiding some exceptions, like an invalid ``INSTALLED_APPS`` setting,
behind ``AppRegistryNotReady`` when starting ``runserver`` (:ticket:`25510`).
This regression appeared in 1.8.5 as a side effect of fixing :ticket:`24704`
and by mistake the fix wasn't applied to the ``stable/1.9.x`` branch.
* Fixed ``migrate --fake-initial`` detection of many-to-many tables
(:ticket:`25922`).
* Restored the functionality of the admin's ``list_editable`` add and change
buttons (:ticket:`25903`).
* Fixed ``isnull`` query lookup for ``ForeignObject``
(:ticket:`25972`).
* Fixed a regression in the admin which ignored line breaks in read-only fields
instead of converting them to ``<br>`` (:ticket:`25465`).
* Fixed incorrect object reference in
``SingleObjectMixin.get_context_object_name()`` (:ticket:`26006`).
* Made ``loaddata`` skip disabling and enabling database constraints when it
doesn't load any fixtures (:ticket:`23372`).
* Restored ``contrib.auth`` hashers compatibility with py-bcrypt
(:ticket:`26016`).
* Fixed a crash in ``QuerySet.values()/values_list()`` after an ``annotate()``
and ``order_by()`` when ``values()/values_list()`` includes a field not in
the ``order_by()`` (:ticket:`25316`).