Skip to content

Python: Refresh dependencies and block compromised releases - #9590

Merged
Eduard van Valkenburg (eavanvalkenburg) merged 4 commits into
mainfrom
eavanvalkenburg-bump-secure-dependencies
Oct 22, 2026
Merged

Eduard van Valkenburg (eavanvalkenburg) merged 4 commits into
mainfrom
eavanvalkenburg-bump-secure-dependencies

Conversation

@eavanvalkenburg

Copy link
Copy Markdown
Member

Motivation & Context

Refresh Python-owned dependency surfaces to current compatible releases, address active dependency advisories, and prevent compromised LiteLLM and certifi releases from entering future resolutions. This also consolidates the open Python Dependabot updates into one coherent lockfile refresh.

Description & Review Guide

  • What are the major changes? Refresh the root workspace, Lab, Telegram sample, and frontend manifests/lockfiles; require certifi>=2026.10.19; exclude LiteLLM 1.107.0; coordinate uv 0.13.5 across Python tooling and automation; regenerate the tracked DevUI bundle; and adapt the MCP workflow adapter to Pydantic 2.14 typing.
  • What is the impact of these changes? Python and frontend dependency resolutions move to patched/current compatible versions without changing public Agent Framework APIs. The security constraints remain explicit so future lock refreshes cannot reintroduce the affected releases.
  • What do you want reviewers to focus on? The security constraints, the broad generated lockfile churn, and the DevUI dependency/bundle refresh.

Related Issue

N/A - trivial change: routine dependency and security maintenance with unambiguous patched versions. This consolidates and supersedes #9569, #9568, #9556, #9555, #9448, #9419, #9418, and #9417.

AI Assistance

  • No material AI assistance was used.
  • This is an AI-assisted contribution. I reviewed, understood, and verified all submitted content and accept responsibility for it.

AI assistance details: Dependency investigation, manifest and lockfile updates, compatibility adjustment, and PR description drafting.

Contribution Checklist

  • The code builds clean without any errors or warnings
  • All unit tests pass, and I have added new tests where possible
  • The PR follows the Contribution Guidelines
  • This PR links to an agreed issue with no competing open PR, or the Related Issue section documents a trivial-change or repository-automation exception.
  • This is not a breaking change. If it is a breaking change, add the breaking change label (or add "[BREAKING]" to the title prefix, before or after any language prefix) — a workflow keeps the label and title prefix in sync automatically.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 511ea24f-5793-44f6-be7a-73fb5f5a278d
Copilot AI balanced review requested due to automatic review settings October 22, 2026 09:05
@agent-framework-automation agent-framework-automation Bot added python Usage: [Issues, PRs], Target: Python lab Usage: [Issues, PRs], Target: lab packages labels Oct 22, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

The DevUI Yarn lockfile is incomplete, and Telegram’s remote deployment does not enforce the new certifi minimum.

1 open issue
3 files not reviewed
  • python/samples/05-end-to-end/ag_ui_single_agent/frontend/package-lock.json: Generated file
  • python/samples/05-end-to-end/ag_ui_workflow_handoff/frontend/package-lock.json: Generated file
  • python/samples/05-end-to-end/chatkit-integration/frontend/package-lock.json: Generated file
What changed in this PR

Refreshes Agent Framework’s Python tooling and frontend dependencies, consolidating pending Dependabot updates and adding explicit security constraints.

Changes:

  • Adds a certifi minimum version and excludes LiteLLM 1.107.0 from Lab resolutions.
  • Coordinates uv 0.13.5 across development tooling and automation, and refreshes frontend dependencies.
  • Adjusts MCP workflow typing for Pydantic compatibility and reformats an AG-UI condition without changing behavior.
File Description
python/​tooling/​requirements-typing.txt Updates pyrefly and ty.
python/​tooling/​requirements-quality.txt Updates Ruff.
python/​tooling/​requirements-api-compatibility.txt Updates Griffe.
python/​samples/​05-end-to-end/​chatkit-integration/​frontend/​package.json Updates React and Vite tooling.
python/​samples/​05-end-to-end/​chatkit-integration/​frontend/​package-lock.json Refreshes ChatKit frontend resolutions.
python/​samples/​05-end-to-end/​ag_ui_workflow_handoff/​frontend/​package.json Updates React, Node types and Vite tooling.
python/​samples/​05-end-to-end/​ag_ui_workflow_handoff/​frontend/​package-lock.json Refreshes handoff frontend resolutions.
python/​samples/​05-end-to-end/​ag_ui_single_agent/​frontend/​package-lock.json Refreshes single-agent frontend resolutions.
python/​samples/​04-hosting/​foundry-hosted-agents/​invocations/​telegram/​pyproject.toml Adds a uv certifi security floor.
python/​pyproject.toml Updates tooling pins and adds the certifi floor.
python/​packages/​lab/​pyproject.toml Updates tooling and constrains certifi and LiteLLM.
python/​packages/​hosting-mcp/​agent_framework_hosting_mcp/​_workflow_tool.py Adds a typing cast for Pydantic compatibility.
python/​packages/​devui/​frontend/​yarn.lock Refreshes DevUI dependency resolutions.
python/​packages/​devui/​frontend/​package.json Updates UI libraries and frontend tooling.
python/​packages/​ag-ui/​agent_framework_ag_ui/​_run_common.py Reformats a condition without changing logic.
python/​.pre-commit-config.yaml Updates the uv hook version.
.github/​workflows/​issue-triage.yml Updates uv for issue triage.
.github/​workflows/​devflow-pr-review.yml Updates uv for automated PR review.
.github/​workflows/​devflow-fix-ci.yml Updates uv across CI-repair jobs.

Review effort: Balanced

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 511ea24f-5793-44f6-be7a-73fb5f5a278d
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 511ea24f-5793-44f6-be7a-73fb5f5a278d
@github-code-quality

github-code-quality Bot commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Code coverage overview

Languages: Python

Python / code-coverage/python

main 4c191ff eavanvalkenburg-bump... f3a5bc4 +/-
92% 92% 0%

ℹ️ Calculations represent line coverage. Results may change as calculations are updated.


Updated October 22, 2026 09:45 UTC

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

MAF Automated Review — Iteration 1

Result: Findings reported
Scope: full PR (2 commit(s)): b4d25563f5da, 53810284d2b4
Model: gpt-5.6-sol

Overview

This PR coordinates Python and frontend dependency refreshes with strong local lock-level guards, exact uv versioning, and focused compatibility tests for Gemini and Hosting MCP. The runtime adaptations are narrow and well constrained. Two residual issues remain: Lab's compromised LiteLLM exclusion is not exported to downstream pip consumers, and DevUI's regenerated Yarn lock no longer represents the selectors used by the documented Yarn workflow.

Reviewed the supplied pull-request change set across correctness, security/reliability, architecture, and failure behavior.
2 verified findings remained after source verification (1 high, 1 medium) across 2 files. Details are attached to the affected lines below.

Affected areas: python/packages/devui/frontend/yarn.lock, python/packages/lab/pyproject.toml

Comment thread python/packages/lab/pyproject.toml
Comment thread python/packages/devui/frontend/yarn.lock Outdated
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 511ea24f-5793-44f6-be7a-73fb5f5a278d
Merged via the queue into main with commit 6ae0f40 Oct 22, 2026
68 checks passed
@eavanvalkenburg
Eduard van Valkenburg (eavanvalkenburg) deleted the eavanvalkenburg-bump-secure-dependencies branch October 22, 2026 10:22

This branch was successfully deployed

1 active deployment
github-app-auth — f3a5bc4d Deployed Oct 22, 2026 by eavanvalkenburg via add_label #25899
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lab Usage: [Issues, PRs], Target: lab packages python Usage: [Issues, PRs], Target: Python

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants