Skip to content

chore(deps): update pip deps#18

Open
renovate[bot] wants to merge 1 commit into
devfrom
renovate/pip-deps
Open

chore(deps): update pip deps#18
renovate[bot] wants to merge 1 commit into
devfrom
renovate/pip-deps

Conversation

@renovate

@renovate renovate Bot commented Dec 21, 2025

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
fastapi (changelog) ==0.126.0==0.137.0 age confidence
pydantic-settings (changelog) ~=2.12.0~=2.14.1 age confidence
pyfunceble-dev ~=4.3.0~=4.4.1 age confidence
uvicorn (changelog) ~=0.38.0~=0.49.0 age confidence

Release Notes

fastapi/fastapi (fastapi)

v0.137.0

Compare Source

Breaking Changes

Unblocks ✨ SO MANY THINGS ✨

Before this, router.include_router(other_router) would take each path operation from other_router and "clone" it, or recreate it from scratch.

This would mean that in the end there was only one top level router, part of the app.

The way it is structured here is that there are a few additional classes to handle intermediate metadata for router and route inclusion. That way the information of "router X includes Y and Y includes Z" is stored somewhere, without affecting (recreating / clonning) the final route.

Non Objectives

Dependencies for 404: previously I intended to support dependencies that would be executed even for 404, but that would conflict with the fact that a router could not find a match, but the next router did find a match. Executing dependencies in the router that did not find a match would not make sense, they could consume the request, body, etc. This original idea was discarded.

Specific Breaking Changes

Now router.routes is no longer a plain list of APIRoute objects, it can contain these intermediate objects that can contain additional routers, forming a tree.

Any logic that depended on iterating on the router.routes directly would be affected, that logic cannot expect to be able to extract data from a plain list of routes, as it's no longer a plain list but a tree.

Additionally, any logic that iterated on router.routes to modify them would now also see these new objects, and would not see all the routes in the app.

router.routes should be considered an internal implementation detail, only passed around to the FastAPI functions that need it.

Features
  • Adding routes (path operations) after a router is included now works, they are reflected as they are not copied.
  • Including subrouter in mainrouter can be done before adding routes (path operations) to subrouter, because now the the entire object is stored instead of copying the routes.
  • As routes are not copied, in some cases that might save some memory.
Alpha Features

This is not documented yet, so it's not officially supported yet and could change in the future.

But, as APIRoute and APIRouter instances are now preserved, they could be customized.

APIRouter has two new methods, .matches() and .handle(), counterpart to the existing ones in APIRoute. With this a router could customize how it matches and handles requests. For example, it could match only requests that include some specific header, for example for handling versions in headers.

Still, for now, consider this very experimental and potentially changing and breaking in the future.

Future Features Enabled
  • Custom APIRoute subclasses (undocumented, but alraedy works as desccribed above)
  • Custom APIRouter subclasses (undocumented, but already works as described above)
  • Dependencies per router
  • Exception handlers per router
  • Middleware per router
  • Other features planned
Docs
Translations
Internal

v0.136.3

Compare Source

Refactors
  • ♻️ Do not accept underscore headers when using convert_underscores=True (the default). PR #​15589 by @​tiangolo.

v0.136.1

Compare Source

Upgrades
Internal

v0.136.0

Compare Source

Upgrades

v0.135.4

Compare Source

Refactors
Internal

v0.135.3

Compare Source

Features
Docs
Internal

v0.135.2

Compare Source

Upgrades
Docs
Translations
Internal

v0.135.1

Compare Source

Fixes
  • 🐛 Fix, avoid yield from a TaskGroup, only as an async context manager, closed in the request async exit stack. PR #​15038 by @​tiangolo.
Docs
Internal

v0.135.0

Compare Source

Features

v0.134.0

Compare Source

Features
  • ✨ Add support for streaming JSON Lines and binary data with yield. PR #​15022 by @​tiangolo.
    • This also upgrades Starlette from >=0.40.0 to >=0.46.0, as it's needed to properly unrwap and re-raise exceptions from exception groups.
    • New docs: Stream JSON Lines.
    • And new docs: Stream Data.
Docs
Internal

v0.133.1

Compare Source

Features
Internal

v0.133.0

Compare Source

v0.132.1

Compare Source

Refactors
Internal

v0.132.0

Compare Source

Breaking Changes
  • 🔒️ Add strict_content_type checking for JSON requests. PR #​14978 by @​tiangolo.
    • Now FastAPI checks, by default, that JSON requests have a Content-Type header with a valid JSON value, like application/json, and rejects requests that don't.
    • If the clients for your app don't send a valid Content-Type header you can disable this with strict_content_type=False.
    • Check the new docs: Strict Content-Type Checking.
Internal

v0.131.0

Compare Source

Breaking Changes

v0.130.0

Compare Source

Features

v0.129.2

Compare Source

Internal

v0.129.1

Compare Source

Fixes
  • ♻️ Fix JSON Schema for bytes, use "contentMediaType": "application/octet-stream" instead of "format": "binary". PR #​14953 by @​tiangolo.
Docs
Translations
Internal

v0.129.0

Compare Source

Breaking Changes
Refactors
Docs
Internal

v0.128.8

Compare Source

Docs
Internal

v0.128.7

Compare Source

Features
Refactors
  • ♻️ Simplify reading files in memory, do it sequentially instead of (fake) parallel. PR #​14884 by @​tiangolo.
Docs
Internal

v0.128.6

Compare Source

Fixes
Translations
Internal

v0.128.5

Compare Source

Refactors
  • ♻️ Refactor and simplify Pydantic v2 (and v1) compatibility internal utils. PR #​14862 by @​tiangolo.
Internal
  • ✅ Add inline snapshot tests for OpenAPI before changes from Pydantic v2. PR #​14864 by @​tiangolo.

v0.128.4

Compare Source

Refactors
  • ♻️ Refactor internals, simplify Pydantic v2/v1 utils, create_model_field, better types for lenient_issubclass. PR #​14860 by @​tiangolo.
  • ♻️ Simplify internals, remove Pydantic v1 only logic, no longer needed. PR #​14857 by @​tiangolo.
  • ♻️ Refactor internals, cleanup unneeded Pydantic v1 specific logic. PR #​14856 by @​tiangolo.
Translations
Internal

v0.128.3

Compare Source

Refactors
  • ♻️ Re-implement on_event in FastAPI for compatibility with the next Starlette, while keeping backwards compatibility. PR #​14851 by @​tiangolo.
Upgrades
  • ⬆️ Upgrade Starlette supported version range to starlette>=0.40.0,<1.0.0. PR #​14853 by @​tiangolo.
Translations
Internal
  • 👷 Run tests with Starlette from git. PR #​14849 by @​tiangolo.
  • 👷 Run tests with lower bound uv sync, upgrade fastapi[all] minimum dependencies: ujson >=5.8.0, orjson >=3.9.3. PR #​14846 by @​tiangolo.

v0.128.2

Compare Source

Features
Fixes
Docs
Translations
  • 🌐 Enable Traditional Chinese translations. PR [#​14842](https://re

Note

PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot changed the title chore(deps): update dependency uvicorn to ~=0.40.0 chore(deps): update pip deps Dec 21, 2025
@renovate renovate Bot force-pushed the renovate/pip-deps branch 3 times, most recently from 41f8059 to 4e7ffb9 Compare December 27, 2025 16:55
@renovate renovate Bot force-pushed the renovate/pip-deps branch from 4e7ffb9 to 6c37232 Compare January 24, 2026 21:44
@renovate renovate Bot force-pushed the renovate/pip-deps branch 8 times, most recently from ef1078a to 4bf2eef Compare February 11, 2026 17:50
@renovate renovate Bot force-pushed the renovate/pip-deps branch 3 times, most recently from 606fdcf to 610d81c Compare February 17, 2026 01:01
@renovate renovate Bot force-pushed the renovate/pip-deps branch 7 times, most recently from 76ad487 to df81fee Compare February 25, 2026 21:09
@renovate renovate Bot force-pushed the renovate/pip-deps branch 2 times, most recently from fd8c4f3 to 155c109 Compare March 1, 2026 21:48
@renovate renovate Bot force-pushed the renovate/pip-deps branch from 155c109 to 3e5e611 Compare March 16, 2026 08:59
@renovate renovate Bot force-pushed the renovate/pip-deps branch 3 times, most recently from 02a5926 to 3e97d8a Compare March 26, 2026 17:21
@renovate renovate Bot force-pushed the renovate/pip-deps branch 3 times, most recently from c7926f8 to 97925c3 Compare April 6, 2026 09:26
@renovate renovate Bot force-pushed the renovate/pip-deps branch 4 times, most recently from 82b365d to 741fea4 Compare April 23, 2026 10:03
@renovate renovate Bot force-pushed the renovate/pip-deps branch 3 times, most recently from f10b265 to 7079a7b Compare April 27, 2026 22:15
@renovate renovate Bot force-pushed the renovate/pip-deps branch 2 times, most recently from fafed36 to 4683867 Compare May 14, 2026 21:29
@renovate renovate Bot force-pushed the renovate/pip-deps branch 2 times, most recently from 572882a to 2f5af66 Compare May 24, 2026 13:53
@renovate renovate Bot force-pushed the renovate/pip-deps branch from 2f5af66 to 5dd960d Compare June 4, 2026 01:40
@renovate renovate Bot force-pushed the renovate/pip-deps branch from 5dd960d to a1ced3e Compare June 14, 2026 13:35
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.

1 participant