Wagtail 7.4 Maintenance - #45
Merged
Merged
Conversation
Align the package with current upstream support windows: - Drop Django 4.2/5.0/5.1 (EOL) and Wagtail 5.2/6.1/6.2/6.3 (outside Wagtail's current support window). - Add Django 5.2 LTS, Django 6.0, Wagtail 7.0 LTS-7.4 LTS, Python 3.13/3.14. - Refresh the tox envlist and the GitHub Actions test/publish matrices to reflect the valid Django x Wagtail x Python combinations. - Remove the now-dead WAGTAIL_VERSION < (6, 3) branches in views/image.py and views/document.py (and the legacy ClassBased*EditView shims) since the new Wagtail floor is 7.0. - Add a Compatibility section to the README and an Unreleased entry to the CHANGELOG. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…efault - Bump pre-commit-hooks v4.6.0 -> v6.0.0 and ruff-pre-commit v0.5.0 -> v0.15.14. - Bump coverage floor to 7.10 in pyproject.toml and tox.ini. - Switch pre-commit default_language_version to python3.13. - Sync the ruff version pinned in .github/workflows/ruff.yml. - Apply auto-fixes from the new ruff (PEP 585 lowercase generics in test helpers, an implicit-string-concat collapse in commands/base.py, and f-string whitespace fixes in test_wagtail_overrides) plus ruff-format changes. - Add a noqa: SIM115 to the deliberately-not-context-managed NamedTemporaryFile in BynderSyncedImage.process_downloaded_file; the surrounding code reads tmp.name after the call site by design. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
nickmoreton
marked this pull request as draft
May 26, 2026 13:45
Tox 4.54 rejects env names that aren't declared in envlist, so the CI matrix was failing with "provided environments not found in configuration file: py3.11-django5.2-wagtail7.0-sqlite". The GitHub workflows pass TOXENV with a -sqlite or -postgres suffix to pick up the psycopg2 factor-conditional dep, so add that factor to every envlist entry. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Wagtail 7.x adds a default_alt_text field to the image chooser chosen-step response payload (sourced from the new Image.description model field). The three TestImageChosenView assertions exhaustively compared the JSON response, so they regressed once Wagtail started emitting the extra key. Allow the new key with mock.ANY, matching the existing handling of the preview value. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
nickmoreton
marked this pull request as ready for review
May 26, 2026 14:05
Closed
zerolab
requested changes
Jul 21, 2026
Co-authored-by: Dan Braghiș <31622+zerolab@users.noreply.github.com>
zerolab
force-pushed
the
support/wagtail-74-maintenance
branch
from
July 21, 2026 13:34
d900367 to
b95354a
Compare
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
WAGTAIL_VERSION < (6, 3)branches inviews/image.pyandviews/document.py, including theClassBasedWagtailImageEditView/ClassBasedDocumentEditViewshims (the new Wagtail floor is 7.0).pre-commit-hooksv4.6.0 → v6.0.0,ruff-pre-commitv0.5.0 → v0.15.14 (with matching pin in.github/workflows/ruff.yml), pre-commitdefault_language_version→ python3.13,coverage>=7.10.TestImageChosenViewexpectations to allow Wagtail 7's newdefault_alt_textkey in the chooser chosen-step response.Changes by file
Production
pyproject.toml— Django/Wagtail/Python classifiers + deps refreshed;requires-pythonunchanged at>=3.11.tox.ini— envlist covering the valid Django × Wagtail × Python combos with explicit{sqlite,postgres}factor (required by tox 4.54, which rejects env names not declared in envlist)..github/workflows/test.yml—test-latestnow Python 3.14 × Django 6.0 × Wagtail 7.4 (postgres);test-legacy→test-matrixwith multiple sqlite combos;PYTHON_LATESTbumped to 3.13..github/workflows/publish.yml— Python pin bumped to 3.13.src/wagtail_bynder/views/image.py,src/wagtail_bynder/views/document.py— dead Wagtail-version guards removed.tests/test_image_chooser_views.py—default_alt_text: mock.ANYadded to the threeTestImageChosenViewassertions to accommodate Wagtail 7.0's response payload.README.md— added a Compatibility section.CHANGELOG.md—[Unreleased]entry; no version bump (release prep left to the maintainer).Dev tooling
.pre-commit-config.yaml,.github/workflows/ruff.yml,pyproject.toml,tox.ini— version bumps as described above.src/wagtail_bynder/management/commands/base.py,tests/test_management_commands.py,tests/test_wagtail_overrides.py— ruff 0.15 auto-fixes (PEP 585 lowercasetype, implicit-string-concat collapse, f-string whitespace) + ruff-format pass.src/wagtail_bynder/models.py— added# noqa: SIM115to the deliberately-openNamedTemporaryFileinBynderSyncedImage.process_downloaded_file(the rest of the method depends ontmp.nameafter the call site).Valid matrix combinations
Out of scope (follow-up)
Test plan
🤖 Generated with Claude Code