- Language: en
- Documentation version: development
Django 2.2 release notes - UNDER DEVELOPMENT¶
Expected April 2019
Welcome to Django 2.2!
These release notes cover the new features, as well as some backwards incompatible changes you’ll want to be aware of when upgrading from Django 2.1 or earlier. We’ve begun the deprecation process for some features.
See the Upgrading Django to a newer version guide if you’re updating an existing project.
Django 2.2 is designated as a long-term support release. It will receive security updates for at least three years after its release. Support for the previous LTS, Django 1.11, will end in April 2020.
Django 2.2 supports Python 3.5, 3.6, and 3.7. We highly recommend and only officially support the latest release of each series.
What’s new in Django 2.2¶
- Added path matching to the
collectstatic --ignoreoption so that patterns like
/vendor/*.jscan be used.
- The new
migrate --planoption prints the list of migration operations that will be performed.
Requests and Responses¶
Backwards incompatible changes in 2.2¶
Database backend API¶
- Third-party database backends must implement support for table check
constraints or set
- Third party database backends must implement support for ignoring
constraints or uniqueness errors while inserting or set
- On SQLite,
PositiveSmallIntegerFieldnow include a check constraint to prevent negative values in the database. If you have existing invalid data and run a migration that recreates a table, you’ll see
CHECK constraint failed.
- For consistency with WSGI servers, the test client now sets the
Content-Lengthheader to a string rather than an integer.
- The return value of
django.utils.text.slugify()is no longer marked as HTML safe.