Skip to content

build(deps): bump pymdown-extensions from 10.16.1 to 10.21.3 in /docs - #841

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/docs/pymdown-extensions-10.21.3
Open

build(deps): bump pymdown-extensions from 10.16.1 to 10.21.3 in /docs#841
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/docs/pymdown-extensions-10.21.3

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github May 19, 2026

Copy link
Copy Markdown
Contributor

Bumps pymdown-extensions from 10.16.1 to 10.21.3.

Release notes

Sourced from pymdown-extensions's releases.

10.21.3

  • FIX: Fix regression that allows a snippet to be loaded outside of the base path using directory traversal when restrict_base_path is enabled (the default). Found by @​gistrec.

10.21. 2

10.21.2

  • FIX: Highlight: Latest Pygments versions cannot handle a "filename" for code block titles of None.

10.20.1

  • FIX: Quotes: Ensure the first class for callouts (the alert type) is always rendered lowercase.

10.21

  • NEW: Caption: Add support for specifying not only IDs but classes and arbitrary attributes. Initial work by @​joapuiib.
  • FIX: MagicLink: Fix a matching pattern for Bitbucket repo.

10.20

  • NEW: Quotes: New blockquotes extension added that uses a more modern approach when compared to Python Markdown's default. Quotes specifically will not group consecutive blockquotes together in the same lazy fashion that the default Python Markdown does which follows a more modern trend to how parsers these days handle block quotes.

    In addition, Quotes also provides an optional feature to enable specifying callouts/alerts in the style used by GitHub and Obsidian.

10.19.1

  • FIX: Arithmatex: Fix issue where block $$ math used inline within a paragraph could result in nested math parsing.

10.19

  • NEW: Emoji: Update Twemoji to use Unicode 16.
  • NEW: Critic: Roll back view mode deprecation as some still like to use it, though further enhancements to this mode are not planned.

10.18

  • NEW: Critic: view mode has been deprecated. To avoid warnings or future issues, explicitly set mode to either accept or reject. In the future, the new default will be accept and the view mode will be removed entirely.
  • FIX: Block Admonition: important should have always been available as a default.

10.17.2

  • FIX: Blocks: Blocks extensions will now better handle nesting of indented style Admonitions, Details, and Tabbed

... (truncated)

Commits
  • 4262841 Fix spelling
  • 63b7835 Merge commit from fork
  • 3d18550 Docs: update js deps
  • a4fdd73 Skip tag 10.21.1 has we accidentally already used it
  • 8afb4cd Docs: Update JS deps
  • 7bf5b29 Pygments needs a non-None value for code block title (#2863)
  • 20b11eb Fix some spelling and formatting
  • c9edba3 Docs: strengthen Snippets warning and add security considerations
  • 6d92b68 Bump version
  • baeca0e Docs: update JS deps
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.16.1 to 10.21.3.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](facelessuser/pymdown-extensions@10.16.1...10.21.3)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-version: 10.21.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels May 19, 2026

@hermes-exosphere hermes-exosphere left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Auto-approved: all 4 CI checks passing. Ready to merge.

@hermes-exosphere

Copy link
Copy Markdown

Your PR is awaiting review by a moderator. Till then you can join the Discord for conversation: https://discord.gg/qaFM2uYFb

@hermes-exosphere

Copy link
Copy Markdown

Automated code review started - full review. Results will be posted here.

@hermes-exosphere

Copy link
Copy Markdown

🔍 Automated Code Review — Complete

Dependabot PR: pymdown-extensions 10.16.1 → 10.21.3

Scope: Single-file change in docs/uv.lock — version + hash bump
CI: All green (build ✓, ruff ✓, spellcheck ✓)
Build: uv sync && mkdocs build --strict passes cleanly
Live test: Docs site served and rendered successfully — no JS errors, no broken features

Security Note 🔐

This upgrade includes a fix for CVE-2026-46338 (directory traversal in pymdownx.snippets with restrict_base_path). The repo uses pymdownx.snippets in mkdocs.yml — this is a security-relevant update.

Final formal review to follow...

@hermes-exosphere

Copy link
Copy Markdown

🔍 Automated Code Review

📋 Executive Summary

This is a Dependabot version bump for pymdown-extensions (10.16.1 → 10.21.3) in the /docs project. A single-file change in docs/uv.lock updating version, sdist hash, and wheel hash. Clean, low-risk change that notably includes a security fix for CVE-2026-46338 (directory traversal in pymdownx.snippets).


📊 Change Architecture

graph TD
    A[docs/uv.lock] -->|"version: 10.16.1 → 10.21.3"| B[pymdown-extensions dep]
    B -->|"hash: updated"| C[sdist + wheel hashes]
    C --> D[mkdocs-material v9.7.6 site]
    D --> E[Docs site rendered]
    style B fill:#FFD700
    style C fill:#87CEEB
    style A fill:#87CEEB
Loading

Legend: 🟡 Breaking Change Risk (version bump) | 🔵 Modified


🔴 Breaking Changes

The release notes for pymdown-extensions between 10.16.1 and 10.21.3 include:

  • 10.18: Critic view mode deprecated (deprecation warning emitted, but backwards-compatible)
  • 10.20: New Quotes extension added (optional, not enabled)
  • 10.21.3: Security fix for Snippets directory traversal (CVE-2026-46338)

This project does not use Critic or the new Quotes extension in mkdocs.yml, so no breaking impact. The Snippets fix is a pure security improvement.

Verdict: ✅ No breaking changes detected for this project.


⚠️ Issues Found

No issues found. The diff is a standard lockfile update:

  • Version string changed correctly
  • sdist hash updated (256 -> 256)
  • wheel hash updated (256 -> 256)
  • Package URL paths updated correctly
  • uv lock --check confirms lockfile is consistent

🔬 Logical / Bug Analysis

Nothing to flag. This is a straightforward dependency bump managed by Dependabot:

  • Hash integrity verified (uv lock --check passes)
  • No config changes needed for this version jump
  • All transitive dependencies unchanged

🧪 Evidence -- Build & Test Results

Build Output
Using CPython 3.12.3 interpreter at: /usr/bin/python3.12
Creating virtual environment at: .venv
Resolved 46 packages in 70ms
Downloaded mkdocs-material (8.9MiB)
Downloaded mkdocs (3.7MiB)
Prepared 29 packages in 20.29s
Installed 44 packages in 1.00s
 + pymdown-extensions==10.21.3
Test Results -- mkdocs build --strict
INFO    -  Cleaning site directory
INFO    -  Building documentation to directory: .../runtime/docs/site
INFO    -  Documentation built in 5.63 seconds

✅ Build succeeds with --strict (no warnings treated as errors)

CI Status
build               pass  12s
ruff-changed-files  pass  6s
spellcheck          pass  8s
spellcheck          pass  9s

✅ All 4 checks passing

Live site verified: Docs served at localhost:8765, page rendered correctly, zero JS console errors, navigation and code blocks functional.


🔗 Issue Linkage

No linked issues. This is a routine Dependabot dependency update.


👥 Human Review Feedback

No human review comments on this PR. Only bot comments:

  • hermes-exosphere: Moderation notification (informational)
  • hermes-exosphere: Review notification (informational)

💡 Suggestions

  • Consider enabling Dependabot auto-merge for uv minor/patch updates in /docs -- this is a low-risk pattern that would benefit from automation.
  • This lockfile update only affects the docs build pipeline, not the main runtime, so it is safe to merge without extended review.

🏆 Verdict

VERDICT: APPROVED


Automated code review · 2026-07-17 12:33 UTC

@hermes-exosphere hermes-exosphere left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Automated review: All checks pass (build, ruff, spellcheck, mkdocs --strict). Dependency bump from 10.16.1 to 10.21.3 includes security fix for CVE-2026-46338 (snippets directory traversal). No breaking changes for this project. VERDICT: APPROVED.

@hermes-exosphere hermes-exosphere left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Automated review: Approved. ✅

@hermes-exosphere

Copy link
Copy Markdown

Automated code review started - full review. Results will be posted here.

@hermes-exosphere

Copy link
Copy Markdown

[progress] Existing discussion and review threads checked: no inline review threads and no human feedback to resolve. Fetching the PR head for a full diff and reproducible verification.

@hermes-exosphere

Copy link
Copy Markdown

🧪 [progress] Full diff analysis complete: this is a single indirect docs dependency lockfile update. No compose configuration is present, so native locked-environment validation and strict MkDocs build are starting.

@hermes-exosphere

Copy link
Copy Markdown

Build & test complete. Results:

  • Docker: no Compose file detected; native docs validation used.
  • Lockfile: uv lock --check --offline passed; resolver selected pymdown-extensions v10.21.3.
  • Build: uv sync --locked passed (44 packages installed).
  • Tests: uv run mkdocs build --strict passed; documentation built in 17.91s.
  • Enabled extension imports (snippets, superfences, highlight) passed.
  • CI: all 4 required checks are green.

@hermes-exosphere

Copy link
Copy Markdown

🔍 Automated Code Review

📋 Executive Summary

This Dependabot PR updates the indirect docs dependency pymdown-extensions from 10.16.1 to 10.21.3 by changing only its locked version, source artifact URLs, hashes, sizes, and upload timestamps in docs/uv.lock. The change is internally consistent, the repository’s enabled pymdownx extensions import successfully, and a strict documentation build plus browser smoke test passed.

The upgrade is security-relevant because this repository enables pymdownx.snippets in docs/mkdocs.yml:131; upstream 10.21.3 includes the fix for the default restrict_base_path directory-traversal regression. No compatibility regressions were found in the configured extensions.


📊 Change Architecture

graph TD
    A[docs/uv.lock] -->|"locked indirect dependency 10.16.1 → 10.21.3"| B[pymdown-extensions]
    B -->|"imports verified"| C[pymdownx snippets / highlight / superfences]
    C -->|"configured in"| D[docs/mkdocs.yml]
    D -->|"strict build"| E[Static Docs Site]
    E -->|"browser smoke test"| F[Rendered homepage and Getting Started]
    style A fill:#87CEEB
    style B fill:#90EE90
    style C fill:#FFD700
Loading

Legend: 🟢 New/updated dependency | 🔵 Modified lockfile | 🟡 Security-relevant configured surface


🔴 Breaking Changes

✅ No breaking changes detected for this repository.

  • No source, API, database, configuration, serialization, or public-interface code changed.
  • docs/mkdocs.yml configures pymdownx.highlight, inlinehilite, snippets, superfences, details, and tabbed; the installed 10.21.3 package imported the exercised snippets, superfences, and highlight modules successfully.
  • The lockfile is resolvable and consistent with the project manifest; uv lock --check --offline passed.

⚠️ Issues Found

No blocking or warning-level issues found.

  1. ℹ️ Reviewed changedocs/uv.lock:462-470 — the version, PyPI artifact URLs, SHA-256 hashes, package sizes, and timestamps move together from 10.16.1 to 10.21.3. The locked resolver installed exactly pymdown-extensions==10.21.3.
  2. ℹ️ Security outcomedocs/mkdocs.yml:131pymdownx.snippets is enabled, so this upstream patch is relevant to the repository’s actual docs configuration.

No inline comments were posted because the one-file diff contains no actionable code defect.


🔬 Logical / Bug Analysis

  • Scope control: git diff origin/main...HEAD --stat reports exactly one changed file, with 3 insertions and 3 deletions. Commit history contains one Dependabot commit at the requested head SHA c696a193762852945166a7222d1b092b678668b1.
  • Lockfile integrity: uv lock --check --offline completed successfully and uv tree --locked --offline resolves pymdown-extensions v10.21.3 with its expected markdown and pyyaml dependencies.
  • Build behavior: uv sync --locked created a clean environment and installed 44 packages, including pymdown-extensions==10.21.3. uv run mkdocs build --strict completed without build errors.
  • Runtime surface exercised: imports of pymdownx.snippets, pymdownx.superfences, and pymdownx.highlight succeeded under the locked environment.
  • Regression checks: git diff --check was clean; no conflict markers or credential-like additions appeared in the diff. The head includes origin/main (git merge-base --is-ancestor origin/main HEAD succeeded).

🧪 Evidence — Build & Test Results

Lockfile and environment verification
$ uv lock --check --offline
Resolved 46 packages in 2ms

$ uv tree --locked --offline | grep pymdown-extensions
pymdown-extensions v10.21.3
├── markdown v3.8.2
└── pyyaml v6.0.2

$ uv sync --locked
Installed 44 packages in 13.67s
+ pymdown-extensions==10.21.3
Strict docs build and extension import test
$ uv run mkdocs build --strict
INFO    -  Cleaning site directory
INFO    -  Building documentation to directory: /tmp/runtime-pr841/docs/site
INFO    -  Documentation built in 17.91 seconds

$ uv run python -c '...'
pymdown-extensions 10.21.3
enabled extension imports: snippets, superfences, highlight
Browser smoke test
GET /                     200
GET /getting-started/     200
Browser console: 0 JavaScript errors

The locally served static site rendered its homepage and Getting Started page correctly: navigation, search UI, styles, images, Mermaid diagram content, and documentation content were present with no visible error state.

GitHub CI is also green: build, ruff-changed-files, and both spellcheck checks passed.


🔗 Issue Linkage

No linked issue is associated with this routine Dependabot dependency update.


👥 Human Review Feedback

No human review feedback or inline review threads exist on this PR. Existing comments and prior formal approvals are from @hermes-exosphere; GraphQL reports zero review threads, so there were no bot threads eligible for resolution and no human threads to leave open.


💡 Suggestions

  • Consider enabling Dependabot auto-merge for compatible low-risk docs lockfile patch/minor updates after required CI passes, subject to the repository’s merge policy.
  • The build printed an upstream Material-for-MkDocs informational advisory about a future MkDocs 2.0 ecosystem change. It is not caused by this PR and does not affect the successful strict build, but it may merit separate dependency-maintenance tracking.

🏆 Verdict

VERDICT: APPROVED

@hermes-exosphere hermes-exosphere left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Automated review: Approved. Locked dependency integrity, strict MkDocs build, configured extension imports, and browser smoke tests passed. ✅

@hermes-exosphere hermes-exosphere left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Automated review: Approved. ✅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant