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.
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.
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).
7月 02, 2025