diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 23a2166..45e5884 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -19,12 +19,10 @@ jobs: test-postgres: runs-on: ubuntu-latest strategy: + fail-fast: false matrix: include: - - python: '3.9' - django: 'Django>=4.2,<4.3' - wagtail: 'wagtail>=7.0,<7.1' - postgres: 'postgres:15' + # Wagtail 7.0 LTS (Django 5.2 only — 7.0 does not support Django 6.0) - python: '3.10' django: 'Django>=5.2,<5.3' wagtail: 'wagtail>=7.0,<7.1' @@ -42,6 +40,58 @@ jobs: wagtail: 'wagtail>=7.0,<7.1' postgres: 'postgres:15' + # Wagtail 7.3 with Django 5.2 + - python: '3.10' + django: 'Django>=5.2,<5.3' + wagtail: 'wagtail>=7.3,<7.4' + postgres: 'postgres:15' + - python: '3.13' + django: 'Django>=5.2,<5.3' + wagtail: 'wagtail>=7.3,<7.4' + postgres: 'postgres:15' + - python: '3.14' + django: 'Django>=5.2.8,<5.3' + wagtail: 'wagtail>=7.3,<7.4' + postgres: 'postgres:15' + + # Wagtail 7.3 with Django 6.0 (requires Python 3.12+) + - python: '3.12' + django: 'Django>=6.0,<6.1' + wagtail: 'wagtail>=7.3,<7.4' + postgres: 'postgres:15' + - python: '3.14' + django: 'Django>=6.0,<6.1' + wagtail: 'wagtail>=7.3,<7.4' + postgres: 'postgres:15' + + # Wagtail 7.4 LTS with Django 5.2 + - python: '3.10' + django: 'Django>=5.2,<5.3' + wagtail: 'wagtail>=7.4,<7.5' + postgres: 'postgres:15' + - python: '3.13' + django: 'Django>=5.2,<5.3' + wagtail: 'wagtail>=7.4,<7.5' + postgres: 'postgres:15' + - python: '3.14' + django: 'Django>=5.2.8,<5.3' + wagtail: 'wagtail>=7.4,<7.5' + postgres: 'postgres:15' + + # Wagtail 7.4 LTS with Django 6.0 (requires Python 3.12+) + - python: '3.12' + django: 'Django>=6.0,<6.1' + wagtail: 'wagtail>=7.4,<7.5' + postgres: 'postgres:15' + - python: '3.13' + django: 'Django>=6.0,<6.1' + wagtail: 'wagtail>=7.4,<7.5' + postgres: 'postgres:15' + - python: '3.14' + django: 'Django>=6.0,<6.1' + wagtail: 'wagtail>=7.4,<7.5' + postgres: 'postgres:15' + services: postgres: image: ${{ matrix.postgres || 'postgres:15' }} diff --git a/CHANGELOG.md b/CHANGELOG.md index aea1b3b..cf07668 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,24 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] +### Added + +- Support for Python 3.14 +- Support for Django 6.0 +- Support for Wagtail 7.3 and Wagtail 7.4 LTS + +### Removed + +- Support for Python 3.9 (out of the Wagtail support window for the new range) +- Support for Django 4.2 and 5.1 (no longer required by any Wagtail version in the supported range) +- `USE_L10N` from the test settings (removed in Django 5.0) + +### Changed + +- Refreshed dev dependencies (`coverage`, `flake8`, `isort`, `tox`) and dropped pre-5 `isort` calling convention from `make lint` +- Updated tox env list and GitHub Actions matrix to cover Python 3.10–3.14, Django 5.2 / 6.0, and Wagtail 7.0 LTS / 7.3 / 7.4 LTS +- Added `Framework :: Django` / `Framework :: Wagtail` and `python_requires = ">=3.10"` metadata + ## [2.0.1] - 2025-06-18 ### Fixed diff --git a/Makefile b/Makefile index 0f5e4fd..6fcfde7 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ start: ## Starts the development server. lint: ## Lint the project. flake8 wagtailgmaps tests setup.py - isort --check-only --diff --recursive wagtailgmaps tests setup.py + isort --check-only --diff wagtailgmaps tests setup.py test: ## Test the project. python ./runtests.py diff --git a/setup.py b/setup.py index a89283b..b274dc2 100755 --- a/setup.py +++ b/setup.py @@ -16,15 +16,15 @@ # Testing dependencies testing_extras = [ # Required for running the tests - "tox~=4.26.0", + "tox>=4.26", # For coverage and PEP8 linting - "coverage>=4.1.0,<4.2", - "flake8>=3.2.0,<3.3", - "flake8-colors>=0.1.6,<1", - "isort==4.2.5", + "coverage>=7.6", + "flake8>=7.1", + "flake8-colors>=0.1.9", + "isort>=5.13", # For test site - "Django>=4.2", - "wagtail>=7.0.0", + "Django>=5.2,<6.1", + "wagtail>=7.0,<7.5", ] # Documentation dependencies @@ -45,19 +45,24 @@ project_urls={ "Changelog": "https://github.com/springload/wagtailgmaps/blob/master/CHANGELOG.md", }, + python_requires=">=3.10", classifiers=[ "Environment :: Web Environment", "Framework :: Django", + "Framework :: Django :: 5.2", + "Framework :: Django :: 6.0", + "Framework :: Wagtail", + "Framework :: Wagtail :: 7", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", ], diff --git a/tests/testapp/testapp/settings.py b/tests/testapp/testapp/settings.py index d77604c..a1ce215 100644 --- a/tests/testapp/testapp/settings.py +++ b/tests/testapp/testapp/settings.py @@ -82,10 +82,10 @@ USE_I18N = True -USE_L10N = True - USE_TZ = True +DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField" + # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/1.10/howto/static-files/ diff --git a/tox.ini b/tox.ini index dabdd40..38160ec 100644 --- a/tox.ini +++ b/tox.ini @@ -7,26 +7,29 @@ skipsdist = True usedevelop = True envlist = - py{39,310,311,312,313}-dj{42,51,52}-wt{7} + py{310,311,312,313}-dj52-wt{70,73,74} + py314-dj52-wt{73,74} + py{312,313,314}-dj60-wt{73,74} [testenv] install_command = pip install -e ".[testing]" -U {opts} {packages} -whitelist_externals = +allowlist_externals = make pip basepython = - py39: python3.9 py310: python3.10 py311: python3.11 py312: python3.12 py313: python3.13 + py314: python3.14 deps = - dj42: Django>=4.2,<4.3 - dj51: Django>=5.1,<5.2 - dj52: Django>=5.2,<5,3 - wt7: wagtail>=7.0,<7.1 + dj52: Django>=5.2,<5.3 + dj60: Django>=6.0,<6.1 + wt70: wagtail>=7.0,<7.1 + wt73: wagtail>=7.3,<7.4 + wt74: wagtail>=7.4,<7.5 commands = make lint @@ -34,6 +37,8 @@ commands = [gh] python = - 3.13 = 3.13 - 3.12 = 3.12 + 3.10 = 3.10 3.11 = 3.11 + 3.12 = 3.12 + 3.13 = 3.13 + 3.14 = 3.14