<commit_before>===========================
Django 1.11.2 release notes
===========================

*Under development*

Django 1.11.2 fixes several bugs in 1.11.1.

Bugfixes
========

* Added detection for GDAL 2.1 and 2.0, and removed detection for unsupported
  versions 1.7 and 1.8 (:ticket:`28181`).

* Changed ``contrib.gis`` to raise ``ImproperlyConfigured`` rather than
  ``GDALException`` if ``gdal`` isn't installed, to allow third-party apps to
  catch that exception (:ticket:`28178`).

* Fixed ``django.utils.http.is_safe_url()`` crash on invalid IPv6 URLs
  (:ticket:`28142`).

* Fixed regression causing pickling of model fields to crash (:ticket:`28188`).

* Fixed ``django.contrib.auth.authenticate()`` when multiple authentication
  backends don't accept a positional ``request`` argument (:ticket:`28207`).

* Fixed introspection of index field ordering on PostgreSQL (:ticket:`28197`).

* Fixed a regression where ``Model._state.adding`` wasn't set correctly on
  multi-table inheritance parent models after saving a child model
  (:ticket:`28210`).

* Allowed ``DjangoJSONEncoder`` to serialize
  ``django.utils.deprecation.CallableBool`` (:ticket:`28230`).

* Relaxed the validation added in Django 1.11 of the fields in the ``defaults``
  argument of ``QuerySet.get_or_create()`` and ``update_or_create()`` to
  reallow settable model properties (:ticket:`28222`).<commit_msg>Refs #28204 - Forwardported 1.11.2 release note.<commit_after>===========================
Django 1.11.2 release notes
===========================

*Under development*

Django 1.11.2 fixes several bugs in 1.11.1.

Bugfixes
========

* Added detection for GDAL 2.1 and 2.0, and removed detection for unsupported
  versions 1.7 and 1.8 (:ticket:`28181`).

* Changed ``contrib.gis`` to raise ``ImproperlyConfigured`` rather than
  ``GDALException`` if ``gdal`` isn't installed, to allow third-party apps to
  catch that exception (:ticket:`28178`).

* Fixed ``django.utils.http.is_safe_url()`` crash on invalid IPv6 URLs
  (:ticket:`28142`).

* Fixed regression causing pickling of model fields to crash (:ticket:`28188`).

* Fixed ``django.contrib.auth.authenticate()`` when multiple authentication
  backends don't accept a positional ``request`` argument (:ticket:`28207`).

* Fixed introspection of index field ordering on PostgreSQL (:ticket:`28197`).

* Fixed a regression where ``Model._state.adding`` wasn't set correctly on
  multi-table inheritance parent models after saving a child model
  (:ticket:`28210`).

* Allowed ``DjangoJSONEncoder`` to serialize
  ``django.utils.deprecation.CallableBool`` (:ticket:`28230`).

* Relaxed the validation added in Django 1.11 of the fields in the ``defaults``
  argument of ``QuerySet.get_or_create()`` and ``update_or_create()`` to
  reallow settable model properties (:ticket:`28222`).

* Fixed ``MultipleObjectMixin.paginate_queryset()`` crash on Python 2 if the
  ``InvalidPage`` message contains non-ASCII (:ticket:`28204`).
{'fraction_non_alphanumeric': 0.16369747899159665, 'fraction_numerical': 0.05142857142857143, 'mean_word_length': 5.318471337579618, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3591828', 'n_tokens_mistral': 1035, 'n_tokens_neox': 856, 'n_words': 301}