Skip to content

Wagtail 7.4 Maintenance#15

Merged
nickmoreton merged 4 commits into
torchbox:mainfrom
torchbox-forks:support/wagtail-74-maintenance
May 26, 2026
Merged

Wagtail 7.4 Maintenance#15
nickmoreton merged 4 commits into
torchbox:mainfrom
torchbox-forks:support/wagtail-74-maintenance

Conversation

@nickmoreton

Copy link
Copy Markdown
Contributor

Summary

Modernizes the supported Python / Django / Wagtail matrix and refreshes dev tooling against the official support windows (retrieved 2026-05-14).

Production support changes

  • Bump requires-python to >=3.10 (Python 3.9 reached EOL 2025-10).
  • Bump wagtail floor to >=7.0; drop Wagtail 5.x and 6.x.
  • Classifiers refreshed: Django 4.2 / 5.2 / 6.0, Wagtail 7, Python 3.10–3.14.
  • tox.ini matrix rebuilt to cover Python 3.10–3.14 × Django 4.2 / 5.2 / 6.0 × Wagtail 7.0 LTS / 7.3 / 7.4 LTS.
    • Wagtail 7.1 and 7.2 excluded — both have reached EOL (security support ended 2026-02-02 and 2026-05-04 respectively).
    • Django 5.1 excluded — reached EOL April 2025.

Source clean-up (dead Wagtail <6 code)

  • Inlined the two int(wagtail.__version__[0]) < 6 guards in wagtail_hooks.py and models.py. The Stimulus branch is now unconditional.
  • Removed static/wagtaildraftsharing/js/wagtaildraftsharing.js (loaded only on Wagtail <6).
  • Removed templates/wagtailadmin/pages/revisions/_actions.html override (path no longer exists in Wagtail 7).
  • Removed now-unused import wagtail.

Dev tooling

  • .pre-commit-config.yaml: repo moved charliermarsh/ruff-pre-commitastral-sh/ruff-pre-commit; rev v0.6.9v0.15.13.
  • GitHub Actions: actions/checkout v4 → v6, actions/setup-python v5 → v6, pypa/gh-action-pypi-publish v1.12.4 → v1.14.0.
  • CI Python matrix bumped to 3.10–3.14.
  • freezegun test pin relaxed from ==1.5.1 to >=1.5,<2.

Changelog

Entry added under [Unreleased]. No version bump — the maintainer decides the next release.

Test plan

  • CI passes on all matrix combinations (Python 3.10–3.14 × Django 4.2 / 5.2 / 6.0 × Wagtail 7.0 LTS / 7.3 / 7.4 LTS).
  • tox -e lint passes.
  • tox -e coverage produces a coverage report.
  • pre-commit run --all-files passes locally with the new hook rev.
  • Manual smoke test in 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

  • Wagtail 7.3 is in security-only support until 2026-08-03 — consider dropping it from the matrix at that point.
  • The ruff hook id ruff is now a legacy alias of ruff-check; switching the id avoids the deprecation warning but is not required yet.
  • The wagtailadmin/generic/history/action_cell.html override comment still references stable/6.2.x; the path is still valid in Wagtail 7.4 (verified) so no change is required.

🤖 Generated with Claude Code

nickmoreton and others added 4 commits May 14, 2026 15:36
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>
@nickmoreton nickmoreton marked this pull request as ready for review May 14, 2026 14:54
@nickmoreton nickmoreton merged commit a5613a7 into torchbox:main May 26, 2026
6 checks passed
@nickmoreton nickmoreton deleted the support/wagtail-74-maintenance branch May 26, 2026 10:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants