Skip to content

build(deps): bump certifi to 2026.10.23 - #24

Closed
man8-octoflow[bot] wants to merge 1 commit into
mainfrom
man8-11402-major-upgrade-for-certifi
Closed

man8-octoflow[bot] wants to merge 1 commit into
mainfrom
man8-11402-major-upgrade-for-certifi

Conversation

@man8-octoflow

@man8-octoflow man8-octoflow Bot commented Oct 26, 2026

Copy link
Copy Markdown

Description

Bumps the locked certifi from 2025.4.26 to 2026.10.23, produced by uv lock --upgrade-package certifi. uv.lock is 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 - G3 root 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: dependencies in pyproject.toml is empty, and certifi reaches the lockfile only transitively, through requests in the dev extra. The wheel is therefore unaffected, and pyproject.toml is unchanged; the fix is to the development and CI environment.

2026.10.23 is the latest release on PyPI. It declares requires_python >=3.7 and carries the Python 3.8 classifier, so it covers the whole CI matrix (3.8 to 3.13). The sdist and wheel sha256 hashes in uv.lock match PyPI's, and neither file is yanked.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

From the branch, each run separately, as CI invokes them, on Python 3.13:

  • uv sync --all-extras --dev: installed certifi==2026.10.23
  • uv run ruff check .: All checks passed!
  • uv run ruff format --check .: 23 files already formatted
  • uv run mypy src/: Success: no issues found in 2 source files
  • uv run pytest tests/ -v --tb=short: 153 passed

Checklist

  • My code follows the project's code style (checked with ruff check and ruff format --check)
  • I have performed a self-review of my own code
  • My commit messages follow Conventional Commits specification
  • New and existing unit tests pass locally with my changes (uv run pytest)
  • I have checked my code passes type checking (uv run mypy src/)
  • My changes maintain backwards compatibility

Additional Notes

CHANGELOG.md is deliberately unchanged; the next release's changelog is prepared separately.

Post-merge checks, recorded on the tracking work item's post-merge verification section:

  1. Does merging run CI on main? Yes: the Test workflow (Python 3.8 to 3.13) and CodeQL default-setup code scanning run on push to main. Verify both are green on the merge commit, and that uv.lock there lists certifi 2026.10.23.
  2. Does this change take over or supersede another PR? No.
  3. Does merging trigger a deploy, scheduled job or downstream catch-up? No: the Release workflow runs only on v* tags, and nothing else deploys from main. The scanner finding should clear once main carries the new lock.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Pk5H9KCpSX7PmWxKeGd9Qd

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
@coderabbitai

coderabbitai Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

Important

Review skipped

This PR was authored by a bot without an assigned CodeRabbit review seat. Ask an organization administrator to assign a seat to the bot. See the seat-assignment guide. After the seat is assigned, request a review again.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 3c1905a4-2594-4449-97f5-bad3ed4e651a

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@man8-octoflow
man8-octoflow Bot marked this pull request as ready for review October 26, 2026 14:54
@man8-octoflow

man8-octoflow Bot commented Oct 26, 2026

Copy link
Copy Markdown
Author

@coderabbitai review

man8 commented Oct 26, 2026

Copy link
Copy Markdown
Owner

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
⚠️ Action not completed

Review skipped.

@man8 man8 mentioned this pull request Oct 26, 2026
7 tasks done
@man8-octoflow

man8-octoflow Bot commented Oct 26, 2026

Copy link
Copy Markdown
Author

Superseded by #25: the same change, re-filed under a different author so that CodeRabbit reviews it.

@man8-octoflow man8-octoflow Bot closed this Oct 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant