===========================
Django 1.11.1 release notes
===========================

*Under development*

Django 1.11.1 fixes several bugs in 1.11.

Bugfixes
========

* Made migrations respect ``Index``’s ``name`` argument. If you created a
  named index with Django 1.11, ``makemigrations`` will create a migration to
  recreate the index with the correct name (:ticket:`28051`).

* Fixed a crash when using a ``__icontains`` lookup on a ``ArrayField``
  (:ticket:`28038`).

* Fixed a crash when using a two-tuple in ``EmailMessage``’s ``attachments``
  argument (:ticket:`28042`).

* Fixed ``QuerySet.filter()`` crash when it references the name of a
  ``OneToOneField`` primary key (:ticket:`28047`).

* Fixed empty POST data table appearing instead of "No POST data" in HTML debug
  page (:ticket:`28079`).

* Restored ``BoundField``\s without any ``choices`` evaluating to ``True``
  (:ticket:`28058`).

* Prevented ``SessionBase.cycle_key()`` from losing session data if
  ``_session_cache`` isn't populated (:ticket:`28066`).

* Fixed layout of ``ReadOnlyPasswordHashWidget`` (used in the admin's user
  change page) (:ticket:`28097`).

* Allowed prefetch calls on managers with custom ``ModelIterable`` subclasses
  (:ticket:`28096`).

* Restored the output of the ``class`` attribute in the ``<ul>`` of widgets
  that use the ``multiple_input.html`` template. This fixes
  ``ModelAdmin.radio_fields`` with ``admin.HORIZONTAL`` (:ticket:`28059`).

* Fixed crash in ``BaseGeometryWidget.subwidgets()`` (:ticket:`28039`).

* Fixed exception reraising in ORM query execution when ``cursor.execute()``
  fails and the subsequent ``cursor.close()`` also fails (:ticket:`28091`).

* Fixed a regression where ``CheckboxSelectMultiple``, ``NullBooleanSelect``,
  ``RadioSelect``, ``SelectMultiple``, and ``Select`` localized option values
  (:ticket:`28075`).

* Corrected the stack level of unordered queryset pagination warnings
  (:ticket:`28109`).

* Fixed a regression causing incorrect queries for ``__in`` subquery lookups
  when models use ``ForeignKey.to_field`` (:ticket:`28101`).

* Fixed crash when overriding the template of
  ``django.views.static.directory_index()`` (:ticket:`28122`).

* Fixed a regression in formset ``min_num`` validation with unchanged forms
  that have initial data (:ticket:`28130`).

* Prepared for ``cx_Oracle`` 6.0 support (:ticket:`28138`).

* Updated the ``contrib.postgres`` ``SplitArrayWidget`` to use template-based
  widget rendering (:ticket:`28040`).

* Fixed crash in ``BaseGeometryWidget.get_context()`` when overriding existing
  ``attrs`` (:ticket:`28105`).

* Prevented ``AddIndex`` and ``RemoveIndex`` from mutating model state
  (:ticket:`28043`).

* Prevented migrations from dropping database indexes from ``Meta.indexes``
  when changing ``Field.db_index`` to ``False`` (:ticket:`28052`).
