Fixed a compatability issue with Django 3.1 that prevented users from resetting their password. (#394)
There are two main changes in this release: the removal of Python 2.7 support
and the resolution of the longstanding performance issues introduced by the
Submission model. On top of this, there is the usual bump in
requirements, a significant amount of fixes to the documentation for the
REST API, and the squashing of all migrations introduced in versions up to
and including v2.2.0.
Django 3.0 is now supported.
Django 3.1 is now supported.
Django REST Framework 3.12 is now supported.
Python 3.9 is now supported.
Django 1.11, 2.0 and 2.1 are no longer supported. These are no longer supported upstream and most distributions provide a newer version.
djangorestframework 3.6, 3.7, 3.8 and 3.9 are no longer supported. These were only used with Django 1.11 to 2.1 and are not compatible with any version now supported by Patchwork.
django-filter 1.1.0 is no longer supported. This was only used with Django 1.11 and is not compatible with any version now supported by Patchwork.
Python 2.7 and 3.5 are no longer supported. These are no longer supported upstream and most distributions provide a newer version.
An issue that preventing updating bundles via the REST API without updating the included patches has been resolved. (#357)
The parser module now uses an atomic select-insert when creating new patch, cover letter and comment entries. This prevents the integrity errors from being logged in the DB logs. (#358)
Resolve a bug that would prevent listing patches for a project via the browseable API view when logged in with admin permissions (issue #379)
Previously, it was possible to create a project with a
linknamecontaining invalid URL characters. This would result in broken URLs. We now validate this field and restrict characters to unicode slugs (unicode letters, numbers, underscores and hyphens).
The REST API now supports filtering patches and cover letters by message ID, using the
msgidquery parameter. Don’t include leading or trailing angle brackets.