Update dependency fastapi to ^0.139.0#21
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
renovate
Bot
force-pushed
the
renovate/fastapi-0.x
branch
from
September 29, 2025 05:59
eb45828 to
1d06451
Compare
renovate
Bot
force-pushed
the
renovate/fastapi-0.x
branch
4 times, most recently
from
October 11, 2025 18:12
bce987e to
fef28ea
Compare
renovate
Bot
force-pushed
the
renovate/fastapi-0.x
branch
2 times, most recently
from
October 24, 2025 02:09
d675480 to
6eaabea
Compare
renovate
Bot
force-pushed
the
renovate/fastapi-0.x
branch
5 times, most recently
from
November 3, 2025 11:09
581eb28 to
7426d69
Compare
renovate
Bot
force-pushed
the
renovate/fastapi-0.x
branch
2 times, most recently
from
November 13, 2025 22:59
c5c8623 to
fb5a783
Compare
renovate
Bot
force-pushed
the
renovate/fastapi-0.x
branch
from
November 19, 2025 21:55
fb5a783 to
2baa4a6
Compare
renovate
Bot
force-pushed
the
renovate/fastapi-0.x
branch
3 times, most recently
from
November 30, 2025 18:06
4be68d7 to
a7fbcf7
Compare
renovate
Bot
force-pushed
the
renovate/fastapi-0.x
branch
6 times, most recently
from
December 4, 2025 14:13
2439afd to
9a63f8b
Compare
renovate
Bot
force-pushed
the
renovate/fastapi-0.x
branch
from
December 21, 2025 22:36
1f1bb68 to
0e2aa86
Compare
renovate
Bot
force-pushed
the
renovate/fastapi-0.x
branch
2 times, most recently
from
December 27, 2025 17:33
3cbbcb9 to
e9b6657
Compare
renovate
Bot
force-pushed
the
renovate/fastapi-0.x
branch
8 times, most recently
from
February 11, 2026 17:10
d512daa to
43611ac
Compare
renovate
Bot
force-pushed
the
renovate/fastapi-0.x
branch
from
February 12, 2026 15:56
43611ac to
77c36e1
Compare
renovate
Bot
force-pushed
the
renovate/fastapi-0.x
branch
2 times, most recently
from
February 22, 2026 17:10
6c8b9b9 to
9fc7d0e
Compare
renovate
Bot
force-pushed
the
renovate/fastapi-0.x
branch
from
February 23, 2026 18:45
9fc7d0e to
9ef13dc
Compare
renovate
Bot
force-pushed
the
renovate/fastapi-0.x
branch
from
February 24, 2026 14:07
9ef13dc to
89617b0
Compare
renovate
Bot
force-pushed
the
renovate/fastapi-0.x
branch
2 times, most recently
from
February 27, 2026 22:36
fc0bb60 to
6ee1d17
Compare
renovate
Bot
force-pushed
the
renovate/fastapi-0.x
branch
from
March 1, 2026 20:49
6ee1d17 to
3f9119c
Compare
renovate
Bot
force-pushed
the
renovate/fastapi-0.x
branch
from
March 23, 2026 18:19
3f9119c to
8e56e73
Compare
renovate
Bot
force-pushed
the
renovate/fastapi-0.x
branch
from
April 1, 2026 19:31
8e56e73 to
05aaa7f
Compare
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.
This PR contains the following updates:
^0.116.1→^0.139.0Release Notes
fastapi/fastapi (fastapi)
v0.139.2Compare Source
Fixes
v0.139.1Compare Source
Fixes
/users/john.doe. PR #16011 by @tiangolo.Docs
skip_usersnot being applied. PR #15995 by @YuriiMotov.Translations
llm-prompt.mdfor Hindi. PR #15810 by @YuriiMotov.Internal
FASTAPI_LATEST_CHANGEStoken inbump-pre-commit-hooksworkflow. PR #15984 by @YuriiMotov.v0.139.0Compare Source
Features
app.frontend(), e.g. for automatic cookie authentication for the frontend. PR #15908 by @tiangolo.Translations
Internal
allow-unsafe-pr-checkout: true. PR #15876 by @YuriiMotov.v0.138.2Compare Source
Refactors
app.frontend()return 404 for methods other thanGETorHEADwith no static file matches. PR #15863 by @tiangolo.Internal
v0.138.1Compare Source
Refactors
Internal
v0.138.0Compare Source
Features
app.frontend("/", directory="dist")androuter.frontend("/", directory="dist"). PR #15800 by @tiangolo.Docs
app.frontend()instructions to Agent Library Skill. PR #15805 by @tiangolo.Translations
Internal
release-notes.mdfor typos. PR #15796 by @YuriiMotov.gpt-5.5model intranslate.py, specify-chatto avoid warnings. PR #15792 by @YuriiMotov.v0.137.2Compare Source
Features
iter_route_contexts()for advanced use cases that used to userouter.routes(e.g. Jupyverse). PR #15785 by @tiangolo.Translations
Internal
coverage.sh. PR #15772 by @tiangolo.v0.137.1Compare Source
Fixes
v0.137.0Compare Source
Breaking Changes
APIRouterandAPIRouteinstances. PR #15745 by @tiangolo.Unblocks ✨ SO MANY THINGS ✨
Before this,
router.include_router(other_router)would take each path operation fromother_routerand "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.routesis no longer a plain list ofAPIRouteobjects, it can contain these intermediate objects that can contain additional routers, forming a tree.Any logic that depended on iterating on the
router.routesdirectly 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.routesto modify them would now also see these new objects, and would not see all the routes in the app.router.routesshould be considered an internal implementation detail, only passed around to the FastAPI functions that need it.Features
subrouterinmainroutercan be done before adding routes (path operations) tosubrouter, because now the the entire object is stored instead of copying the routes.Alpha Features
This is not documented yet, so it's not officially supported yet and could change in the future.
But, as
APIRouteandAPIRouterinstances are now preserved, they could be customized.APIRouterhas two new methods,.matches()and.handle(), counterpart to the existing ones inAPIRoute. 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
APIRoutesubclasses (undocumented, but alraedy works as desccribed above)APIRoutersubclasses (undocumented, but already works as described above)Docs
Annotatedin inline example indocs/en/docs/tutorial/body-multiple-params.md. PR #15591 by @TheArchons.docs/en/docs/tutorial/security/oauth2-jwt.md. PR #14781 by @zadevhub.Translations
Internal
changing_dirinstead ofCLIRunner.isolated_filesystemto set working dir. PR #15616 by @YuriiMotov.httpx2test dependency to avoid deprecation warning. PR #15603 by @YuriiMotov.v0.136.3Compare Source
Refactors
convert_underscores=True(the default). PR #15589 by @tiangolo.v0.136.1Compare Source
Upgrades
Internal
v0.136.0Compare Source
Upgrades
v0.135.4Compare Source
Refactors
@app.vibe()🤪. PR #15363 by @tiangolo.Internal
v0.135.3Compare Source
Features
@app.vibe(). PR #15280 by @tiangolo.Docs
client_secretin OAuth2 form docstrings. PR #14946 by @bysiber.Internal
lint.sh. PR #15136 by @svlandeg.v0.135.2Compare Source
Upgrades
pydantic >=2.9.0.and fix the test suite. PR #15139 by @svlandeg.Docs
pyproject.tomlwithentrypoint. PR #15075 by @tiangolo.target=_blankfor links in docs. PR #15063 by @tiangolo.max_digitsanddecimal_places. PR #14944 by @YuriiMotov.Translations
Internal
scripts/people.py. PR #15088 by @YuriiMotov.commit_in_placepassed via env variable intranslate.ymlworkflow. PR #15151 by @YuriiMotov.tyto precommit. PR #15091 by @svlandeg.v0.135.1Compare Source
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.