Update Python dependencies #7
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "renovate/python-dependencies"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
==0.115.0→==0.138.0==2.9.2→==2.13.4==0.30.6→==0.49.0Release Notes
fastapi/fastapi (fastapi)
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
Fixes
Docs
docs/en/docs/_llm-test.md. PR #15007 by @adityagiri3600.Internal
v0.135.0Compare Source
Features
v0.134.0Compare Source
Features
yield. PR #15022 by @tiangolo.>=0.40.0to>=0.46.0, as it's needed to properly unrwap and re-raise exceptions from exception groups.Docs
yield. PR #15023 by @tiangolo.awaitinStreamingResponsecode example to allow cancellation. PR #14681 by @casperdcl.docs_src/websocketstodocs_src/websockets_to avoid import errors. PR #14979 by @YuriiMotov.Internal
pytest-xdistandpytest-cov. PR #14992 by @YuriiMotov.v0.133.1Compare Source
Features
Internal
v0.133.0Compare Source
Upgrades
v0.132.1Compare Source
Refactors
Internal
benchmarkjob intestworkflow. PR #14974 by @YuriiMotov.v0.132.0Compare Source
Breaking Changes
strict_content_typechecking for JSON requests. PR #14978 by @tiangolo.Content-Typeheader with a valid JSON value, likeapplication/json, and rejects requests that don't.Content-Typeheader you can disable this withstrict_content_type=False.Internal
griffelibinstead ofgriffe. PR #14973 by @svlandeg.FastAPI Peopleworkflow. PR #14951 by @YuriiMotov.v0.131.0Compare Source
Breaking Changes
ORJSONResponseandUJSONResponse. PR #14964 by @tiangolo.v0.130.0Compare Source
Features
v0.129.2Compare Source
Internal
fastapi-slim. PR #14958 by @tiangolo.fastapi-slim, no more versions will be released, use only"fastapi[standard]"orfastapi. PR #14957 by @tiangolo.v0.129.1Compare Source
Fixes
"contentMediaType": "application/octet-stream"instead of"format": "binary". PR #14953 by @tiangolo.Docs
Translations
Internal
masterbranch and when run by scheduler. PR #14940 by @YuriiMotov.v0.129.0Compare Source
Breaking Changes
Refactors
Docs
Internal
v0.128.8Compare Source
Docs
docs/en/docs/tutorial/first-steps.md. PR #14708 by @SanjanaS10.Internal
fastapi-slim, deprecate it, and make it only depend onfastapi. PR #14894 by @tiangolo.v0.128.7Compare Source
Features
dictbyMappingonHTTPException.headers. PR #12997 by @rijenkii.Refactors
Docs
dfntag for definitions instead ofabbrin docs. PR #14744 by @YuriiMotov.Internal
abbranddfntags. PR #14747 by @YuriiMotov.testworkflow to run tests withinline-snapshot=review. PR #14876 by @YuriiMotov.v0.128.6Compare Source
Fixes
on_startupandon_shutdownparameters ofAPIRouter. PR #14873 by @YuriiMotov.Translations
Internal
v0.128.5Compare Source
Refactors
Internal
v0.128.4Compare Source
Refactors
create_model_field, better types forlenient_issubclass. PR #14860 by @tiangolo.Translations
Internal
v0.128.3Compare Source
Refactors
on_eventin FastAPI for compatibility with the next Starlette, while keeping backwards compatibility. PR #14851 by @tiangolo.Upgrades
starlette>=0.40.0,<1.0.0. PR #14853 by @tiangolo.Translations
Internal
fastapi[all]minimum dependencies:ujson >=5.8.0,orjson >=3.9.3. PR #14846 by @tiangolo.v0.128.2Compare Source
Features
TypeAliasType. PR #13920 by @cstruct.Responsetype hint as dependency annotation. PR #14794 by @jonathan-fulton.Fixes
Json[list[str]]type (issue #10997). PR #14616 by @mkanetsuna.Docs
advanced-dependencies.md. PR #14815 by @Rayyan-Oumlil.Translations
Internal
v0.128.1Compare Source
Features
viewportmeta tag to improve Swagger UI on mobile devices. PR #14777 by @Joab0.Fixes
ValidationErrorschema to includeinputandctx. PR #14791 by @jonathan-fulton.Authorizationheader credentials. PR #14786 by @WaveTheory1.anyOfrefs for app-level responses with specifiedcontentandmodelasUnion. PR #14463 by @DJMcoder.Refactors
IncExtype from Pydantic instead of duplicating it. PR #14641 by @mvanderlee.Docs
docs_src/app_testing/app_bcode example. PR #14573 by @timakaa.docs/en/docs/contributing.md. PR #14757 by @YuriiMotov.response_modelwhen possible. PR #14753 by @YuriiMotov.WSGIMiddlewarefroma2wsgiinstead of deprecatedfastapi.middleware.wsgi.WSGIMiddleware. PR #14756 by @YuriiMotov.Translations
ukdocumentation. PR #14795 by @roli2py.llm-prompt.mdfor Korean language. PR #14763 by @seuthootDev.Internal
uv.lockgets theinternallabel. PR #14759 by @svlandeg.v0.128.0Compare Source
Breaking Changes
pydantic.v1. PR #14609 by @tiangolo.Internal
v0.127.1Compare Source
Refactors
FastAPIDeprecationWarning. PR #14605 by @tiangolo.Docs
Translations
Internal
lintjob fromtestCI workflow. PR #14593 by @YuriiMotov.v0.127.0Compare Source
Breaking Changes
pydantic.v1. PR #14583 by @tiangolo.Translations
Internal
v0.126.0Compare Source
Upgrades
pydantic.v1. PR #14575 by @tiangolo.pydantic >=2.7.0.standarddependencies now includepydantic-settings >=2.0.0andpydantic-extra-types >=2.0.0.Docs
docs_src/python_types/tutorial005_py39.py. PR #14565 by @paras-verma7454.Translations
Internal
v0.125.0Compare Source
Breaking Changes
Refactors
Docs
Translations
Internal
markdown-include-variantsfrom 0.0.7 to 0.0.8. PR #14556 by @YuriiMotov.v0.124.4Compare Source
Fixes
v0.124.3Compare Source
Fixes
AnnotatedwithBody(). PR #14512 by @tiangolo.Refactors
Docs
Translations
Internal
v0.124.2Compare Source
Fixes
if TYPE_CHECKING, non-evaluated stringified annotations. PR #14485 by @tiangolo.v0.124.1Compare Source
Fixes
arbitrary_types_allowed=True. PR #14482 by @tiangolo.Docs
Internal
__annotations__. PR #14477 by @tiangolo.v0.124.0Compare Source
Features
Internal
scripts/mkdocs_hooks.py. PR #14457 by @yujiteshima.v0.123.10Compare Source
Fixes
__call__method. PR #14458 by @YuriiMotov.separate_input_output_schemas=Falsewithcomputed_field. PR #14453 by @YuriiMotov.v0.123.9Compare Source
Fixes
v0.123.8Compare Source
Fixes
v0.123.7Compare Source
Fixes
v0.123.6Compare Source
Fixes
v0.123.5Compare Source
Features
functools.partial(). PR #9753 by @lieryan.@functools.wraps()) used with forward references. PR #5077 by @lucaswiman.Fixes
Refactors
is_coroutinecheck to reuse internal supported variants (unwrap, check class). PR #14434 by @tiangolo.Translations
v0.123.4Compare Source
Fixes
separate_input_output_schemas=False. PR #13207 by @vgrafe.Docs
serversparameter. PR #14405 by @YuriiMotov.v0.123.3Compare Source
Fixes
serialize sequence valuewith Pydantic V2. PR #14297 by @YuriiMotov.v0.123.2Compare Source
Fixes
{type_}in FastAPIError. PR #14416 by @Just-Helpful.Formparameter list. PR #14303 by @YuriiMotov.Noneif that's the default), for compatibility with HTML forms. PR #13537 by @MarinPostma.Docs
pipin case ofNo module named piperror invirtual-environments.md. PR #14211 by @zadevhub.v0.123.1Compare Source
Fixes
TypeErrorwhen encoding a decimal with aNaNorInfinityvalue. PR #12935 by @kentwelcome.Internal
v0.123.0Compare Source
Fixes
v0.122.1Compare Source
Fixes
Docs
Internal
v0.122.0Compare Source
Fixes
401status code in security classes when credentials are missing. PR #13786 by @YuriiMotov.403status code, check the new docs about how to override the classes, to use the same old behavior: Use Old 403 Authentication Error Status Codes.Internal
lang-alllabel. PR #14213 by @YuriiMotov.latest-changesGitHub Action and pinactions/checkout@v5. PR #14403 by @svlandeg.add-permalinksandadd-permalinks-pagetoscripts/docs.py. PR #14033 by @YuriiMotov.v0.121.3Compare Source
0.121.3
Refactors
Depends()andSecurity()hashable, as a workaround for other tools interacting with these internal parts. PR #14372 by @tiangolo.Upgrades
0.51.0. PR #14282 by @musicinmybrain.Docs
v0.121.2Compare Source
Fixes
Docs
Translations
v0.121.1Compare Source
Fixes
Depends(func, scope='function')for top level (parameterless) dependencies. PR #14301 by @luzzodev.Docs
yield, noting the changes in 0.121.0, addingscope. PR #14287 by @tiangolo.Internal
v0.121.0Compare Source
Features
scope="request"for dependencies withyieldthat exit before the response is sent. PR #14262 by @tiangolo.yield- Early exit andscope.Internal
v0.120.4Compare Source
Fixes
v0.120.3Compare Source
Refactors
get_param_sub_dependant. PR #14255 by @tiangolo.Docs
v0.120.2Compare Source
Fixes
Internal
v0.120.1Compare Source
Upgrades
0.50.0. PR #14234 by @YuriiMotov.Internal
licenseandlicense-filestopyproject.toml, removeLicensefromclassifiers. PR #14230 by @YuriiMotov.v0.120.0Compare Source
There are no major nor breaking changes in this release. ☕️
The internal reference documentation now uses
annotated_doc.Docinstead oftyping_extensions.Doc, this adds a new (very small) dependency onannotated-doc, a package made just to provide thatDocdocumentation utility class.I would expect
typing_extensions.Docto be deprecated and then removed at some point fromtyping_extensions, for that reason there's the newannotated-docmicro-package. If you are curious about this, you can read more in the repo forannotated-doc.This new version
0.120.0only contains that transition to the new home package for that utility classDoc.Translations
Internal
typing_extensions.Doctoannotated_doc.Doc. PR #14222 by @tiangolo.v0.119.1Compare Source
Fixes
Docs
starlette.iobystarlette.devanduvicorn.orgbyuvicorn.dev. PR #14176 by @Kludex.Internal
waitinglabel inissue-manager. PR #14156 by @YuriiMotov.v0.119.0Compare Source
FastAPI now (temporarily) supports both Pydantic v2 models and
pydantic.v1models at the same time in the same app, to make it easier for any FastAPI apps still using Pydantic v1 to gradually but quickly migrate to Pydantic v2.Adding this feature was a big effort with the main objective of making it easier for the few applications still stuck in Pydantic v1 to migrate to Pydantic v2.
And with this, support for Pydantic v1 is now deprecated and will be removed from FastAPI in a future version soon.
Note: have in mind that the Pydantic team already stopped supporting Pydantic v1 for recent versions of Python, starting with Python 3.14.
You can read in the docs more about how to Migrate from Pydantic v1 to Pydantic v2.
Features
from pydantic.v1 import BaseModel, mixed Pydantic v1 and v2 models in the same app. PR #14168 by @tiangolo.v0.118.3Compare Source
Upgrades
v0.118.2Compare Source
Fixes
Internal
v0.118.1Compare Source
Upgrades
Docs
Translations
Internal
mkdocs_hooks.pyto addtitleto page's metadata (remove permalinks in social cards). PR #14125 by @YuriiMotov.v0.118.0Compare Source
0.118.0
Fixes
StreamingResponses with dependencies withyieldorUploadFiles, close after the response is done. PR #14099 by @tiangolo.Before FastAPI 0.118.0, if you used a dependency with
yield, it would run the exit code after the path operation function returned but right before sending the response.This change also meant that if you returned a
StreamingResponse, the exit code of the dependency withyieldwould have been already run.For example, if you had a database session in a dependency with
yield, theStreamingResponsewould not be able to use that session while streaming data because the session would have already been closed in the exit code afteryield.This behavior was reverted in 0.118.0, to make the exit code after
yieldbe executed after the response is sent.You can read more about it in the docs for Advanced Dependencies - Dependencies with
yield,HTTPException,exceptand Background Tasks. Including what you could do if you wanted to close a database session earlier, before returning the response to the client.Docs
tutorial/security/oauth2-jwt/to usepwdlibwith Argon2 instead ofpasslib. PR #13917 by @Neizvestnyj.Translations
Internal
v0.117.1Compare Source
Fixes
Fileis declared afterFormparameter. PR #11194 by @thomasleveil.v0.117.0Compare Source
Features
Noneas return type for bodiless responses. PR #9425 by @hofrob.typefield. PR #13639 by @sammasak.external_docsparameter toFastAPI. PR #13713 by @cmtoro.Fixes
default_factoryfor response model field with Pydantic V1. PR #9704 by @vvanglro.jsonable_encoderaltersjson_encodersof Pydantic v1 objects. PR #4972 by @aboubacs.allow_arbitrary_typeswhen only 1 argument is used on the API endpoint. PR #13694 by @rmawatson.inspect.getcoroutinefunction()can break testing withunittest.mock.patch(). PR #14022 by @secrett2633.Refactors
dependency-cachedict insolve_dependenciesonly ifNone(don't re-create if empty). PR #13689 by @bokshitsky.test_tutorial/test_header_params/test_tutorial003.py. PR #13864 by @Amogha-ark.httpxto>=0.23.0,<1.0.0. PR #14086 by @YuriiMotov.Docs
tutorial/cookie-params.md. PR #13510 by @Kludex.path-params-numeric-validations.mdfor languagesen,esanduk.. PR #14059 by @svlandeg.Translations
Internal
docs.py generate-readmecommand to remove permalinks from headers. PR #14055 by @YuriiMotov.v0.116.2Compare Source
Upgrades
Docs
--forwarded-allow-ips="*". PR #14028 by @tiangolo.dict()indocs/tutorial/body.md. PR #13906 by @jomkv.termynal.js. PR #13714 by @Ashish-Pandey62.urlfield in error responses in docs. PR #13655 by @Taoup.scopeclaim in line with the standard indocs_src/security/tutorial005.py. PR #11189 by @DurandA.docs/en/docs/advanced/generate-clients.md. PR #13793 by @mrlubos.Translations
docs/zh/docs/python-types.md. PR #13997 by @anfreshman.docs/pt/docs/async.md. PR #13863 by @EdmilsonRodrigues.docs/ja/docs/tutorial/body.md. PR #13927 by @KoyoMiyazaki.docs/fa/docs/environment-variables.md. PR #13923 by @Mohammad222PR.docs/fa/docs/python-types.md. PR #13524 by @Mohammad222PR.docs/pt/docs/project-generation.md. PR #13875 by @EdmilsonRodrigues.docs/fa/docs/async.md. PR #13541 by @Mohammad222PR.docs/bn/about/index.md. PR #13882 by @sajjadrahman56.Internal
mkdocs_hooksto handle headers with permalinks when building docs. PR #14025 by @tiangolo.mkdocs-macros-pluginfrom 1.3.7 to 1.3.9. PR #14003 by @YuriiMotov.v0.116.1Compare Source
Upgrades
>=0.40.0,<0.48.0. PR #13884 by @tiangolo.Docs
docs/en/docs/contributing.md. PR #13886 by @YuriiMotov.Internal
v0.116.0Compare Source
Features
fastapi deploy. PR #13870 by @tiangolo.Installing
fastapi[standard]now includesfastapi-cloud-cli.This will allow you to deploy to FastAPI Cloud with the
fastapi deploycommand.If you want to install
fastapiwith the standard dependencies but withoutfastapi-cloud-cli, you can install insteadfastapi[standard-no-fastapi-cloud-cli].Translations
docs/ru/docs/advanced/response-directly.md. PR #13801 by @NavesSapnis.docs/ru/docs/advanced/additional-status-codes.md. PR #13799 by @NavesSapnis.docs/uk/docs/tutorial/body-updates.md. PR #13804 by @valentinDruzhinin.Internal
v0.115.14Compare Source
Fixes
Form. PR #13827 by @patrick91.Docs
docs/en/docs/advanced/response-directly.md. PR #13800 by @NavesSapnis.Translations
docs/uk/docs/tutorial/response-model.md. PR #13792 by @valentinDruzhinin.docs/uk/docs/tutorial/security/index.md. PR #13805 by @valentinDruzhinin.docs/ja/docs/tutorial/encoder.md. PR #13815 by @ruzia.docs/ja/docs/tutorial/handling-errors.md. PR #13814 by @ruzia.docs/ja/docs/tutorial/body-fields.md. PR #13802 by @ruzia.docs/ru/docs/advanced/index.md. PR #13797 by @NavesSapnis.Internal
v0.115.13Compare Source
Fixes
\f) character for Pydantic V2. PR #13698 by @YuriiMotov.Refactors
refreshUrlparameter inOAuth2PasswordBearer. PR #11460 by @snosratiershad.passwordandclient_secretinOAuth2PasswordRequestForm, make docs show password fields for passwords. PR #11032 by @Thodoris1999.settings. PR #13505 by @valentinDruzhinin.validate_response_recursive. PR #13507 by @valentinDruzhinin.Upgrades
Docs
async defwithoutawait. PR #13642 by @swastikpradhan1999.docs/en/docs/tutorial/handling-errors.md. PR #13623 by @gsheni.Translations
docs/ru/docs/advanced/response-change-status-code.md. PR #13791 by @NavesSapnis.docs/fa/docs/learn/index.md. PR #13518 by @Mohammad222PR.docs/ko/docs/advanced/sub-applications.md. PR #4543 by @NinaHwang.docs/uk/docs/tutorial/schema-extra-example.md. PR #13769 by @valentinDruzhinin.docs/uk/docs/tutorial/query-param-models.md. PR #13748 by @valentinDruzhinin.docs/bn/docs/environment-variables.md. PR #13629 by @SakibSibly.docs/uk/docs/tutorial/query-params-str-validations.mdpage. PR #13546 by @valentinDruzhinin.docs/ru/docs/tutorial/cookie-param-models.md. PR #13616 by @EgorOnishchuk.docs/ko/docs/tutorial/extra-models.md. PR #13063 by @timothy-jeong.docs/uk/docs/tutorial/path-params-numeric-validations.mdpage. PR #13548 by @valentinDruzhinin.docs/uk/docs/tutorial/middleware.mdpage. PR #13520 by @valentinDruzhinin.docs/uk/docs/tutorial/background-tasks.mdpage. PR #13502 by @valentinDruzhinin.docs/uk/docs/tutorial/cors.mdpage. PR #13519 by @valentinDruzhinin.docs/ko/docs/advanced/events.md. PR #13487 by @bom1215.docs/uk/docs/tutorial/handling-errors.mdpage. PR #13420 by @valentinDruzhinin.docs/ru/docs/tutorial/request-form-models.md. PR #13552 by @EgorOnishchuk.docs/ko/docs/virtual-environments.md. PR #13630 by @sungchan1.docs/ru/docs/tutorial/header-param-models.md. PR #13526 by @minaton-ru.docs/zh/docs/tutorial/index.md. PR #13374 by @Zhongheng-Cheng.docs/zh/docs/deployment/manually.md. PR #13324 by @Zhongheng-Cheng.docs/zh/docs/deployment/server-workers.md. PR #13292 by @Zhongheng-Cheng.docs/zh/docs/tutorial/first-steps.md. PR #13348 by @Zhongheng-Cheng.Internal
inline-snapshotto support different Pydantic versions in the test suite. PR #12534 by @15r10nk.docs/en/mkdocs.ymlconfiguration file. PR #13542 by @svlandeg.v0.115.12Compare Source
Fixes
convert_underscores=Falsefor header Pydantic models. PR #13515 by @tiangolo.Docs
docs/en/docs/tutorial/middleware.md. PR #13444 by @Rishat-F.Translations
docs/uk/docs/tutorial/metadata.mdpage. PR #13459 by @valentinDruzhinin.docs/uk/docs/tutorial/response-status-code.mdpage. PR #13462 by @valentinDruzhinin.docs/uk/docs/tutorial/cookie-param-models.mdpage. PR #13460 by @valentinDruzhinin.docs/uk/docs/tutorial/header-param-models.mdpage. PR #13461 by @valentinDruzhinin.docs/ja/docs/virtual-environments.md. PR #13304 by @k94-ishi.docs/ko/docs/tutorial/security/oauth2-jwt.md. PR #13333 by @yes0ng.docs/vi/docs/deployment/cloud.md. PR #13407 by @ptt3199.Internal
v0.115.11Compare Source
Fixes
Annotatedcustom validations, likeAfterValidator, revert #13440. PR #13442 by @tiangolo.Translations
docs/ru/docs/tutorial/middleware.md. PR #13412 by @alv2017.Internal
v0.115.10Compare Source
Fixes
Upgrades
>=0.40.0,<0.47.0. PR #13426 by @musicinmybrain.Translations
docs/uk/docs/tutorial/debugging.md. PR #13370 by @valentinDruzhinin.docs/uk/docs/tutorial/query-params.md. PR #13362 by @valentinDruzhinin.docs/uk/docs/tutorial/path-params.md. PR #13354 by @valentinDruzhinin.docs/ja/docs/tutorial/cookie-param-models.md. PR #13330 by @k94-ishi.docs/uk/docs/tutorial/body-multiple-params.md. PR #13408 by @valentinDruzhinin.docs/ja/docs/tutorial/query-param-models.md. PR #13323 by @k94-ishi.docs/uk/docs/tutorial/body-nested-models.md. PR #13409 by @valentinDruzhinin.docs/vi/docs/deployment/versions.md. PR #13406 by @ptt3199.docs/vi/docs/deployment/index.md. PR #13405 by @ptt3199.docs/uk/docs/tutorial/request-forms.md. PR #13383 by @valentinDruzhinin.docs/uk/docs/tutorial/testing.md. PR #13371 by @valentinDruzhinin.v0.115.9Compare Source
Fixes
HTTPDigestonly raises an exception whenauto_error is True. PR #2939 by @arthurio.Refactors
query_params_str_validations. PR #13218 by @alv2017.app_testing. PR #13220 by @alv2017.dependency_testing. PR #13223 by @alv2017.Docs
...). PR #13377 by @tiangolo.body-multiple-params. PR #13345 by @DanielYang59.Translations
docs/uk/docs/tutorial/header-params.md. PR #13381 by @valentinDruzhinin.docs/uk/docs/tutorial/request-files.md. PR #13395 by @valentinDruzhinin.docs/uk/docs/tutorial/request-form-models.md. PR #13384 by @valentinDruzhinin.docs/uk/docs/tutorial/request-forms-and-files.md. PR #13386 by @valentinDruzhinin.docs/ko/docs/help-fastapi.md. PR #13262 by @Zerohertz.docs/ko/docs/advanced/custom-response.md. PR #13265 by @11kkw.docs/ko/docs/tutorial/security/simple-oauth2.md. PR #13335 by @yes0ng.docs/ru/docs/advanced/response-cookies.md. PR #13327 by @Stepakinoyan.docs/vi/docs/tutorial/static-files.md. PR #11291 by @ptt3199.docs/ko/docs/tutorial/dependencies/dependencies-with-yield.md. PR #13257 by @11kkw.docs/vi/docs/virtual-environments.md. PR #13282 by @ptt3199.docs/uk/docs/tutorial/static-files.md. PR #13285 by @valentinDruzhinin.docs/vi/docs/environment-variables.md. PR #13287 by @ptt3199.docs/vi/docs/fastapi-cli.md. PR #13294 by @ptt3199.docs/uk/docs/features.md. PR #13308 by @valentinDruzhinin.docs/uk/docs/learn/index.md. PR #13306 by @valentinDruzhinin.docs/pt/docs/deployment/https.md. PR #13317 by @Joao-Pedro-P-Holanda.docs/pt/docs/index.md. PR #13328 by @ceb10n.docs/ru/docs/advanced/websockets.md. PR #13279 by @Rishat-F.Internal
tests/test_modules_same_name_body/test_main.py. PR #13411 by @alv2017.wrangler-actionv3. PR #13415 by @joakimnordling.v0.115.8Compare Source
Fixes
OAuth2PasswordRequestFormandOAuth2PasswordRequestFormStrictfixedgrant_type"password" RegEx. PR #9783 by @skarfie123.Refactors
APIKeyBasesuper class. PR #3142 by @ShahriyarR.Docs
docs/en/docs/tutorial/extra-models.md. PR #13061 by @timothy-jeong.tutorial002to deal withtax=0case. PR #13230 by @togogh.Translations
docs/ja/docs/environment-variables.md. PR #13226 by @k94-ishi.docs/ru/docs/advanced/async-tests.md. PR #13227 by @Rishat-F.docs/ru/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md. PR #13252 by @Rishat-F.docs/ru/docs/tutorial/bigger-applications.md. PR #13154 by @alv2017.Internal
>=3.2.1,<5.0.0. PR #13273 by @tiangolo.notify_translations.pyempty env var handling for PR label events vs workflow_dispatch. PR #13272 by @tiangolo.scripts/notify_translations.py, no need for a custom GitHub Action. PR #13270 by @tiangolo.v0.115.7Compare Source
Upgrades
python-multipartto >=0.0.18. PR #13219 by @DanielKusyDev.>=0.40.0,<0.46.0. PR #13117 by @Kludex.jinja2to >=3.1.5. PR #13194 by @DanielKusyDev.Refactors
Docs
fastapi-cliUI examples in docs. PR #13107 by @Zhongheng-Cheng.docs/en/docs/virtual-environments.md. PR #13124 by @tiangolo.docs/en/docs/contributing.md. PR #12899 by @kingsubin.docs/en/docs/tutorial/sql-databases.md. PR #13081 by @alv2017.docs/ru/docs/tutorial/query-param-models.md. PR #12994 by @alejsdev.fastapi-cli. PR #13031 by @tiangolo.Translations
docs/pt/docs/tutorial/request-forms.md. PR #13216 by @Joao-Pedro-P-Holanda.docs/pt/docs/advanced/settings.md. PR #13209 by @ceb10n.docs/pt/docs/tutorial/security/oauth2-jwt.md. PR #13205 by @ceb10n.docs/id/docs/index.md. PR #13191 by @gerry-sabar.docs/id/docs/tutorial/static-files.md. PR #13092 by @guspan-tanadi.docs/pt/docs/tutorial/security/get-current-user.md. PR #13188 by @ceb10n.docs/pt/docs/advanced/benchmarks.md. PR #13187 by @ceb10n.docs/ru/docs/tutorial/security/first-steps.md. PR #13159 by @Yarous.docs/ja/docs/tutorial/path-params-numeric-validations.md. PR #12238 by @FakeDocument.docs/zh/docs/fastapi-cli.md. PR #13102 by @Zhongheng-Cheng.docs/zh/docs/advanced/security/oauth2-scopes.md. PR #13110 by @ChenPu2002.docs/id/docs/tutorial/path-params.md. PR #13086 by @gerry-sabar.docs/ko/docs/tutorial/sql-databases.md. PR #13093 by @GeumBinLee.docs/zh/docs/async.md. PR #13095 by @Zhongheng-Cheng.docs/zh/docs/advanced/openapi-webhooks.md. PR #13091 by @Zhongheng-Cheng.docs/zh/docs/advanced/async-tests.md. PR #13074 by @Zhongheng-Cheng.docs/uk/docs/fastapi-cli.md. PR #13020 by @ykertytsky.docs/zh/docs/advanced/events.md. PR #12512 by @ZhibangYue./docs/ru/docs/tutorial/sql-databases.md. PR #13079 by @alv2017.docs/zh/docs/advanced/testing-dependencies.md. PR #13066 by @Zhongheng-Cheng.docs/zh-hant/docs/tutorial/index.md. PR #13075 by @codingjenny.docs/zh/docs/tutorial/sql-databases.md. PR #13051 by @Zhongheng-Cheng.docs/zh/docs/tutorial/query-params-str-validations.md. PR #12928 by @Vincy1230.docs/zh/docs/tutorial/header-param-models.md. PR #13040 by @Zhongheng-Cheng.docs/zh/docs/tutorial/path-params.md. PR #12926 by @Vincy1230.docs/zh/docs/tutorial/first-steps.md. PR #12923 by @Vincy1230.docs/ru/docs/deployment/docker.md. PR #13048 by @anklav24.docs/pt/docs/advanced/generate-clients.md. PR #13030 by @vitumenezes.docs/id/docs/tutorial/first-steps.md. PR #13042 by @gerry-sabar.docs/zh/docs/tutorial/cookie-param-models.md. PR #13038 by @Zhongheng-Cheng.docs/zh/docs/tutorial/request-form-models.md. PR #13045 by @Zhongheng-Cheng.docs/ru/docs/virtual-environments.md. PR #13026 by @alv2017.docs/ko/docs/tutorial/testing.md. PR #12968 by @jts8257.docs/ko/docs/advanced/async-test.md. PR #12918 by @icehongssii.docs/ru/docs/tutorial/security/oauth2-jwt.md. PR #10601 by @AlertRED.docs/ru/docs/tutorial/security/simple-oauth2.md. PR #10599 by @AlertRED.docs/ru/docs/tutorial/security/get-current-user.md. PR #10594 by @AlertRED.docs/zh-hant/docs/features.md. PR #12441 by @codingjenny.docs/zh-hant/docs/virtual-environments.md. PR #12791 by @Vincy1230.docs/ko/docs/advanced/templates.md. PR #12726 by @Heumhub.docs/ru/docs/fastapi-cli.md. PR #13041 by @alv2017.docs/ko/docs/tutorial/cookie-param-models.md. PR #13000 by @hard-coders.docs/ko/docs/tutorial/header-param-models.md. PR #13001 by @hard-coders.docs/ko/docs/tutorial/request-form-models.md. PR #13002 by @hard-coders.docs/ko/docs/tutorial/request-forms.md. PR #13003 by @hard-coders.docs/ko/docs/resources/index.md. PR #13004 by @hard-coders.docs/ko/docs/how-to/configure-swagger-ui.md. PR #12898 by @nahyunkeem.docs/ko/docs/advanced/additional-status-codes.md. PR #12715 by @nahyunkeem.docs/zh-hant/docs/tutorial/first-steps.md. PR #12467 by @codingjenny.Internal
notify-translations.yml. PR #12915 by @tinyboxvk.v0.115.6Compare Source
Fixes
yield. PR #5823 by @sombek.Refactors
Docs
docs/de/docs/advanced/using-request-directly.md. PR #12685 by @alissadb.docs/de/docs/how-to/conditional-openapi.md. PR #12689 by @alissadb.Translations
docs/zh-hant/docs/async.md. PR #12990 by @ILoveSorasakiHina.docs/zh-hant/docs/tutorial/query-param-models.md. PR #12932 by @Vincy1230.docs/ko/docs/advanced/testing-dependencies.md. PR #12992 by @Limsunoh.docs/ko/docs/advanced/websockets.md. PR #12991 by @kwang1215.docs/pt/docs/tutorial/response-model.md. PR #12933 by @AndreBBM.docs/ko/docs/advanced/middlewares.md. PR #12753 by @nahyunkeem.docs/ko/docs/advanced/openapi-webhooks.md. PR #12752 by @saeye.docs/zh/docs/tutorial/query-param-models.md. PR #12931 by @Vincy1230.docs/ru/docs/tutorial/query-param-models.md. PR #12445 by @gitgernit.docs/ko/docs/tutorial/query-param-models.md. PR #12940 by @jts8257.docs/zh/docs/tutorial/sql-databases.md, it references files that are no longer on the repo. PR #12949 by @tiangolo.Internal
v0.115.5Compare Source
Refactors
Docs
docs/en/docs/tutorial/body.md. PR #12757 by @gsheni.docs/en/docs/advanced/testing-dependencies.md. PR #12647 by @AyushSinghal1794.docs/en/docs/tutorial/metadata.md. PR #12773 by @Nimitha-jagadeesha.docs/en/docs/tutorial/dependencies/dependencies-with-yield.md. PR #12045 by @xuvjso.docs/en/docs/tutorial/dependencies/global-dependencies.md. PR #12653 by @vishnuvskvkl.docs/en/docs/tutorial/body-updates.md. PR #12712 by @davioc.docs/en/docs/tutorial/header-param-models.md. PR #12814 by @zhaohan-dong.contributing.mddocs, include note to not translate this page. PR #12841 by @tiangolo.docs/en/docs/tutorial/request-forms.md. PR #12648 by @vishnuvskvkl.docs/en/docs/tutorial/request-form-models.md. PR #12649 by @vishnuvskvkl.docs/en/docs/tutorial/security/oauth2-jwt.md. PR #12650 by @OCE1960.docs/vi/docs/tutorial/first-steps.md. PR #12754 by @MxPy.docs/pt/docs/advanced/wsgi.md. PR #12769 by @Nimitha-jagadeesha.docs/en/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md. PR #12815 by @handabaldeep.docs/en/docs/tutorial/dependencies/classes-as-dependencies.md. PR #12813 by @handabaldeep.docs/en/docs/tutorial/middleware.md. PR #12819 by @alejsdev.docs/en/docs/tutorial/security/get-current-user.md. PR #12645 by @OCE1960.docs/en/docs/tutorial/security/first-steps.md. PR #12643 by @OCE1960.docs/de/docs/advanced/additional-responses.md. PR #12821 by @zhaohan-dong.docs/en/docs/advanced/generate-clients.md. PR #12642 by @AyushSinghal1794.docs/zh/docs/advanced/additional-responses.md. PR #12828 by @zhaohan-dong.docs/en/docs/tutorial/path-params-numeric-validations.md. PR #12825 by @zhaohan-dong.docs/en/docs/advanced/testing-websockets.md. PR #12761 by @hamidrasti.docs/en/docs/advanced/using-request-directly.md. PR #12760 by @hamidrasti.docs/advanced/wsgi.md. PR #12758 by @hamidrasti.docs/de/docs/tutorial/middleware.md. PR #12729 by @paintdog.docs/en/docs/tutorial/schema-extra-example.md. PR #12822 by @tiangolo.docs/fr/docs/advanced/additional-responses.md. PR #12634 by @fegmorte.docs/fr/docs/advanced/path-operation-advanced-configuration.md. PR #12633 by @kantandane.docs/fr/docs/advanced/response-directly.md. PR #12632 by @kantandane.docs/en/docs/tutorial/header-params.md. PR #12640 by @vishnuvskvkl.docs/en/docs/tutorial/cookie-param-models.md. PR #12639 by @vishnuvskvkl.docs/en/docs/tutorial/extra-models.md. PR #12638 by @vishnuvskvkl.docs/en/docs/tutorial/cors.md. PR #12637 by @vishnuvskvkl.docs/en/docs/tutorial/dependencies/sub-dependencies.md. PR #12810 by @handabaldeep.docs/en/docs/tutorial/body-nested-models.md. PR #12812 by @zhaohan-dong.docs/en/docs/tutorial/path-operation-configuration.md. PR #12809 by @AlexWendland.docs/en/docs/tutorial/request-files.md. PR #12818 by @zhaohan-dong.docs/en/docs/tutorial/query-param-models.md. PR #12817 by @handabaldeep.docs/en/docs/tutorial/path-params.md. PR #12811 by @AlexWendland.docs/en/docs/tutorial/response-model.md. PR #12621 by @kantandane.docs/en/docs/advanced/websockets.md. PR #12606 by @vishnuvskvkl.docs/en/docs/tutorial/cookie-params.md. PR #12808 by @handabaldeep.docs/en/docs/tutorial/middleware.md. PR #12807 by @AlexWendland.docs/en/docs/advanced/sub-applications.md. PR #12806 by @zhaohan-dong.docs/en/docs/advanced/response-headers.md. PR #12805 by @zhaohan-dong.docs/fr/docs/tutorial/first-steps.md. PR #12594 by @kantandane.docs/en/docs/advanced/response-cookies.md. PR #12804 by @zhaohan-dong.docs/en/docs/advanced/path-operation-advanced-configuration.md. PR #12802 by @zhaohan-dong.docs/en/docs/advanced/response-directly.md. PR #12803 by @handabaldeep.docs/zh/docs/tutorial/background-tasks.md. PR #12798 by @zhaohan-dong.docs/de/docs/tutorial/body-multiple-params.md. PR #12699 by @alissadb.docs/em/docs/tutorial/body-updates.md. PR #12799 by @AlexWendland.docs/en/docs/advanced/response-change-status-code.md. PR #12801 by @handabaldeep.docs/en/docs/advanced/openapi-callbacks.md. PR #12800 by @handabaldeep.docs/fr/docs/tutorial/body-multiple-params.md. PR #12598 by @kantandane.docs/en/docs/tutorial/body-multiple-params.md. PR #12593 by @Tashanam-Shahbaz.docs/pt/docs/tutorial/background-tasks.md. PR #12736 by @bhunao.docs/en/docs/advanced/custom-response.md. PR #12797 by @handabaldeep.docs/pt/docs/python-types.md. PR #12671 by @ceb10n.docs/de/docs/python-types.md. PR #12660 by @alissadb.docs/de/docs/advanced/dataclasses.md. PR #12658 by @alissadb.docs/fr/docs/tutorial/path-params.md. PR #12592 by @kantandane.docs/de/docs/how-to/configure-swagger-ui.md. PR #12690 by @alissadb.docs/en/docs/advanced/security/oauth2-scopes.md. PR #12572 by @krishnamadhavan.docs/en/docs/how-to/conditional-openapi.md. PR #12624 by @rabinlamadong.docs/en/docs/tutorial/dependencies/index.md. PR #12615 by @bharara.docs/en/docs/tutorial/response-status-code.md. PR #12620 by @kantandane.docs/en/docs/how-to/custom-docs-ui-assets.md. PR #12623 by @rabinlamadong.docs/en/docs/advanced/openapi-webhooks.md. PR #12605 by @salmantec.docs/en/docs/advanced/events.md. PR #12604 by @salmantec.docs/en/docs/advanced/dataclasses.md. PR #12603 by @salmantec.docs/es/docs/tutorial/cookie-params.md. PR #12602 by @antonyare93.docs/fr/docs/tutorial/path-params-numeric-validations.md. PR #12601 by @kantandane.docs/fr/docs/tutorial/background-tasks.md. PR #12600 by @kantandane.docs/en/docs/tutorial/encoder.md. PR #12597 by @tonyjly.docs/en/docs/how-to/custom-docs-ui-assets.md. PR #12557 by @philipokiokio.docs/en/docs/how-to/custom-request-and-route.md. PR #12560 by @philipokiokio.Translations
docs/ko/docs/advanced/testing-websockets.md. PR #12739 by @Limsunoh.docs/zh-hant/docs/environment-variables.md. PR #12785 by @Vincy1230.docs/zh/docs/environment-variables.md. PR #12784 by @Vincy1230.ko/docs/advanced/response-headers.md. PR #12740 by @kwang1215.docs/zh/docs/virtual-environments.md. PR #12790 by @Vincy1230./docs/ko/docs/environment-variables.md. PR #12526 by @Tolerblanc.docs/ko/docs/history-design-future.md. PR #12646 by @saeye.docs/ko/docs/advanced/advanced-dependencies.md. PR #12675 by @kim-sangah.docs/ko/docs/how-to/conditional-openapi.md. PR #12731 by @sptcnl.docs/ko/docs/advanced/using_request_directly.md. PR #12738 by @kwang1215.docs/ko/docs/advanced/testing-events.md. PR #12741 by @9zimin9.docs/ko/docs/security/index.md. PR #12743 by @kim-sangah.docs/pt/docs/advanced/path-operation-advanced-configuration.md. PR #12762 by @Joao-Pedro-P-Holanda.docs/ko/docs/advanced/wsgi.md. PR #12659 by @Limsunoh.docs/pt/docs/advanced/websockets.md. PR #12703 by @devfernandoa.docs/pt/docs/tutorial/security/simple-oauth2.md. PR #12520 by @LidiaDomingos.docs/ko/docs/advanced/response-directly.md. PR #12674 by @9zimin9.docs/pt/docs/advanced/middleware.md. PR #12704 by @devluisrodrigues.docs/pt/docs/advanced/openapi-callbacks.md. PR #12705 by @devfernandoa.docs/pt/docs/tutorial/request-files.md. PR #12706 by @devluisrodrigues.docs/pt/docs/advanced/custom-response.md. PR #12631 by @Joao-Pedro-P-Holanda.docs/pt/docs/tutorial/metadata.md. PR #12538 by @LinkolnR.docs/ko/docs/tutorial/metadata.md. PR #12541 by @kwang1215.docs/ko/docs/advanced/response-cookies.md. PR #12546 by @kim-sangah.docs/ko/docs/fastapi-cli.md. PR #12515 by @dhdld.docs/ko/docs/advanced/response-change-status-code.md. PR #12547 by @9zimin9.Internal
v0.115.4Compare Source
Refactors
python-multipartfor compatibility with newer version. PR #12627 by @tiangolo.Docs
docs/fr/docs/tutorial/body.md. PR #12596 by @kantandane.docs/fr/docs/tutorial/debugging.md. PR #12595 by @kantandane.docs/fr/docs/tutorial/query-params-str-validations.md. PR #12591 by @kantandane.docs/fr/docs/tutorial/query-params.md. PR #12589 by @kantandane.docs/en/tutorial/body-fields.md. PR #12588 by @lucaromagnoli.docs/de/docs/tutorial/response-status-code.md. PR #12585 by @abejaranoh.docs/en/docs/tutorial/body.md. PR #12586 by @lucaromagnoli.docs/en/docs/advanced/behind-a-proxy.md. PR #12583 by @imjuanleonard.docs/pl/docs/tutorial/first-steps.md. PR #12584 by @sebkozlo.docs/en/docs/advanced/middleware.md. PR #12582 by @montanarograziano.docs/en/docs/advanced/additional-status-codes.md. PR #12577 by @krishnamadhavan.docs/en/docs/advanced/advanced-dependencies.md. PR #12578 by @krishnamadhavan.docs/en/docs/advanced/additional-responses.md. PR #12576 by @krishnamadhavan.docs/en/docs/tutorial/static-files.md. PR #12575 by @lucaromagnoli.docs/en/docs/advanced/async-tests.md. PR #12568 by @krishnamadhavan.docs/pt/docs/advanced/behind-a-proxy.md. PR #12563 by @asmioglou.docs/de/docs/advanced/security/http-basic-auth.md. PR #12561 by @Nimitha-jagadeesha.docs/en/docs/tutorial/background-tasks.md. PR #12559 by @FarhanAliRaza.docs/fr/docs/python-types.md. PR #12558 by @Ismailtlem.docs/en/docs/how-to/graphql.md. PR #12564 by @philipokiokio.docs/en/docs/how-to/extending-openapi.md. PR #12562 by @philipokiokio.docs/en/docs/how-to/configure-swagger-ui.md. PR #12556 by @tiangolo.docs/en/docs/how-to/separate-openapi-schemas.md. PR #12555 by @tiangolo.docs/en/docs/advanced/security/http-basic-auth.md. PR #12553 by @tiangolo.docs/en/docs/tutorial/first-steps.md. PR #12552 by @tiangolo.docs/en/docs/python-types.md. PR #12551 by @tiangolo.Translations
docs/de/docs/advanced/async-tests.md. PR #12567 by @imjuanleonard.docs/pt/docs/tutorial/sql-databases.md. PR #12530 by @ilacftemp.docs/ko/docs/benchmarks.md. PR #12540 by @Limsunoh.docs/pt/docs/how-to/separate-openapi-schemas.md. PR #12518 by @ilacftemp.docs/zh-hant/docs/deployment/index.md. PR #12521 by @codingjenny.docs/zh-hant/docs/deployment/cloud.md. PR #12522 by @codingjenny.docs/zh-hant/docs/how-to/index.md. PR #12523 by @codingjenny.docs/zh-hant/docs/tutorial/index.md. PR #12524 by @codingjenny.docs/zh-hant/docs/how-to/index.md. PR #12468 by @codingjenny.docs/zh-hant/docs/tutorial/index.md. PR #12466 by @codingjenny.docs/pt/docs/tutorial/header-param-models.md. PR #12437 by @Joao-Pedro-P-Holanda.docs/pt/docs/how-to/extending-openapi.md. PR #12470 by @ilacftemp.docs/pt/docs/advanced/dataclasses.md. PR #12475 by @leoscarlato.docs/pt/docs/how-to/custom-request-and-route.md. PR #12483 by @devfernandoa.Internal
v0.115.3Compare Source
Upgrades
>=0.40.0,<0.42.0. PR #12469 by @defnull.Docs
Translations
docs/zh-hant/docs/fastapi-cli.md. PR #12444 by @codingjenny.docs/zh-hant/docs/deployment/index.md. PR #12439 by @codingjenny.docs/pt/docs/how-to/testing-database.md. PR #12472 by @GuilhermeRameh.docs/pt/docs/how-to/custom-docs-ui-assets.md. PR #12473 by @devluisrodrigues.docs/pt/docs/advanced/response-headers.md. PR #12458 by @leonardopaloschi.docs/zh-hant/docs/deployment/cloud.md. PR #12440 by @codingjenny.docs/pt/docs/python-types.md. PR #12428 by @ceb10n.docs/ru/docs/environment-variables.md. PR #12436 by @wisderfin.docs/zh-hant/docs/resources/index.md. PR #12443 by @codingjenny.docs/zh-hant/docs/about/index.md. PR #12438 by @codingjenny.docs/pt/docs/tutorial/query-param-models.md. PR #12414 by @ceb10n.docs/pt/docs/deployment.md. PR #12427 by @ceb10n.docs/pt/docs/tutorial/body-updates.md. PR #12381 by @andersonrocha0.docs/pt/docs/advanced/response-cookies.md. PR #12417 by @Paulofalcao2002.Internal
v0.115.2Compare Source
Upgrades
>=0.37.2,<0.41.0. PR #12431 by @tiangolo.v0.115.1Compare Source
Fixes
Requiredshadowing from fastapi using Pydantic v2. PR #12197 by @pachewise.Refactors
python-multipart. PR #12407 by @tiangolo.Docs
base_pathformdx_includeMarkdown extension in MkDocs. PR #12391 by @tiangolo.docs/project-generation.md. PR #12274 by @kayqueGovetri.Translations
docs/pt/docs/tutorial/cookie-param-models.md. PR #12298 by @ceb10n.docs/pt/docs/how-to/graphql.md. PR #12215 by @AnandaCampelo.docs/pt/docs/advanced/security/oauth2-scopes.md. PR #12263 by @ceb10n.docs/pt/docs/deployment/concepts.md. PR #12219 by @marcelomarkus.docs/pt/docs/how-to/conditional-openapi.md. PR #12221 by @marcelomarkus.docs/pt/docs/advanced/response-directly.md. PR #12266 by @Joao-Pedro-P-Holanda.docs/pt/docs/tutorial/cookie-params.md. PR #12297 by @ceb10n.docs/ko/docs/tutorial/index.md. PR #12278 by @kkotipy.docs/pt/docs/advanced/security/http-basic-auth.md. PR #12275 by @andersonrocha0.docs/pt/docs/deployment/cloud.md. PR #12217 by @marcelomarkus.docs/es/docs/python-types.md. PR #12235 by @JavierSanchezCastro.docs/nl/docs/environment-variables.md. PR #12200 by @maxscheijen.docs/pt/docs/deployment/manually.md. PR #12210 by @JoaoGustavoRogel.docs/pt/docs/deployment/server-workers.md. PR #12220 by @marcelomarkus.docs/pt/docs/how-to/configure-swagger-ui.md. PR #12222 by @marcelomarkus.Internal
sponsors_badge.yml. PR #12404 by @tiangolo.pydantic/pydantic (pydantic)
v2.13.4Compare Source
GitHub release
What's Changed
Packaging
pydantic-corelinker flags on macOS by @washingtoneg and @Viicos in #13147Fixes
RootModelcore metadata by @Viicos in #13129v2.13.3Compare Source
GitHub release
What's Changed
Fixes
AttributeErrorsubclasses withfrom_attributesby @Viicos in #13096v2.13.2Compare Source
GitHub release
What's Changed
Fixes
ValidationInfo.field_namemissing withmodel_validate_json()by @Viicos in #13084v2.13.1Compare Source
GitHub release
What's Changed
Fixes
ValidationInfo.datamissing withmodel_validate_json()by @davidhewitt in #13079v2.13.0Compare Source
GitHub release
The highlights of the v2.13 release are available in the blog post.
Several minor changes (considered non-breaking changes according to our versioning policy)
are also included in this release. Make sure to look into them before upgrading.
This release contains the updated
pydantic.v1namespace, matching version 1.10.26 which includes support for Python 3.14.What's Changed
See the beta releases for all changes sinces 2.12.
New Features
Changes
Fixes
Anywhen synthesizing_build_sourcesforBaseSettings.__init__()signature in the mypy plugin by @Viicos in #13049extraconfiguration by @Viicos in #13062Packaging
New Contributors
v2.12.5Compare Source
GitHub release
This is the fifth 2.12 patch release, addressing an issue with the
MISSINGsentinel and providing several documentation improvements.The next 2.13 minor release will be published in a couple weeks, and will include a new polymorphic serialization feature addressing
the remaining unexpected changes to the serialize as any behavior.
model_construct()on a model withMISSINGas a default value by @ornariece in #12522.v2.12.4Compare Source
GitHub release
This is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the
build()methodof the
AnyUrland Dsn types.This patch release also fixes an issue with the serialization of IP address types, when
serialize_as_anyis used. The next patch releasewill try to address the remaining issues with serialize as any behavior by introducing a new polymorphic serialization feature, that
should be used in most cases in place of serialize as any.
Fix issue with forward references in parent
TypedDictclasses by @Viicos in #12427.This issue is only relevant on Python 3.14 and greater.
Exclude fields with
exclude_iffrom JSON Schema required fields by @Viicos in #12430Revert URL percent-encoding of credentials in the
build()methodof the
AnyUrland Dsn types by @davidhewitt inpydantic-core#1833.
This was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include
an opt-in option to percent-encode components of the URL.
Add type inference for IP address types by @davidhewitt in pydantic-core#1868.
The 2.12 changes to the
serialize_as_anybehavior made it so that IP address types could not properly serialize to JSON.Avoid getting default values from defaultdict by @davidhewitt in pydantic-core#1853.
This fixes a subtle regression in the validation behavior of the
collections.defaultdicttype.
Fix issue with field serializers on nested typed dictionaries by @davidhewitt in pydantic-core#1879.
Add more
pydantic-corebuilds for the three-threaded version of Python 3.14 by @davidhewitt in pydantic-core#1864.v2.12.3Compare Source
GitHub release
What's Changed
This is the third 2.12 patch release, fixing issues related to the
FieldInfoclass, and reverting a change to the supportedafter model validator function signatures.
Starting in 2.12.0, using class methods for after model validators raised an error, but the error wasn't raised concistently. We decided
to emit a deprecation warning instead.
FieldInfo.asdict()method, improve documentation aroundFieldInfoby @Viicos in #12411.This also add back support for mutations on
FieldInfoclasses, that are reused asAnnotatedmetadata. However, note that this is stillnot a supported pattern. Instead, please refer to the added example in the documentation.
The blog post section on changes was also updated to document the changes related to
serialize_as_any.v2.12.2Compare Source
GitHub release
What's Changed
Fixes
pydantic-coreversion, as a corrupted CPython 3.10manylinux2014_aarch64wheel got uploaded (pydantic-core#1843).v2.12.1Compare Source
GitHub release
What's Changed
This is the first 2.12 patch release, addressing most (but not all yet) regressions from the initial 2.12.0 release.
Fixes
Noneis converted asNoneTypein Python 3.14 by @Viicos in #12370ValidationInfofor validation of default value by @Viicos in pydantic-core#1826MultiHostUrlbuilder by @willswire in pydantic-core#1829serialize_as_anyserialization flag by @davidhewitt in pydantic-core#1829RootModelserialization issues by @davidhewitt in pydantic-core#1836New Contributors
v2.12.0Compare Source
GitHub release
This is the final 2.12 release. It features the work of 20 external contributors and provides useful new features, along with initial Python 3.14 support.
Several minor changes (considered non-breaking changes according to our versioning policy)
are also included in this release. Make sure to look into them before upgrading.
Note that Pydantic V1 is not compatible with Python 3.14 and greater.
What's Changed
See the beta releases for all changes sinces 2.11.
New Features
extraparameter to the validate functions by @anvilpete in #12233exclude_computed_fieldsserialization option by @Viicos in #12334preverse_empty_pathURL options by @Viicos in #12336union_formatparameter to JSON Schema generation by @Viicos in #12147__qualname__parameter forcreate_modelby @Atry in #12001Fixes
TypeAdapterby @Viicos in #12324Anyfor context type annotation inTypeAdapterby @inducer in #12279FieldInfoinpydantic.fields.__all__by @Viicos in #12339validation_aliasin@validate_callby @Viicos in #12340Anyas context annotation in plugin API by @Viicos in #12341stacklevelin warnings when possible by @Viicos in #12342Packaging
New Contributors
v2.11.10Compare Source
GitHub release
What's Changed
Fixes
v2.11.9Compare Source
GitHub release
What's Changed
Fixes
v2.11.8Compare Source
GitHub release
What's Changed
Fixes
v2.11.7Compare Source
GitHub release
What's Changed
Fixes
FieldInfoinstance if necessary duringFieldInfobuild by @Viicos in #11898v2.11.6Compare Source
GitHub release
What's Changed
Fixes
FieldInfoby @Viicos in #11946v2.11.5Compare Source
GitHub release
What's Changed
Fixes
FieldInfois complete after applying type variable map by @Viicos in #11855model_rebuild()by @Viicos in #11890v2.11.4Compare Source
GitHub release
What's Changed
Changes
create_model()by @Viicos in #11714.This change was backported as it was previously possible (although not meant to be supported)
to provide
model_configas a field, which would make it possible to provide both configurationand bases.
Fixes
function-beforeschemas during schema gathering by @Viicos in #11801Packaging
mkdocs-llmstxtto v0.2.0 by @Viicos in #11725v2.11.3Compare Source
GitHub release
What's Changed
Fixes
Packaging
v2.11.2Compare Source
GitHub release
What's Changed
Fixes
pydantic-coreto v2.33.1 by @Viicos in #11678__pydantic_private__exists before setting private attributes by @Viicos in #11666FieldInfo._completewhen using field from parent class by @Viicos in #11668v2.11.1Compare Source
GitHub release
What's Changed
Fixes
v2.11.0Compare Source
GitHub release
What's Changed
Pydantic v2.11 is a version strongly focused on build time performance of Pydantic models (and core schema generation in general).
See the blog post for more details.
New Features
encoded_string()method to the URL types by @YassinNouh21 in #11580defer_buildwith@validate_calldecorator by @Viicos in #11584@with_configdecorator to be used with keyword arguments by @Viicos in #11608generate_arguments_schema()function by @Viicos in #11572Fixes
Packaging
pydantic-coreto v2.33.0 by @Viicos in #11631New Contributors
v2.10.6Compare Source
GitHub release
What's Changed
Fixes
'examples'keys by @Viicos in #11325v2.10.5Compare Source
GitHub release
What's Changed
Fixes
v2.10.4Compare Source
GitHub release
What's Changed
Fixes
AnyUrlobjects by @alexprabhat99 in #11082lento_BaseUrlto avoid TypeError by @Kharianne in #11111New Contributors
Packaging
pydantic-coreto v2.27.2 by @davidhewitt in #11138v2.10.3Compare Source
GitHub release
What's Changed
Fixes
defer_buildis set on Pydantic dataclasses by @Viicos in #10984dictcore schema keys by @Viicos in #10989PlainSerializerandWrapSerializerfunctions by @Viicos in #11008default_factory_takes_validated_dataproperty toFieldInfoby @Viicos in #11034serializationmode by @sydney-runkle in #11035v2.10.2Compare Source
GitHub release
What's Changed
Fixes
Secrettypes andUrltypes by @sydney-runkle in #10947Field.defaultto be compatible with Python 3.8 and 3.9 by @Viicos in #10972BaseModel.__replace__definition from type checkers by @Viicos in #10979v2.10.1Compare Source
GitHub release
What's Changed
Fixes
TypeAdapterby @Viicos in #10893default_factoryutils by @sydney-runkle in #10909model_fieldsandmodel_computed_fieldsby @sydney-runkle in #10911dataclasses by @sydney-runkle in #10928globalsof the function when evaluating the return type of serializers andcomputed_fields by @Viicos in #10929''by @sydney-runkle in #10936pythonmode serialization forcomplexinference by @sydney-runkle in pydantic-core#1549Packaging
pydantic-coreversion tov2.27.1by @sydney-runkle in #10938New Contributors
v2.10.0Compare Source
The code released in v2.10.0 is practically identical to that of v2.10.0b2.
GitHub release
See the v2.10 release blog post for the highlights!
What's Changed
New Features
fractions.Fractionby @sydney-runkle in #10318Hashablefor json validation by @sydney-runkle in #10324SocketPathtype forlinuxsystems by @theunkn0wn1 in #10378examplesby @sydney-runkle in #10417defer_buildfor Pydantic dataclasses by @Viicos in #10313TypedDictto type hint variadic keyword arguments with@validate_callby @Viicos in #10416protected_namespacesby @sydney-runkle in #10522propertyNamesin JSON schema by @FlorianSW in #10478__replace__protocol for Python 3.13+ support by @sydney-runkle in #10596sortmethod for JSON schema generation by @sydney-runkle in #10595@validate_callcallable argument by @kc0506 in #10627experimental_allow_partialsupport by @samuelcolvin in #10748ValidationErrorandPydanticCustomErrorby @Youssefares in pydantic/pydantic-core#1413trailing-stringssupport toexperimental_allow_partialby @sydney-runkle in #10825rebuild()method forTypeAdapterand simplifydefer_buildpatterns by @sydney-runkle in #10537TypeAdapterinstance repr by @sydney-runkle in #10872Changes
SchemaGeneratoruntil interface is more stable by @sydney-runkle in #10303defer_buildonTypeAdapters, removing experimental flag by @sydney-runkle in #10329mroof generic subclass by @kc0506 in #10100b64decodeandb64encodeforBase64Bytestype by @sydney-runkle in #10486@dataclassdecorator and with the__pydantic_config__attribute by @sydney-runkle in #10406Ellipsis(...) withFieldby @Viicos in #10661Literals andEnumsby @Viicos in #10692AnyorNeverwhen replacing type variables by @Viicos in #10338base64bytes by @bschoenmaeckers in pydantic/pydantic-core#1448Performance
CoreMetadatarefactor with an emphasis on documentation, schema build time performance, and reducing complexity by @sydney-runkle in #10675Packaging
pydantic-coretov2.27.0by @sydney-runkle in #10825Fixes
computed_fieldwithfield_serializerby @nix010 in #10390Predicateissue inv2.9.0by @sydney-runkle in #10321annotated-typesbound by @sydney-runkle in #10327tzdatainstall requirement into optionaltimezonedependency by @jakob-keller in #10331namedtuplecore schemas by @Viicos in #10337IncExtype alias definition by @Viicos in #10339ModelMetaclass.mroby @Viicos in #10372computed_fields by @Viicos in #10391inspect.iscoroutinefunctionworks on coroutines decorated with@validate_callby @MovisLi in #10374NameErrorwhen usingvalidate_callwith PEP 695 on a class by @kc0506 in #10380ZoneInfowith various invalid types by @sydney-runkle in #10408PydanticUserErroron emptymodel_configwith annotations by @cdwilson in #10412_IncExtype alias, only allowTrueby @Viicos in #10414PlainValidatorby @Viicos in #10427json_schema_input_typeby @Viicos in #10439Representationby @Viicos in #10480max_digitsanddecimal_places) by @sydney-runkle in #10506__pydantic_core_schema__from the current class during schema generation by @Viicos in #10518stacklevelon deprecation warnings forBaseModelby @sydney-runkle in #10520stacklevelinBaseModel.__init__by @Viicos in #10526ConfigWrapper.core_configto take the title directly by @Viicos in #10562mode='python'by @sydney-runkle in #10594Base64Etctypes by @sydney-runkle in #10584validate_callignoringFieldinAnnotatedby @kc0506 in #10610Selfis invalid by @kc0506 in #10609core_schema.InvalidSchemainstead of metadata injection + checks by @sydney-runkle in #10523typewithtyping.Selfand type aliases by @kc0506 in #10621FieldandPrivateAttrfunctions by @Viicos in #10651mypyplugin implementation by @Viicos in #10669typing_extensionsvariant ofTypeAliasTypeby @Daraan in #10713BaseModel.model_copy()by @Viicos in #10751isinstancebehavior for urls by @sydney-runkle in #10766cached_propertycan be set on Pydantic models by @Viicos in #10774host_requiredfor URLs by @Viicos in pydantic/pydantic-core#1488coerce_numbers_to_strenabled and string has invalid Unicode character by @andrey-berenda in pydantic/pydantic-core#1515complexvalues inEnums by @changhc in pydantic/pydantic-core#1524_typing_extramodule by @Viicos in #10725bytearraytoTypeAdapter.validate_jsonsignature by @samuelcolvin in #10802Fieldby @Viicos in #10816validate_callby @sydney-runkle in #10807IncExtype alias to be compatible with mypy by @Viicos in #10813__signature__a lazy property, do not deepcopy defaults by @Viicos in #10818__signature__lazy for dataclasses, too by @sydney-runkle in #10832AnyUrlto preserve behavior from v2.9 by @sydney-runkle in #10856New Contributors
Kludex/uvicorn (uvicorn)
v0.49.0: Version 0.49.0Compare Source
What's Changed
Full Changelog: https://github.com/Kludex/uvicorn/compare/0.48.0...0.49.0
v0.48.0: Version 0.48.0Compare Source
What's Changed
ssl_cipherstoNoneand use OpenSSL defaults by @Kludex in #2940ProxyHeadersMiddlewareby @Kludex in #2944Full Changelog: https://github.com/Kludex/uvicorn/compare/0.47.0...0.48.0
v0.47.0: Version 0.47.0Compare Source
What's Changed
ssl_context_factoryfor customSSLContextconfiguration by @Kludex in #2920fd=0as a valid file descriptor with reload/workers by @eltoder in #2927Full Changelog: https://github.com/Kludex/uvicorn/compare/0.46.0...0.47.0
v0.46.0: Version 0.46.0Compare Source
What's Changed
ws_max_sizeinwsprotoimplementation by @Kludex in #2915ws_ping_intervalandws_ping_timeoutinwsprotoimplementation by @Kludex in #2916bytearrayfor incoming WebSocket message buffer in websockets-sansio by @Kludex in #2917Full Changelog: https://github.com/Kludex/uvicorn/compare/0.45.0...0.46.0
v0.45.0: Version 0.45.0Compare Source
What's Changed
os.PathLikeforlog_configby @Kludex in #2905log_levelstrings case-insensitively by @Kludex in #2907ImportErrorwhen PyYAML is missing for YAML log config by @Kludex in #2906--reset-contextvarsflag to isolate ASGI request context by @Kludex in #2912http.disconnecton server shutdown for streaming responses" (#2829) by @Kludex in #2913New Contributors
Full Changelog: https://github.com/Kludex/uvicorn/compare/0.44.0...0.45.0
v0.44.0: Version 0.44.0Compare Source
What's Changed
Full Changelog: https://github.com/Kludex/uvicorn/compare/0.43.0...0.44.0
v0.43.0: Version 0.43.0Compare Source
Changed
http.disconnectASGIreceive()event on server shutting down for streaming responses (#2829)contextparameter forcreate_taskon Python 3.11+ (#2859)Full Changelog: https://github.com/Kludex/uvicorn/compare/0.42.0...0.43.0
v0.42.0: Version 0.42.0Compare Source
Changed
bytearrayfor request body accumulation to avoid O(n^2) allocation on fragmented bodies (#2845)Fixed
HEADER_REregex (#2824)New Contributors
Full Changelog: https://github.com/Kludex/uvicorn/compare/0.41.0...0.42.0
v0.41.0: Version 0.41.0Compare Source
Added
--limit-max-requests-jitterto stagger worker restarts (#2707)scope["server"](#2561)Changed
LifespanOn.error_occuredtoerror_occurred(#2776)Fixed
should_exitis set during startup (#2812)New Contributors
Full Changelog: https://github.com/Kludex/uvicorn/compare/0.40.0...0.41.0
v0.40.0: Version 0.40.0Compare Source
What's Changed
Full Changelog: https://github.com/Kludex/uvicorn/compare/0.39.0...0.40.0
v0.39.0: Version 0.39.0Compare Source
What's Changed
New Contributors
Full Changelog: https://github.com/Kludex/uvicorn/compare/0.38.0...0.39.0
v0.38.0: Version 0.38.0Compare Source
What's Changed
New Contributors
Full Changelog: https://github.com/Kludex/uvicorn/compare/0.37.0...0.38.0
v0.37.0: Version 0.37.0Compare Source
What's Changed
--timeout-worker-healthchecksetting by @Kludex in #2711os.PathLike[str]type tossl_ca_certsby @rnv812 in #2676New Contributors
Full Changelog: https://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0
v0.36.1: Version 0.36.1Compare Source
What's Changed
Config.setup_event_loop()by @Kludex in #2709Full Changelog: https://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1
v0.36.0: Version 0.36.0Compare Source
Added
--http,--wsand--loopby @Kludex in #2658New Contributors
Full Changelog: https://github.com/Kludex/uvicorn/compare/0.35.0...0.36.0
v0.35.0: Version 0.35.0Compare Source
Added
WebSocketsSansIOProtocolby @Kludex in encode#2540Changed
--proxy-headersby @zhangyoufu in encode#2653New Contributors
Full Changelog: https://github.com/encode/uvicorn/compare/0.34.3...0.35.0
v0.34.3: Version 0.34.3Compare Source
What's Changed
cwd()when non-empty--reload-dirsis passed by @stinovlas in encode#2598get_client_addrformatting to WebSocket logging by @Harry-Lees in encode#2636New Contributors
Full Changelog: https://github.com/encode/uvicorn/compare/0.34.2...0.34.3
v0.34.2: Version 0.34.2Compare Source
What's Changed
New Contributors
Full Changelog: https://github.com/encode/uvicorn/compare/0.34.1...0.34.2
v0.34.1: Version 0.34.1Compare Source
What's Changed
ServerStatein the main module by @Kludex in encode#2581New Contributors
Full Changelog: https://github.com/encode/uvicorn/compare/0.34.0...0.34.1
v0.34.0: Version 0.34.0Compare Source
What's Changed
content-lengthto 500 response in wsproto by @Kludex in encode#2542Full Changelog: https://github.com/encode/uvicorn/compare/0.33.0...0.34.0
v0.33.0: Version 0.33.0Compare Source
What's Changed
New Contributors
Full Changelog: https://github.com/encode/uvicorn/compare/0.32.1...0.33.0
v0.32.1: Version 0.32.1Compare Source
What's Changed
Full Changelog: https://github.com/encode/uvicorn/compare/0.32.0...0.32.1
v0.32.0: Version 0.32.0Compare Source
Added
max_request_limitis exceeded (#2430)Full Changelog: https://github.com/encode/uvicorn/compare/0.31.1...0.32.0
v0.31.1: Version 0.31.1Compare Source
Fixed
[*]in trusted hosts #2480PathLike[str]type hint forssl_keyfile#2481Full Changelog: https://github.com/encode/uvicorn/compare/0.31.0...0.31.1
v0.31.0: Version 0.31.0Compare Source
Added
Improve
ProxyHeadersMiddleware(#2468) and (#2231):on docker swarm/Kubernetes, where the reverse proxy might have a dynamic IP.
Full Changelog: https://github.com/encode/uvicorn/compare/0.30.6...0.31.0
Configuration
📅 Schedule: (in timezone Europe/Warsaw)
🚦 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.
This PR has been generated by Mend Renovate.
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.