chore(deps): bundle Dependabot bumps (fastapi 0.141.1, uvicorn 0.52.0, ruff 0.16.0), sync lock - #147
Merged
Merged
Conversation
…, ruff 0.16.0), sync lock Supersedes #144, #145 and #146, which each bump only the requirement range and leave requirements.lock — the file the production image actually installs from — pinned to the old version. Lock regenerated from a clean venv per the documented procedure, so it also picks up transitive drift: annotated-doc 0.0.5, annotated-types 0.8.0, anyio 4.14.2, certifi 2026.7.22, numpy 2.5.1, websockets 17.0, wrapt 2.3.0.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bundles #144, #145 and #146 into one review, and — critically — syncs
requirements.lock.Why bundle
Each Dependabot PR bumps only the requirement range. None touch
requirements.lock, which is the file the production image installs from (Dockerfile:12-13). Merging them as-is would leave the repo self-contradictory:requirements.txtdemandingfastapi>=0.141.1while the lock still pinnedfastapi==0.139.2— a pin below its own declared floor — and the shipped image would keep building the old version.Changes
requirements.txt>=0.139.2→>=0.141.1; uvicorn[standard]>=0.51.0→>=0.52.0requirements-dev.txt>=0.15.22→>=0.16.0requirements.lockThe lock was regenerated with the documented procedure (
pip install -r requirements.txt && pip freeze), so besides fastapi and uvicorn it also picks up transitive drift: annotated-doc 0.0.5, annotated-types 0.8.0, anyio 4.14.2, certifi 2026.7.22, numpy 2.5.1, websockets 17.0, wrapt 2.3.0.Note
websocketscrosses a major boundary (16.0 → 17.0). It arrives viauvicorn[standard]and is exercised by the image build and smoke test below.Verification
All CI-equivalent checks run locally against the regenerated lock:
ruff check app/ scripts/(ruff 0.16.0) — All checks passedruff format --check app/ scripts/— 24 files already formattedpython -c "from app.main import app"— imports OKpytest tests/ -q— 393 passedpip-audit -r requirements.lock— No known vulnerabilities foundbandit -r app/ -c pyproject.toml— 0 issues at every severitydocker build— succeeds/health200 with 830,033 postal codes loaded;/lookupcorrect for PL 00-001 (approximate) and DE 10115 (exact)Closes #144
Closes #145
Closes #146