Wagtail 7.4 Maintenance#15
Merged
nickmoreton merged 4 commits intoMay 26, 2026
Merged
Conversation
Drop EOL versions and align with current upstream support: - Bump requires-python to >=3.10 (3.9 reached EOL 2025-10). - Bump wagtail floor to >=7.0; drop Wagtail 5.x and 6.x support. - Update Django classifiers (4.2, 5.1, 5.2, 6.0); Django 4.2/5.1 kept because Wagtail 7.0 LTS still supports them. - Refresh tox matrix to cover Python 3.10-3.14 against Wagtail 7.0 LTS, 7.3, and 7.4 LTS. Wagtail 7.1 and 7.2 are excluded as both have reached end of life. - Remove dead Wagtail <6 compatibility branches in wagtail_hooks.py and models.py. - Remove legacy vanilla-JS asset wagtaildraftsharing.js (only loaded on Wagtail <6). - Remove legacy wagtailadmin/pages/revisions/_actions.html override (path no longer exists in Wagtail 7). - Record changes under Unreleased in CHANGELOG. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Move ruff-pre-commit to its new home at astral-sh and bump rev v0.6.9 -> v0.15.13. The hook now reports as "ruff (legacy alias)"; configuration in pyproject.toml is unchanged. - Bump GitHub Actions: actions/checkout v4 -> v6, actions/setup-python v5 -> v6, pypa/gh-action-pypi-publish v1.12.4 -> v1.14.0. - Refresh CI Python matrix to 3.10-3.14 to match the supported range. - Relax freezegun test pin from ==1.5.1 to >=1.5,<2. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Django 5.1 reached end of life in April 2025. Although Wagtail 7.0 LTS still lists 5.1 as compatible, there is no benefit in testing or advertising support for an upstream version that no longer receives security fixes. Users on Wagtail 7.0 should be on Django 4.2 LTS or 5.2 LTS. - Remove Framework :: Django :: 5.1 classifier from pyproject.toml. - Remove all django5.1 envs from tox.ini and refresh the compatibility summary comment. - Note the drop in CHANGELOG Unreleased. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The Wagtail-version-split tests (test_share_url_method__wagtail_5/6 and the parametrised test_editor_js) asserted both legacy and Stimulus branches, but those branches were collapsed to a single Stimulus path in the previous commit. Replace them with single assertions that match the current output. - test_models.py: collapse the two share_url tests into one and drop the unused wagtail import / mock.patch on wagtail.__version__. - test_wagtail_hooks.py: collapse the two-version subtest loop into a single assertion against the Stimulus script tag; drop the unused wagtail import. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
JakubMastalerz
approved these changes
May 26, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Modernizes the supported Python / Django / Wagtail matrix and refreshes dev tooling against the official support windows (retrieved 2026-05-14).
Production support changes
requires-pythonto>=3.10(Python 3.9 reached EOL 2025-10).wagtailfloor to>=7.0; drop Wagtail 5.x and 6.x.tox.inimatrix rebuilt to cover Python 3.10–3.14 × Django 4.2 / 5.2 / 6.0 × Wagtail 7.0 LTS / 7.3 / 7.4 LTS.Source clean-up (dead Wagtail <6 code)
int(wagtail.__version__[0]) < 6guards inwagtail_hooks.pyandmodels.py. The Stimulus branch is now unconditional.static/wagtaildraftsharing/js/wagtaildraftsharing.js(loaded only on Wagtail <6).templates/wagtailadmin/pages/revisions/_actions.htmloverride (path no longer exists in Wagtail 7).import wagtail.Dev tooling
.pre-commit-config.yaml: repo movedcharliermarsh/ruff-pre-commit→astral-sh/ruff-pre-commit; revv0.6.9→v0.15.13.actions/checkoutv4 → v6,actions/setup-pythonv5 → v6,pypa/gh-action-pypi-publishv1.12.4 → v1.14.0.freezeguntest pin relaxed from==1.5.1to>=1.5,<2.Changelog
Entry added under
[Unreleased]. No version bump — the maintainer decides the next release.Test plan
tox -e lintpasses.tox -e coverageproduces a coverage report.pre-commit run --all-filespasses locally with the new hook rev.tox -e interactive: create a draft sharing link from both the history dropdown and the page action menu; verify the View/Copy button works on the snippet listing.Notes
ruffis now a legacy alias ofruff-check; switching the id avoids the deprecation warning but is not required yet.wagtailadmin/generic/history/action_cell.htmloverride comment still referencesstable/6.2.x; the path is still valid in Wagtail 7.4 (verified) so no change is required.🤖 Generated with Claude Code