Repository navigation
Fix four security alerts, and the click/typer break that fails the docs build in #41 - #42
Open
hakonhagland wants to merge 6 commits into
Open
hakonhagland wants to merge 6 commits into
hakonhagland wants to merge 6 commits into
Conversation
Fixes dependabot alerts #50, #52 and #53: - GHSA-vxq7-64xx-v4gw (CVE-2026-97689): HTTPResponse.stream() and read_chunked() buffer an unbounded chunk-size line into memory - GHSA-8988-9cw3-xx77 (CVE-2026-97687): the TLS configuration of an HTTPS proxy may be ignored or overridden - GHSA-gh4c-6fx4-qh6g (CVE-2026-97688): chunked Deflate streaming can enter an infinite loop urllib3 is a transitive dependency of requests. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Fixes dependabot alert #58: - GHSA-xmj3-9gf7-h52w: Windows path escape through namespace_packages.txt during legacy wheel installation The fix landed in 84.1.0; 84.2.1 is the latest 84.x release. setuptools is a transitive runtime dependency pulled in by sphinx-versioned-docs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The sphinx-versioned command of sphinx-versioned-docs builds its command line with typer, which is built on click. typer 0.9.0 passes click an option with a secondary (--no-...) flag that is not a boolean flag. click 8.2 and later reject that, so with click 8.5.0 and typer 0.9.0 sphinx-versioned fails before doing anything, even for --help: TypeError: Secondary flag is not valid for non-boolean flag. This is why the docs build fails in the Dependabot group updates OPM#32 and OPM#41. typer was left at 0.9.0 there because it is only a transitive dependency: sphinx-versioned-docs asks for typer >= 0.9.0 and typer 0.9.0 accepts any click below 9. Move typer to 0.27.3, which works with click 8.5.0, and add it to pyproject.toml with that version as the lower bound, so a future group update cannot combine a new click with an old typer again. The new typer also brings rich 15.0.0, shellingham and annotated-doc, and no longer needs typing-extensions. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Taken from the Dependabot group update OPM#41. coverage is a dev dependency; the lock file entry grows because 7.16.2 ships wheels for more Python versions and platforms. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Taken from the Dependabot group update OPM#41. pytest 9.2.0 also brings packaging 26.3 and pluggy 1.7.0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Taken from the Dependabot group update OPM#41. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
🟢 Approval recommended
No active review issues are blocking the documentation dependency updates.
No open issues 🎉
What changed in this PR
Updates the documentation build dependencies to address four security alerts and resolve the Click/Typer incompatibility behind the failed builds in #41 and #32, while deferring layout-changing Sphinx upgrades.
Changes:
- Updates
urllib3andsetuptoolsto address the reported security alerts. - Upgrades Click and Typer together and adds a minimum Typer version constraint.
- Refreshes coverage, pytest, pytest-mock, and related dependencies without changing the Sphinx or theme versions.
| File | Description |
|---|---|
python/sphinx_docs/pyproject.toml |
Adds the Typer version constraint to prevent the incompatible dependency combination. |
python/sphinx_docs/poetry.lock |
Records security, command-line compatibility, and test-tool dependency updates. |
Review effort: Balanced
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This takes the part of the Dependabot group update #41 that does not change the look of the documentation, fixes the reason #41 (and #32 before it) fails the docs build, and adds the fixes for the four open Dependabot security alerts. One commit per package. Only
poetry.lockand one line ofpyproject.tomlchange.The rest of #41 —
sphinx7.3.7,sphinx-rtd-theme3.1.0 andsphinx-versioned-docs1.4 — changes the page layout and is left for a separate PR, where the rendered site can be reviewed on its own.Bump urllib3 to 2.8.0 (commit 1)
Bump setuptools to 84.2.1 (commit 2)
Bump click to 8.5.0 together with typer 0.27.3 (commit 3)
sphinx-versionedbuilds its command line withtyper, which is built onclick.typer0.9.0 givesclickan option with a--no-...flag that is not a boolean flag, andclick8.2 and later reject that. Withclick8.5.0 andtyper0.9.0,sphinx-versionedfails before doing anything, even for--help:TypeError: Secondary flag is not valid for non-boolean flag.typerbehind: it is only a transitive dependency.sphinx-versioned-docsasks fortyper >= 0.9.0, andtyper0.9.0 accepts anyclickbelow 9, so nothing forced it forward.typerto 0.27.3, and addtyper = ">=0.27.3,<1.0"topyproject.toml, so the next group update cannot combine a newclickwith an oldtyperagain.typer0.27.3 also bringsrich15.0.0 and the new small packagesshellinghamandannotated-doc, and no longer needstyping-extensions.Bump coverage, pytest and pytest-mock (commits 4–6)
coverage7.6.10 → 7.16.2,pytest9.1.1 → 9.2.0 (withpackaging26.3 andpluggy1.7.0),pytest-mock3.14.0 → 3.17.0, as in Bump the python-dependencies group across 1 directory with 7 updates #41.Testing
poetry run pytest testspasses on Python 3.11.sphinx-versioned -m master -b "$BRANCHES" --force --git-root ../../, with the branch list fromget_doc_branches.sh. It buildsmaster,release-2025.04,release-2025.10,release-2026.04and the PR branch.index.html, were compared with the currentgh-pagesbranch. The only difference is the extra version-menu entry for the PR branch itself, which every branch build adds.Note on the lock file diff
One line in
poetry.lockis not a version change: themarkersline ofcoloramalists its two conditions (sys_platform == "win32"andplatform_system == "Windows", joined byor) in the other order. Poetry 2.5.1 writes it this way when run locally, and Dependabot's run for #38 wrote it the other way. The meaning is the same.After this is merged, #41 can be closed; the remaining theme upgrade will come as its own PR.