Skip to content

Wagtail 7.4 Maintenance#276

Merged
zerolab merged 9 commits into
mainfrom
support/wagtail-74-maintenance
May 26, 2026
Merged

Wagtail 7.4 Maintenance#276
zerolab merged 9 commits into
mainfrom
support/wagtail-74-maintenance

Conversation

@nickmoreton

@nickmoreton nickmoreton commented May 14, 2026

Copy link
Copy Markdown
Contributor

Summary

Modernise wagtailmedia against the current Wagtail / Django / Python support matrices, retrieved 2026-05-14:

  • Wagtail: drop 6.3 and 6.4; support 7.0 LTS → 7.4 LTS inclusive (latest LTS is 7.4, previous LTS is 7.0 per Wagtail release schedule).
  • Django: range is 4.2, 5.1, 5.2, 6.0. Django 4.2 is kept because Wagtail 7.0 LTS still supports it.
  • Python: unchanged (3.10 – 3.14).

Test fixtures are also patched to keep working on Wagtail 7.3+, where wagtailcore.0094_alter_page_locale tightened Page.locale_id to NOT NULL without a default.

Commits

  1. Add locale to page fixtures for Wagtail 7.3+ compatibility — fixes a latent fixture issue surfaced by adding 7.3/7.4 to the test matrix.
  2. Drop Wagtail < 7.0; add Wagtail 7.3 and 7.4 LTS support — production support-window changes.
  3. Update dev dependencies and CI action versions — dev / CI tooling refresh.

Production changes

  • pyproject.toml: Wagtail>=7.0; drop Framework :: Wagtail :: 6 classifier.
  • tox.ini: matrix now covers Wagtail 7.0 / 7.3 / 7.4 across Python 3.10–3.14 and Django 5.2 / 6.0.
  • README.md / CHANGELOG.md: updated supported-version statements.
  • Removed legacy _file_field_legacy.html and _thumbnail_field_legacy.html templates and the wagtail_version_gte template tag (only existed for Wagtail < 6.0).
  • Inlined now-always-true WAGTAIL_VERSION >= (4, 2) / (5, 1) / (6, 0) guards in tests; cleared stale # TODO: Remove once support for Wagtail < 4.1 is dropped comments.
  • Test fixture references the default Locale row (Wagtail 7.3+ enforces Page.locale NOT NULL).

Dev dependency / CI changes

  • .pre-commit-config.yaml: pre-commit-hooks v5 → v6, ruff v0.12.9 → v0.15.13.
  • .github/workflows/ruff.yml: ruff 0.12.9 → 0.15.13 (kept in sync with the pre-commit pin).
  • .github/workflows/test.yml: actions/setup-python@v5 → v6, actions/upload-artifact@v4 → v5.
  • .github/workflows/nightly-tests.yml: actions/checkout@v4 → v5, actions/setup-python@v5 → v6.
  • pyproject.toml extras: coverage>=7.14, tox>=4.54, pre-commit>=4.6.

Out of scope (not changed)

  • step-security/harden-runner is SHA-pinned at v2.13.1 — leaving SHA-pinned actions for explicit maintainer review.
  • actions/download-artifact left at v5 (latest is v8) — major bump not verified.

Test plan

  • tox -e python3.12-dj52-wagtail70 — 191 tests pass
  • tox -e python3.13-dj52-wagtail72 — pass
  • tox -e python3.13-dj52-wagtail73 — pass
  • tox -e python3.13-dj52-wagtail74 — pass
  • tox -e python3.14-dj60-wagtail74 — pass
  • pre-commit run --all-files clean
  • Full GitHub Actions matrix on PR
  • Maintainer review

🤖 Generated with Claude Code

nickmoreton and others added 3 commits May 14, 2026 16:14
Wagtail 7.3 (migration wagtailcore.0094_alter_page_locale) tightened
Page.locale_id to NOT NULL without a default, so fixtures that omit
the locale fail to load with an IntegrityError. Point each page at
the default Locale row created by wagtailcore migrations.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Update the supported Wagtail range to 7.0–7.4 LTS following the current
Wagtail support window, and add Django 6.0 to the matrix.

- Bump Wagtail lower bound to 7.0; drop the Wagtail 6 classifier
- Expand tox matrix to cover Wagtail 7.0/7.1/7.2/7.3/7.4 and Django 6.0
- Remove legacy file/thumbnail templates and the wagtail_version_gte
  template tag, which only existed to support Wagtail < 6.0
- Inline now-always-true WAGTAIL_VERSION guards in tests

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Bump pre-commit-hooks to v6.0.0 and ruff to 0.15.13
- Bump testing/linting extras lower bounds (coverage, tox, pre-commit)
- Bump actions/setup-python to v6 and actions/upload-artifact to v5
  across workflows; align actions/checkout to v5 in nightly tests

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@nickmoreton nickmoreton changed the title Drop Wagtail < 7.0; add Wagtail 7.3 and 7.4 LTS support Wagtail 7.4 Maintenance May 14, 2026
@nickmoreton nickmoreton marked this pull request as ready for review May 14, 2026 15:28
Comment thread tests/test_views.py
Comment thread CHANGELOG.md Outdated
Comment on lines 7 to 9
- Support for Wagtail 7.2, 7.3, and 7.4 LTS
- Support for Django 6.0
- Support for Python 3.14

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as in the other repose, please combine into one line

Comment thread pyproject.toml Outdated
dependencies = [
"Wagtail>=6.3",
"Wagtail>=7.0",
"Django>=4.2",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we are good to ask for min. Django 5.2

Comment thread tox.ini Outdated
Comment on lines 45 to 46
wagtail71: wagtail>=7.1,<7.2
wagtail72: wagtail>=7.2,<7.3

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
wagtail71: wagtail>=7.1,<7.2
wagtail72: wagtail>=7.2,<7.3

Comment thread tox.ini Outdated
Comment on lines 40 to 41
dj42: Django>=4.2,<5.0
dj51: Django>=5.1,<5.2

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
dj42: Django>=4.2,<5.0
dj51: Django>=5.1,<5.2

Comment thread tox.ini Outdated
Comment on lines +5 to +8
python{3.10,3.12}-dj42-wagtail{70,71,72,73}
python{3.13}-dj{51,52}-wagtail{70,71,72,73}
python{3.13}-dj52-wagtail74
python{3.14}-dj{52,60}-wagtail{72,73,74}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
python{3.10,3.12}-dj42-wagtail{70,71,72,73}
python{3.13}-dj{51,52}-wagtail{70,71,72,73}
python{3.13}-dj52-wagtail74
python{3.14}-dj{52,60}-wagtail{72,73,74}
python{3.10}-dj{52}-wagtail{70,73}
python{3.13,3.14}-dj{52,60}-wagtail74

@zerolab zerolab left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for this.

Left a few comment with things to address

Comment thread CHANGELOG.md Outdated
Comment on lines 7 to 9
- Support for Wagtail 7.2, 7.3, and 7.4 LTS
- Support for Django 6.0
- Support for Python 3.14

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

grumble, grumble - please compact this

Comment thread tests/test_views.py Outdated


# TODO: Remove once support for Wagtail < 4.1 is dropped
@override_settings(WAGTAIL_USAGE_COUNT_ENABLED=True)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is also relevant to my prev comment around removing override_settings

Comment thread tox.ini Outdated
Comment on lines +5 to +8
python{3.10,3.12}-dj42-wagtail{70,71,72,73}
python{3.13}-dj{51,52}-wagtail{70,71,72,73}
python{3.13}-dj52-wagtail74
python{3.14}-dj{52,60}-wagtail{72,73,74}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
python{3.10,3.12}-dj42-wagtail{70,71,72,73}
python{3.13}-dj{51,52}-wagtail{70,71,72,73}
python{3.13}-dj52-wagtail74
python{3.14}-dj{52,60}-wagtail{72,73,74}
python{3.11}-dj52-wagtail70
python{3.12}-dj52-wagtail73
python{3.13}-dj52-wagtail74
python{3.14}-dj{52,60}-wagtail{74}

Comment thread tox.ini Outdated
Comment on lines 45 to 46
wagtail71: wagtail>=7.1,<7.2
wagtail72: wagtail>=7.2,<7.3

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
wagtail71: wagtail>=7.1,<7.2
wagtail72: wagtail>=7.2,<7.3

Comment thread tox.ini Outdated
Comment on lines 40 to 41
dj42: Django>=4.2,<5.0
dj51: Django>=5.1,<5.2

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
dj42: Django>=4.2,<5.0
dj51: Django>=5.1,<5.2

Comment thread README.md Outdated
- Python (3.10, 3.11, 3.12, 3.13, 3.14)
- Django (4.2, 5.1, 5.2)
- Wagtail (6.3, 7.0, 7.2)
- Django (4.2, 5.1, 5.2, 6.0)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Django (4.2, 5.1, 5.2, 6.0)
- Django (5.2, 6.0)

@nickmoreton

Copy link
Copy Markdown
Contributor Author

Thanks @zerolab I have applied the changes now.

@nickmoreton nickmoreton requested a review from zerolab May 26, 2026 11:40
@zerolab zerolab merged commit 06dcad4 into main May 26, 2026
1 check passed
@zerolab zerolab deleted the support/wagtail-74-maintenance branch May 26, 2026 13:21
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