Django 1.9.1 release notes

    Django 1.9.1 fixes several bugs in 1.9.

    • Fixed with the DummyCache backend ().
    • Fixed a regression in FormMixin causing forms to be validated twice (#25548, ).
    • Fixed a system check crash with nested ArrayFields (#25867).
    • Fixed a state bug when migrating a SeparateDatabaseAndState operation backwards ().
    • Fixed a regression in CommonMiddleware causing If-None-Match checks to always return HTTP 200 (#25900).
    • Fixed missing varchar/text_pattern_ops index on CharField and TextField respectively when using AlterField on PostgreSQL ().
    • Added from __future__ import unicode_literals to the default apps.py created by on Python 2 (#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 ().
    • Fixed evaluation of zero-length slices of QuerySet.values() (#25894).
    • Fixed a state bug when using an AlterModelManagers operation ().
    • Fixed TypedChoiceField change detection with nullable fields (#25942).
    • Fixed incorrect timezone warnings in custom admin templates that don’t have a data-admin-utc-offset attribute in the body tag. ().
    • Fixed a regression which prevented using a language not in Django’s default language list (LANGUAGES) ().
    • Fixed detection of many-to-many tables (#25922).
    • Restored the functionality of the admin’s list_editable add and change buttons ().
    • Fixed isnull query lookup for ForeignObject (#25972).
    • Fixed a regression in the admin which ignored line breaks in read-only fields instead of converting them to <br> ().
    • Fixed incorrect object reference in SingleObjectMixin.get_context_object_name() (#26006).
    • Made loaddata skip disabling and enabling database constraints when it doesn’t load any fixtures ().
    • Restored contrib.auth hashers compatibility with py-bcrypt (#26016).