Skip to content

[Discussion] Proposal to Update Project to Current Dependencies (Wagtail, Django, Python)Β #56

@engineervix

Description

@engineervix

Hello πŸ‘‹,

I hope this message finds the project maintainers well.

I've used this project on a site I built a while ago and found it to be a fantastic tool. However, I encountered compatibility issues when upgrading other dependencies, particularly with recent versions of Wagtail.

Recognizing that the project has been inactive for some time, I've updated my fork to be compatible with a modern stack, specifically:

  • Python 3.10–3.13
  • Django 4.2–5.2
  • Wagtail 6.3–7.1

My work resolves several existing issues that appear to be related to outdated dependencies, including:

I've also set up GitHub Actions with a comprehensive test matrix covering different combinations of Django, Wagtail, and Python versions.

Key Changes Made

Core Compatibility Fixes:

  • Fixed Django 5.x compatibility (removed deprecated is_dst parameter from make_aware())
  • Added zoneinfo support for Python 3.12+ timezone handling
  • Updated Wagtail imports and panel system for compatibility with recent Wagtail versions
  • Fixed month abbreviation route regex for Python 3.12+ compatibility
  • Resolved revision handling for pages without creation history

Code Quality & Modernization:

  • Ran django-upgrade targeting Django 4.2+ features
  • Applied wagtail updatemodulepaths for current import structure
  • Code formatting with Black and Ruff (I did this locally, didn't add them to the dependencies)
  • Fixed all flake8 linting issues
  • Updated deprecated Wagtail settings (BASE_URL -> WAGTAILADMIN_BASE_URL)

Testing & CI Infrastructure:

  • Replaced Travis CI with GitHub Actions
  • Comprehensive test matrix: Python 3.10-3.13, Django 4.2-5.2, Wagtail 6.3-7.1
  • Strategic version combinations for efficient CI runtime
  • Integrated uv for fast dependency resolution
  • Fixed version-specific test compatibility (Wagtail APPEND_SLASH handling)
  • All existing tests pass across the supported version matrix

Before I open a pull request, I wanted to start this discussion to ask:

  1. Are the original maintainers still interested in maintaining this project?
  2. Would a significant PR with dependency upgrades and resulting changes be welcome?
  3. Is there anything specific I should be aware of, or any particular direction you'd like to see the project take?
  4. Would you prefer the changes broken into smaller PRs, or is one comprehensive PR acceptable?

I'm happy to contribute these changes back to help revive this valuable project and make it accessible to others working with current Django/Wagtail/Python versions.

Thank you for your time and for creating such a useful tool in the first place!

Best regards,
Victor

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions