January 2, 2016
Django 1.9.1 fixes several bugs in 1.9.
BaseCache.get_or_set() with the DummyCache backend
(#%s25840).FormMixin causing forms to be validated twice
(#%s25548, #%s26018).ArrayFields (#%s25867).SeparateDatabaseAndState operation
backwards (#%s25896).CommonMiddleware causing If-None-Match checks
to always return HTTP 200 (#%s25900).varchar/text_pattern_ops index on CharField and
TextField respectively when using AlterField on PostgreSQL
(#%s25412).from __future__ import unicode_literals to the default apps.py
created by startapp on Python 2 (#%s25909). 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.QuerySet.delete() from crashing on MySQL when querying across
relations (#%s25882).QuerySet.values()
(#%s25894).AlterModelManagers operation
(#%s25852).TypedChoiceField change detection with nullable fields
(#%s25942).data-admin-utc-offset attribute in the body tag.
(#%s25845).LANGUAGES) (#%s25915).INSTALLED_APPS setting,
behind AppRegistryNotReady when starting runserver (#%s25510).
This regression appeared in 1.8.5 as a side effect of fixing #%s24704
and by mistake the fix wasn’t applied to the stable/1.9.x branch.migrate --fake-initial detection of many-to-many tables
(#%s25922).list_editable add and change
buttons (#%s25903).isnull query lookup for ForeignObject
(#%s25972).<br> (#%s25465).SingleObjectMixin.get_context_object_name() (#%s26006).loaddata skip disabling and enabling database constraints when it
doesn’t load any fixtures (#%s23372).contrib.auth hashers compatibility with py-bcrypt
(#%s26016).QuerySet.values()/values_list() after an annotate()
and order_by() when values()/values_list() includes a field not in
the order_by() (#%s25316).Sep 26, 2023