Django 1.11.2 release notes

June 1, 2017

Django 1.11.2 adds a minor feature and fixes several bugs in 1.11.1. Also, the latest string translations from Transifex are incorporated.

Minor feature

The new LiveServerTestCase.port attribute reallows the use case of binding to a specific port following the bind to port zero change in Django 1.11.

Bugfixes

  • Added detection for GDAL 2.1 and 2.0, and removed detection for unsupported versions 1.7 and 1.8 (#28181).
  • Changed contrib.gis to raise ImproperlyConfigured rather than GDALException if gdal isn’t installed, to allow third-party apps to catch that exception (#28178).
  • Fixed django.utils.http.is_safe_url() crash on invalid IPv6 URLs (#28142).
  • Fixed regression causing pickling of model fields to crash (#28188).
  • Fixed django.contrib.auth.authenticate() when multiple authentication backends don’t accept a positional request argument (#28207).
  • Fixed introspection of index field ordering on PostgreSQL (#28197).
  • Fixed a regression where Model._state.adding wasn’t set correctly on multi-table inheritance parent models after saving a child model (#28210).
  • Allowed DjangoJSONEncoder to serialize django.utils.deprecation.CallableBool (#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 (#28222).
  • Fixed MultipleObjectMixin.paginate_queryset() crash on Python 2 if the InvalidPage message contains non-ASCII (#28204).
  • Prevented Subquery from adding an unnecessary CAST which resulted in invalid SQL (#28199).
  • Corrected detection of GDAL 2.1 on Windows (#28181).
  • Made date-based generic views return a 404 rather than crash when given an out of range date (#28209).
  • Fixed a regression where file_move_safe() crashed when moving files to a CIFS mount (#28170).
  • Moved the ImageField file extension validation added in Django 1.11 from the model field to the form field to reallow the use case of storing images without an extension (#28242).