Skip to content

build(deps): update uvicorn requirement from ^0.44.0 to >=0.44,<0.53 - #33

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/uvicorn-gte-0.44-and-lt-0.53
Open

build(deps): update uvicorn requirement from ^0.44.0 to >=0.44,<0.53#33
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/uvicorn-gte-0.44-and-lt-0.53

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 3, 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.52.0

This release adds an experimental HTTP/1.1 implementation backed by zttp, a sans-IO HTTP parser I've been developing on the side: a core written in Zig, with bindings to Python. It has been running under a fuzzer for some weeks now, and has been through multiple rounds of security auditing.

It is still experimental, so don't put it in front of production traffic yet. Try it with --http zttp, and please send any feedback to the issue tracker.

Added

  • Add an experimental zttp HTTP/1.1 implementation, selectable with --http zttp (#2979)

Fixed

  • Keep non-ASCII WebSocket request headers intact with websockets 17.0, which encodes them with ISO-8859-1 (#3036)

Full Changelog: Kludex/uvicorn@0.51.0...0.52.0

Changelog

Sourced from uvicorn's changelog.

0.52.0 (July 29, 2026)

This release adds an experimental HTTP/1.1 implementation backed by zttp, a sans-IO HTTP parser I've been developing on the side: a core written in Zig, with bindings to Python. It has been running under a fuzzer for some weeks now, and has been through multiple rounds of security auditing.

It is still experimental, so don't put it in front of production traffic yet. Try it with --http zttp, and please send any feedback to the issue tracker.

Added

  • Add an experimental zttp HTTP/1.1 implementation, selectable with --http zttp (#2979)

Fixed

  • Keep non-ASCII WebSocket request headers intact with websockets 17.0, which encodes them with ISO-8859-1 (#3036)

0.51.0 (July 8, 2026)

Added

  • Restart workers one at a time on SIGHUP, bringing each replacement up before retiring the old worker, so reloads no longer drop requests (#3025)

Removed

  • Remove colorama from the standard extra (#3027)

0.50.2 (July 6, 2026)

Fixed

  • Require websockets>=13.0, which the default websockets-sansio implementation needs (#3021)

0.50.1 (July 6, 2026)

Fixed

  • Split comma-separated Sec-WebSocket-Protocol values in the websockets-sansio implementation (#3019)

0.50.0 (July 4, 2026)

If you use WebSockets, note that --ws auto now picks the websockets-sansio implementation. You shouldn't need it, but you can pin --ws websockets to get the deprecated legacy one back.

Changed

  • Exit with the dedicated code 3 on any startup failure: app loading, socket bind and lifespan startup errors previously exited with a mix of 0, 1 and 3 (#3001)
  • Stop the multiprocess supervisor when a worker exits with code 3 instead of restarting it forever (#3001)
  • Default --ws auto to websockets-sansio when websockets is installed (#2985)
  • Skip the eager app import in the parent process with --reload or --workers, fixing a memory regression introduced in 0.47.0 (#3012)
  • Build a fresh asgi scope dict per request (#2977)
  • Cache the asgi scope sub-dict per connection (#2976)
  • Avoid copying single-frame WebSocket payloads in websockets-sansio (#2983)
  • Memoize trusted host checks in ProxyHeadersMiddleware (#2970)

... (truncated)

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Summary by CodeRabbit

  • Chores
    • Updated the Uvicorn version compatibility range to support a broader set of compatible releases.

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.44.0...0.52.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github

dependabot Bot commented on behalf of github Aug 3, 2026

Copy link
Copy Markdown
Contributor Author

Labels

The following labels could not be found: automated, dependencies. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown

Review Change Stack

Walkthrough

The PR changes the Poetry uvicorn dependency constraint from ^0.44.0 to >=0.44,<0.53.

Changes

Uvicorn dependency update

Layer / File(s) Summary
Update uvicorn version range
pyproject.toml
The uvicorn constraint changes to >=0.44,<0.53.

Estimated code review effort: 1 (Trivial) | ~2 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the change to the uvicorn dependency requirement.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dependabot/pip/uvicorn-gte-0.44-and-lt-0.53

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@pyproject.toml`:
- Line 12: Generate and commit the repository’s poetry.lock file from
pyproject.toml, preserving the uvicorn version constraint >=0.44,<0.53 so
Dockerfile.prod’s COPY dependency is available during builds.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: de250dd1-eb4e-41ab-a8bb-b7f66afeb5e1

📥 Commits

Reviewing files that changed from the base of the PR and between 9496795 and f592e0a.

📒 Files selected for processing (1)
  • pyproject.toml

Comment thread pyproject.toml
python = "^3.11"
fastapi = "^0.135.1"
uvicorn = {extras = ["standard"], version = "^0.44.0"}
uvicorn = {extras = ["standard"], version = ">=0.44,<0.53"}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

if test -f poetry.lock; then
  poetry check --lock
  rg -n -A12 -B2 'name = "uvicorn"' poetry.lock
else
  echo "No poetry.lock found; confirm production resolves dependencies intentionally."
fi

Repository: cryptoxdog/l9-codegraph

Length of output: 239


🏁 Script executed:

printf '%s\n' '--- tracked dependency files ---'
git ls-files | rg '(^|/)(pyproject\.toml|poetry\.lock|Dockerfile\.prod|uv\.lock|requirements[^/]*\.txt)$' || true
printf '%s\n' '--- Dockerfile.prod references ---'
if test -f Dockerfile.prod; then
  rg -n -C4 'poetry|uvicorn|lock|install|pyproject' Dockerfile.prod
else
  printf '%s\n' 'Dockerfile.prod not found at repository root'
fi
printf '%s\n' '--- pyproject.toml dependency configuration ---'
if test -f pyproject.toml; then
  sed -n '1,120p' pyproject.toml
else
  printf '%s\n' 'pyproject.toml not found at repository root'
fi

Repository: cryptoxdog/l9-codegraph

Length of output: 2320


🌐 Web query:

Poetry 1.8 install behavior when poetry.lock does not exist and Dockerfile COPY wildcard has no matching files

💡 Result:

When utilizing Poetry 1.8 in a Docker environment, the behavior is determined by two distinct processes: the Docker build process and the Poetry installation process [1][2]. 1. Docker COPY Behavior If your Dockerfile contains a COPY instruction with a wildcard (e.g., COPY src/*.py /app/) and no files match that pattern, the Docker build will fail [3][4]. Docker requires that at least one source file matches the specified pattern; otherwise, it treats the instruction as a failure and terminates the build process with an error, such as "no such file or directory" or "no matches found" [3][5]. There is no native flag in Docker's COPY command to ignore missing source files [4][6]. 2. Poetry Install Behavior If your Docker build passes and proceeds to the poetry install step, Poetry's behavior when poetry.lock is missing depends on the presence of pyproject.toml [2][7]: * If poetry.lock is present: Poetry uses the locked versions, ensuring deterministic builds [2][8]. * If poetry.lock is missing: Poetry will read the pyproject.toml file, resolve the dependencies defined within it, and perform the installation [2][7]. * After successfully resolving and installing the dependencies, Poetry will automatically create a new poetry.lock file in the current directory [2][8]. Recommendation To avoid issues in Docker builds, it is standard practice to copy only the essential configuration files (pyproject.toml and poetry.lock) first [1][9]. If you must copy files with wildcards, ensure the source files exist in the build context before the COPY command is executed [3]. If you encounter problems with missing lock files, ensure that your CI/CD pipeline or development environment correctly persists the lock file, as it is intended to be checked into version control rather than generated at build time [10].

Citations:


Add and commit poetry.lock.

Dockerfile.prod uses COPY pyproject.toml poetry.lock* ./. The build fails when poetry.lock is absent. Generate the lock file with the uvicorn constraint and commit it.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pyproject.toml` at line 12, Generate and commit the repository’s poetry.lock
file from pyproject.toml, preserving the uvicorn version constraint >=0.44,<0.53
so Dockerfile.prod’s COPY dependency is available during builds.

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.

0 participants