Skip to content

chore(deps): bump uvicorn[standard] from 0.52.4 to 0.54.0 - #32

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

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

Conversation

@dependabot

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

Copy link
Copy Markdown
Contributor

Bumps uvicorn[standard] from 0.52.4 to 0.54.0.

Release notes

Sourced from uvicorn[standard]'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

Version 0.53.0

🌐 Opt-in HTTP/2 support

uvicorn 0.53.0 adds experimental HTTP/2 through zttp, alongside a new zuvloop integration and connection-handling improvements.

uv add uvicorn==0.53.0
  • Serve HTTP/1.1 and HTTP/2 with zttp (#2982, #3101). Install zttp, then enable HTTP/2 with --http zttp --http2. Uvicorn negotiates HTTP/2 over TLS with ALPN and supports cleartext prior knowledge.
  • HTTP/2 remains experimental. Upgrade-based h2c and WebSockets over HTTP/2 are not supported.

⚙️ More event loop choice

  • Run Uvicorn with zuvloop (#3104). Install zuvloop separately and select it explicitly with --loop zuvloop on CPython 3.14 or newer.

🛡️ More reliable connections and proxies

  • Honor Connection: close token lists (#3103). Uvicorn now parses comma-separated tokens case-insensitively across HTTP implementations.
  • Trust IPv6 loopback proxies by default (#3119). The default FORWARDED_ALLOW_IPS value now includes ::1.
  • Keep upgraded WebSockets alive (#3107). Uvicorn cancels the HTTP keep-alive timer when the connection becomes a WebSocket.

Full changelog: 0.52.4...0.53.0

Changelog

Sourced from uvicorn[standard]'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)
Commits

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Oct 12, 2026
@tom-sapletta-com

Copy link
Copy Markdown
Contributor

@dependabot rebase

@tom-sapletta-com

Copy link
Copy Markdown
Contributor

@dependabot rebase

Bumps [uvicorn[standard]](https://github.com/Kludex/uvicorn) from 0.52.4 to 0.54.0.
- [Release notes](https://github.com/Kludex/uvicorn/releases)
- [Changelog](https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md)
- [Commits](Kludex/uvicorn@0.52.4...0.54.0)

---
updated-dependencies:
- dependency-name: uvicorn[standard]
  dependency-version: 0.54.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/uv/uvicorn-standard--0.54.0 branch from 64ba71d to 48aae95 Compare October 23, 2026 14:20

@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 48aae959305c3b054e8e4882fa1c21f5776fc44b.

Ticket: ticket-020
Correlation ID: mcp-dep-pr32
Model: gemini/gemini-3.8-flash
Reviewed diff chunks: 1
Advisory LLM verdict: APPROVE
Advisory summary: Reviewed all 1 diff chunk(s). Bumped uvicorn[standard] from 0.52.4 to 0.54.0 across mcp-docs, mcp-gateway, and mcp-webui requirements files. All required CI and governance 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: 265c6b147a5f06de05360e92365e97ca22dbcd1c...48aae959305c3b054e8e4882fa1c21f5776fc44b
Change digest: 1bfbbd60ba443317bb64b62f6c44771a5a57f82215ab4d5721605b8caf201994
Score: 76/100 (L), estimated 167 min, split recommended: true
Affected services/components: repository-wide/unclassified

Machine-readable radar JSONL and SVG
{"actual_change":{"additions":3,"base_sha":"265c6b147a5f06de05360e92365e97ca22dbcd1c","binary_files":0,"categories":{"code":3},"change_digest":"1bfbbd60ba443317bb64b62f6c44771a5a57f82215ab4d5721605b8caf201994","comparison":"265c6b147a5f06de05360e92365e97ca22dbcd1c...48aae959305c3b054e8e4882fa1c21f5776fc44b","deletions":3,"file_count":3,"files":["mcp-docs/requirements.txt","mcp-gateway/requirements.txt","mcp-webui/requirements.txt"],"head_sha":"48aae959305c3b054e8e4882fa1c21f5776fc44b","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":167,"within_budget":false},"impact":{"components":["HTTP","github.com","mcp-docs","mcp-gateway","mcp-webui","redirect.github.com"],"files":["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.52.4...0.53.0","github.com/Kludex/uvicorn/compare/0.52.4...0.54.0","github.com/Kludex/uvicorn/compare/0.53.0...0.54.0","github.com/Kludex/uvicorn/releases","mcp-docs/requirements.txt","mcp-gateway/requirements.txt","mcp-webui/requirements.txt","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/3101","redirect.github.com/Kludex/uvicorn/pull/3103","redirect.github.com/Kludex/uvicorn/pull/3104","redirect.github.com/Kludex/uvicorn/pull/3107","redirect.github.com/Kludex/uvicorn/pull/3119","redirect.github.com/Kludex/uvicorn/pull/3137","redirect.github.com/Kludex/uvicorn/pull/3146"],"public_interfaces":[],"runtime_dependencies":0},"schema":"subactor.ticket-radar/v1","score":76,"split":{"parts":[{"estimated_minutes":27,"name":"Implement HTTP","scope":["HTTP"]},{"estimated_minutes":27,"name":"Implement github.com","scope":["github.com"]},{"estimated_minutes":27,"name":"Implement mcp-docs","scope":["mcp-docs"]},{"estimated_minutes":27,"name":"Implement mcp-gateway","scope":["mcp-gateway"]},{"estimated_minutes":27,"name":"Implement mcp-webui","scope":["mcp-webui"]},{"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-020"}
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img"><title>ticket-020: chore(deps): bump uvicorn[standard] from 0.52.4 to 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 · 167m</text></svg>
Merge will be attempted after this approval when explicitly authorized. ## Decision record (recomputable)
DECISION D-020-9393
TICKET ticket-020
HEAD_SHA 48aae959305c3b054e8e4882fa1c21f5776fc44b
CORRELATION_ID mcp-dep-pr32
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":32,"head_sha":"48aae959305c3b054e8e4882fa1c21f5776fc44b","base_sha":"265c6b147a5f06de05360e92365e97ca22dbcd1c","diff_sha256":"df17ea2c3795a09f60132524799beabb8f0a3ca14cd7e82ee55423fda2e8f0dd"},"policy":{"policy_schema":"subactor.validator/semantic-review-policy/v1","policy_version":1,"policy_sha256":"676cb4516bbfed2a000e40b9b1b6e4a430ecc761ec546aeb53d721a1905cfdd7","required":false,"critical_paths":[],"observed_paths":["mcp-docs/requirements.txt","mcp-gateway/requirements.txt","mcp-webui/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":"265c6b147a5f06de05360e92365e97ca22dbcd1c","head_sha":"48aae959305c3b054e8e4882fa1c21f5776fc44b","change_digest":"1bfbbd60ba443317bb64b62f6c44771a5a57f82215ab4d5721605b8caf201994","score":76,"complexity":"L","estimated_minutes":167,"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 "gemini/gemini-3.8-flash"
ASSERT VERDICT_AUTHORITY != "ADVISORY"

@ifuri-validator-agent
ifuri-validator-agent Bot merged commit 1b05764 into main Oct 23, 2026
3 checks passed
@ifuri-validator-agent
ifuri-validator-agent Bot deleted the dependabot/uv/uvicorn-standard--0.54.0 branch October 23, 2026 14:28
tom-sapletta-com added a commit that referenced this pull request Oct 23, 2026
…t, ticket-021

- application workstream owns llm-agent/**, mcp-git-proxy/**, mcp-skills/**
- re-pin standard-adoption manifest artifact digests after the ownership change
- integration-owned regression test locks the contract: application must own
  every subproject requirement manifest and ticket-021 must resolve automated
  dependency updates for all six of them
- ticket-021 (application) owns the six requirement manifests for automated
  dependency PRs (ticket-020 was terminally receipted by the validated
  merges of #32/#34)
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.

1 participant