Django 3.1 Released, with support for asynchronous features
August 4, the developers behind the Python-based web framework “Django” released the latest version “Django 3.1”.
Django is a web application framework written in Python. It offers features like user authentication, content management, sitemap, RSS feeds, and more. It is designed to help developers create apps quickly.
Django 3.1 is the first point release of the v3 series, which came out in December 2019. It supports Python 3.6/3.7/3.8.
Django now supports a fully asynchronous request path, including asynchronous view, middleware, and tests and test client. Async and sync features can be mixed.
Django’s ORM, cache layer, and the likes do not yet support async access. These are to be supported in the upcoming releases.
Django now includes models.JSONField and forms.JSONField. Both fields support the use of custom JSON encoders and decoders and can be used on all supported database backends.
The default for hashing algorithm can be set to ‘sha1’ or ‘she 256’, which is used for encoding cookies, password reset tokens, user sessions, and signatures created by django.core.signing.Signer and django.core.signing.dumps().
This release adds the new DEFAULT_HASHING_ALGORITHM. As support for sha256 was added in Django 3.1, users can configure settings when upgrading. As a side note, sha1 will be removed in the next release (Django 4.0).
There are many other small improvements added to this release.