]> git.ipfire.org Git - thirdparty/patchwork.git/commitdiff
requirements: Bump Django to 5.x.x, django-filter to 23.5.0
authorStephen Finucane <stephen@that.guru>
Tue, 16 Jan 2024 18:50:50 +0000 (18:50 +0000)
committerStephen Finucane <stephen@that.guru>
Tue, 16 Jan 2024 21:58:30 +0000 (21:58 +0000)
One issue to address, which is caused by changes in Django commit
500e01073ad [1].

We also drop support for Django 3.2, which goes EOL in April 2024, and
Django 4.1, which already went EOL in December 2023.

[1] https://github.com/django/django/commit/500e01073ad

Signed-off-by: Stephen Finucane <stephen@that.guru>
patchwork/forms.py
releasenotes/notes/django-5-0-support-923e45ec2dc93117.yaml [new file with mode: 0644]
requirements-dev.txt
requirements-prod.txt
requirements-test.txt
tox.ini

index e7d1ad2770d0799323b1199dfa6326364ddc54ad..688fb1a0c29a04250869c8c3eab2ce31c1cc51ea 100644 (file)
@@ -3,6 +3,7 @@
 #
 # SPDX-License-Identifier: GPL-2.0-or-later
 
+import django
 from django.contrib.auth.models import User
 from django import forms
 from django.forms import renderers
@@ -158,7 +159,10 @@ class OptionalModelChoiceField(forms.ModelChoiceField):
         choices.append(self.no_change_choice)
         return choices
 
-    choices = property(_get_choices, forms.ChoiceField._set_choices)
+    if django.VERSION >= (5, 0):
+        choices = property(_get_choices, forms.ChoiceField.choices.fset)
+    else:
+        choices = property(_get_choices, forms.ChoiceField._set_choices)
 
     def is_no_change(self, value):
         return value == self.no_change_choice[0]
diff --git a/releasenotes/notes/django-5-0-support-923e45ec2dc93117.yaml b/releasenotes/notes/django-5-0-support-923e45ec2dc93117.yaml
new file mode 100644 (file)
index 0000000..84ec059
--- /dev/null
@@ -0,0 +1,10 @@
+---
+features:
+  - |
+    `Django 5.0 <https://docs.djangoproject.com/en/dev/releases/5.0/>`_ is
+    now supported.
+upgrade:
+  - |
+    Django 3.2 and 4.1 are no longer supported. 4.1 is no longer supported
+    upstream while Django 3.2 goes EOL in April 2024. Most distributions
+    provide a newer version.
index b80cd11302bef015ca9eaa4aefbba94cf175178f..47ee9afe8a80cd4b07db87e66ea724eb77a6086f 100644 (file)
@@ -1,7 +1,6 @@
-Django~=4.2.0
+Django~=5.0.0
 djangorestframework~=3.14.0
-django-filter~=23.2.0
-django-debug-toolbar~=4.1.0
-# This does not support Django 4.0
-# django-dbbackup~=3.3.0
+django-filter~=23.5.0
+django-debug-toolbar~=4.2.0
+django-dbbackup~=4.1.0
 -r requirements-test.txt
index d450473bc193cd8214eac03d9fb10673c76b202d..75c3825e3de3130b78739d580623e2edeabde131 100644 (file)
@@ -1,5 +1,5 @@
-Django~=4.2.0
+Django~=5.0.0
 djangorestframework~=3.14.0
-django-filter~=23.2.0
+django-filter~=23.5.0
 psycopg2~=2.9.0
 sqlparse~=0.4.0
index f538b61dd89d7c24159f0c7804f7417517b60bf9..5e9000edfd2ae5490adfb344ef998e50a515ae8d 100644 (file)
@@ -2,6 +2,6 @@ mysqlclient~=2.2.0
 psycopg2-binary~=2.9.0
 sqlparse~=0.4.0
 python-dateutil~=2.8.0
-tblib~=2.0.0
+tblib~=3.0.0
 openapi-core~=0.18.0
-termcolor~=2.3.0
+termcolor~=2.4.0
diff --git a/tox.ini b/tox.ini
index 5d33bcd5e5fefa7393fb7d240aa4474b41519544..4276ed1b834ec746298ea551db64ca08d8aa3180 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -1,20 +1,17 @@
 [tox]
 minversion = 3.2
-envlist = pep8,docs,py{38,39}-django32,py{38,39,310,311}-django{41,42}
+envlist = pep8,docs,py{38,39,310,311}-django42,py{310,311,312}-django50
 
 [testenv]
 skip_install = true
 deps =
     -r{toxinidir}/requirements-test.txt
-    django32: django~=3.2.0
-    django32: djangorestframework~=3.14.0
-    django32: django-filter~=23.2.0
-    django41: django~=4.1.0
-    django41: djangorestframework~=3.14.0
-    django41: django-filter~=23.2.0
     django42: django~=4.2.0
     django42: djangorestframework~=3.14.0
-    django42: django-filter~=23.2.0
+    django42: django-filter~=23.5.0
+    django50: django~=5.0.0
+    django50: djangorestframework~=3.14.0
+    django50: django-filter~=23.5.0
 setenv =
     DJANGO_SETTINGS_MODULE = patchwork.settings.dev
     PYTHONDONTWRITEBYTECODE = 1