Repository navigation
build(deps): bump certifi to 2026.10.23 - #25
Conversation
Earlier certifi releases bundle the emSign ECC Root CA - G3 root, whose eMudhra intermediates have compromised keys and have been revoked. certifi reaches the lockfile only through requests in the dev extra, so the published package is unaffected. Produced with uv lock --upgrade-package certifi; no other package moved. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Pk5H9KCpSX7PmWxKeGd9Qd
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters: 1
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including
|
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Description
Bumps the locked
certififrom 2025.4.26 to 2026.10.23, produced byuv lock --upgrade-package certifi.uv.lockis the only file changed, and certifi is the only package the resolver moved.Motivation and Context
Raised by Aikido. certifi releases before 2026.10.18 bundle the
emSign ECC Root CA - G3root certificate. Eight eMudhra intermediate CAs that chain to it have compromised private keys and have been revoked, so a holder of one of those keys can issue certificates that a certifi-backed client would trust for any hostname.certifi is not a dependency of the published package:
dependenciesinpyproject.tomlis empty, and certifi reaches the lockfile only transitively, throughrequestsin thedevextra. The wheel is therefore unaffected, andpyproject.tomlis unchanged; the fix is to the development and CI environment.2026.10.23 is the latest release on PyPI. It declares
requires_python >=3.7and carries the Python 3.8 classifier, so it covers the whole CI matrix (3.8 to 3.13). The sdist and wheel sha256 hashes inuv.lockmatch PyPI's, and neither file is yanked.Type of Change
How Has This Been Tested?
From the branch, each run separately, as CI invokes them, on Python 3.13:
uv sync --all-extras --dev: installedcertifi==2026.10.23uv run ruff check .: All checks passed!uv run ruff format --check .: 23 files already formatteduv run mypy src/: Success: no issues found in 2 source filesuv run pytest tests/ -v --tb=short: 153 passedChecklist
ruff checkandruff format --check)uv run pytest)uv run mypy src/)Additional Notes
CHANGELOG.mdis deliberately unchanged; the next release's changelog is prepared separately.Post-merge checks, recorded on the tracking work item's post-merge verification section:
main? Yes: theTestworkflow (Python 3.8 to 3.13) and CodeQL default-setup code scanning run on push tomain. Verify both are green on the merge commit, and thatuv.lockthere lists certifi 2026.10.23.Releaseworkflow runs only onv*tags, and nothing else deploys frommain. The scanner finding should clear oncemaincarries the new lock.🤖 Generated with Claude Code
https://claude.ai/code/session_01Pk5H9KCpSX7PmWxKeGd9Qd