Skip to content

Update dependency pymdown-extensions to v10.21.2#303

Merged
hugovk merged 1 commit intomainfrom
renovate/docsrequirements.txt
Mar 31, 2026
Merged

Update dependency pymdown-extensions to v10.21.2#303
hugovk merged 1 commit intomainfrom
renovate/docsrequirements.txt

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate bot commented Mar 31, 2026

This PR contains the following updates:

Package Change Age Confidence
pymdown-extensions ==10.21==10.21.2 age confidence

Release Notes

facelessuser/pymdown-extensions (pymdown-extensions)

v10.21.2: 10.21. 2

Compare Source

10.21.2

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

Configuration

📅 Schedule: Branch creation - "on the first day of the month" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added changelog: skip Exclude PR from release draft dependencies For dependencies labels Mar 31, 2026
@codecov
Copy link
Copy Markdown

codecov bot commented Mar 31, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.53%. Comparing base (ad74ae2) to head (4de821f).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #303   +/-   ##
=======================================
  Coverage   99.53%   99.53%           
=======================================
  Files          11       11           
  Lines         868      868           
=======================================
  Hits          864      864           
  Misses          4        4           
Flag Coverage Δ
macos-latest 97.46% <ø> (ø)
ubuntu-latest 97.46% <ø> (ø)
windows-latest 95.85% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@hugovk
Copy link
Copy Markdown
Member

hugovk commented Mar 31, 2026

Triggered ahead of time to fix this caused by new pygments being incompatible with pymdown-extensions:

INFO    -  Cleaning site directory
INFO    -  Building documentation to directory: /home/runner/work/humanize/humanize/site
ERROR   -  Error reading page 'filesize.md': 'NoneType' object has no attribute 'replace'
Traceback (most recent call last):
  File "/home/runner/work/humanize/humanize/.tox/docs/bin/mkdocs", line 10, in <module>
    sys.exit(cli())
             ~~~^^
  File "/home/runner/work/humanize/humanize/.tox/docs/lib/python3.14/site-packages/click/core.py", line 1485, in __call__
    return self.main(*args, **kwargs)
           ~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/home/runner/work/humanize/humanize/.tox/docs/lib/python3.14/site-packages/click/core.py", line 1406, in main
    rv = self.invoke(ctx)
  File "/home/runner/work/humanize/humanize/.tox/docs/lib/python3.14/site-packages/click/core.py", line 1873, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/home/runner/work/humanize/humanize/.tox/docs/lib/python3.14/site-packages/click/core.py", line 1269, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/humanize/humanize/.tox/docs/lib/python3.14/site-packages/click/core.py", line 824, in invoke
    return callback(*args, **kwargs)
  File "/home/runner/work/humanize/humanize/.tox/docs/lib/python3.14/site-packages/mkdocs/__main__.py", line 288, in build_command
    build.build(cfg, dirty=not clean)
    ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/humanize/humanize/.tox/docs/lib/python3.14/site-packages/mkdocs/commands/build.py", line 310, in build
    _populate_page(file.page, config, files, dirty)
    ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/humanize/humanize/.tox/docs/lib/python3.14/site-packages/mkdocs/commands/build.py", line 167, in _populate_page
    page.render(config, files)
    ~~~~~~~~~~~^^^^^^^^^^^^^^^
  File "/home/runner/work/humanize/humanize/.tox/docs/lib/python3.14/site-packages/mkdocs/structure/pages.py", line 285, in render
    self.content = md.convert(self.markdown)
                   ~~~~~~~~~~^^^^^^^^^^^^^^^
  File "/home/runner/work/humanize/humanize/.tox/docs/lib/python3.14/site-packages/markdown/core.py", line 363, in convert
    root = self.parser.parseDocument(self.lines).getroot()
           ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/home/runner/work/humanize/humanize/.tox/docs/lib/python3.14/site-packages/markdown/blockparser.py", line 117, in parseDocument
    self.parseChunk(self.root, '\n'.join(lines))
    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/humanize/humanize/.tox/docs/lib/python3.14/site-packages/markdown/blockparser.py", line 136, in parseChunk
    self.parseBlocks(parent, text.split('\n\n'))
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/humanize/humanize/.tox/docs/lib/python3.14/site-packages/markdown/blockparser.py", line 158, in parseBlocks
    if processor.run(parent, blocks) is not False:
       ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
  File "/home/runner/work/humanize/humanize/.tox/docs/lib/python3.14/site-packages/mkdocstrings/_internal/extension.py", line 127, in run
    html, handler, _ = self._process_block(identifier, block, heading_level)
                       ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/humanize/humanize/.tox/docs/lib/python3.14/site-packages/mkdocstrings/_internal/extension.py", line 194, in _process_block
    rendered = render(data, options)
  File "/home/runner/work/humanize/humanize/.tox/docs/lib/python3.14/site-packages/mkdocstrings_handlers/python/_internal/handler.py", line 264, in render
    return template.render(
           ~~~~~~~~~~~~~~~^
        **{
        ^^^
    ...<8 lines>...
        },
        ^^
    )
    ^
  File "/home/runner/work/humanize/humanize/.tox/docs/lib/python3.14/site-packages/jinja2/environment.py", line 1295, in render
    self.environment.handle_exception()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/home/runner/work/humanize/humanize/.tox/docs/lib/python3.14/site-packages/jinja2/environment.py", line 942, in handle_exception
    raise rewrite_traceback_stack(source=source)
  File "/home/runner/work/humanize/humanize/.tox/docs/lib/python3.14/site-packages/mkdocstrings_handlers/python/templates/material/module.html.jinja", line 1, in top-level template code
    {% extends "_base/module.html.jinja" %}
    ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/humanize/humanize/.tox/docs/lib/python3.14/site-packages/mkdocstrings_handlers/python/templates/material/_base/module.html.jinja", line 87, in top-level template code
    {% block contents scoped %}
    ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/humanize/humanize/.tox/docs/lib/python3.14/site-packages/mkdocstrings_handlers/python/templates/material/_base/module.html.jinja", line 116, in block 'contents'
    {% block children scoped %}
    ^^^^^^^^^^^^^^^^^
  File "/home/runner/work/humanize/humanize/.tox/docs/lib/python3.14/site-packages/mkdocstrings_handlers/python/templates/material/_base/module.html.jinja", line 123, in block 'children'
    {% include "children.html.jinja" with context %}
    ^^^^^^^^^^^^^^^
  File "/home/runner/work/humanize/humanize/.tox/docs/lib/python3.14/site-packages/mkdocstrings_handlers/python/templates/material/children.html.jinja", line 1, in top-level template code
    {% extends "_base/children.html.jinja" %}
    ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/humanize/humanize/.tox/docs/lib/python3.14/site-packages/mkdocstrings_handlers/python/templates/material/_base/children.html.jinja", line 117, in top-level template code
    {% include function|get_template with context %}
    ^^^^^
  File "/home/runner/work/humanize/humanize/.tox/docs/lib/python3.14/site-packages/mkdocstrings_handlers/python/templates/material/function.html.jinja", line 1, in top-level template code
    {% extends "_base/function.html.jinja" %}
    ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/humanize/humanize/.tox/docs/lib/python3.14/site-packages/mkdocstrings_handlers/python/templates/material/_base/function.html.jinja", line 121, in top-level template code
    {% block contents scoped %}
    ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/humanize/humanize/.tox/docs/lib/python3.14/site-packages/mkdocstrings_handlers/python/templates/material/_base/function.html.jinja", line 142, in block 'contents'
    {% block source scoped %}
    ^^^^^^^^^^^^^^^^^
  File "/home/runner/work/humanize/humanize/.tox/docs/lib/python3.14/site-packages/mkdocstrings_handlers/python/templates/material/_base/function.html.jinja", line 156, in block 'source'
    {{ function.source|highlight(language="python", linestart=function.lineno or 0, linenums=True) }}
    ^^^^^^^^^^^
  File "/home/runner/work/humanize/humanize/.tox/docs/lib/python3.14/site-packages/mkdocstrings/_internal/handlers/rendering.py", line 120, in highlight
    result = super().highlight(src, language, inline=inline, **kwargs)
  File "/home/runner/work/humanize/humanize/.tox/docs/lib/python3.14/site-packages/pymdownx/highlight.py", line 400, in highlight
    formatter = html_formatter(
        cssclass=css_class,
    ...<13 lines>...
        anchorlinenos=self.anchor_linenums if not inline else False
    )
  File "/home/runner/work/humanize/humanize/.tox/docs/lib/python3.14/site-packages/pymdownx/highlight.py", line 179, in __init__
    HtmlFormatter.__init__(self, **options)
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/home/runner/work/humanize/humanize/.tox/docs/lib/python3.14/site-packages/pygments/formatters/html.py", line 434, in __init__
    self.filename = html.escape(self._decodeifneeded(options.get('filename', '')))
                    ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.14.3/x64/lib/python3.14/html/__init__.py", line 19, in escape
    s = s.replace("&", "&amp;") # Must be done first!
        ^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'replace'
docs: exit 1 (1.78 seconds) /home/runner/work/humanize/humanize> mkdocs build pid=2503
.pkg: _exit> python /home/runner/work/_temp/setup-uv-cache/archive-v0/kfITl8afQoxljqqzm7e5E/lib/python3.14/site-packages/pyproject_api/_backend.py True hatchling.build
  docs: FAIL code 1 (6.95=setup[5.17]+cmd[1.78] seconds)
  evaluation failed :( (7.05 seconds)

@hugovk
Copy link
Copy Markdown
Member

hugovk commented Mar 31, 2026

@hugovk hugovk merged commit aab9dab into main Mar 31, 2026
81 of 82 checks passed
@hugovk hugovk deleted the renovate/docsrequirements.txt branch March 31, 2026 08:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog: skip Exclude PR from release draft dependencies For dependencies

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant