diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d2c28243c3..0edc0495d7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -21,17 +21,17 @@ concurrency: # Current configuration: # - django 3.2, python 3.8, postgres:12, parallel -# - django 3.2, python 3.9, mysql:8.0 -# - django 4.1, python 3.10, sqlite -# - django 4.2, python 3.11, mysql:8.1, parallel -# - django 4.1, python 3.11, postgres:12, parallel, USE_EMAIL_USER_MODEL=yes +# - django 4.2, python 3.9, mysql:8.0 +# - django 5.0, python 3.10, sqlite +# - django 5.0, python 3.11, mysql:8.1, parallel +# - django 5.0, python 3.11, postgres:12, parallel, USE_EMAIL_USER_MODEL=yes # - django 4.2, python 3.12, postgres:15, parallel, DISABLE_TIMEZONE=yes # - django stable/5.0.x, python 3.10, postgres (allow failures) # - django main, python 3.10, postgres:latest, parallel (allow failures) # - elasticsearch 5, django 3.2, python 3.8, sqlite # - elasticsearch 6, django 3.2, python 3.8, postgres:latest -# - elasticsearch 7, django 4.1, python 3.8, postgres:latest -# - opensearch 2, django 4.1, python 3.9, sqlite +# - elasticsearch 7, django 5.0, python 3.10, postgres:latest +# - opensearch 2, django 5.0, python 3.11, sqlite # - elasticsearch 8, django 4.2, python 3.10, sqlite, USE_EMAIL_USER_MODEL=yes # Some tests are run in parallel by passing --parallel to runtests.py. @@ -50,7 +50,7 @@ jobs: matrix: include: - python: '3.10' - django: 'Django>=4.1,<4.2' + django: 'Django>=4.1,<5.0' steps: - uses: actions/checkout@v3 @@ -86,7 +86,7 @@ jobs: experimental: false parallel: '--parallel' - python: '3.11' - django: 'Django>=4.1,<4.2' + django: 'Django>=5.0,<5.1' experimental: false emailuser: emailuser parallel: '--parallel' @@ -155,10 +155,10 @@ jobs: matrix: include: - python: '3.9' - django: 'Django>=3.2,<3.3' + django: 'Django>=4.2,<4.3' experimental: false - python: '3.11' - django: 'Django>=4.2,<4.3' + django: 'Django>=5.0,<5.1' experimental: false parallel: '--parallel' mysql: 'mysql:8.1' @@ -358,8 +358,8 @@ jobs: strategy: matrix: include: - - python: '3.8' - django: 'Django>=4.1,<4.2' + - python: '3.10' + django: 'Django>=5.0,<5.1' experimental: false services: @@ -416,8 +416,8 @@ jobs: strategy: matrix: include: - - python: '3.9' - django: 'Django>=4.1,<4.2' + - python: '3.11' + django: 'Django>=5.0,<5.1' experimental: false steps: diff --git a/CHANGELOG.txt b/CHANGELOG.txt index ba20ccd42c..9d41dc4d9d 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -4,6 +4,7 @@ Changelog 5.2.2 (xx.xx.xxxx) - IN DEVELOPMENT ~~~~~~~~~~~~~~~~~~ + * Added support for Django 5.0 * Fix: Use a visible border and background color to highlight active formatting in the rich text toolbar (Cassidy Pittman) * Fix: Ensure image focal point box can be removed (Gunnar Scherf) * Fix: Ensure that Snippets search results correctly use the `index_results.html` or `index_results_template_name` override on initial load (Stefan Hammer) diff --git a/README.md b/README.md index 9c1412d8da..100b62047a 100644 --- a/README.md +++ b/README.md @@ -84,7 +84,7 @@ _(If you are reading this on GitHub, the details here may not be indicative of t Wagtail supports: -- Django 3.2.x, 4.1.x and 4.2.x +- Django 3.2.x, 4.1.x, 4.2.x and 5.0.x - Python 3.8, 3.9, 3.10, 3.11 and 3.12 - PostgreSQL, MySQL and SQLite (with JSON1) as database backends diff --git a/docs/getting_started/integrating_into_django.md b/docs/getting_started/integrating_into_django.md index 35888a60c1..9d14d36036 100644 --- a/docs/getting_started/integrating_into_django.md +++ b/docs/getting_started/integrating_into_django.md @@ -2,7 +2,7 @@ Wagtail provides the `wagtail start` command and project template to get you started with a new Wagtail project as quickly as possible, but it's easy to integrate Wagtail into an existing Django project too. -Wagtail is currently compatible with Django 3.2, 4.1, and 4.2. First, install the `wagtail` package from PyPI: +Wagtail is currently compatible with Django 3.2, 4.1, 4.2, and 5.0. First, install the `wagtail` package from PyPI: ```sh pip install wagtail diff --git a/docs/releases/5.2.2.md b/docs/releases/5.2.2.md index e3f1a53657..7b0616c0b6 100644 --- a/docs/releases/5.2.2.md +++ b/docs/releases/5.2.2.md @@ -11,6 +11,9 @@ depth: 1 ## What's new +## Django 5.0 support + +This release adds support for Django 5.0. ### Bug fixes diff --git a/docs/releases/upgrading.md b/docs/releases/upgrading.md index a093da81a2..bb708babb7 100644 --- a/docs/releases/upgrading.md +++ b/docs/releases/upgrading.md @@ -59,7 +59,7 @@ The compatible versions of Django and Python for each Wagtail release are: | Wagtail release | Compatible Django versions | Compatible Python versions | | --------------- | -------------------------- | -------------------------- | -| 5.2 LTS | 3.2, 4.1, 4.2 | 3.8, 3.9, 3.10, 3.11, 3.12 | +| 5.2 LTS | 3.2, 4.1, 4.2, 5.0 | 3.8, 3.9, 3.10, 3.11, 3.12 | | 5.1 | 3.2, 4.1, 4.2 | 3.8, 3.9, 3.10, 3.11 | | 5.0 | 3.2, 4.1, 4.2 | 3.7, 3.8, 3.9, 3.10, 3.11 | | 4.2 | 3.2, 4.0, 4.1 | 3.7, 3.8, 3.9, 3.10, 3.11 | diff --git a/setup.py b/setup.py index a20fd95391..ee85648fa3 100755 --- a/setup.py +++ b/setup.py @@ -19,7 +19,7 @@ except ImportError: install_requires = [ - "Django>=3.2,<4.3", + "Django>=3.2,<5.1", "django-modelcluster>=6.1,<7.0", "django-permissionedforms>=0.1,<1.0", "django-taggit>=2.0,<5.0", @@ -117,6 +117,7 @@ https://github.com/wagtail/wagtail/.", "Framework :: Django :: 3.2", "Framework :: Django :: 4.1", "Framework :: Django :: 4.2", + "Framework :: Django :: 5.0", "Framework :: Wagtail", "Topic :: Internet :: WWW/HTTP :: Site Management", ], diff --git a/tox.ini b/tox.ini index 1b3a60237c..a2b93e489e 100644 --- a/tox.ini +++ b/tox.ini @@ -2,7 +2,7 @@ skipsdist = True usedevelop = True -envlist = py{38,39,310,311,312}-dj{32,41,42,50stable,main}-{sqlite,postgres,mysql,mssql}-{elasticsearch8,elasticsearch7,elasticsearch6,elasticsearch5,noelasticsearch}-{customuser,emailuser}-{tz,notz}, +envlist = py{38,39,310,311,312}-dj{32,41,42,50,50stable,main}-{sqlite,postgres,mysql,mssql}-{elasticsearch8,elasticsearch7,elasticsearch6,elasticsearch5,noelasticsearch}-{customuser,emailuser}-{tz,notz}, [testenv] install_command = pip install -e ".[testing]" -U {opts} {packages} @@ -27,6 +27,7 @@ deps = dj32: Django~=3.2.0 dj41: Django~=4.1.0 dj42: Django~=4.2.0 + dj50: Django~=5.0.0 dj50stable: git+https://github.com/django/django.git@stable/5.0.x#egg=Django djmain: git+https://github.com/django/django.git@main#egg=Django @@ -60,4 +61,3 @@ setenv = mssql: DATABASE_NAME=master mssql: DATABASE_USER=sa mssql: DATABASE_PASSWORD=Password12! - diff --git a/wagtail/project_template/requirements.txt b/wagtail/project_template/requirements.txt index 13fb0e4255..335effc56f 100644 --- a/wagtail/project_template/requirements.txt +++ b/wagtail/project_template/requirements.txt @@ -1,2 +1,2 @@ -Django>=4.2,<4.3 +Django>=4.2,<5.1 wagtail>=5.2,<5.3