Django 2.2.1 release notes
May 1, 2019
Django 2.2.1 fixes several bugs in 2.2.
Bugfixes
- Fixed a regression in Django 2.1 that caused the incorrect quoting of
database user password when using
dbshell
on Oracle
(#%s30307).
- Added compatibility for
psycopg2
2.8 (#%s30331).
- Fixed a regression in Django 2.2 that caused a crash when loading the
template for the technical 500 debug page (#%s30324).
- Fixed crash of
ordering
argument in
ArrayAgg
and
StringAgg
when it contains an
expression with params (#%s30332).
- Fixed a regression in Django 2.2 that caused a single instance fast-delete
to not set the primary key to
None
(#%s30330).
- Prevented
makemigrations
from generating infinite migrations for
check constraints and partial indexes when condition
contains
a range
object (#%s30350).
- Reverted an optimization in Django 2.2 (#%s29725) that caused the
inconsistent behavior of
count()
and exists()
on a reverse
many-to-many relationship with a custom manager (#%s30325).
- Fixed a regression in Django 2.2 where
Paginator
crashes if object_list
is
a queryset ordered or aggregated over a nested JSONField
key transform
(#%s30335).
- Fixed a regression in Django 2.2 where
IntegerField
validation of
database limits crashes if limit_value
attribute in a custom validator is
callable (#%s30328).
- Fixed a regression in Django 2.2 where
SearchVector
generates SQL that is
not indexable (#%s30385).
- Fixed a regression in Django 2.2 that caused an exception to be raised when
a custom error handler could not be imported (#%s30318).
- Relaxed the system check added in Django 2.2 for the admin app’s dependencies
to reallow use of
SessionMiddleware
subclasses,
rather than requiring django.contrib.sessions
to be in
INSTALLED_APPS
(#%s30312).
- Increased the default timeout when using
Watchman
to 5 seconds to prevent
falling back to StatReloader
on larger projects and made it customizable
via the DJANGO_WATCHMAN_TIMEOUT
environment variable
(#%s30361).
- Fixed a regression in Django 2.2 that caused a crash when migrating
permissions for proxy models if the target permissions already existed. For
example, when a permission had been created manually or a model had been
migrated from concrete to proxy (#%s30351).
- Fixed a regression in Django 2.2 that caused a crash of
runserver
when URLConf modules raised exceptions (#%s30323).
- Fixed a regression in Django 2.2 where changes were not reliably detected by
auto-reloader when using
StatReloader
(#%s30323).
- Fixed a migration crash on Oracle and PostgreSQL when adding a check
constraint with a
contains
, startswith
, or endswith
lookup (or
their case-insensitive variant) (#%s30408).
- Fixed a migration crash on Oracle and SQLite when adding a check constraint
with
condition
contains |
(OR
) operator (#%s30412).