[v1.x] docs: pin mkdocs<2#3074
Conversation
MkDocs 2.0 is a ground-up rewrite that drops the plugin system, so it is incompatible with mkdocs-material and the rest of the docs plugin stack. Mirror the bound from main (#3072) on the direct dependency so a future re-lock on this branch cannot resolve 2.0. The locked versions are unchanged; today the branch is protected only transitively by mkdocs-material 9.6.x's own mkdocs~=1.6 requirement.
📚 Documentation preview
|
There was a problem hiding this comment.
LGTM — straightforward docs dependency pin (mkdocs<2), no locked versions change.
Extended reasoning...
Overview
This PR only touches the docs dependency group: it adds an upper bound mkdocs>=1.6.1,<2 in pyproject.toml (with an explanatory comment) and the corresponding manifest specifier line in uv.lock. No locked package versions change; mkdocs remains 1.6.1 in the lockfile. It is a backport of the same bound already applied on the main line in #3072.
Security risks
None. The change constrains an existing docs-only dev dependency to its current major version — it does not introduce new packages, upgrade anything, or affect runtime code in src/mcp.
Level of scrutiny
Low. This is a two-line specifier change in packaging metadata for the documentation build, guarded further by the frozen lockfile and mkdocs-material's own mkdocs~=1.6 constraint. There is no logic, no runtime path, and no test surface affected.
Other factors
The bug hunting system found no issues, the PR description confirms uv lock re-resolves cleanly and the lock consistency check passes, and the diff exactly matches the stated intent. There are no outstanding reviewer comments.
Backports the
mkdocs<2bound from #3072 to the v1.x line.Motivation and Context
"MkDocs 2.0" is a ground-up rewrite that removes the plugin system, so it's incompatible with mkdocs-material and the docs plugin stack (context in #3072). This branch's docs group had an unbounded
mkdocs>=1.6.1; today it's protected only by the frozen lockfile and transitively by mkdocs-material 9.6.x's ownmkdocs~=1.6requirement. Pinning the direct dependency makes the guard explicit so a future re-lock on this branch can't resolve 2.0.No locked versions change — the diff is the specifier plus its lockfile manifest entry. The advisory-banner silencing from #3072 isn't needed here: v1.x locks mkdocs-material 9.6.19, which predates the banner.
How Has This Been Tested?
uv lockre-resolves cleanly with the new bound (mkdocs stays 1.6.1); pre-commit's lock consistency check passes.Breaking Changes
None.
Types of changes
Checklist