Django 2.2.1 release notes — Django documentation
From Get docs
Django/docs/3.2.x/releases/2.2.1
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 :djadmin:`dbshell` on Oracle (:ticket:`30307`).
- Added compatibility for
psycopg2
2.8 (:ticket:`30331`). - Fixed a regression in Django 2.2 that caused a crash when loading the template for the technical 500 debug page (:ticket:`30324`).
- Fixed crash of
ordering
argument in ArrayAgg and StringAgg when it contains an expression with params (:ticket:`30332`). - Fixed a regression in Django 2.2 that caused a single instance fast-delete to not set the primary key to
None
(:ticket:`30330`). - Prevented :djadmin:`makemigrations` from generating infinite migrations for check constraints and partial indexes when
condition
contains apython:range
object (:ticket:`30350`). - Reverted an optimization in Django 2.2 (:ticket:`29725`) that caused the inconsistent behavior of
count()
andexists()
on a reverse many-to-many relationship with a custom manager (:ticket:`30325`). - Fixed a regression in Django 2.2 where Paginator crashes if
object_list
is a queryset ordered or aggregated over a nestedJSONField
key transform (:ticket:`30335`). - Fixed a regression in Django 2.2 where
IntegerField
validation of database limits crashes iflimit_value
attribute in a custom validator is callable (:ticket:`30328`). - Fixed a regression in Django 2.2 where SearchVector generates SQL that is not indexable (:ticket:`30385`).
- Fixed a regression in Django 2.2 that caused an exception to be raised when a custom error handler could not be imported (:ticket:`30318`).
- 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 :setting:`INSTALLED_APPS` (:ticket:`30312`).
- Increased the default timeout when using
Watchman
to 5 seconds to prevent falling back toStatReloader
on larger projects and made it customizable via the DJANGO_WATCHMAN_TIMEOUT environment variable (:ticket:`30361`). - 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 (:ticket:`30351`).
- Fixed a regression in Django 2.2 that caused a crash of :djadmin:`runserver` when URLConf modules raised exceptions (:ticket:`30323`).
- Fixed a regression in Django 2.2 where changes were not reliably detected by auto-reloader when using
StatReloader
(:ticket:`30323`). - Fixed a migration crash on Oracle and PostgreSQL when adding a check constraint with a
contains
,startswith
, orendswith
lookup (or their case-insensitive variant) (:ticket:`30408`). - Fixed a migration crash on Oracle and SQLite when adding a check constraint with
condition
contains|
(OR
) operator (:ticket:`30412`).