=========================== Django 1.11.1 release notes =========================== *May 6, 2017* Django 1.11.1 adds a minor feature and fixes several bugs in 1.11. Allowed disabling server-side cursors on PostgreSQL =================================================== The change in Django 1.11 to make :meth:`.QuerySet.iterator()` use server-side cursors on PostgreSQL prevents running Django with `pgBouncer` in transaction pooling mode. To reallow that, use the :setting:`DISABLE_SERVER_SIDE_CURSORS <DATABASE-DISABLE_SERVER_SIDE_CURSORS>` setting in :setting:`DATABASES`. See :ref:`transaction-pooling-server-side-cursors` for more discussion. 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`). * Fixed change password link in the ``contrib.auth`` admin for ``el``, ``es_MX``, and ``pt`` translations (:ticket:`28100`). * 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`). * Fixed a regression in choice ordering in form fields with grouped and non-grouped options (:ticket:`28157`). * Fixed crash in ``BaseInlineFormSet._construct_form()`` when using ``save_as_new`` (:ticket:`28159`). * Fixed a regression where ``Model._state.db`` wasn't set correctly on multi-table inheritance parent models after saving a child model (:ticket:`28166`). * Corrected the return type of ``ArrayField(CITextField())`` values retrieved from the database (:ticket:`28161`). * Fixed ``QuerySet.prefetch_related()`` crash when fetching relations in nested ``Prefetch`` objects (:ticket:`27554`). * Prevented hiding GDAL errors if it's not installed when using ``contrib.gis`` (:ticket:`28160`). (It's a required dependency as of Django 1.11.) * Fixed a regression causing ``__in`` lookups on a foreign key to fail when using the foreign key's parent model as the lookup value (:ticket:`28175`).