Plan for Material for MkDocs end of life (2027-05-05) and pin build deps

Open
#27 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
62/100
Issue type
Refactor
Clarity
Clearly specified
Activity status
Active
Tech stack
github-actions, python

Research direction

Start with requirements-docs.txt (the two pinned packages) and mkdocs.yml, then run mkdocs build --strict locally to see the end-of-life notice and confirm which plugins and hook entries matter (hooks:, scripts/mkdocs_hooks.py, pymdownx.snippets, exclude_docs). For the pinning half, freeze a clean venv into a constraints file and wire it with -c into the install steps of ci.yml and pages.yml. Done means both workflows install fully pinned versions and a written decision on Zensical versus staying is recorded on the issue.

Written by the indexing model from the issue text.

Description

dependencies help wanted severity: low

Summary

The site is built with mkdocs-material==9.8.1, which reaches end of life on 2027-05-05 (the build prints this notice). Plan the move to its successor before then. Separately, only the two top-level packages are pinned, so the rest of the build toolchain can change between runs.

Where

  • requirements-docs.txt:1-2

Details

mkdocs build --strict prints:

Material for MkDocs reaches end of life on May 5, 2027.
Critical fixes and security updates continue until that date.
Zensical is its maintained successor, built by the same team.

requirements-docs.txt pins mkdocs-material and mkdocs-git-revision-date-localized-plugin. Their dependencies (mkdocs, pymdown-extensions, Markdown, GitPython, and others) are unpinned.

Impact

After May 2027 the site generator gets no security or bug fixes. Unpinned transitive dependencies mean a CI run can break, or render differently, with no change in this repo.

Suggested fix

  • Try Zensical's MkDocs compatibility mode against mkdocs.yml. Things to check: the hooks: entry (scripts/mkdocs_hooks.py), the git-revision-date-localized plugin, pymdownx.snippets, and exclude_docs.
  • Decide on a target date before 2027-05-05 and record it in this issue.
  • In the meantime, add a constraints file (for example pip freeze > constraints-docs.txt from a clean venv) and install with -c in ci.yml and pages.yml, so builds are repeatable.

Acceptance criteria

  • A migration plan or a decision to stay is recorded here.
  • CI and Pages install from fully pinned versions.

Filed by repo-audit/full-audit at 79cb5dc. Severity: low. Effort: M. audit-key: dependencies|requirements-docs.txt|mkdocs-material

Dominant language
Python
Stars
2
Forks
5
Avg merge
2d 17h
Merged PRs (30d)
6

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from TMHSDigital/Awesome-Ads

All issues in TMHSDigital/Awesome-Ads

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.