Skip to content

chore(deps): update uvicorn requirement from >=0.30.0 to >=0.54.0 - #40

Merged
ifuri-validator-agent[bot] merged 1 commit into
mainfrom
dependabot/uv/uvicorn-gte-0.54.0
Oct 26, 2026
Merged

ifuri-validator-agent[bot] merged 1 commit into
mainfrom
dependabot/uv/uvicorn-gte-0.54.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Updates the requirements on uvicorn to permit the latest version.

Release notes

Sourced from uvicorn's releases.

Version 0.54.0

📨 Send metadata after the response body

uvicorn 0.54.0 adds response trailers and 103 Early Hints to its experimental HTTP/2 implementation through zttp.

uv add uvicorn==0.54.0 "zttp>=0.0.34"
  • Send HTTP/2 response trailers (#3146). The ASGI http.response.trailers extension lets applications send metadata, such as checksums, after the response body. Clients must send TE: trailers to receive them. Multiple trailer messages are combined before completing the response.
  • HTTP/2 remains experimental and opt-in. Enable it with --http zttp --http2. Upgrade-based h2c and WebSockets over HTTP/2 remain unsupported.

💡 Hint at resources before the final response

  • Send 103 Early Hints over HTTP/2 (#3137). Applications can use the ASGI http.response.early_hint extension to send resource hints before the final response. Each supplied link becomes a separate Link header.

Full changelog: 0.53.0...0.54.0

Changelog

Sourced from uvicorn's changelog.

0.54.0 (September 24, 2026)

HTTP/2 support remains experimental. Install zttp>=0.0.34 and enable it with --http zttp --http2.

Added

  • Add HTTP/2 response trailers through the ASGI http.response.trailers extension. Clients must send TE: trailers to receive them (#3146)
  • Add HTTP/2 103 Early Hints through the ASGI http.response.early_hint extension (#3137)

0.53.0 (September 14, 2026)

This release adds experimental HTTP/2 support through zttp. Enable it with --http zttp --http2. Upgrade-based h2c and WebSockets over HTTP/2 are not supported.

Added

  • Add experimental HTTP/2 support through zttp (#2982, #3101)
  • Add support for zuvloop (#3104)

Fixed

  • Handle comma-separated, case-insensitive Connection: close tokens across HTTP implementations (#3103)
  • Trust IPv6 loopback in the default FORWARDED_ALLOW_IPS value (#3119)
  • Cancel the HTTP keep-alive timer when upgrading to WebSocket (#3107)

0.52.4 (August 18, 2026)

Fixed

  • Remove duplicate Date headers from accepted WebSocket handshakes with websockets-sansio (#3078)

0.52.3 (August 13, 2026)

Changed

  • Update zttp to 0.0.24 and use its combined receive path, improving HTTP/1.1 request parsing performance (#3067)

0.52.2 (August 13, 2026)

Fixed

  • Update zttp to 0.0.22, fixing bodyless request receives and improving HTTP/1 request parsing performance (#3063)

0.52.1 (August 1, 2026)

Fixed

  • Complete the closing handshake on server-initiated WebSocket closes in the websockets-sansio and wsproto implementations, waiting for the client's close reply with a 10 second timeout instead of resetting the connection (#3053)
  • Add missing write flow control to the websockets-sansio implementation, preventing data truncation on server-initiated closes with large in-flight payloads (#3048)
  • Handle connection loss while a WebSocket write is waiting on backpressure (#3050)

... (truncated)

Commits

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Oct 26, 2026
Updates the requirements on [uvicorn](https://github.com/Kludex/uvicorn) to permit the latest version.
- [Release notes](https://github.com/Kludex/uvicorn/releases)
- [Changelog](https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md)
- [Commits](Kludex/uvicorn@0.30.0...0.54.0)

---
updated-dependencies:
- dependency-name: uvicorn
  dependency-version: 0.54.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/uv/uvicorn-gte-0.54.0 branch from a808aff to 15c31ee Compare October 26, 2026 09:01

@ifuri-validator-agent ifuri-validator-agent 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.

Validator approval after policy checks for exact head 15c31eeb44407f4412744ec1daef3e6cce26f973.

Ticket: ticket-021
Correlation ID: codex-mcp40-rebased-20261026
Model: openai/cursor-auto
Reviewed diff chunks: 1
Advisory LLM verdict: APPROVE
Advisory summary: Reviewed all 1 diff chunk(s). The change only raises the minimum uvicorn version in two requirements files. No visible code or security defects were identified, and all protected required checks passed.
Advisory findings: none
The LLM output above is advisory and was not used as the approval trust root.
Semantic review prerequisite: not_required; policy 676cb4516bbfed2a000e40b9b1b6e4a430ecc761ec546aeb53d721a1905cfdd7.

Actual PR impact radar

Exact range: 18a1e24716041ee4e8880c9e065d4d76b8b52f8f...15c31eeb44407f4412744ec1daef3e6cce26f973
Change digest: 85e661e6014e406fad86d426343a612aad3a762d9d6f8181203333c9d8033317
Score: 76/100 (L), estimated 166 min, split recommended: true
Affected services/components: repository-wide/unclassified

Machine-readable radar JSONL and SVG
{"actual_change":{"additions":2,"base_sha":"18a1e24716041ee4e8880c9e065d4d76b8b52f8f","binary_files":0,"categories":{"code":2},"change_digest":"85e661e6014e406fad86d426343a612aad3a762d9d6f8181203333c9d8033317","comparison":"18a1e24716041ee4e8880c9e065d4d76b8b52f8f...15c31eeb44407f4412744ec1daef3e6cce26f973","deletions":2,"file_count":2,"files":["mcp-git-proxy/requirements.txt","mcp-skills/requirements.txt"],"head_sha":"15c31eeb44407f4412744ec1daef3e6cce26f973","service_count":0,"services":[]},"assessment_mode":"observed-pr","axes":{"coupling":5,"delivery":4,"scope":5,"uncertainty":3,"validation":2},"complexity":"L","confidence":0.9,"diagnostics":["RADAR-ACCEPTANCE-MISSING","RADAR-BUDGET-EXCEEDED"],"estimate":{"budget_minutes":30,"minutes":166,"within_budget":false},"impact":{"components":["HTTP","github.com","mcp-git-proxy","mcp-skills","redirect.github.com"],"files":["HTTP/1","HTTP/1.1","HTTP/2","github.com/Kludex/uvicorn","github.com/Kludex/uvicorn/blob/main/docs/release-notes.md","github.com/Kludex/uvicorn/commit/21f39ef7988366f77fb3172569bd235ac5de34cc","github.com/Kludex/uvicorn/commit/3eb9a9ab9af69005c687728097461c1fd2a95db9","github.com/Kludex/uvicorn/commit/421708fbc1a704dac8bd4053a7c4c0bf4d3704ee","github.com/Kludex/uvicorn/commit/5ac6265a01ff6dcadb0e4250152c3deaf8a168a9","github.com/Kludex/uvicorn/commit/63971ed952090438896e6eba7d07178b616d97cc","github.com/Kludex/uvicorn/commit/7d1a0055aee5e281accc646b559ddd147486bf8a","github.com/Kludex/uvicorn/commit/9bd4404cca9506e9ba4f46b69ef72d011ceef2bd","github.com/Kludex/uvicorn/commit/a56c7cce64aaa37e5864f882a5cbce8aa1dac47a","github.com/Kludex/uvicorn/commit/cd7ef6d31c1a09a3653f326cda7813d35ffd6082","github.com/Kludex/uvicorn/commit/f1a1bff7be819f5724d6fdf86dfd448a97c62e23","github.com/Kludex/uvicorn/compare/0.30.0...0.54.0","github.com/Kludex/uvicorn/compare/0.53.0...0.54.0","github.com/Kludex/uvicorn/releases","mcp-git-proxy/requirements.txt","mcp-skills/requirements.txt","redirect.github.com/Kludex/uvicorn/issues/3048","redirect.github.com/Kludex/uvicorn/issues/3050","redirect.github.com/Kludex/uvicorn/issues/3053","redirect.github.com/Kludex/uvicorn/issues/3063","redirect.github.com/Kludex/uvicorn/issues/3067","redirect.github.com/Kludex/uvicorn/issues/3107","redirect.github.com/Kludex/uvicorn/issues/3119","redirect.github.com/Kludex/uvicorn/issues/3128","redirect.github.com/Kludex/uvicorn/issues/3130","redirect.github.com/Kludex/uvicorn/issues/3134","redirect.github.com/Kludex/uvicorn/issues/3136","redirect.github.com/Kludex/uvicorn/issues/3137","redirect.github.com/Kludex/uvicorn/issues/3145","redirect.github.com/Kludex/uvicorn/issues/3146","redirect.github.com/Kludex/uvicorn/issues/3161","redirect.github.com/Kludex/uvicorn/pull/2982","redirect.github.com/Kludex/uvicorn/pull/3078","redirect.github.com/Kludex/uvicorn/pull/3101","redirect.github.com/Kludex/uvicorn/pull/3103","redirect.github.com/Kludex/uvicorn/pull/3104"],"public_interfaces":[],"runtime_dependencies":0},"schema":"subactor.ticket-radar/v1","score":76,"split":{"parts":[{"estimated_minutes":30,"name":"Implement HTTP","scope":["HTTP"]},{"estimated_minutes":30,"name":"Implement github.com","scope":["github.com"]},{"estimated_minutes":30,"name":"Implement mcp-git-proxy","scope":["mcp-git-proxy"]},{"estimated_minutes":30,"name":"Implement mcp-skills","scope":["mcp-skills"]},{"estimated_minutes":30,"name":"Implement redirect.github.com","scope":["redirect.github.com"]},{"estimated_minutes":15,"name":"Validate and project to trackers","scope":["tests","planfile","github/gitlab/jira projections"]}],"reason":"estimated_minutes_exceed_budget","recommended":true},"standards":[{"id":"wellmanifest/dsl","revision":"6c60fc4e0dd1f1bb74f46a7745e28019908d1203","version":"0.1.0-dev"},{"id":"wellmanifest/ticket-lifecycle","revision":"5bf581907a87b46a13a73e6c033d3abe4d9a306f","version":"0.1.0-dev"},{"id":"wellmanifest/git-lifecycle","revision":"7d77d4b7af57e69bc75c3a0290b3a4805c5c4438","version":"0.2.0-dev"},{"id":"wellmanifest/logs","revision":"48c284ef7a069055c0bcb6b900147ce5e65f8b43","version":"0.3.0"}],"ticket_ref":"ticket-021"}
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img"><title>ticket-021: chore(deps): update uvicorn requirement from &gt;=0.30.0 to &gt;=0.54.0</title><rect width="128" height="128" rx="12" fill="#f8fafc"/><g stroke-width="1"><polygon points="64,55 72,61 69,71 59,71 56,61" fill="none" stroke="#d7dde5"/><polygon points="64,47 80,59 74,78 54,78 48,59" fill="none" stroke="#d7dde5"/><polygon points="64,38 89,56 79,85 49,85 39,56" fill="none" stroke="#d7dde5"/><polygon points="64,30 97,53 84,92 44,92 31,53" fill="none" stroke="#d7dde5"/><polygon points="64,21 105,51 89,99 39,99 23,51" fill="none" stroke="#d7dde5"/><line x1="64" y1="64" x2="64" y2="21" stroke="#aab4c0"/><line x1="64" y1="64" x2="105" y2="51" stroke="#aab4c0"/><line x1="64" y1="64" x2="89" y2="99" stroke="#aab4c0"/><line x1="64" y1="64" x2="39" y2="99" stroke="#aab4c0"/><line x1="64" y1="64" x2="23" y2="51" stroke="#aab4c0"/></g><polygon points="64,21 105,51 79,85 54,78 31,53" fill="#fb923c" fill-opacity="0.45" stroke="#c2410c" stroke-width="2"/><circle cx="64" cy="64" r="3" fill="#c2410c"/><g font-family="sans-serif" font-size="7" fill="#334155"><text x="64" y="11" text-anchor="middle">SCO</text><text x="114" y="48" text-anchor="middle">COU</text><text x="95" y="107" text-anchor="middle">UNC</text><text x="33" y="107" text-anchor="middle">VAL</text><text x="14" y="48" text-anchor="middle">DEL</text></g><text x="64" y="124" text-anchor="middle" font-family="sans-serif" font-size="8" fill="#0f172a">L · 166m</text></svg>
Merge will be attempted after this approval when explicitly authorized. ## Decision record (recomputable)
DECISION D-021-4502
TICKET ticket-021
HEAD_SHA 15c31eeb44407f4412744ec1daef3e6cce26f973
CORRELATION_ID codex-mcp40-rebased-20261026
ACTOR agent:ifuri-validator-agent[bot]
APPLIED_RULE P-CORE-015
INPUT author_login = "dependabot[bot]"
INPUT observed_checks = ["governance / enforce=PASS","governance / remote lifecycle=PASS","verify=PASS"]
INPUT required_checks = ["governance / enforce","governance / remote lifecycle","verify"]
INPUT required_checks_source = "protected registry (env/request)"
INPUT reviewer_login = "ifuri-validator-agent[bot]"
INPUT semantic_review_assessment = {"schema":"subactor.validator/semantic-review-assessment/v1","subject":{"repository":"semcod/mcp","pull_request":40,"head_sha":"15c31eeb44407f4412744ec1daef3e6cce26f973","base_sha":"18a1e24716041ee4e8880c9e065d4d76b8b52f8f","diff_sha256":"a1bc96dfe5241eb752be5040f573b47a5d36a009cecfa8ba480d5f0767f718d1"},"policy":{"policy_schema":"subactor.validator/semantic-review-policy/v1","policy_version":1,"policy_sha256":"676cb4516bbfed2a000e40b9b1b6e4a430ecc761ec546aeb53d721a1905cfdd7","required":false,"critical_paths":[],"observed_paths":["mcp-git-proxy/requirements.txt","mcp-skills/requirements.txt"]},"grounding":"full-diff-not-per-finding-proof","execution_authority":false,"status":"not_required","reason":null,"review_sha256":null,"unresolved":[]}
INPUT superseded_checks = []
INPUT ticket_radar_receipt = {"schema":"subactor.ticket-radar/v1","base_sha":"18a1e24716041ee4e8880c9e065d4d76b8b52f8f","head_sha":"15c31eeb44407f4412744ec1daef3e6cce26f973","change_digest":"85e661e6014e406fad86d426343a612aad3a762d9d6f8181203333c9d8033317","score":76,"complexity":"L","estimated_minutes":166,"split_recommended":true,"services":[],"authority":"ADVISORY","promotion":"FORBIDDEN"}
VERDICT APPROVE AUTHORITY DETERMINISTIC
REJECTED REQUEST_CHANGES BECAUSE NO_UNSAFE_CHANGE_REASON_FOUND
ADVISORY llm_verdict = "APPROVE" MODEL "openai/cursor-auto"
ASSERT VERDICT_AUTHORITY != "ADVISORY"

@ifuri-validator-agent
ifuri-validator-agent Bot merged commit 3296fb8 into main Oct 26, 2026
3 checks passed
@ifuri-validator-agent
ifuri-validator-agent Bot deleted the dependabot/uv/uvicorn-gte-0.54.0 branch October 26, 2026 09:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants