Update Python dependencies #7

Open
renovate-bot wants to merge 1 commit from renovate/python-dependencies into main
Collaborator

This PR contains the following updates:

Package Change Age Confidence
fastapi (changelog) ==0.115.0==0.138.0 age confidence
pydantic (changelog) ==2.9.2==2.13.4 age confidence
uvicorn (changelog) ==0.30.6==0.49.0 age confidence

Release Notes

fastapi/fastapi (fastapi)

v0.138.0

Compare Source

Features
  • Add support for app.frontend("/", directory="dist") and router.frontend("/", directory="dist"). PR #​15800 by @​tiangolo.
Docs
Translations
Internal

v0.137.2

Compare Source

Features
  • Add iter_route_contexts() for advanced use cases that used to use router.routes (e.g. Jupyverse). PR #​15785 by @​tiangolo.
Translations
Internal

v0.137.1

Compare Source

Fixes

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

Upgrades

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
Internal

v0.128.1

Compare Source

Features
  • Add viewport meta tag to improve Swagger UI on mobile devices. PR #​14777 by @​Joab0.
  • 🚸 Improve error message for invalid query parameter type annotations. PR #​14479 by @​retwish.
Fixes
Refactors
Docs
Translations
Internal

v0.128.0

Compare Source

Breaking Changes
Internal

v0.127.1

Compare Source

Refactors
Docs
Translations
Internal

v0.127.0

Compare Source

Breaking Changes
Translations
  • 🔧 Add LLM prompt file for Korean, generated from the existing translations. PR #​14546 by @​tiangolo.
  • 🔧 Add LLM prompt file for Japanese, generated from the existing translations. PR #​14545 by @​tiangolo.
Internal

v0.126.0

Compare Source

Upgrades
  • Drop support for Pydantic v1, keeping short temporary support for Pydantic v2's pydantic.v1. PR #​14575 by @​tiangolo.
    • The minimum version of Pydantic installed is now pydantic >=2.7.0.
    • The standard dependencies now include pydantic-settings >=2.0.0 and pydantic-extra-types >=2.0.0.
Docs
Translations
  • 🔧 Add LLM prompt file for Ukrainian, generated from the existing translations. PR #​14548 by @​tiangolo.
Internal

v0.125.0

Compare Source

Breaking Changes
  • 🔧 Drop support for Python 3.8. PR #​14563 by @​tiangolo.
    • This would actually not be a breaking change as no code would really break. Any Python 3.8 installer would just refuse to install the latest version of FastAPI and would only install 0.124.4. Only marking it as a "breaking change" to make it visible.
Refactors
Docs
Translations
Internal

v0.124.4

Compare Source

Fixes

v0.124.3

Compare Source

Fixes
  • 🐛 Fix support for tagged union with discriminator inside of Annotated with Body(). PR #​14512 by @​tiangolo.
Refactors
Docs
Translations
Internal

v0.124.2

Compare Source

Fixes
  • 🐛 Fix support for if TYPE_CHECKING, non-evaluated stringified annotations. PR #​14485 by @​tiangolo.

v0.124.1

Compare Source

Fixes
  • 🐛 Fix handling arbitrary types when using arbitrary_types_allowed=True. PR #​14482 by @​tiangolo.
Docs
Internal

v0.124.0

Compare Source

Features
Internal

v0.123.10

Compare Source

Fixes

v0.123.9

Compare Source

Fixes
  • 🐛 Fix OAuth2 scopes in OpenAPI in extra corner cases, parent dependency with scopes, sub-dependency security scheme without scopes. PR #​14459 by @​tiangolo.

v0.123.8

Compare Source

Fixes
  • 🐛 Fix OpenAPI security scheme OAuth2 scopes declaration, deduplicate security schemes with different scopes. PR #​14455 by @​tiangolo.

v0.123.7

Compare Source

Fixes

v0.123.6

Compare Source

Fixes
  • 🐛 Fix support for functools wraps and partial combined, for async and regular functions and classes in path operations and dependencies. PR #​14448 by @​tiangolo.

v0.123.5

Compare Source

Features
Fixes
  • 🐛 Fix optional sequence handling with new union syntax from Python 3.10. PR #​14430 by @​Viicos.
Refactors
  • 🔥 Remove dangling extra condiitonal no longer needed. PR #​14435 by @​tiangolo.
  • ♻️ Refactor internals, update is_coroutine check to reuse internal supported variants (unwrap, check class). PR #​14434 by @​tiangolo.
Translations

v0.123.4

Compare Source

Fixes
  • 🐛 Fix OpenAPI schema support for computed fields when using separate_input_output_schemas=False. PR #​13207 by @​vgrafe.
Docs

v0.123.3

Compare Source

Fixes

v0.123.2

Compare Source

Fixes
Docs

v0.123.1

Compare Source

Fixes
Internal

v0.123.0

Compare Source

Fixes
  • 🐛 Cache dependencies that don't use scopes and don't have sub-dependencies with scopes. PR #​14419 by @​tiangolo.

v0.122.1

Compare Source

Fixes
Docs
Internal

v0.122.0

Compare Source

Fixes
Internal

v0.121.3

Compare Source

0.121.3

Refactors
  • ♻️ Make the result of Depends() and Security() hashable, as a workaround for other tools interacting with these internal parts. PR #​14372 by @​tiangolo.
Upgrades
Docs

v0.121.2

Compare Source

Fixes
Docs
Translations

v0.121.1

Compare Source

Fixes
  • 🐛 Fix Depends(func, scope='function') for top level (parameterless) dependencies. PR #​14301 by @​luzzodev.
Docs
  • 📝 Upate docs for advanced dependencies with yield, noting the changes in 0.121.0, adding scope. PR #​14287 by @​tiangolo.
Internal

v0.121.0

Compare Source

Features
Internal

v0.120.4

Compare Source

Fixes

v0.120.3

Compare Source

Refactors
  • ♻️ Reduce internal cyclic recursion in dependencies, from 2 functions calling each other to 1 calling itself. PR #​14256 by @​tiangolo.
  • ♻️ Refactor internals of dependencies, simplify code and remove get_param_sub_dependant. PR #​14255 by @​tiangolo.
  • ♻️ Refactor internals of dependencies, simplify using dataclasses. PR #​14254 by @​tiangolo.
Docs

v0.120.2

Compare Source

Fixes
Internal

v0.120.1

Compare Source

Upgrades
Internal
  • 🔧 Add license and license-files to pyproject.toml, remove License from classifiers. PR #​14230 by @​YuriiMotov.

v0.120.0

Compare Source

There are no major nor breaking changes in this release.

The internal reference documentation now uses annotated_doc.Doc instead of typing_extensions.Doc, this adds a new (very small) dependency on annotated-doc, a package made just to provide that Doc documentation utility class.

I would expect typing_extensions.Doc to be deprecated and then removed at some point from typing_extensions, for that reason there's the new annotated-doc micro-package. If you are curious about this, you can read more in the repo for annotated-doc.

This new version 0.120.0 only contains that transition to the new home package for that utility class Doc.

Translations
Internal

v0.119.1

Compare Source

Fixes
  • 🐛 Fix internal Pydantic v1 compatibility (warnings) for Python 3.14 and Pydantic 2.12.1. PR #​14186 by @​svlandeg.
Docs
  • 📝 Replace starlette.io by starlette.dev and uvicorn.org by uvicorn.dev. PR #​14176 by @​Kludex.
Internal

v0.119.0

Compare Source

FastAPI now (temporarily) supports both Pydantic v2 models and pydantic.v1 models 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.

from fastapi import FastAPI
from pydantic import BaseModel as BaseModelV2
from pydantic.v1 import BaseModel

class Item(BaseModel):
    name: str
    description: str | None = None

class ItemV2(BaseModelV2):
    title: str
    summary: str | None = None

app = FastAPI()

@&#8203;app.post("/items/", response_model=ItemV2)
def create_item(item: Item):
    return {"title": item.name, "summary": item.description}

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
  • Add support for from pydantic.v1 import BaseModel, mixed Pydantic v1 and v2 models in the same app. PR #​14168 by @​tiangolo.

v0.118.3

Compare Source

Upgrades

v0.118.2

Compare Source

Fixes
Internal

v0.118.1

Compare Source

Upgrades
Docs
Translations
Internal

v0.118.0

Compare Source

0.118.0

Fixes
  • 🐛 Fix support for StreamingResponses with dependencies with yield or UploadFiles, 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 with yield would have been already run.

For example, if you had a database session in a dependency with yield, the StreamingResponse would not be able to use that session while streaming data because the session would have already been closed in the exit code after yield.

This behavior was reverted in 0.118.0, to make the exit code after yield be executed after the response is sent.

You can read more about it in the docs for Advanced Dependencies - Dependencies with yield, HTTPException, except and Background Tasks. Including what you could do if you wanted to close a database session earlier, before returning the response to the client.

Docs
Translations
Internal

v0.117.1

Compare Source

Fixes

v0.117.0

Compare Source

Features
Fixes
  • ️ Fix default_factory for response model field with Pydantic V1. PR #​9704 by @​vvanglro.
  • 🐛 Fix inconsistent processing of model docstring formfeed char with Pydantic V1. PR #​6039 by @​MaxwellPayne.
  • 🐛 Fix jsonable_encoder alters json_encoders of Pydantic v1 objects. PR #​4972 by @​aboubacs.
  • 🐛 Reenable allow_arbitrary_types when only 1 argument is used on the API endpoint. PR #​13694 by @​rmawatson.
  • 🐛 Fix inspect.getcoroutinefunction() can break testing with unittest.mock.patch(). PR #​14022 by @​secrett2633.
Refactors
Docs
Translations
Internal

v0.116.2

Compare Source

Upgrades
Docs
Translations
Internal

v0.116.1

Compare Source

Upgrades
Docs
  • 📝 Add notification about impending changes in Translations to docs/en/docs/contributing.md. PR #​13886 by @​YuriiMotov.
Internal

v0.116.0

Compare Source

Features

Installing fastapi[standard] now includes fastapi-cloud-cli.

This will allow you to deploy to FastAPI Cloud with the fastapi deploy command.

If you want to install fastapi with the standard dependencies but without fastapi-cloud-cli, you can install instead fastapi[standard-no-fastapi-cloud-cli].

Translations
Internal

v0.115.14

Compare Source

Fixes
Docs
Translations
Internal

v0.115.13

Compare Source

Fixes
  • 🐛 Fix truncating the model's description with form feed (\f) character for Pydantic V2. PR #​13698 by @​YuriiMotov.
Refactors
Upgrades
Docs
Translations
Internal

v0.115.12

Compare Source

Fixes
Docs
Translations
Internal

v0.115.11

Compare Source

Fixes
Translations
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/middleware.md. PR #​13412 by @​alv2017.
Internal

v0.115.10

Compare Source

Fixes
  • ♻️ Update internal annotation usage for compatibility with Pydantic 2.11. PR #​13314 by @​Viicos.
Upgrades
Translations

v0.115.9

Compare Source

Fixes
  • 🐛 Ensure that HTTPDigest only raises an exception when auto_error is True. PR #​2939 by @​arthurio.
Refactors
Docs
Translations
Internal

v0.115.8

Compare Source

Fixes
  • 🐛 Fix OAuth2PasswordRequestForm and OAuth2PasswordRequestFormStrict fixed grant_type "password" RegEx. PR #​9783 by @​skarfie123.
Refactors
Docs
Translations
  • 🌐 Add Japanese translation for docs/ja/docs/environment-variables.md. PR #​13226 by @​k94-ishi.
  • 🌐 Add Russian translation for docs/ru/docs/advanced/async-tests.md. PR #​13227 by @​Rishat-F.
  • 🌐 Update Russian translation for docs/ru/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md. PR #​13252 by @​Rishat-F.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/bigger-applications.md. PR #​13154 by @​alv2017.
Internal

v0.115.7

Compare Source

Upgrades
Refactors
Docs
Translations
Internal

v0.115.6

Compare Source

Fixes
  • 🐛 Preserve traceback when an exception is raised in sync dependency with yield. PR #​5823 by @​sombek.
Refactors
  • ♻️ Update tests and internals for compatibility with Pydantic >=2.10. PR #​12971 by @​tamird.
Docs
Translations
  • 🌐 Add Traditional Chinese translation for docs/zh-hant/docs/async.md. PR #​12990 by @​ILoveSorasakiHina.
  • 🌐 Add Traditional Chinese translation for docs/zh-hant/docs/tutorial/query-param-models.md. PR #​12932 by @​Vincy1230.
  • 🌐 Add Korean translation for docs/ko/docs/advanced/testing-dependencies.md. PR #​12992 by @​Limsunoh.
  • 🌐 Add Korean translation for docs/ko/docs/advanced/websockets.md. PR #​12991 by @​kwang1215.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/response-model.md. PR #​12933 by @​AndreBBM.
  • 🌐 Add Korean translation for docs/ko/docs/advanced/middlewares.md. PR #​12753 by @​nahyunkeem.
  • 🌐 Add Korean translation for docs/ko/docs/advanced/openapi-webhooks.md. PR #​12752 by @​saeye.
  • 🌐 Add Chinese translation for docs/zh/docs/tutorial/query-param-models.md. PR #​12931 by @​Vincy1230.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/query-param-models.md. PR #​12445 by @​gitgernit.
  • 🌐 Add Korean translation for docs/ko/docs/tutorial/query-param-models.md. PR #​12940 by @​jts8257.
  • 🔥 Remove obsolete tutorial translation to Chinese for docs/zh/docs/tutorial/sql-databases.md, it references files that are no longer on the repo. PR #​12949 by @​tiangolo.
Internal

v0.115.5

Compare Source

Refactors
Docs
Translations
Internal

v0.115.4

Compare Source

Refactors
  • ♻️ Update logic to import and check python-multipart for compatibility with newer version. PR #​12627 by @​tiangolo.
Docs
Translations
Internal

v0.115.3

Compare Source

Upgrades
Docs
Translations
Internal

v0.115.2

Compare Source

Upgrades

v0.115.1

Compare Source

Fixes
Refactors
Docs
Translations
Internal
pydantic/pydantic (pydantic)

v2.13.4

Compare Source

GitHub release

What's Changed
Packaging
Fixes

v2.13.3

Compare Source

GitHub release

What's Changed
Fixes

v2.13.2

Compare Source

GitHub release

What's Changed
Fixes

v2.13.1

Compare Source

GitHub release

What's Changed
Fixes

v2.13.0

Compare 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.v1 namespace, 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
  • Allow default factories of private attributes to take validated model data by @​Viicos in #​13013
Changes
Fixes
  • Change type of Any when synthesizing _build_sources for BaseSettings.__init__() signature in the mypy plugin by @​Viicos in #​13049
  • Fix model equality when using runtime extra configuration by @​Viicos in #​13062
Packaging
New Contributors

v2.12.5

Compare Source

GitHub release

This is the fifth 2.12 patch release, addressing an issue with the MISSING sentinel 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.

  • Fix pickle error when using model_construct() on a model with MISSING as a default value by @​ornariece in #​12522.
  • Several updates to the documentation by @​Viicos.

v2.12.4

Compare Source

GitHub release

This is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the build() method
of the AnyUrl and Dsn types.

This patch release also fixes an issue with the serialization of IP address types, when serialize_as_any is used. The next patch release
will 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.

v2.12.3

Compare Source

GitHub release

What's Changed

This is the third 2.12 patch release, fixing issues related to the FieldInfo class, and reverting a change to the supported
after model validator function signatures.

  • Raise a warning when an invalid after model validator function signature is raised by @​Viicos in #​12414.
    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.
  • Add FieldInfo.asdict() method, improve documentation around FieldInfo by @​Viicos in #​12411.
    This also add back support for mutations on FieldInfo classes, that are reused as Annotated metadata. However, note that this is still
    not 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.2

Compare Source

GitHub release

What's Changed
Fixes
  • Release a new pydantic-core version, as a corrupted CPython 3.10 manylinux2014_aarch64 wheel got uploaded (pydantic-core#1843).
  • Fix issue with recursive generic models with a parent model class by @​Viicos in #​12398

v2.12.1

Compare 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
New Contributors

v2.12.0

Compare 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
Fixes
Packaging
New Contributors

v2.11.10

Compare Source

GitHub release

What's Changed
Fixes

v2.11.9

Compare Source

GitHub release

What's Changed
Fixes

v2.11.8

Compare Source

GitHub release

What's Changed
Fixes

v2.11.7

Compare Source

GitHub release

What's Changed
Fixes

v2.11.6

Compare Source

GitHub release

What's Changed
Fixes

v2.11.5

Compare Source

GitHub release

What's Changed
Fixes

v2.11.4

Compare Source

GitHub release

What's Changed
Changes
  • Allow config and bases to be specified together in create_model() by @​Viicos in #​11714.
    This change was backported as it was previously possible (although not meant to be supported)
    to provide model_config as a field, which would make it possible to provide both configuration
    and bases.
Fixes
Packaging

v2.11.3

Compare Source

GitHub release

What's Changed
Fixes
Packaging

v2.11.2

Compare Source

GitHub release

What's Changed
Fixes

v2.11.1

Compare Source

GitHub release

What's Changed
Fixes

v2.11.0

Compare 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
Fixes
  • Allow generic typed dictionaries to be used for unpacked variadic keyword parameters by @​Viicos in #​11571
  • Fix runtime error when computing model string representation involving cached properties and self-referenced models by @​Viicos in #​11579
  • Preserve other steps when using the ellipsis in the pipeline API by @​Viicos in #​11626
  • Fix deferred discriminator application logic by @​Viicos in #​11591
Packaging
New Contributors

v2.10.6

Compare Source

GitHub release

What's Changed
Fixes

v2.10.5

Compare Source

GitHub release

What's Changed
Fixes

v2.10.4

Compare Source

GitHub release

What's Changed
Fixes
New Contributors
Packaging

v2.10.3

Compare Source

GitHub release

What's Changed
Fixes

v2.10.2

Compare Source

GitHub release

What's Changed
Fixes

v2.10.1

Compare Source

GitHub release

What's Changed
Fixes
Packaging
New Contributors

v2.10.0

Compare 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
Changes
Performance
Packaging
Fixes
New Contributors
Kludex/uvicorn (uvicorn)

v0.49.0: Version 0.49.0

Compare Source

What's Changed

  • Bump httptools minimum version to 0.8.0 by @​Kludex in #​2962
  • Consume duplicate forwarding headers in ProxyHeadersMiddleware (reverses the 0.48.0 behavior of ignoring them) by @​Kludex in #​2971

Full Changelog: https://github.com/Kludex/uvicorn/compare/0.48.0...0.49.0

v0.48.0: Version 0.48.0

Compare Source

What's Changed

Full Changelog: https://github.com/Kludex/uvicorn/compare/0.47.0...0.48.0

v0.47.0: Version 0.47.0

Compare Source

What's Changed

Full Changelog: https://github.com/Kludex/uvicorn/compare/0.46.0...0.47.0

v0.46.0: Version 0.46.0

Compare Source

What's Changed

Full Changelog: https://github.com/Kludex/uvicorn/compare/0.45.0...0.46.0

v0.45.0: Version 0.45.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/Kludex/uvicorn/compare/0.44.0...0.45.0

v0.44.0: Version 0.44.0

Compare Source

What's Changed

Full Changelog: https://github.com/Kludex/uvicorn/compare/0.43.0...0.44.0

v0.43.0: Version 0.43.0

Compare Source

Changed

  • Emit http.disconnect ASGI receive() event on server shutting down for streaming responses (#​2829)
  • Use native context parameter for create_task on Python 3.11+ (#​2859)
  • Drop cast in ASGI types (#​2875)

Full Changelog: https://github.com/Kludex/uvicorn/compare/0.42.0...0.43.0

v0.42.0: Version 0.42.0

Compare Source

Changed

  • Use bytearray for request body accumulation to avoid O(n^2) allocation on fragmented bodies (#​2845)

Fixed

  • Escape brackets and backslash in httptools HEADER_RE regex (#​2824)
  • Fix multiple issues in websockets sans-io implementation (#​2825)

New Contributors


Full Changelog: https://github.com/Kludex/uvicorn/compare/0.41.0...0.42.0

v0.41.0: Version 0.41.0

Compare Source

Added

  • Add --limit-max-requests-jitter to stagger worker restarts (#​2707)
  • Add socket path to scope["server"] (#​2561)

Changed

  • Rename LifespanOn.error_occured to error_occurred (#​2776)

Fixed

  • Ignore permission denied errors in watchfiles reloader (#​2817)
  • Ensure lifespan shutdown runs when should_exit is set during startup (#​2812)
  • Reduce the log level of 'request limit exceeded' messages (#​2788)

New Contributors


Full Changelog: https://github.com/Kludex/uvicorn/compare/0.40.0...0.41.0

v0.40.0: Version 0.40.0

Compare Source

What's Changed

Full Changelog: https://github.com/Kludex/uvicorn/compare/0.39.0...0.40.0

v0.39.0: Version 0.39.0

Compare 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.0

Compare 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.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0

v0.36.1: Version 0.36.1

Compare Source

What's Changed

  • Raise an exception when calling removed Config.setup_event_loop() by @​Kludex in #​2709

Full Changelog: https://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1

v0.36.0: Version 0.36.0

Compare Source

Added


New Contributors

Full Changelog: https://github.com/Kludex/uvicorn/compare/0.35.0...0.36.0

v0.35.0: Version 0.35.0

Compare Source

Added

Changed

New Contributors

Full Changelog: https://github.com/encode/uvicorn/compare/0.34.3...0.35.0

v0.34.3: Version 0.34.3

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/encode/uvicorn/compare/0.34.2...0.34.3

v0.34.2: Version 0.34.2

Compare 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.1

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/encode/uvicorn/compare/0.34.0...0.34.1

v0.34.0: Version 0.34.0

Compare Source

What's Changed


Full Changelog: https://github.com/encode/uvicorn/compare/0.33.0...0.34.0

v0.33.0: Version 0.33.0

Compare 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.1

Compare Source

What's Changed


Full Changelog: https://github.com/encode/uvicorn/compare/0.32.0...0.32.1

v0.32.0: Version 0.32.0

Compare Source

Added

  • Officially support Python 3.13 (#​2482)
  • Warn when max_request_limit is exceeded (#​2430)

Full Changelog: https://github.com/encode/uvicorn/compare/0.31.1...0.32.0

v0.31.1: Version 0.31.1

Compare Source

Fixed

  • Support WebSockets 0.13.1 #​2471
  • Restore support for [*] in trusted hosts #​2480
  • Add PathLike[str] type hint for ssl_keyfile #​2481

Full Changelog: https://github.com/encode/uvicorn/compare/0.31.0...0.31.1

v0.31.0: Version 0.31.0

Compare Source

Added

Improve ProxyHeadersMiddleware (#​2468) and (#​2231):

  • Fix the host for requests from clients running on the proxy server itself.
  • Fallback to host that was already set for empty x-forwarded-for headers.
  • Also allow specifying IP Networks as trusted hosts. This greatly simplifies deployments
    on docker swarm/Kubernetes, where the reverse proxy might have a dynamic IP.
    • This includes support for IPv6 Address/Networks.

Full Changelog: https://github.com/encode/uvicorn/compare/0.30.6...0.31.0


Configuration

📅 Schedule: (in timezone Europe/Warsaw)

  • Branch creation
    • "before 6am on monday"
  • 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 has been generated by Mend Renovate.

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [fastapi](https://github.com/fastapi/fastapi) ([changelog](https://fastapi.tiangolo.com/release-notes/)) | `==0.115.0` → `==0.138.0` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/fastapi/0.138.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/fastapi/0.115.0/0.138.0?slim=true) | | [pydantic](https://github.com/pydantic/pydantic) ([changelog](https://docs.pydantic.dev/latest/changelog/)) | `==2.9.2` → `==2.13.4` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/pydantic/2.13.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pydantic/2.9.2/2.13.4?slim=true) | | [uvicorn](https://github.com/Kludex/uvicorn) ([changelog](https://uvicorn.dev/release-notes)) | `==0.30.6` → `==0.49.0` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/uvicorn/0.49.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/uvicorn/0.30.6/0.49.0?slim=true) | --- ### Release Notes <details> <summary>fastapi/fastapi (fastapi)</summary> ### [`v0.138.0`](https://github.com/fastapi/fastapi/releases/tag/0.138.0) [Compare Source](https://github.com/fastapi/fastapi/compare/0.137.2...0.138.0) ##### Features - ✨ Add support for `app.frontend("/", directory="dist")` and `router.frontend("/", directory="dist")`. PR [#&#8203;15800](https://github.com/fastapi/fastapi/pull/15800) by [@&#8203;tiangolo](https://github.com/tiangolo). - Read the docs: [Frontend](https://fastapi.tiangolo.com/tutorial/frontend/). ##### Docs - 📝 Fix typo in release notes. PR [#&#8203;15807](https://github.com/fastapi/fastapi/pull/15807) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Add `app.frontend()` instructions to Agent Library Skill. PR [#&#8203;15805](https://github.com/fastapi/fastapi/pull/15805) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Update release notes link. PR [#&#8203;15802](https://github.com/fastapi/fastapi/pull/15802) by [@&#8203;tiangolo](https://github.com/tiangolo). - ✏️ Update white space characters in bigger apps. PR [#&#8203;15801](https://github.com/fastapi/fastapi/pull/15801) by [@&#8203;tiangolo](https://github.com/tiangolo). - ✏️ Fix grammar, typos, and broken links in docs. PR [#&#8203;15694](https://github.com/fastapi/fastapi/pull/15694) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ##### Translations - 🌐 Enable Hindi docs translations. PR [#&#8203;15554](https://github.com/fastapi/fastapi/pull/15554) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ##### Internal - 🐛 Fix failing test, update format for raised errors. PR [#&#8203;15804](https://github.com/fastapi/fastapi/pull/15804) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👷 Fix test-alls-green. PR [#&#8203;15803](https://github.com/fastapi/fastapi/pull/15803) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Enable checking `release-notes.md` for typos. PR [#&#8203;15796](https://github.com/fastapi/fastapi/pull/15796) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 📝 Tweak wording about deploying to FastAPI Cloud. PR [#&#8203;15793](https://github.com/fastapi/fastapi/pull/15793) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔨 Use `gpt-5.5` model in `translate.py`, specify `-chat` to avoid warnings. PR [#&#8203;15792](https://github.com/fastapi/fastapi/pull/15792) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ### [`v0.137.2`](https://github.com/fastapi/fastapi/releases/tag/0.137.2) [Compare Source](https://github.com/fastapi/fastapi/compare/0.137.1...0.137.2) ##### Features - ✨ Add `iter_route_contexts()` for advanced use cases that used to use `router.routes` (e.g. Jupyverse). PR [#&#8203;15785](https://github.com/fastapi/fastapi/pull/15785) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Translations - 🌐 Fix broken Markdown in Korean custom response docs. PR [#&#8203;15774](https://github.com/fastapi/fastapi/pull/15774) by [@&#8203;kooqooo](https://github.com/kooqooo). - 🌐 Update translations for fr (update-outdated). PR [#&#8203;15761](https://github.com/fastapi/fastapi/pull/15761) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for zh-hant (update-outdated). PR [#&#8203;15760](https://github.com/fastapi/fastapi/pull/15760) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for de (update-outdated). PR [#&#8203;15759](https://github.com/fastapi/fastapi/pull/15759) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for ko (update-outdated). PR [#&#8203;15757](https://github.com/fastapi/fastapi/pull/15757) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for uk (update-outdated). PR [#&#8203;15756](https://github.com/fastapi/fastapi/pull/15756) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for zh (update-outdated). PR [#&#8203;15755](https://github.com/fastapi/fastapi/pull/15755) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for tr (update-outdated). PR [#&#8203;15754](https://github.com/fastapi/fastapi/pull/15754) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for pt (update-outdated). PR [#&#8203;15753](https://github.com/fastapi/fastapi/pull/15753) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for es (update-outdated). PR [#&#8203;15752](https://github.com/fastapi/fastapi/pull/15752) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for ja (update-outdated). PR [#&#8203;15751](https://github.com/fastapi/fastapi/pull/15751) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for ru (update-outdated). PR [#&#8203;15758](https://github.com/fastapi/fastapi/pull/15758) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Internal - 🔧 Update sponsors: add BairesDev. PR [#&#8203;15787](https://github.com/fastapi/fastapi/pull/15787) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔨 Update sponsors script to simplify previews. PR [#&#8203;15786](https://github.com/fastapi/fastapi/pull/15786) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ Bump the python-packages group across 1 directory with 7 updates. PR [#&#8203;15777](https://github.com/fastapi/fastapi/pull/15777) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump cryptography from 46.0.7 to 48.0.1. PR [#&#8203;15779](https://github.com/fastapi/fastapi/pull/15779) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump aiohttp from 3.14.0 to 3.14.1. PR [#&#8203;15781](https://github.com/fastapi/fastapi/pull/15781) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump starlette from 1.2.1 to 1.3.1. PR [#&#8203;15780](https://github.com/fastapi/fastapi/pull/15780) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump astral-sh/setup-uv from 8.1.0 to 8.2.0 in the github-actions group. PR [#&#8203;15776](https://github.com/fastapi/fastapi/pull/15776) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump <https://github.com/crate-ci/typos> from v1.47.1 to v1.47.2 in the pre-commit group. PR [#&#8203;15775](https://github.com/fastapi/fastapi/pull/15775) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump python-multipart from 0.0.30 to 0.0.32. PR [#&#8203;15778](https://github.com/fastapi/fastapi/pull/15778) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⏪️ Revert removing scripts, only remove `coverage.sh`. PR [#&#8203;15772](https://github.com/fastapi/fastapi/pull/15772) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔥 Remove unused scripts. PR [#&#8203;15771](https://github.com/fastapi/fastapi/pull/15771) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Add ty configs to check docs sources. PR [#&#8203;15770](https://github.com/fastapi/fastapi/pull/15770) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Add ty configs to check docs sources. PR [#&#8203;15769](https://github.com/fastapi/fastapi/pull/15769) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.137.1`](https://github.com/fastapi/fastapi/releases/tag/0.137.1) [Compare Source](https://github.com/fastapi/fastapi/compare/0.137.0...0.137.1) ##### Fixes - 🚨 Fix typing checks for APIRoute. PR [#&#8203;15765](https://github.com/fastapi/fastapi/pull/15765) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🐛 Fix bug, allow empty path in path operation in prefixless router. PR [#&#8203;15763](https://github.com/fastapi/fastapi/pull/15763) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.137.0`](https://github.com/fastapi/fastapi/releases/tag/0.137.0) [Compare Source](https://github.com/fastapi/fastapi/compare/0.136.3...0.137.0) ##### Breaking Changes - ♻️ Refactor internals to preserve `APIRouter` and `APIRoute` instances. PR [#&#8203;15745](https://github.com/fastapi/fastapi/pull/15745) by [@&#8203;tiangolo](https://github.com/tiangolo). 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 - 📝 Update release notes. PR [#&#8203;15747](https://github.com/fastapi/fastapi/pull/15747) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Update FastAPI Cloud deployment instructions. PR [#&#8203;15724](https://github.com/fastapi/fastapi/pull/15724) by [@&#8203;alejsdev](https://github.com/alejsdev). - ✏️ Use `Annotated` in inline example in `docs/en/docs/tutorial/body-multiple-params.md`. PR [#&#8203;15591](https://github.com/fastapi/fastapi/pull/15591) by [@&#8203;TheArchons](https://github.com/TheArchons). - 📝 Remove "NGINX Unit" from the list of ASGI-servers in docs. PR [#&#8203;15475](https://github.com/fastapi/fastapi/pull/15475) by [@&#8203;angryfoxx](https://github.com/angryfoxx). - 📝 Update `docs/en/docs/tutorial/security/oauth2-jwt.md`. PR [#&#8203;14781](https://github.com/fastapi/fastapi/pull/14781) by [@&#8203;zadevhub](https://github.com/zadevhub). ##### Translations - 🌐 Update translations for zh-hant (update-outdated). PR [#&#8203;15671](https://github.com/fastapi/fastapi/pull/15671) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for es (update-outdated). PR [#&#8203;15670](https://github.com/fastapi/fastapi/pull/15670) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for fr (update-outdated). PR [#&#8203;15669](https://github.com/fastapi/fastapi/pull/15669) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for ja (update-outdated). PR [#&#8203;15668](https://github.com/fastapi/fastapi/pull/15668) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for pt (update-outdated). PR [#&#8203;15667](https://github.com/fastapi/fastapi/pull/15667) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for tr (update-outdated). PR [#&#8203;15666](https://github.com/fastapi/fastapi/pull/15666) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for zh (update-outdated). PR [#&#8203;15665](https://github.com/fastapi/fastapi/pull/15665) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for ko (update-outdated). PR [#&#8203;15664](https://github.com/fastapi/fastapi/pull/15664) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for de (update-outdated). PR [#&#8203;15673](https://github.com/fastapi/fastapi/pull/15673) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for uk (update-outdated). PR [#&#8203;15672](https://github.com/fastapi/fastapi/pull/15672) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for ru (update-outdated). PR [#&#8203;15674](https://github.com/fastapi/fastapi/pull/15674) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Internal - 🔧 Update sponsors: remove TalorData. PR [#&#8203;15744](https://github.com/fastapi/fastapi/pull/15744) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Update sponsors: remove ExoFlare. PR [#&#8203;15736](https://github.com/fastapi/fastapi/pull/15736) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Update sponsors: remove InterviewPal. PR [#&#8203;15735](https://github.com/fastapi/fastapi/pull/15735) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Update sponsors: remove Liblab. PR [#&#8203;15731](https://github.com/fastapi/fastapi/pull/15731) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Update sponsors: remove Scalar. PR [#&#8203;15730](https://github.com/fastapi/fastapi/pull/15730) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ Bump the python-packages group across 1 directory with 6 updates. PR [#&#8203;15721](https://github.com/fastapi/fastapi/pull/15721) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump python-multipart from 0.0.29 to 0.0.30. PR [#&#8203;15723](https://github.com/fastapi/fastapi/pull/15723) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump the github-actions group with 3 updates. PR [#&#8203;15720](https://github.com/fastapi/fastapi/pull/15720) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump starlette from 1.1.0 to 1.2.1. PR [#&#8203;15722](https://github.com/fastapi/fastapi/pull/15722) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump <https://github.com/crate-ci/typos> from v1.46.0 to v1.47.1 in the pre-commit group. PR [#&#8203;15719](https://github.com/fastapi/fastapi/pull/15719) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - 🔧 Update sponsors, add Rapidproxy. PR [#&#8203;15689](https://github.com/fastapi/fastapi/pull/15689) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Update sponsors: Remove TestMu. PR [#&#8203;15688](https://github.com/fastapi/fastapi/pull/15688) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ Bump the python-packages group across 1 directory with 11 updates. PR [#&#8203;15683](https://github.com/fastapi/fastapi/pull/15683) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump aiohttp from 3.13.4 to 3.14.0. PR [#&#8203;15681](https://github.com/fastapi/fastapi/pull/15681) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump the github-actions group with 2 updates. PR [#&#8203;15682](https://github.com/fastapi/fastapi/pull/15682) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump starlette from 1.0.0 to 1.1.0. PR [#&#8203;15684](https://github.com/fastapi/fastapi/pull/15684) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - 👥 Update FastAPI People - Experts. PR [#&#8203;15677](https://github.com/fastapi/fastapi/pull/15677) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👥 Update FastAPI GitHub topic repositories. PR [#&#8203;15675](https://github.com/fastapi/fastapi/pull/15675) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👥 Update FastAPI People - Contributors and Translators. PR [#&#8203;15662](https://github.com/fastapi/fastapi/pull/15662) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👷 Automate release preparation. PR [#&#8203;15661](https://github.com/fastapi/fastapi/pull/15661) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔥 Remove slim package stub, deprecated for a while. PR [#&#8203;15649](https://github.com/fastapi/fastapi/pull/15649) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ Bump authlib from 1.6.11 to 1.7.2. PR [#&#8203;15512](https://github.com/fastapi/fastapi/pull/15512) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump pymdown-extensions from 10.21.2 to 10.21.3. PR [#&#8203;15569](https://github.com/fastapi/fastapi/pull/15569) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump CodSpeedHQ/action from 4.14.0 to 4.15.1. PR [#&#8203;15513](https://github.com/fastapi/fastapi/pull/15513) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump python-multipart from 0.0.26 to 0.0.29. PR [#&#8203;15595](https://github.com/fastapi/fastapi/pull/15595) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - 🔒️ Improve GitHub actions security. PR [#&#8203;15607](https://github.com/fastapi/fastapi/pull/15607) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - ⚰️ Remove ruff and coverage ignores for non-existing files. PR [#&#8203;15610](https://github.com/fastapi/fastapi/pull/15610) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - ✅ Use custom `changing_dir` instead of `CLIRunner.isolated_filesystem` to set working dir. PR [#&#8203;15616](https://github.com/fastapi/fastapi/pull/15616) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - ✅ Add `httpx2` test dependency to avoid deprecation warning. PR [#&#8203;15603](https://github.com/fastapi/fastapi/pull/15603) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - ⬆ Bump the python-packages group with 15 updates. PR [#&#8203;15594](https://github.com/fastapi/fastapi/pull/15594) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - 👷 Configure Dependabot to group updates and update weekly. PR [#&#8203;15560](https://github.com/fastapi/fastapi/pull/15560) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ### [`v0.136.3`](https://github.com/fastapi/fastapi/releases/tag/0.136.3) [Compare Source](https://github.com/fastapi/fastapi/compare/0.136.1...0.136.3) ##### Refactors - ♻️ Do not accept underscore headers when using `convert_underscores=True` (the default). PR [#&#8203;15589](https://github.com/fastapi/fastapi/pull/15589) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.136.1`](https://github.com/fastapi/fastapi/releases/tag/0.136.1) [Compare Source](https://github.com/fastapi/fastapi/compare/0.136.0...0.136.1) ##### Upgrades - ⬆️ Update Pydantic v2 code to address deprecations. PR [#&#8203;15101](https://github.com/fastapi/fastapi/pull/15101) by [@&#8203;svlandeg](https://github.com/svlandeg). ##### Internal - 🔨 Tweak translation script. PR [#&#8203;15174](https://github.com/fastapi/fastapi/pull/15174) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - ⬆ Bump mkdocs-material from 9.7.1 to 9.7.6. PR [#&#8203;15408](https://github.com/fastapi/fastapi/pull/15408) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump inline-snapshot from 0.31.1 to 0.32.6. PR [#&#8203;15409](https://github.com/fastapi/fastapi/pull/15409) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump pytest-codspeed from 4.3.0 to 4.4.0. PR [#&#8203;15407](https://github.com/fastapi/fastapi/pull/15407) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump pytest-cov from 7.0.0 to 7.1.0. PR [#&#8203;15406](https://github.com/fastapi/fastapi/pull/15406) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump cloudflare/wrangler-action from 3.14.1 to 3.15.0. PR [#&#8203;15405](https://github.com/fastapi/fastapi/pull/15405) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump mypy from 1.19.1 to 1.20.1. PR [#&#8203;15410](https://github.com/fastapi/fastapi/pull/15410) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump python-dotenv from 1.2.1 to 1.2.2. PR [#&#8203;15400](https://github.com/fastapi/fastapi/pull/15400) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump starlette from 0.52.1 to 1.0.0. PR [#&#8203;15397](https://github.com/fastapi/fastapi/pull/15397) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump pygithub from 2.8.1 to 2.9.1. PR [#&#8203;15396](https://github.com/fastapi/fastapi/pull/15396) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump pyjwt from 2.12.0 to 2.12.1. PR [#&#8203;15393](https://github.com/fastapi/fastapi/pull/15393) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump zizmor from 1.23.1 to 1.24.1. PR [#&#8203;15394](https://github.com/fastapi/fastapi/pull/15394) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump strawberry-graphql from 0.312.3 to 0.314.3. PR [#&#8203;15395](https://github.com/fastapi/fastapi/pull/15395) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump python-multipart from 0.0.22 to 0.0.26. PR [#&#8203;15360](https://github.com/fastapi/fastapi/pull/15360) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump authlib from 1.6.9 to 1.6.11. PR [#&#8203;15373](https://github.com/fastapi/fastapi/pull/15373) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump aiohttp from 3.13.3 to 3.13.4. PR [#&#8203;15282](https://github.com/fastapi/fastapi/pull/15282) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump pygments from 2.19.2 to 2.20.0. PR [#&#8203;15263](https://github.com/fastapi/fastapi/pull/15263) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump pymdown-extensions from 10.20.1 to 10.21.2. PR [#&#8203;15391](https://github.com/fastapi/fastapi/pull/15391) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - ⬆ Bump pillow from 12.1.1 to 12.2.0. PR [#&#8203;15333](https://github.com/fastapi/fastapi/pull/15333) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump pytest from 9.0.2 to 9.0.3. PR [#&#8203;15334](https://github.com/fastapi/fastapi/pull/15334) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump actions/upload-artifact from 7.0.0 to 7.0.1. PR [#&#8203;15374](https://github.com/fastapi/fastapi/pull/15374) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump actions/cache from 5.0.4 to 5.0.5. PR [#&#8203;15385](https://github.com/fastapi/fastapi/pull/15385) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - 🔧 Update sponsors: remove Zuplo. PR [#&#8203;15369](https://github.com/fastapi/fastapi/pull/15369) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Update sponsors: remove Speakeasy. PR [#&#8203;15368](https://github.com/fastapi/fastapi/pull/15368) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔒️ Add zizmor and fix audit findings. PR [#&#8203;15316](https://github.com/fastapi/fastapi/pull/15316) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ### [`v0.136.0`](https://github.com/fastapi/fastapi/releases/tag/0.136.0) [Compare Source](https://github.com/fastapi/fastapi/compare/0.135.4...0.136.0) ##### Upgrades - ⬆️ Support free-threaded Python 3.14t. PR [#&#8203;15149](https://github.com/fastapi/fastapi/pull/15149) by [@&#8203;svlandeg](https://github.com/svlandeg). ### [`v0.135.4`](https://github.com/fastapi/fastapi/releases/tag/0.135.4) [Compare Source](https://github.com/fastapi/fastapi/compare/0.135.3...0.135.4) ##### Refactors - 🔥 Remove April Fool's `@app.vibe()` 🤪. PR [#&#8203;15363](https://github.com/fastapi/fastapi/pull/15363) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Internal - ⬆ Bump cryptography from 46.0.5 to 46.0.7. PR [#&#8203;15314](https://github.com/fastapi/fastapi/pull/15314) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump strawberry-graphql from 0.307.1 to 0.312.3. PR [#&#8203;15309](https://github.com/fastapi/fastapi/pull/15309) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - 🔨 Add pre-commit hook to ensure latest release header has date. PR [#&#8203;15293](https://github.com/fastapi/fastapi/pull/15293) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ### [`v0.135.3`](https://github.com/fastapi/fastapi/releases/tag/0.135.3) [Compare Source](https://github.com/fastapi/fastapi/compare/0.135.2...0.135.3) ##### Features - ✨ Add support for `@app.vibe()`. PR [#&#8203;15280](https://github.com/fastapi/fastapi/pull/15280) by [@&#8203;tiangolo](https://github.com/tiangolo). - New docs: [Vibe Coding](https://fastapi.tiangolo.com/advanced/vibe/). ##### Docs - ✏️ Fix typo for `client_secret` in OAuth2 form docstrings. PR [#&#8203;14946](https://github.com/fastapi/fastapi/pull/14946) by [@&#8203;bysiber](https://github.com/bysiber). ##### Internal - 👥 Update FastAPI People - Experts. PR [#&#8203;15279](https://github.com/fastapi/fastapi/pull/15279) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ Bump orjson from 3.11.7 to 3.11.8. PR [#&#8203;15276](https://github.com/fastapi/fastapi/pull/15276) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump ruff from 0.15.0 to 0.15.8. PR [#&#8203;15277](https://github.com/fastapi/fastapi/pull/15277) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - 👥 Update FastAPI GitHub topic repositories. PR [#&#8203;15274](https://github.com/fastapi/fastapi/pull/15274) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ Bump fastmcp from 2.14.5 to 3.2.0. PR [#&#8203;15267](https://github.com/fastapi/fastapi/pull/15267) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - 👥 Update FastAPI People - Contributors and Translators. PR [#&#8203;15270](https://github.com/fastapi/fastapi/pull/15270) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ Bump requests from 2.32.5 to 2.33.0. PR [#&#8203;15228](https://github.com/fastapi/fastapi/pull/15228) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - 👷 Add ty check to `lint.sh`. PR [#&#8203;15136](https://github.com/fastapi/fastapi/pull/15136) by [@&#8203;svlandeg](https://github.com/svlandeg). ### [`v0.135.2`](https://github.com/fastapi/fastapi/releases/tag/0.135.2) [Compare Source](https://github.com/fastapi/fastapi/compare/0.135.1...0.135.2) ##### Upgrades - ⬆️ Increase lower bound to `pydantic >=2.9.0.` and fix the test suite. PR [#&#8203;15139](https://github.com/fastapi/fastapi/pull/15139) by [@&#8203;svlandeg](https://github.com/svlandeg). ##### Docs - 📝 Add missing last release notes dates. PR [#&#8203;15202](https://github.com/fastapi/fastapi/pull/15202) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Update docs for contributors and team members regarding translation PRs. PR [#&#8203;15200](https://github.com/fastapi/fastapi/pull/15200) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 💄 Fix code blocks in reference docs overflowing table width. PR [#&#8203;15094](https://github.com/fastapi/fastapi/pull/15094) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 📝 Fix duplicated words in docstrings. PR [#&#8203;15116](https://github.com/fastapi/fastapi/pull/15116) by [@&#8203;AhsanSheraz](https://github.com/AhsanSheraz). - 📝 Add docs for `pyproject.toml` with `entrypoint`. PR [#&#8203;15075](https://github.com/fastapi/fastapi/pull/15075) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Update links in docs to no longer use the classes external-link and internal-link. PR [#&#8203;15061](https://github.com/fastapi/fastapi/pull/15061) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔨 Add JS and CSS handling for automatic `target=_blank` for links in docs. PR [#&#8203;15063](https://github.com/fastapi/fastapi/pull/15063) by [@&#8203;tiangolo](https://github.com/tiangolo). - 💄 Update styles for internal and external links in new tab. PR [#&#8203;15058](https://github.com/fastapi/fastapi/pull/15058) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Add documentation for the FastAPI VS Code extension. PR [#&#8203;15008](https://github.com/fastapi/fastapi/pull/15008) by [@&#8203;savannahostrowski](https://github.com/savannahostrowski). - 📝 Fix doctrings for `max_digits` and `decimal_places`. PR [#&#8203;14944](https://github.com/fastapi/fastapi/pull/14944) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 📝 Add dates to release notes. PR [#&#8203;15001](https://github.com/fastapi/fastapi/pull/15001) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ##### Translations - 🌐 Update translations for zh (update-outdated). PR [#&#8203;15177](https://github.com/fastapi/fastapi/pull/15177) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for zh-hant (update-outdated). PR [#&#8203;15178](https://github.com/fastapi/fastapi/pull/15178) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for zh-hant (add-missing). PR [#&#8203;15176](https://github.com/fastapi/fastapi/pull/15176) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for zh (add-missing). PR [#&#8203;15175](https://github.com/fastapi/fastapi/pull/15175) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for ja (update-outdated). PR [#&#8203;15171](https://github.com/fastapi/fastapi/pull/15171) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for ko (update-outdated). PR [#&#8203;15170](https://github.com/fastapi/fastapi/pull/15170) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for tr (update-outdated). PR [#&#8203;15172](https://github.com/fastapi/fastapi/pull/15172) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for ko (add-missing). PR [#&#8203;15168](https://github.com/fastapi/fastapi/pull/15168) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for ja (add-missing). PR [#&#8203;15167](https://github.com/fastapi/fastapi/pull/15167) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for tr (add-missing). PR [#&#8203;15169](https://github.com/fastapi/fastapi/pull/15169) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for fr (update-outdated). PR [#&#8203;15165](https://github.com/fastapi/fastapi/pull/15165) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for fr (add-missing). PR [#&#8203;15163](https://github.com/fastapi/fastapi/pull/15163) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for uk (update-outdated). PR [#&#8203;15160](https://github.com/fastapi/fastapi/pull/15160) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for uk (add-missing). PR [#&#8203;15158](https://github.com/fastapi/fastapi/pull/15158) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for pt (add-missing). PR [#&#8203;15157](https://github.com/fastapi/fastapi/pull/15157) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for pt (update-outdated). PR [#&#8203;15159](https://github.com/fastapi/fastapi/pull/15159) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for es (update-outdated). PR [#&#8203;15155](https://github.com/fastapi/fastapi/pull/15155) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for es (add-missing). PR [#&#8203;15154](https://github.com/fastapi/fastapi/pull/15154) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for de (update-outdated). PR [#&#8203;15156](https://github.com/fastapi/fastapi/pull/15156) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for ru (update-and-add). PR [#&#8203;15152](https://github.com/fastapi/fastapi/pull/15152) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for de (add-missing). PR [#&#8203;15153](https://github.com/fastapi/fastapi/pull/15153) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Internal - 🔨 Exclude spam comments from statistics in `scripts/people.py`. PR [#&#8203;15088](https://github.com/fastapi/fastapi/pull/15088) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - ⬆ Bump authlib from 1.6.7 to 1.6.9. PR [#&#8203;15128](https://github.com/fastapi/fastapi/pull/15128) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump pyasn1 from 0.6.2 to 0.6.3. PR [#&#8203;15143](https://github.com/fastapi/fastapi/pull/15143) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump ujson from 5.11.0 to 5.12.0. PR [#&#8203;15150](https://github.com/fastapi/fastapi/pull/15150) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - 🔨 Tweak translation workflow and translation fixer tool. PR [#&#8203;15166](https://github.com/fastapi/fastapi/pull/15166) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 🔨 Fix `commit_in_place` passed via env variable in `translate.yml` workflow. PR [#&#8203;15151](https://github.com/fastapi/fastapi/pull/15151) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 🔨 Update translation general prompt to enforce link style in translation matches the original link style. PR [#&#8203;15148](https://github.com/fastapi/fastapi/pull/15148) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 👷 Re-enable translation workflow run by cron in CI (twice a month). PR [#&#8203;15145](https://github.com/fastapi/fastapi/pull/15145) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 👷 Add `ty` to precommit. PR [#&#8203;15091](https://github.com/fastapi/fastapi/pull/15091) by [@&#8203;svlandeg](https://github.com/svlandeg). - ⬆ Bump dorny/paths-filter from 3 to 4. PR [#&#8203;15106](https://github.com/fastapi/fastapi/pull/15106) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump cairosvg from 2.8.2 to 2.9.0. PR [#&#8203;15108](https://github.com/fastapi/fastapi/pull/15108) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump pyjwt from 2.11.0 to 2.12.0. PR [#&#8203;15110](https://github.com/fastapi/fastapi/pull/15110) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump black from 26.1.0 to 26.3.1. PR [#&#8203;15100](https://github.com/fastapi/fastapi/pull/15100) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - 🔨 Update script to autofix permalinks to account for headers with Markdown links. PR [#&#8203;15062](https://github.com/fastapi/fastapi/pull/15062) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📌 Pin Click for MkDocs live reload. PR [#&#8203;15057](https://github.com/fastapi/fastapi/pull/15057) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ Bump werkzeug from 3.1.5 to 3.1.6. PR [#&#8203;14948](https://github.com/fastapi/fastapi/pull/14948) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump pydantic-ai from 1.62.0 to 1.63.0. PR [#&#8203;15035](https://github.com/fastapi/fastapi/pull/15035) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump pytest-codspeed from 4.2.0 to 4.3.0. PR [#&#8203;15034](https://github.com/fastapi/fastapi/pull/15034) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump strawberry-graphql from 0.291.2 to 0.307.1. PR [#&#8203;15033](https://github.com/fastapi/fastapi/pull/15033) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump typer from 0.21.1 to 0.24.1. PR [#&#8203;15032](https://github.com/fastapi/fastapi/pull/15032) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump actions/download-artifact from 7 to 8. PR [#&#8203;15020](https://github.com/fastapi/fastapi/pull/15020) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump actions/upload-artifact from 6 to 7. PR [#&#8203;15019](https://github.com/fastapi/fastapi/pull/15019) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). ### [`v0.135.1`](https://github.com/fastapi/fastapi/releases/tag/0.135.1) [Compare Source](https://github.com/fastapi/fastapi/compare/0.135.0...0.135.1) ##### Fixes - 🐛 Fix, avoid yield from a TaskGroup, only as an async context manager, closed in the request async exit stack. PR [#&#8203;15038](https://github.com/fastapi/fastapi/pull/15038) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Docs - ✏️ Fix typo in `docs/en/docs/_llm-test.md`. PR [#&#8203;15007](https://github.com/fastapi/fastapi/pull/15007) by [@&#8203;adityagiri3600](https://github.com/adityagiri3600). - 📝 Update Skill, optimize context, trim and refactor into references. PR [#&#8203;15031](https://github.com/fastapi/fastapi/pull/15031) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Internal - 👥 Update FastAPI People - Experts. PR [#&#8203;15037](https://github.com/fastapi/fastapi/pull/15037) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👥 Update FastAPI People - Contributors and Translators. PR [#&#8203;15029](https://github.com/fastapi/fastapi/pull/15029) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👥 Update FastAPI GitHub topic repositories. PR [#&#8203;15036](https://github.com/fastapi/fastapi/pull/15036) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.135.0`](https://github.com/fastapi/fastapi/releases/tag/0.135.0) [Compare Source](https://github.com/fastapi/fastapi/compare/0.134.0...0.135.0) ##### Features - ✨ Add support for Server Sent Events. PR [#&#8203;15030](https://github.com/fastapi/fastapi/pull/15030) by [@&#8203;tiangolo](https://github.com/tiangolo). - New docs: [Server-Sent Events (SSE)](https://fastapi.tiangolo.com/tutorial/server-sent-events/). ### [`v0.134.0`](https://github.com/fastapi/fastapi/releases/tag/0.134.0) [Compare Source](https://github.com/fastapi/fastapi/compare/0.133.1...0.134.0) ##### Features - ✨ Add support for streaming JSON Lines and binary data with `yield`. PR [#&#8203;15022](https://github.com/fastapi/fastapi/pull/15022) by [@&#8203;tiangolo](https://github.com/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](https://fastapi.tiangolo.com/tutorial/stream-json-lines/). - And new docs: [Stream Data](https://fastapi.tiangolo.com/advanced/stream-data/). ##### Docs - 📝 Update Library Agent Skill with streaming responses. PR [#&#8203;15024](https://github.com/fastapi/fastapi/pull/15024) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Update docs for responses and new stream with `yield`. PR [#&#8203;15023](https://github.com/fastapi/fastapi/pull/15023) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Add `await` in `StreamingResponse` code example to allow cancellation. PR [#&#8203;14681](https://github.com/fastapi/fastapi/pull/14681) by [@&#8203;casperdcl](https://github.com/casperdcl). - 📝 Rename `docs_src/websockets` to `docs_src/websockets_` to avoid import errors. PR [#&#8203;14979](https://github.com/fastapi/fastapi/pull/14979) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ##### Internal - 🔨 Run tests with `pytest-xdist` and `pytest-cov`. PR [#&#8203;14992](https://github.com/fastapi/fastapi/pull/14992) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ### [`v0.133.1`](https://github.com/fastapi/fastapi/releases/tag/0.133.1) [Compare Source](https://github.com/fastapi/fastapi/compare/0.133.0...0.133.1) ##### Features - 🔧 Add FastAPI Agent Skill. PR [#&#8203;14982](https://github.com/fastapi/fastapi/pull/14982) by [@&#8203;tiangolo](https://github.com/tiangolo). - Read more about it in [Library Agent Skills](https://tiangolo.com/ideas/library-agent-skills/). ##### Internal - ✅ Fix all tests are skipped on Windows. PR [#&#8203;14994](https://github.com/fastapi/fastapi/pull/14994) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ### [`v0.133.0`](https://github.com/fastapi/fastapi/releases/tag/0.133.0) [Compare Source](https://github.com/fastapi/fastapi/compare/0.132.1...0.133.0) ##### Upgrades - ⬆️ Add support for Starlette 1.0.0+. PR [#&#8203;14987](https://github.com/fastapi/fastapi/pull/14987) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.132.1`](https://github.com/fastapi/fastapi/releases/tag/0.132.1) [Compare Source](https://github.com/fastapi/fastapi/compare/0.132.0...0.132.1) ##### Refactors - ♻️ Refactor logic to handle OpenAPI and Swagger UI escaping data. PR [#&#8203;14986](https://github.com/fastapi/fastapi/pull/14986) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Internal - 👥 Update FastAPI People - Experts. PR [#&#8203;14972](https://github.com/fastapi/fastapi/pull/14972) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👷 Allow skipping `benchmark` job in `test` workflow. PR [#&#8203;14974](https://github.com/fastapi/fastapi/pull/14974) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ### [`v0.132.0`](https://github.com/fastapi/fastapi/releases/tag/0.132.0) [Compare Source](https://github.com/fastapi/fastapi/compare/0.131.0...0.132.0) ##### Breaking Changes - 🔒️ Add `strict_content_type` checking for JSON requests. PR [#&#8203;14978](https://github.com/fastapi/fastapi/pull/14978) by [@&#8203;tiangolo](https://github.com/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](https://fastapi.tiangolo.com/advanced/strict-content-type/). ##### Internal - ⬆ Bump flask from 3.1.2 to 3.1.3. PR [#&#8203;14949](https://github.com/fastapi/fastapi/pull/14949) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Update all dependencies to use `griffelib` instead of `griffe`. PR [#&#8203;14973](https://github.com/fastapi/fastapi/pull/14973) by [@&#8203;svlandeg](https://github.com/svlandeg). - 🔨 Fix `FastAPI People` workflow. PR [#&#8203;14951](https://github.com/fastapi/fastapi/pull/14951) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 👷 Do not run codspeed with coverage as it's not tracked. PR [#&#8203;14966](https://github.com/fastapi/fastapi/pull/14966) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👷 Do not include benchmark tests in coverage to speed up coverage processing. PR [#&#8203;14965](https://github.com/fastapi/fastapi/pull/14965) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.131.0`](https://github.com/fastapi/fastapi/releases/tag/0.131.0) [Compare Source](https://github.com/fastapi/fastapi/compare/0.130.0...0.131.0) ##### Breaking Changes - 🗑️ Deprecate `ORJSONResponse` and `UJSONResponse`. PR [#&#8203;14964](https://github.com/fastapi/fastapi/pull/14964) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.130.0`](https://github.com/fastapi/fastapi/releases/tag/0.130.0) [Compare Source](https://github.com/fastapi/fastapi/compare/0.129.2...0.130.0) ##### Features - ✨ Serialize JSON response with Pydantic (in Rust), when there's a Pydantic return type or response model. PR [#&#8203;14962](https://github.com/fastapi/fastapi/pull/14962) by [@&#8203;tiangolo](https://github.com/tiangolo). - This results in 2x (or more) performance increase for JSON responses. - New docs: [Custom Response - JSON Performance](https://fastapi.tiangolo.com/advanced/custom-response/#json-performance). ### [`v0.129.2`](https://github.com/fastapi/fastapi/releases/tag/0.129.2) [Compare Source](https://github.com/fastapi/fastapi/compare/0.129.1...0.129.2) ##### Internal - ⬆️ Upgrade pytest. PR [#&#8203;14959](https://github.com/fastapi/fastapi/pull/14959) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👷 Fix CI, do not attempt to publish `fastapi-slim`. PR [#&#8203;14958](https://github.com/fastapi/fastapi/pull/14958) by [@&#8203;tiangolo](https://github.com/tiangolo). - ➖ Drop support for `fastapi-slim`, no more versions will be released, use only `"fastapi[standard]"` or `fastapi`. PR [#&#8203;14957](https://github.com/fastapi/fastapi/pull/14957) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Update pyproject.toml, remove unneeded lines. PR [#&#8203;14956](https://github.com/fastapi/fastapi/pull/14956) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.129.1`](https://github.com/fastapi/fastapi/releases/tag/0.129.1) [Compare Source](https://github.com/fastapi/fastapi/compare/0.129.0...0.129.1) ##### Fixes - ♻️ Fix JSON Schema for bytes, use `"contentMediaType": "application/octet-stream"` instead of `"format": "binary"`. PR [#&#8203;14953](https://github.com/fastapi/fastapi/pull/14953) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Docs - 🔨 Add Kapa.ai widget (AI chatbot). PR [#&#8203;14938](https://github.com/fastapi/fastapi/pull/14938) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔥 Remove Python 3.9 specific files, no longer needed after updating translations. PR [#&#8203;14931](https://github.com/fastapi/fastapi/pull/14931) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Update docs for JWT to prevent timing attacks. PR [#&#8203;14908](https://github.com/fastapi/fastapi/pull/14908) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Translations - ✏️ Fix several typos in ru translations. PR [#&#8203;14934](https://github.com/fastapi/fastapi/pull/14934) by [@&#8203;argoarsiks](https://github.com/argoarsiks). - 🌐 Update translations for ko (update-all and add-missing). PR [#&#8203;14923](https://github.com/fastapi/fastapi/pull/14923) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 🌐 Update translations for uk (add-missing). PR [#&#8203;14922](https://github.com/fastapi/fastapi/pull/14922) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 🌐 Update translations for zh-hant (update-all and add-missing). PR [#&#8203;14921](https://github.com/fastapi/fastapi/pull/14921) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 🌐 Update translations for fr (update-all and add-missing). PR [#&#8203;14920](https://github.com/fastapi/fastapi/pull/14920) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 🌐 Update translations for de (update-all) . PR [#&#8203;14910](https://github.com/fastapi/fastapi/pull/14910) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 🌐 Update translations for ja (update-all). PR [#&#8203;14916](https://github.com/fastapi/fastapi/pull/14916) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 🌐 Update translations for pt (update-all). PR [#&#8203;14912](https://github.com/fastapi/fastapi/pull/14912) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 🌐 Update translations for es (update-all and add-missing). PR [#&#8203;14911](https://github.com/fastapi/fastapi/pull/14911) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 🌐 Update translations for zh (update-all). PR [#&#8203;14917](https://github.com/fastapi/fastapi/pull/14917) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 🌐 Update translations for uk (update-all). PR [#&#8203;14914](https://github.com/fastapi/fastapi/pull/14914) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 🌐 Update translations for tr (update-all). PR [#&#8203;14913](https://github.com/fastapi/fastapi/pull/14913) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 🌐 Update translations for ru (update-outdated). PR [#&#8203;14909](https://github.com/fastapi/fastapi/pull/14909) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ##### Internal - 👷 Always run tests on push to `master` branch and when run by scheduler. PR [#&#8203;14940](https://github.com/fastapi/fastapi/pull/14940) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 🎨 Upgrade typing syntax for Python 3.10. PR [#&#8203;14932](https://github.com/fastapi/fastapi/pull/14932) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ Bump cryptography from 46.0.4 to 46.0.5. PR [#&#8203;14892](https://github.com/fastapi/fastapi/pull/14892) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump pillow from 12.1.0 to 12.1.1. PR [#&#8203;14899](https://github.com/fastapi/fastapi/pull/14899) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). ### [`v0.129.0`](https://github.com/fastapi/fastapi/releases/tag/0.129.0) [Compare Source](https://github.com/fastapi/fastapi/compare/0.128.8...0.129.0) ##### Breaking Changes - ➖ Drop support for Python 3.9. PR [#&#8203;14897](https://github.com/fastapi/fastapi/pull/14897) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Refactors - 🎨 Update internal types for Python 3.10. PR [#&#8203;14898](https://github.com/fastapi/fastapi/pull/14898) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Docs - 📝 Update highlights in webhooks docs. PR [#&#8203;14905](https://github.com/fastapi/fastapi/pull/14905) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Update source examples and docs from Python 3.9 to 3.10. PR [#&#8203;14900](https://github.com/fastapi/fastapi/pull/14900) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Internal - 🔨 Update docs.py scripts to migrate Python 3.9 to Python 3.10. PR [#&#8203;14906](https://github.com/fastapi/fastapi/pull/14906) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.128.8`](https://github.com/fastapi/fastapi/releases/tag/0.128.8) [Compare Source](https://github.com/fastapi/fastapi/compare/0.128.7...0.128.8) ##### Docs - 📝 Fix grammar in `docs/en/docs/tutorial/first-steps.md`. PR [#&#8203;14708](https://github.com/fastapi/fastapi/pull/14708) by [@&#8203;SanjanaS10](https://github.com/SanjanaS10). ##### Internal - 🔨 Tweak PDM hook script. PR [#&#8203;14895](https://github.com/fastapi/fastapi/pull/14895) by [@&#8203;tiangolo](https://github.com/tiangolo). - ♻️ Update build setup for `fastapi-slim`, deprecate it, and make it only depend on `fastapi`. PR [#&#8203;14894](https://github.com/fastapi/fastapi/pull/14894) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.128.7`](https://github.com/fastapi/fastapi/releases/tag/0.128.7) [Compare Source](https://github.com/fastapi/fastapi/compare/0.128.6...0.128.7) ##### Features - ✨ Show a clear error on attempt to include router into itself. PR [#&#8203;14258](https://github.com/fastapi/fastapi/pull/14258) by [@&#8203;JavierSanchezCastro](https://github.com/JavierSanchezCastro). - ✨ Replace `dict` by `Mapping` on `HTTPException.headers`. PR [#&#8203;12997](https://github.com/fastapi/fastapi/pull/12997) by [@&#8203;rijenkii](https://github.com/rijenkii). ##### Refactors - ♻️ Simplify reading files in memory, do it sequentially instead of (fake) parallel. PR [#&#8203;14884](https://github.com/fastapi/fastapi/pull/14884) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Docs - 📝 Use `dfn` tag for definitions instead of `abbr` in docs. PR [#&#8203;14744](https://github.com/fastapi/fastapi/pull/14744) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ##### Internal - ✅ Tweak comment in test to reference PR. PR [#&#8203;14885](https://github.com/fastapi/fastapi/pull/14885) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Update LLM-prompt for `abbr` and `dfn` tags. PR [#&#8203;14747](https://github.com/fastapi/fastapi/pull/14747) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - ✅ Test order for the submitted byte Files. PR [#&#8203;14828](https://github.com/fastapi/fastapi/pull/14828) by [@&#8203;valentinDruzhinin](https://github.com/valentinDruzhinin). - 🔧 Configure `test` workflow to run tests with `inline-snapshot=review`. PR [#&#8203;14876](https://github.com/fastapi/fastapi/pull/14876) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ### [`v0.128.6`](https://github.com/fastapi/fastapi/releases/tag/0.128.6) [Compare Source](https://github.com/fastapi/fastapi/compare/0.128.5...0.128.6) ##### Fixes - 🐛 Fix `on_startup` and `on_shutdown` parameters of `APIRouter`. PR [#&#8203;14873](https://github.com/fastapi/fastapi/pull/14873) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ##### Translations - 🌐 Update translations for zh (update-outdated). PR [#&#8203;14843](https://github.com/fastapi/fastapi/pull/14843) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Internal - ✅ Fix parameterized tests with snapshots. PR [#&#8203;14875](https://github.com/fastapi/fastapi/pull/14875) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ### [`v0.128.5`](https://github.com/fastapi/fastapi/releases/tag/0.128.5) [Compare Source](https://github.com/fastapi/fastapi/compare/0.128.4...0.128.5) ##### Refactors - ♻️ Refactor and simplify Pydantic v2 (and v1) compatibility internal utils. PR [#&#8203;14862](https://github.com/fastapi/fastapi/pull/14862) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Internal - ✅ Add inline snapshot tests for OpenAPI before changes from Pydantic v2. PR [#&#8203;14864](https://github.com/fastapi/fastapi/pull/14864) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.128.4`](https://github.com/fastapi/fastapi/releases/tag/0.128.4) [Compare Source](https://github.com/fastapi/fastapi/compare/0.128.3...0.128.4) ##### Refactors - ♻️ Refactor internals, simplify Pydantic v2/v1 utils, `create_model_field`, better types for `lenient_issubclass`. PR [#&#8203;14860](https://github.com/fastapi/fastapi/pull/14860) by [@&#8203;tiangolo](https://github.com/tiangolo). - ♻️ Simplify internals, remove Pydantic v1 only logic, no longer needed. PR [#&#8203;14857](https://github.com/fastapi/fastapi/pull/14857) by [@&#8203;tiangolo](https://github.com/tiangolo). - ♻️ Refactor internals, cleanup unneeded Pydantic v1 specific logic. PR [#&#8203;14856](https://github.com/fastapi/fastapi/pull/14856) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Translations - 🌐 Update translations for fr (outdated pages). PR [#&#8203;14839](https://github.com/fastapi/fastapi/pull/14839) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 🌐 Update translations for tr (outdated and missing). PR [#&#8203;14838](https://github.com/fastapi/fastapi/pull/14838) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ##### Internal - ⬆️ Upgrade development dependencies. PR [#&#8203;14854](https://github.com/fastapi/fastapi/pull/14854) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.128.3`](https://github.com/fastapi/fastapi/releases/tag/0.128.3) [Compare Source](https://github.com/fastapi/fastapi/compare/0.128.2...0.128.3) ##### Refactors - ♻️ Re-implement `on_event` in FastAPI for compatibility with the next Starlette, while keeping backwards compatibility. PR [#&#8203;14851](https://github.com/fastapi/fastapi/pull/14851) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Upgrades - ⬆️ Upgrade Starlette supported version range to `starlette>=0.40.0,<1.0.0`. PR [#&#8203;14853](https://github.com/fastapi/fastapi/pull/14853) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Translations - 🌐 Update translations for ru (update-outdated). PR [#&#8203;14834](https://github.com/fastapi/fastapi/pull/14834) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Internal - 👷 Run tests with Starlette from git. PR [#&#8203;14849](https://github.com/fastapi/fastapi/pull/14849) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👷 Run tests with lower bound uv sync, upgrade `fastapi[all]` minimum dependencies: `ujson >=5.8.0`, `orjson >=3.9.3`. PR [#&#8203;14846](https://github.com/fastapi/fastapi/pull/14846) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.128.2`](https://github.com/fastapi/fastapi/releases/tag/0.128.2) [Compare Source](https://github.com/fastapi/fastapi/compare/0.128.1...0.128.2) ##### Features - ✨ Add support for PEP695 `TypeAliasType`. PR [#&#8203;13920](https://github.com/fastapi/fastapi/pull/13920) by [@&#8203;cstruct](https://github.com/cstruct). - ✨ Allow `Response` type hint as dependency annotation. PR [#&#8203;14794](https://github.com/fastapi/fastapi/pull/14794) by [@&#8203;jonathan-fulton](https://github.com/jonathan-fulton). ##### Fixes - 🐛 Fix using `Json[list[str]]` type (issue [#&#8203;10997](https://github.com/fastapi/fastapi/issues/10997)). PR [#&#8203;14616](https://github.com/fastapi/fastapi/pull/14616) by [@&#8203;mkanetsuna](https://github.com/mkanetsuna). ##### Docs - 📝 Update docs for translations. PR [#&#8203;14830](https://github.com/fastapi/fastapi/pull/14830) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Fix duplicate word in `advanced-dependencies.md`. PR [#&#8203;14815](https://github.com/fastapi/fastapi/pull/14815) by [@&#8203;Rayyan-Oumlil](https://github.com/Rayyan-Oumlil). ##### Translations - 🌐 Enable Traditional Chinese translations. PR [#&#8203;14842](https://github.com/fastapi/fastapi/pull/14842) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Enable French docs translations. PR [#&#8203;14841](https://github.com/fastapi/fastapi/pull/14841) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for fr (translate-page). PR [#&#8203;14837](https://github.com/fastapi/fastapi/pull/14837) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for de (update-outdated). PR [#&#8203;14836](https://github.com/fastapi/fastapi/pull/14836) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for pt (update-outdated). PR [#&#8203;14833](https://github.com/fastapi/fastapi/pull/14833) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for ko (update-outdated). PR [#&#8203;14835](https://github.com/fastapi/fastapi/pull/14835) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for es (update-outdated). PR [#&#8203;14832](https://github.com/fastapi/fastapi/pull/14832) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for tr (update-outdated). PR [#&#8203;14831](https://github.com/fastapi/fastapi/pull/14831) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for tr (add-missing). PR [#&#8203;14790](https://github.com/fastapi/fastapi/pull/14790) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for fr (update-outdated). PR [#&#8203;14826](https://github.com/fastapi/fastapi/pull/14826) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for zh-hant (update-outdated). PR [#&#8203;14825](https://github.com/fastapi/fastapi/pull/14825) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for uk (update-outdated). PR [#&#8203;14822](https://github.com/fastapi/fastapi/pull/14822) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔨 Update docs and translations scripts, enable Turkish. PR [#&#8203;14824](https://github.com/fastapi/fastapi/pull/14824) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Internal - 🔨 Add max pages to translate to configs. PR [#&#8203;14840](https://github.com/fastapi/fastapi/pull/14840) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.128.1`](https://github.com/fastapi/fastapi/releases/tag/0.128.1) [Compare Source](https://github.com/fastapi/fastapi/compare/0.128.0...0.128.1) ##### Features - ✨ Add `viewport` meta tag to improve Swagger UI on mobile devices. PR [#&#8203;14777](https://github.com/fastapi/fastapi/pull/14777) by [@&#8203;Joab0](https://github.com/Joab0). - 🚸 Improve error message for invalid query parameter type annotations. PR [#&#8203;14479](https://github.com/fastapi/fastapi/pull/14479) by [@&#8203;retwish](https://github.com/retwish). ##### Fixes - 🐛 Update `ValidationError` schema to include `input` and `ctx`. PR [#&#8203;14791](https://github.com/fastapi/fastapi/pull/14791) by [@&#8203;jonathan-fulton](https://github.com/jonathan-fulton). - 🐛 Fix TYPE\_CHECKING annotations for Python 3.14 (PEP 649). PR [#&#8203;14789](https://github.com/fastapi/fastapi/pull/14789) by [@&#8203;mgu](https://github.com/mgu). - 🐛 Strip whitespaces from `Authorization` header credentials. PR [#&#8203;14786](https://github.com/fastapi/fastapi/pull/14786) by [@&#8203;WaveTheory1](https://github.com/WaveTheory1). - 🐛 Fix OpenAPI duplication of `anyOf` refs for app-level responses with specified `content` and `model` as `Union`. PR [#&#8203;14463](https://github.com/fastapi/fastapi/pull/14463) by [@&#8203;DJMcoder](https://github.com/DJMcoder). ##### Refactors - 🎨 Tweak types for mypy. PR [#&#8203;14816](https://github.com/fastapi/fastapi/pull/14816) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🏷️ Re-export `IncEx` type from Pydantic instead of duplicating it. PR [#&#8203;14641](https://github.com/fastapi/fastapi/pull/14641) by [@&#8203;mvanderlee](https://github.com/mvanderlee). - 💡 Update comment for Pydantic internals. PR [#&#8203;14814](https://github.com/fastapi/fastapi/pull/14814) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Docs - 📝 Update docs for contributing translations, simplify title. PR [#&#8203;14817](https://github.com/fastapi/fastapi/pull/14817) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Fix typing issue in `docs_src/app_testing/app_b` code example. PR [#&#8203;14573](https://github.com/fastapi/fastapi/pull/14573) by [@&#8203;timakaa](https://github.com/timakaa). - 📝 Fix example of license identifier in documentation. PR [#&#8203;14492](https://github.com/fastapi/fastapi/pull/14492) by [@&#8203;johnson-earls](https://github.com/johnson-earls). - 📝 Add banner to translated pages. PR [#&#8203;14809](https://github.com/fastapi/fastapi/pull/14809) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 📝 Add links to related sections of docs to docstrings. PR [#&#8203;14776](https://github.com/fastapi/fastapi/pull/14776) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 📝 Update embedded code examples to Python 3.10 syntax. PR [#&#8203;14758](https://github.com/fastapi/fastapi/pull/14758) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 📝 Fix dependency installation command in `docs/en/docs/contributing.md`. PR [#&#8203;14757](https://github.com/fastapi/fastapi/pull/14757) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 📝 Use return type annotation instead of `response_model` when possible. PR [#&#8203;14753](https://github.com/fastapi/fastapi/pull/14753) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 📝 Use `WSGIMiddleware` from `a2wsgi` instead of deprecated `fastapi.middleware.wsgi.WSGIMiddleware`. PR [#&#8203;14756](https://github.com/fastapi/fastapi/pull/14756) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 📝 Fix minor typos in release notes. PR [#&#8203;14780](https://github.com/fastapi/fastapi/pull/14780) by [@&#8203;whyvineet](https://github.com/whyvineet). - 🐛 Fix copy button in custom.js. PR [#&#8203;14722](https://github.com/fastapi/fastapi/pull/14722) by [@&#8203;fcharrier](https://github.com/fcharrier). - 📝 Add contribution instructions about LLM generated code and comments and automated tools for PRs. PR [#&#8203;14706](https://github.com/fastapi/fastapi/pull/14706) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Update docs for management tasks. PR [#&#8203;14705](https://github.com/fastapi/fastapi/pull/14705) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Update docs about managing translations. PR [#&#8203;14704](https://github.com/fastapi/fastapi/pull/14704) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Update docs for contributing with translations. PR [#&#8203;14701](https://github.com/fastapi/fastapi/pull/14701) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Specify language code for code block. PR [#&#8203;14656](https://github.com/fastapi/fastapi/pull/14656) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ##### Translations - 🌐 Improve LLM prompt of `uk` documentation. PR [#&#8203;14795](https://github.com/fastapi/fastapi/pull/14795) by [@&#8203;roli2py](https://github.com/roli2py). - 🌐 Update translations for ja (update-outdated). PR [#&#8203;14588](https://github.com/fastapi/fastapi/pull/14588) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for uk (update outdated, found by fixer tool). PR [#&#8203;14739](https://github.com/fastapi/fastapi/pull/14739) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 🌐 Update translations for tr (update-outdated). PR [#&#8203;14745](https://github.com/fastapi/fastapi/pull/14745) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update `llm-prompt.md` for Korean language. PR [#&#8203;14763](https://github.com/fastapi/fastapi/pull/14763) by [@&#8203;seuthootDev](https://github.com/seuthootDev). - 🌐 Update translations for ko (update outdated, found by fixer tool). PR [#&#8203;14738](https://github.com/fastapi/fastapi/pull/14738) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 🌐 Update translations for de (update-outdated). PR [#&#8203;14690](https://github.com/fastapi/fastapi/pull/14690) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update LLM prompt for Russian translations. PR [#&#8203;14733](https://github.com/fastapi/fastapi/pull/14733) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 🌐 Update translations for ru (update-outdated). PR [#&#8203;14693](https://github.com/fastapi/fastapi/pull/14693) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for pt (update-outdated). PR [#&#8203;14724](https://github.com/fastapi/fastapi/pull/14724) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update Korean LLM prompt. PR [#&#8203;14740](https://github.com/fastapi/fastapi/pull/14740) by [@&#8203;hard-coders](https://github.com/hard-coders). - 🌐 Improve LLM prompt for Turkish translations. PR [#&#8203;14728](https://github.com/fastapi/fastapi/pull/14728) by [@&#8203;Kadermiyanyedi](https://github.com/Kadermiyanyedi). - 🌐 Update portuguese llm-prompt.md. PR [#&#8203;14702](https://github.com/fastapi/fastapi/pull/14702) by [@&#8203;ceb10n](https://github.com/ceb10n). - 🌐 Update LLM prompt instructions file for French. PR [#&#8203;14618](https://github.com/fastapi/fastapi/pull/14618) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for ko (add-missing). PR [#&#8203;14699](https://github.com/fastapi/fastapi/pull/14699) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for ko (update-outdated). PR [#&#8203;14589](https://github.com/fastapi/fastapi/pull/14589) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for uk (update-outdated). PR [#&#8203;14587](https://github.com/fastapi/fastapi/pull/14587) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for es (update-outdated). PR [#&#8203;14686](https://github.com/fastapi/fastapi/pull/14686) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Add LLM prompt file for Turkish, generated from the existing translations. PR [#&#8203;14547](https://github.com/fastapi/fastapi/pull/14547) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Add LLM prompt file for Traditional Chinese, generated from the existing translations. PR [#&#8203;14550](https://github.com/fastapi/fastapi/pull/14550) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Add LLM prompt file for Simplified Chinese, generated from the existing translations. PR [#&#8203;14549](https://github.com/fastapi/fastapi/pull/14549) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Internal - ⬇️ Downgrade LLM translations model to GPT-5 to reduce mistakes. PR [#&#8203;14823](https://github.com/fastapi/fastapi/pull/14823) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🐛 Fix translation script commit in place. PR [#&#8203;14818](https://github.com/fastapi/fastapi/pull/14818) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔨 Update translation script to retry if LLM-response doesn't pass validation with Translation Fixer tool. PR [#&#8203;14749](https://github.com/fastapi/fastapi/pull/14749) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 👷 Run tests only on relevant code changes (not on docs). PR [#&#8203;14813](https://github.com/fastapi/fastapi/pull/14813) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👷 Run mypy by pre-commit. PR [#&#8203;14806](https://github.com/fastapi/fastapi/pull/14806) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - ⬆ Bump ruff from 0.14.3 to 0.14.14. PR [#&#8203;14798](https://github.com/fastapi/fastapi/pull/14798) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump pyasn1 from 0.6.1 to 0.6.2. PR [#&#8203;14804](https://github.com/fastapi/fastapi/pull/14804) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump sqlmodel from 0.0.27 to 0.0.31. PR [#&#8203;14802](https://github.com/fastapi/fastapi/pull/14802) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump mkdocs-macros-plugin from 1.4.1 to 1.5.0. PR [#&#8203;14801](https://github.com/fastapi/fastapi/pull/14801) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump gitpython from 3.1.45 to 3.1.46. PR [#&#8203;14800](https://github.com/fastapi/fastapi/pull/14800) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump typer from 0.16.0 to 0.21.1. PR [#&#8203;14799](https://github.com/fastapi/fastapi/pull/14799) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - 👥 Update FastAPI GitHub topic repositories. PR [#&#8203;14803](https://github.com/fastapi/fastapi/pull/14803) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👥 Update FastAPI People - Contributors and Translators. PR [#&#8203;14796](https://github.com/fastapi/fastapi/pull/14796) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Ensure that an edit to `uv.lock` gets the `internal` label. PR [#&#8203;14759](https://github.com/fastapi/fastapi/pull/14759) by [@&#8203;svlandeg](https://github.com/svlandeg). - 🔧 Update sponsors: remove Requestly. PR [#&#8203;14735](https://github.com/fastapi/fastapi/pull/14735) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Update sponsors, LambdaTest changes to TestMu AI. PR [#&#8203;14734](https://github.com/fastapi/fastapi/pull/14734) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ Bump actions/cache from 4 to 5. PR [#&#8203;14511](https://github.com/fastapi/fastapi/pull/14511) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump actions/upload-artifact from 5 to 6. PR [#&#8203;14525](https://github.com/fastapi/fastapi/pull/14525) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump actions/download-artifact from 6 to 7. PR [#&#8203;14526](https://github.com/fastapi/fastapi/pull/14526) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - 👷 Tweak CI input names. PR [#&#8203;14688](https://github.com/fastapi/fastapi/pull/14688) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔨 Refactor translation script to allow committing in place. PR [#&#8203;14687](https://github.com/fastapi/fastapi/pull/14687) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🐛 Fix translation script path. PR [#&#8203;14685](https://github.com/fastapi/fastapi/pull/14685) by [@&#8203;tiangolo](https://github.com/tiangolo). - ✅ Enable tests in CI for scripts. PR [#&#8203;14684](https://github.com/fastapi/fastapi/pull/14684) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Add pre-commit local script to fix language translations. PR [#&#8203;14683](https://github.com/fastapi/fastapi/pull/14683) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆️ Migrate to uv. PR [#&#8203;14676](https://github.com/fastapi/fastapi/pull/14676) by [@&#8203;DoctorJohn](https://github.com/DoctorJohn). - 🔨 Add LLM translations tool fixer. PR [#&#8203;14652](https://github.com/fastapi/fastapi/pull/14652) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 👥 Update FastAPI People - Sponsors. PR [#&#8203;14626](https://github.com/fastapi/fastapi/pull/14626) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👥 Update FastAPI GitHub topic repositories. PR [#&#8203;14630](https://github.com/fastapi/fastapi/pull/14630) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👥 Update FastAPI People - Contributors and Translators. PR [#&#8203;14625](https://github.com/fastapi/fastapi/pull/14625) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translation prompts. PR [#&#8203;14619](https://github.com/fastapi/fastapi/pull/14619) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔨 Update LLM translation script to guide reviewers to change the prompt. PR [#&#8203;14614](https://github.com/fastapi/fastapi/pull/14614) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👷 Do not run translations on cron while finishing updating existing languages. PR [#&#8203;14613](https://github.com/fastapi/fastapi/pull/14613) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔥 Remove test variants for Pydantic v1 in test\_request\_params. PR [#&#8203;14612](https://github.com/fastapi/fastapi/pull/14612) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔥 Remove Pydantic v1 specific test variants. PR [#&#8203;14611](https://github.com/fastapi/fastapi/pull/14611) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.128.0`](https://github.com/fastapi/fastapi/releases/tag/0.128.0) [Compare Source](https://github.com/fastapi/fastapi/compare/0.127.1...0.128.0) ##### Breaking Changes - ➖ Drop support for `pydantic.v1`. PR [#&#8203;14609](https://github.com/fastapi/fastapi/pull/14609) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Internal - ✅ Run performance tests only on Pydantic v2. PR [#&#8203;14608](https://github.com/fastapi/fastapi/pull/14608) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.127.1`](https://github.com/fastapi/fastapi/releases/tag/0.127.1) [Compare Source](https://github.com/fastapi/fastapi/compare/0.127.0...0.127.1) ##### Refactors - 🔊 Add a custom `FastAPIDeprecationWarning`. PR [#&#8203;14605](https://github.com/fastapi/fastapi/pull/14605) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Docs - 📝 Add documentary to website. PR [#&#8203;14600](https://github.com/fastapi/fastapi/pull/14600) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Translations - 🌐 Update translations for de (update-outdated). PR [#&#8203;14602](https://github.com/fastapi/fastapi/pull/14602) by [@&#8203;nilslindemann](https://github.com/nilslindemann). - 🌐 Update translations for de (update-outdated). PR [#&#8203;14581](https://github.com/fastapi/fastapi/pull/14581) by [@&#8203;nilslindemann](https://github.com/nilslindemann). ##### Internal - 🔧 Update pre-commit to use local Ruff instead of hook. PR [#&#8203;14604](https://github.com/fastapi/fastapi/pull/14604) by [@&#8203;tiangolo](https://github.com/tiangolo). - ✅ Add missing tests for code examples. PR [#&#8203;14569](https://github.com/fastapi/fastapi/pull/14569) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 👷 Remove `lint` job from `test` CI workflow. PR [#&#8203;14593](https://github.com/fastapi/fastapi/pull/14593) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 👷 Update secrets check. PR [#&#8203;14592](https://github.com/fastapi/fastapi/pull/14592) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👷 Run CodSpeed tests in parallel to other tests to speed up CI. PR [#&#8203;14586](https://github.com/fastapi/fastapi/pull/14586) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔨 Update scripts and pre-commit to autofix files. PR [#&#8203;14585](https://github.com/fastapi/fastapi/pull/14585) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.127.0`](https://github.com/fastapi/fastapi/releases/tag/0.127.0) [Compare Source](https://github.com/fastapi/fastapi/compare/0.126.0...0.127.0) ##### Breaking Changes - 🔊 Add deprecation warnings when using `pydantic.v1`. PR [#&#8203;14583](https://github.com/fastapi/fastapi/pull/14583) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Translations - 🔧 Add LLM prompt file for Korean, generated from the existing translations. PR [#&#8203;14546](https://github.com/fastapi/fastapi/pull/14546) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Add LLM prompt file for Japanese, generated from the existing translations. PR [#&#8203;14545](https://github.com/fastapi/fastapi/pull/14545) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Internal - ⬆️ Upgrade OpenAI model for translations to gpt-5.2. PR [#&#8203;14579](https://github.com/fastapi/fastapi/pull/14579) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.126.0`](https://github.com/fastapi/fastapi/releases/tag/0.126.0) [Compare Source](https://github.com/fastapi/fastapi/compare/0.125.0...0.126.0) ##### Upgrades - ➖ Drop support for Pydantic v1, keeping short temporary support for Pydantic v2's `pydantic.v1`. PR [#&#8203;14575](https://github.com/fastapi/fastapi/pull/14575) by [@&#8203;tiangolo](https://github.com/tiangolo). - The minimum version of Pydantic installed is now `pydantic >=2.7.0`. - The `standard` dependencies now include `pydantic-settings >=2.0.0` and `pydantic-extra-types >=2.0.0`. ##### Docs - 📝 Fix duplicated variable in `docs_src/python_types/tutorial005_py39.py`. PR [#&#8203;14565](https://github.com/fastapi/fastapi/pull/14565) by [@&#8203;paras-verma7454](https://github.com/paras-verma7454). ##### Translations - 🔧 Add LLM prompt file for Ukrainian, generated from the existing translations. PR [#&#8203;14548](https://github.com/fastapi/fastapi/pull/14548) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Internal - 🔧 Tweak pre-commit to allow committing release-notes. PR [#&#8203;14577](https://github.com/fastapi/fastapi/pull/14577) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆️ Use prek as a pre-commit alternative. PR [#&#8203;14572](https://github.com/fastapi/fastapi/pull/14572) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👷 Add performance tests with CodSpeed. PR [#&#8203;14558](https://github.com/fastapi/fastapi/pull/14558) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.125.0`](https://github.com/fastapi/fastapi/releases/tag/0.125.0) [Compare Source](https://github.com/fastapi/fastapi/compare/0.124.4...0.125.0) ##### Breaking Changes - 🔧 Drop support for Python 3.8. PR [#&#8203;14563](https://github.com/fastapi/fastapi/pull/14563) by [@&#8203;tiangolo](https://github.com/tiangolo). - This would actually not be a *breaking* change as no code would really break. Any Python 3.8 installer would just refuse to install the latest version of FastAPI and would only install 0.124.4. Only marking it as a "breaking change" to make it visible. ##### Refactors - ♻️ Upgrade internal syntax to Python 3.9+ 🎉. PR [#&#8203;14564](https://github.com/fastapi/fastapi/pull/14564) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Docs - ⚰️ Remove Python 3.8 from CI and remove Python 3.8 examples from source docs. PR [#&#8203;14559](https://github.com/fastapi/fastapi/pull/14559) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov) and [@&#8203;tiangolo](https://github.com/tiangolo). ##### Translations - 🌐 Update translations for pt (add-missing). PR [#&#8203;14539](https://github.com/fastapi/fastapi/pull/14539) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Add LLM prompt file for French, generated from the existing French docs. PR [#&#8203;14544](https://github.com/fastapi/fastapi/pull/14544) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Sync Portuguese docs (pages found with script). PR [#&#8203;14554](https://github.com/fastapi/fastapi/pull/14554) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 🌐 Sync Spanish docs (outdated pages found with script). PR [#&#8203;14553](https://github.com/fastapi/fastapi/pull/14553) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 🌐 Sync German docs. PR [#&#8203;14519](https://github.com/fastapi/fastapi/pull/14519) by [@&#8203;nilslindemann](https://github.com/nilslindemann). - 🔥 Remove inactive/scarce translations to Vietnamese. PR [#&#8203;14543](https://github.com/fastapi/fastapi/pull/14543) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔥 Remove inactive/scarce translations to Persian. PR [#&#8203;14542](https://github.com/fastapi/fastapi/pull/14542) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔥 Remove translation to emoji to simplify the new setup with LLM autotranslations. PR [#&#8203;14541](https://github.com/fastapi/fastapi/pull/14541) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for pt (update-outdated). PR [#&#8203;14537](https://github.com/fastapi/fastapi/pull/14537) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for es (update-outdated). PR [#&#8203;14532](https://github.com/fastapi/fastapi/pull/14532) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update translations for es (add-missing). PR [#&#8203;14533](https://github.com/fastapi/fastapi/pull/14533) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Remove translations for removed docs. PR [#&#8203;14516](https://github.com/fastapi/fastapi/pull/14516) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Internal - ⬆ Bump `markdown-include-variants` from 0.0.7 to 0.0.8. PR [#&#8203;14556](https://github.com/fastapi/fastapi/pull/14556) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 🔧 Temporarily disable translations still in progress, being migrated to the new LLM setup. PR [#&#8203;14555](https://github.com/fastapi/fastapi/pull/14555) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 🔧 Update test workflow config, remove commented code. PR [#&#8203;14540](https://github.com/fastapi/fastapi/pull/14540) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👷 Configure coverage, error on main tests, don't wait for Smokeshow. PR [#&#8203;14536](https://github.com/fastapi/fastapi/pull/14536) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👷 Run Smokeshow always, even on test failures. PR [#&#8203;14538](https://github.com/fastapi/fastapi/pull/14538) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👷 Make Pydantic versions customizable in CI. PR [#&#8203;14535](https://github.com/fastapi/fastapi/pull/14535) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👷 Fix checkout GitHub Action fetch-depth for LLM translations, enable cron monthly. PR [#&#8203;14531](https://github.com/fastapi/fastapi/pull/14531) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👷 Fix Typer command for CI LLM translations. PR [#&#8203;14530](https://github.com/fastapi/fastapi/pull/14530) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👷 Update LLM translation CI, add language matrix and extra commands, prepare for scheduled run. PR [#&#8203;14529](https://github.com/fastapi/fastapi/pull/14529) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👷 Update github-actions user for GitHub Actions workflows. PR [#&#8203;14528](https://github.com/fastapi/fastapi/pull/14528) by [@&#8203;tiangolo](https://github.com/tiangolo). - ➕ Add requirements for translations. PR [#&#8203;14515](https://github.com/fastapi/fastapi/pull/14515) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.124.4`](https://github.com/fastapi/fastapi/releases/tag/0.124.4) [Compare Source](https://github.com/fastapi/fastapi/compare/0.124.3...0.124.4) ##### Fixes - 🐛 Fix parameter aliases. PR [#&#8203;14371](https://github.com/fastapi/fastapi/pull/14371) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ### [`v0.124.3`](https://github.com/fastapi/fastapi/releases/tag/0.124.3) [Compare Source](https://github.com/fastapi/fastapi/compare/0.124.2...0.124.3) ##### Fixes - 🐛 Fix support for tagged union with discriminator inside of `Annotated` with `Body()`. PR [#&#8203;14512](https://github.com/fastapi/fastapi/pull/14512) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Refactors - ✅ Add set of tests for request parameters and alias. PR [#&#8203;14358](https://github.com/fastapi/fastapi/pull/14358) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ##### Docs - 📝 Tweak links format. PR [#&#8203;14505](https://github.com/fastapi/fastapi/pull/14505) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Update docs about re-raising validation errors, do not include string as is to not leak information. PR [#&#8203;14487](https://github.com/fastapi/fastapi/pull/14487) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔥 Remove external links section. PR [#&#8203;14486](https://github.com/fastapi/fastapi/pull/14486) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Translations - 🌐 Sync Russian docs. PR [#&#8203;14509](https://github.com/fastapi/fastapi/pull/14509) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 🌐 Sync German docs. PR [#&#8203;14488](https://github.com/fastapi/fastapi/pull/14488) by [@&#8203;nilslindemann](https://github.com/nilslindemann). ##### Internal - 👷 Tweak coverage to not pass Smokeshow max file size limit. PR [#&#8203;14507](https://github.com/fastapi/fastapi/pull/14507) by [@&#8203;tiangolo](https://github.com/tiangolo). - ✅ Expand test matrix to include Windows and MacOS. PR [#&#8203;14171](https://github.com/fastapi/fastapi/pull/14171) by [@&#8203;svlandeg](https://github.com/svlandeg). ### [`v0.124.2`](https://github.com/fastapi/fastapi/releases/tag/0.124.2) [Compare Source](https://github.com/fastapi/fastapi/compare/0.124.1...0.124.2) ##### Fixes - 🐛 Fix support for `if TYPE_CHECKING`, non-evaluated stringified annotations. PR [#&#8203;14485](https://github.com/fastapi/fastapi/pull/14485) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.124.1`](https://github.com/fastapi/fastapi/releases/tag/0.124.1) [Compare Source](https://github.com/fastapi/fastapi/compare/0.124.0...0.124.1) ##### Fixes - 🐛 Fix handling arbitrary types when using `arbitrary_types_allowed=True`. PR [#&#8203;14482](https://github.com/fastapi/fastapi/pull/14482) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Docs - 📝 Add variants for code examples in "Advanced User Guide". PR [#&#8203;14413](https://github.com/fastapi/fastapi/pull/14413) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 📝 Update tech stack in project generation docs. PR [#&#8203;14472](https://github.com/fastapi/fastapi/pull/14472) by [@&#8203;alejsdev](https://github.com/alejsdev). ##### Internal - ✅ Add test for Pydantic v2, dataclasses, UUID, and `__annotations__`. PR [#&#8203;14477](https://github.com/fastapi/fastapi/pull/14477) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.124.0`](https://github.com/fastapi/fastapi/releases/tag/0.124.0) [Compare Source](https://github.com/fastapi/fastapi/compare/0.123.10...0.124.0) ##### Features - 🚸 Improve tracebacks by adding endpoint metadata. PR [#&#8203;14306](https://github.com/fastapi/fastapi/pull/14306) by [@&#8203;savannahostrowski](https://github.com/savannahostrowski). ##### Internal - ✏️ Fix typo in `scripts/mkdocs_hooks.py`. PR [#&#8203;14457](https://github.com/fastapi/fastapi/pull/14457) by [@&#8203;yujiteshima](https://github.com/yujiteshima). ### [`v0.123.10`](https://github.com/fastapi/fastapi/releases/tag/0.123.10) [Compare Source](https://github.com/fastapi/fastapi/compare/0.123.9...0.123.10) ##### Fixes - 🐛 Fix using class (not instance) dependency that has `__call__` method. PR [#&#8203;14458](https://github.com/fastapi/fastapi/pull/14458) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 🐛 Fix `separate_input_output_schemas=False` with `computed_field`. PR [#&#8203;14453](https://github.com/fastapi/fastapi/pull/14453) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ### [`v0.123.9`](https://github.com/fastapi/fastapi/releases/tag/0.123.9) [Compare Source](https://github.com/fastapi/fastapi/compare/0.123.8...0.123.9) ##### Fixes - 🐛 Fix OAuth2 scopes in OpenAPI in extra corner cases, parent dependency with scopes, sub-dependency security scheme without scopes. PR [#&#8203;14459](https://github.com/fastapi/fastapi/pull/14459) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.123.8`](https://github.com/fastapi/fastapi/releases/tag/0.123.8) [Compare Source](https://github.com/fastapi/fastapi/compare/0.123.7...0.123.8) ##### Fixes - 🐛 Fix OpenAPI security scheme OAuth2 scopes declaration, deduplicate security schemes with different scopes. PR [#&#8203;14455](https://github.com/fastapi/fastapi/pull/14455) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.123.7`](https://github.com/fastapi/fastapi/releases/tag/0.123.7) [Compare Source](https://github.com/fastapi/fastapi/compare/0.123.6...0.123.7) ##### Fixes - 🐛 Fix evaluating stringified annotations in Python 3.10. PR [#&#8203;11355](https://github.com/fastapi/fastapi/pull/11355) by [@&#8203;chaen](https://github.com/chaen). ### [`v0.123.6`](https://github.com/fastapi/fastapi/releases/tag/0.123.6) [Compare Source](https://github.com/fastapi/fastapi/compare/0.123.5...0.123.6) ##### Fixes - 🐛 Fix support for functools wraps and partial combined, for async and regular functions and classes in path operations and dependencies. PR [#&#8203;14448](https://github.com/fastapi/fastapi/pull/14448) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.123.5`](https://github.com/fastapi/fastapi/releases/tag/0.123.5) [Compare Source](https://github.com/fastapi/fastapi/compare/0.123.4...0.123.5) ##### Features - ✨ Allow using dependables with `functools.partial()`. PR [#&#8203;9753](https://github.com/fastapi/fastapi/pull/9753) by [@&#8203;lieryan](https://github.com/lieryan). - ✨ Add support for wrapped functions (e.g. `@functools.wraps()`) used with forward references. PR [#&#8203;5077](https://github.com/fastapi/fastapi/pull/5077) by [@&#8203;lucaswiman](https://github.com/lucaswiman). - ✨ Handle wrapped dependencies. PR [#&#8203;9555](https://github.com/fastapi/fastapi/pull/9555) by [@&#8203;phy1729](https://github.com/phy1729). ##### Fixes - 🐛 Fix optional sequence handling with new union syntax from Python 3.10. PR [#&#8203;14430](https://github.com/fastapi/fastapi/pull/14430) by [@&#8203;Viicos](https://github.com/Viicos). ##### Refactors - 🔥 Remove dangling extra condiitonal no longer needed. PR [#&#8203;14435](https://github.com/fastapi/fastapi/pull/14435) by [@&#8203;tiangolo](https://github.com/tiangolo). - ♻️ Refactor internals, update `is_coroutine` check to reuse internal supported variants (unwrap, check class). PR [#&#8203;14434](https://github.com/fastapi/fastapi/pull/14434) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Translations - 🌐 Sync German docs. PR [#&#8203;14367](https://github.com/fastapi/fastapi/pull/14367) by [@&#8203;nilslindemann](https://github.com/nilslindemann). ### [`v0.123.4`](https://github.com/fastapi/fastapi/releases/tag/0.123.4) [Compare Source](https://github.com/fastapi/fastapi/compare/0.123.3...0.123.4) ##### Fixes - 🐛 Fix OpenAPI schema support for computed fields when using `separate_input_output_schemas=False`. PR [#&#8203;13207](https://github.com/fastapi/fastapi/pull/13207) by [@&#8203;vgrafe](https://github.com/vgrafe). ##### Docs - 📝 Fix docstring of `servers` parameter. PR [#&#8203;14405](https://github.com/fastapi/fastapi/pull/14405) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ### [`v0.123.3`](https://github.com/fastapi/fastapi/releases/tag/0.123.3) [Compare Source](https://github.com/fastapi/fastapi/compare/0.123.2...0.123.3) ##### Fixes - 🐛 Fix Query\Header\Cookie parameter model alias. PR [#&#8203;14360](https://github.com/fastapi/fastapi/pull/14360) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 🐛 Fix optional sequence handling in `serialize sequence value` with Pydantic V2. PR [#&#8203;14297](https://github.com/fastapi/fastapi/pull/14297) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ### [`v0.123.2`](https://github.com/fastapi/fastapi/releases/tag/0.123.2) [Compare Source](https://github.com/fastapi/fastapi/compare/0.123.1...0.123.2) ##### Fixes - 🐛 Fix unformatted `{type_}` in FastAPIError. PR [#&#8203;14416](https://github.com/fastapi/fastapi/pull/14416) by [@&#8203;Just-Helpful](https://github.com/Just-Helpful). - 🐛 Fix parsing extra non-body parameter list. PR [#&#8203;14356](https://github.com/fastapi/fastapi/pull/14356) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 🐛 Fix parsing extra `Form` parameter list. PR [#&#8203;14303](https://github.com/fastapi/fastapi/pull/14303) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 🐛 Fix support for form values with empty strings interpreted as missing (`None` if that's the default), for compatibility with HTML forms. PR [#&#8203;13537](https://github.com/fastapi/fastapi/pull/13537) by [@&#8203;MarinPostma](https://github.com/MarinPostma). ##### Docs - 📝 Add tip on how to install `pip` in case of `No module named pip` error in `virtual-environments.md`. PR [#&#8203;14211](https://github.com/fastapi/fastapi/pull/14211) by [@&#8203;zadevhub](https://github.com/zadevhub). - 📝 Update Primary Key notes for the SQL databases tutorial to avoid confusion. PR [#&#8203;14120](https://github.com/fastapi/fastapi/pull/14120) by [@&#8203;FlaviusRaducu](https://github.com/FlaviusRaducu). - 📝 Clarify estimation note in documentation. PR [#&#8203;14070](https://github.com/fastapi/fastapi/pull/14070) by [@&#8203;SaisakthiM](https://github.com/SaisakthiM). ### [`v0.123.1`](https://github.com/fastapi/fastapi/releases/tag/0.123.1) [Compare Source](https://github.com/fastapi/fastapi/compare/0.123.0...0.123.1) ##### Fixes - 🐛 Avoid accessing non-existing "$ref" key for Pydantic v2 compat remapping. PR [#&#8203;14361](https://github.com/fastapi/fastapi/pull/14361) by [@&#8203;svlandeg](https://github.com/svlandeg). - 🐛 Fix `TypeError` when encoding a decimal with a `NaN` or `Infinity` value. PR [#&#8203;12935](https://github.com/fastapi/fastapi/pull/12935) by [@&#8203;kentwelcome](https://github.com/kentwelcome). ##### Internal - 🐛 Fix Windows UnicodeEncodeError in CLI test. PR [#&#8203;14295](https://github.com/fastapi/fastapi/pull/14295) by [@&#8203;hemanth-thirthahalli](https://github.com/hemanth-thirthahalli). - 🔧 Update sponsors: add Greptile. PR [#&#8203;14429](https://github.com/fastapi/fastapi/pull/14429) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👥 Update FastAPI GitHub topic repositories. PR [#&#8203;14426](https://github.com/fastapi/fastapi/pull/14426) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ Bump markdown-include-variants from 0.0.6 to 0.0.7. PR [#&#8203;14423](https://github.com/fastapi/fastapi/pull/14423) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 👥 Update FastAPI People - Sponsors. PR [#&#8203;14422](https://github.com/fastapi/fastapi/pull/14422) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👥 Update FastAPI People - Contributors and Translators. PR [#&#8203;14420](https://github.com/fastapi/fastapi/pull/14420) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.123.0`](https://github.com/fastapi/fastapi/releases/tag/0.123.0) [Compare Source](https://github.com/fastapi/fastapi/compare/0.122.1...0.123.0) ##### Fixes - 🐛 Cache dependencies that don't use scopes and don't have sub-dependencies with scopes. PR [#&#8203;14419](https://github.com/fastapi/fastapi/pull/14419) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.122.1`](https://github.com/fastapi/fastapi/releases/tag/0.122.1) [Compare Source](https://github.com/fastapi/fastapi/compare/0.122.0...0.122.1) ##### Fixes - 🐛 Fix hierarchical security scope propagation. PR [#&#8203;5624](https://github.com/fastapi/fastapi/pull/5624) by [@&#8203;kristjanvalur](https://github.com/kristjanvalur). ##### Docs - 💅 Update CSS to explicitly use emoji font. PR [#&#8203;14415](https://github.com/fastapi/fastapi/pull/14415) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Internal - ⬆ Bump markdown-include-variants from 0.0.5 to 0.0.6. PR [#&#8203;14418](https://github.com/fastapi/fastapi/pull/14418) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ### [`v0.122.0`](https://github.com/fastapi/fastapi/releases/tag/0.122.0) [Compare Source](https://github.com/fastapi/fastapi/compare/0.121.3...0.122.0) ##### Fixes - 🐛 Use `401` status code in security classes when credentials are missing. PR [#&#8203;13786](https://github.com/fastapi/fastapi/pull/13786) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - If your code depended on these classes raising the old (less correct) `403` status code, check the new docs about how to override the classes, to use the same old behavior: [Use Old 403 Authentication Error Status Codes](https://fastapi.tiangolo.com/how-to/authentication-error-status-code/). ##### Internal - 🔧 Configure labeler to exclude files that start from underscore for `lang-all` label. PR [#&#8203;14213](https://github.com/fastapi/fastapi/pull/14213) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 👷 Add pre-commit config with local script for permalinks. PR [#&#8203;14398](https://github.com/fastapi/fastapi/pull/14398) by [@&#8203;tiangolo](https://github.com/tiangolo). - 💄 Use font Fira Code to fix display of Rich panels in docs in Windows. PR [#&#8203;14387](https://github.com/fastapi/fastapi/pull/14387) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👷 Add custom pre-commit CI. PR [#&#8203;14397](https://github.com/fastapi/fastapi/pull/14397) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ Bump actions/checkout from 5 to 6. PR [#&#8203;14381](https://github.com/fastapi/fastapi/pull/14381) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - 👷 Upgrade `latest-changes` GitHub Action and pin `actions/checkout@v5`. PR [#&#8203;14403](https://github.com/fastapi/fastapi/pull/14403) by [@&#8203;svlandeg](https://github.com/svlandeg). - 🛠️ Add `add-permalinks` and `add-permalinks-page` to `scripts/docs.py`. PR [#&#8203;14033](https://github.com/fastapi/fastapi/pull/14033) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 🔧 Upgrade Material for MkDocs and remove insiders. PR [#&#8203;14375](https://github.com/fastapi/fastapi/pull/14375) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.121.3`](https://github.com/fastapi/fastapi/releases/tag/0.121.3) [Compare Source](https://github.com/fastapi/fastapi/compare/0.121.2...0.121.3) #### 0.121.3 ##### Refactors - ♻️ Make the result of `Depends()` and `Security()` hashable, as a workaround for other tools interacting with these internal parts. PR [#&#8203;14372](https://github.com/fastapi/fastapi/pull/14372) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Upgrades - ⬆️ Bump Starlette to <`0.51.0`. PR [#&#8203;14282](https://github.com/fastapi/fastapi/pull/14282) by [@&#8203;musicinmybrain](https://github.com/musicinmybrain). ##### Docs - 📝 Add missing hash part. PR [#&#8203;14369](https://github.com/fastapi/fastapi/pull/14369) by [@&#8203;nilslindemann](https://github.com/nilslindemann). - 📝 Fix typos in code comments. PR [#&#8203;14364](https://github.com/fastapi/fastapi/pull/14364) by [@&#8203;Edge-Seven](https://github.com/Edge-Seven). - 📝 Add docs for using FastAPI Cloud. PR [#&#8203;14359](https://github.com/fastapi/fastapi/pull/14359) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.121.2`](https://github.com/fastapi/fastapi/releases/tag/0.121.2) [Compare Source](https://github.com/fastapi/fastapi/compare/0.121.1...0.121.2) ##### Fixes - 🐛 Fix handling of JSON Schema attributes named "$ref". PR [#&#8203;14349](https://github.com/fastapi/fastapi/pull/14349) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Docs - 📝 Add EuroPython talk & podcast episode with Sebastián Ramírez. PR [#&#8203;14260](https://github.com/fastapi/fastapi/pull/14260) by [@&#8203;clytaemnestra](https://github.com/clytaemnestra). - ✏️ Fix links and add missing permalink in docs. PR [#&#8203;14217](https://github.com/fastapi/fastapi/pull/14217) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ##### Translations - 🌐 Update Portuguese translations with LLM prompt. PR [#&#8203;14228](https://github.com/fastapi/fastapi/pull/14228) by [@&#8203;ceb10n](https://github.com/ceb10n). - 🔨 Add Portuguese translations LLM prompt. PR [#&#8203;14208](https://github.com/fastapi/fastapi/pull/14208) by [@&#8203;ceb10n](https://github.com/ceb10n). - 🌐 Sync Russian docs. PR [#&#8203;14331](https://github.com/fastapi/fastapi/pull/14331) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 🌐 Sync German docs. PR [#&#8203;14317](https://github.com/fastapi/fastapi/pull/14317) by [@&#8203;nilslindemann](https://github.com/nilslindemann). ### [`v0.121.1`](https://github.com/fastapi/fastapi/releases/tag/0.121.1) [Compare Source](https://github.com/fastapi/fastapi/compare/0.121.0...0.121.1) ##### Fixes - 🐛 Fix `Depends(func, scope='function')` for top level (parameterless) dependencies. PR [#&#8203;14301](https://github.com/fastapi/fastapi/pull/14301) by [@&#8203;luzzodev](https://github.com/luzzodev). ##### Docs - 📝 Upate docs for advanced dependencies with `yield`, noting the changes in 0.121.0, adding `scope`. PR [#&#8203;14287](https://github.com/fastapi/fastapi/pull/14287) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Internal - ⬆ Bump ruff from 0.13.2 to 0.14.3. PR [#&#8203;14276](https://github.com/fastapi/fastapi/pull/14276) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;14289](https://github.com/fastapi/fastapi/pull/14289) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). ### [`v0.121.0`](https://github.com/fastapi/fastapi/releases/tag/0.121.0) [Compare Source](https://github.com/fastapi/fastapi/compare/0.120.4...0.121.0) ##### Features - ✨ Add support for dependencies with scopes, support `scope="request"` for dependencies with `yield` that exit before the response is sent. PR [#&#8203;14262](https://github.com/fastapi/fastapi/pull/14262) by [@&#8203;tiangolo](https://github.com/tiangolo). - New docs: [Dependencies with `yield` - Early exit and `scope`](https://fastapi.tiangolo.com/tutorial/dependencies/dependencies-with-yield/#early-exit-and-scope). ##### Internal - 👥 Update FastAPI People - Contributors and Translators. PR [#&#8203;14273](https://github.com/fastapi/fastapi/pull/14273) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👥 Update FastAPI People - Sponsors. PR [#&#8203;14274](https://github.com/fastapi/fastapi/pull/14274) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👥 Update FastAPI GitHub topic repositories. PR [#&#8203;14280](https://github.com/fastapi/fastapi/pull/14280) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ Bump mkdocs-macros-plugin from 1.4.0 to 1.4.1. PR [#&#8203;14277](https://github.com/fastapi/fastapi/pull/14277) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump mkdocstrings\[python] from 0.26.1 to 0.30.1. PR [#&#8203;14279](https://github.com/fastapi/fastapi/pull/14279) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). ### [`v0.120.4`](https://github.com/fastapi/fastapi/releases/tag/0.120.4) [Compare Source](https://github.com/fastapi/fastapi/compare/0.120.3...0.120.4) ##### Fixes - 🐛 Fix security schemes in OpenAPI when added at the top level app. PR [#&#8203;14266](https://github.com/fastapi/fastapi/pull/14266) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ### [`v0.120.3`](https://github.com/fastapi/fastapi/releases/tag/0.120.3) [Compare Source](https://github.com/fastapi/fastapi/compare/0.120.2...0.120.3) ##### Refactors - ♻️ Reduce internal cyclic recursion in dependencies, from 2 functions calling each other to 1 calling itself. PR [#&#8203;14256](https://github.com/fastapi/fastapi/pull/14256) by [@&#8203;tiangolo](https://github.com/tiangolo). - ♻️ Refactor internals of dependencies, simplify code and remove `get_param_sub_dependant`. PR [#&#8203;14255](https://github.com/fastapi/fastapi/pull/14255) by [@&#8203;tiangolo](https://github.com/tiangolo). - ♻️ Refactor internals of dependencies, simplify using dataclasses. PR [#&#8203;14254](https://github.com/fastapi/fastapi/pull/14254) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Docs - 📝 Update note for untranslated pages. PR [#&#8203;14257](https://github.com/fastapi/fastapi/pull/14257) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ### [`v0.120.2`](https://github.com/fastapi/fastapi/releases/tag/0.120.2) [Compare Source](https://github.com/fastapi/fastapi/compare/0.120.1...0.120.2) ##### Fixes - 🐛 Fix separation of schemas with nested models introduced in 0.119.0. PR [#&#8203;14246](https://github.com/fastapi/fastapi/pull/14246) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Internal - 🔧 Add sponsor: SerpApi. PR [#&#8203;14248](https://github.com/fastapi/fastapi/pull/14248) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ Bump actions/download-artifact from 5 to 6. PR [#&#8203;14236](https://github.com/fastapi/fastapi/pull/14236) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;14237](https://github.com/fastapi/fastapi/pull/14237) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). - ⬆ Bump actions/upload-artifact from 4 to 5. PR [#&#8203;14235](https://github.com/fastapi/fastapi/pull/14235) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). ### [`v0.120.1`](https://github.com/fastapi/fastapi/releases/tag/0.120.1) [Compare Source](https://github.com/fastapi/fastapi/compare/0.120.0...0.120.1) ##### Upgrades - ⬆️ Bump Starlette to <`0.50.0`. PR [#&#8203;14234](https://github.com/fastapi/fastapi/pull/14234) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ##### Internal - 🔧 Add `license` and `license-files` to `pyproject.toml`, remove `License` from `classifiers`. PR [#&#8203;14230](https://github.com/fastapi/fastapi/pull/14230) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ### [`v0.120.0`](https://github.com/fastapi/fastapi/releases/tag/0.120.0) [Compare Source](https://github.com/fastapi/fastapi/compare/0.119.1...0.120.0) There are no major nor breaking changes in this release. ☕️ The internal reference documentation now uses `annotated_doc.Doc` instead of `typing_extensions.Doc`, this adds a new (very small) dependency on [`annotated-doc`](https://github.com/fastapi/annotated-doc), a package made just to provide that `Doc` documentation utility class. I would expect `typing_extensions.Doc` to be deprecated and then removed at some point from `typing_extensions`, for that reason there's the new `annotated-doc` micro-package. If you are curious about this, you can read more in the repo for [`annotated-doc`](https://github.com/fastapi/annotated-doc). This new version `0.120.0` only contains that transition to the new home package for that utility class `Doc`. ##### Translations - 🌐 Sync German docs. PR [#&#8203;14188](https://github.com/fastapi/fastapi/pull/14188) by [@&#8203;nilslindemann](https://github.com/nilslindemann). ##### Internal - ➕ Migrate internal reference documentation from `typing_extensions.Doc` to `annotated_doc.Doc`. PR [#&#8203;14222](https://github.com/fastapi/fastapi/pull/14222) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🛠️ Update German LLM prompt and test file. PR [#&#8203;14189](https://github.com/fastapi/fastapi/pull/14189) by [@&#8203;nilslindemann](https://github.com/nilslindemann). - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;14181](https://github.com/fastapi/fastapi/pull/14181) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). ### [`v0.119.1`](https://github.com/fastapi/fastapi/releases/tag/0.119.1) [Compare Source](https://github.com/fastapi/fastapi/compare/0.119.0...0.119.1) ##### Fixes - 🐛 Fix internal Pydantic v1 compatibility (warnings) for Python 3.14 and Pydantic 2.12.1. PR [#&#8203;14186](https://github.com/fastapi/fastapi/pull/14186) by [@&#8203;svlandeg](https://github.com/svlandeg). ##### Docs - 📝 Replace `starlette.io` by `starlette.dev` and `uvicorn.org` by `uvicorn.dev`. PR [#&#8203;14176](https://github.com/fastapi/fastapi/pull/14176) by [@&#8203;Kludex](https://github.com/Kludex). ##### Internal - 🔧 Add sponsor Requestly. PR [#&#8203;14205](https://github.com/fastapi/fastapi/pull/14205) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Configure reminder for `waiting` label in `issue-manager`. PR [#&#8203;14156](https://github.com/fastapi/fastapi/pull/14156) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ### [`v0.119.0`](https://github.com/fastapi/fastapi/releases/tag/0.119.0) [Compare Source](https://github.com/fastapi/fastapi/compare/0.118.3...0.119.0) FastAPI now (temporarily) supports both Pydantic v2 models and `pydantic.v1` models 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**. ```Python from fastapi import FastAPI from pydantic import BaseModel as BaseModelV2 from pydantic.v1 import BaseModel class Item(BaseModel): name: str description: str | None = None class ItemV2(BaseModelV2): title: str summary: str | None = None app = FastAPI() @&#8203;app.post("/items/", response_model=ItemV2) def create_item(item: Item): return {"title": item.name, "summary": item.description} ``` 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](https://fastapi.tiangolo.com/how-to/migrate-from-pydantic-v1-to-pydantic-v2/). ##### Features - ✨ Add support for `from pydantic.v1 import BaseModel`, mixed Pydantic v1 and v2 models in the same app. PR [#&#8203;14168](https://github.com/fastapi/fastapi/pull/14168) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.118.3`](https://github.com/fastapi/fastapi/releases/tag/0.118.3) [Compare Source](https://github.com/fastapi/fastapi/compare/0.118.2...0.118.3) ##### Upgrades - ⬆️ Add support for Python 3.14. PR [#&#8203;14165](https://github.com/fastapi/fastapi/pull/14165) by [@&#8203;svlandeg](https://github.com/svlandeg). ### [`v0.118.2`](https://github.com/fastapi/fastapi/releases/tag/0.118.2) [Compare Source](https://github.com/fastapi/fastapi/compare/0.118.1...0.118.2) ##### Fixes - 🐛 Fix tagged discriminated union not recognized as body field. PR [#&#8203;12942](https://github.com/fastapi/fastapi/pull/12942) by [@&#8203;frankie567](https://github.com/frankie567). ##### Internal - ⬆ Bump astral-sh/setup-uv from 6 to 7. PR [#&#8203;14167](https://github.com/fastapi/fastapi/pull/14167) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). ### [`v0.118.1`](https://github.com/fastapi/fastapi/releases/tag/0.118.1) [Compare Source](https://github.com/fastapi/fastapi/compare/0.118.0...0.118.1) ##### Upgrades - 👽️ Ensure compatibility with Pydantic 2.12.0. PR [#&#8203;14036](https://github.com/fastapi/fastapi/pull/14036) by [@&#8203;cjwatson](https://github.com/cjwatson). ##### Docs - 📝 Add External Link: Getting started with logging in FastAPI. PR [#&#8203;14152](https://github.com/fastapi/fastapi/pull/14152) by [@&#8203;itssimon](https://github.com/itssimon). ##### Translations - 🔨 Add Russian translations LLM prompt. PR [#&#8203;13936](https://github.com/fastapi/fastapi/pull/13936) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Sync German docs. PR [#&#8203;14149](https://github.com/fastapi/fastapi/pull/14149) by [@&#8203;nilslindemann](https://github.com/nilslindemann). - 🌐 Add Russian translations for missing pages (LLM-generated). PR [#&#8203;14135](https://github.com/fastapi/fastapi/pull/14135) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 🌐 Update Russian translations for existing pages (LLM-generated). PR [#&#8203;14123](https://github.com/fastapi/fastapi/pull/14123) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 🌐 Remove configuration files for inactive translations. PR [#&#8203;14130](https://github.com/fastapi/fastapi/pull/14130) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Internal - 🔨 Move local coverage logic to its own script. PR [#&#8203;14166](https://github.com/fastapi/fastapi/pull/14166) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;14161](https://github.com/fastapi/fastapi/pull/14161) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). - ⬆ Bump griffe-typingdoc from 0.2.8 to 0.2.9. PR [#&#8203;14144](https://github.com/fastapi/fastapi/pull/14144) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump mkdocs-macros-plugin from 1.3.9 to 1.4.0. PR [#&#8203;14145](https://github.com/fastapi/fastapi/pull/14145) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump markdown-include-variants from 0.0.4 to 0.0.5. PR [#&#8203;14146](https://github.com/fastapi/fastapi/pull/14146) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;14126](https://github.com/fastapi/fastapi/pull/14126) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). - 👥 Update FastAPI GitHub topic repositories. PR [#&#8203;14150](https://github.com/fastapi/fastapi/pull/14150) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👥 Update FastAPI People - Sponsors. PR [#&#8203;14139](https://github.com/fastapi/fastapi/pull/14139) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👥 Update FastAPI People - Contributors and Translators. PR [#&#8203;14138](https://github.com/fastapi/fastapi/pull/14138) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ Bump ruff from 0.12.7 to 0.13.2. PR [#&#8203;14147](https://github.com/fastapi/fastapi/pull/14147) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump sqlmodel from 0.0.24 to 0.0.25. PR [#&#8203;14143](https://github.com/fastapi/fastapi/pull/14143) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump tiangolo/issue-manager from 0.5.1 to 0.6.0. PR [#&#8203;14148](https://github.com/fastapi/fastapi/pull/14148) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - 👷 Update docs previews comment, single comment, add failure status. PR [#&#8203;14129](https://github.com/fastapi/fastapi/pull/14129) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔨 Modify `mkdocs_hooks.py` to add `title` to page's metadata (remove permalinks in social cards). PR [#&#8203;14125](https://github.com/fastapi/fastapi/pull/14125) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ### [`v0.118.0`](https://github.com/fastapi/fastapi/releases/tag/0.118.0) [Compare Source](https://github.com/fastapi/fastapi/compare/0.117.1...0.118.0) #### 0.118.0 ##### Fixes - 🐛 Fix support for `StreamingResponse`s with dependencies with `yield` or `UploadFile`s, close after the response is done. PR [#&#8203;14099](https://github.com/fastapi/fastapi/pull/14099) by [@&#8203;tiangolo](https://github.com/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 with `yield` would have been already run. For example, if you had a database session in a dependency with `yield`, the `StreamingResponse` would not be able to use that session while streaming data because the session would have already been closed in the exit code after `yield`. This behavior was reverted in 0.118.0, to make the exit code after `yield` be executed after the response is sent. You can read more about it in the docs for [Advanced Dependencies - Dependencies with `yield`, `HTTPException`, `except` and Background Tasks](https://fastapi.tiangolo.com/advanced/advanced-dependencies#dependencies-with-yield-httpexception-except-and-background-tasks). Including what you could do if you wanted to close a database session earlier, before returning the response to the client. ##### Docs - 📝 Update `tutorial/security/oauth2-jwt/` to use `pwdlib` with Argon2 instead of `passlib`. PR [#&#8203;13917](https://github.com/fastapi/fastapi/pull/13917) by [@&#8203;Neizvestnyj](https://github.com/Neizvestnyj). - ✏️ Fix typos in OAuth2 password request forms. PR [#&#8203;14112](https://github.com/fastapi/fastapi/pull/14112) by [@&#8203;alv2017](https://github.com/alv2017). - 📝 Update contributing guidelines for installing requirements. PR [#&#8203;14095](https://github.com/fastapi/fastapi/pull/14095) by [@&#8203;alejsdev](https://github.com/alejsdev). ##### Translations - 🌐 Sync German docs. PR [#&#8203;14098](https://github.com/fastapi/fastapi/pull/14098) by [@&#8203;nilslindemann](https://github.com/nilslindemann). ##### Internal - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;14103](https://github.com/fastapi/fastapi/pull/14103) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). - ♻️ Refactor sponsor image handling. PR [#&#8203;14102](https://github.com/fastapi/fastapi/pull/14102) by [@&#8203;alejsdev](https://github.com/alejsdev). - 🐛 Fix sponsor display issue by hiding element on image error. PR [#&#8203;14097](https://github.com/fastapi/fastapi/pull/14097) by [@&#8203;alejsdev](https://github.com/alejsdev). - 🐛 Hide sponsor badge when sponsor image is not displayed. PR [#&#8203;14096](https://github.com/fastapi/fastapi/pull/14096) by [@&#8203;alejsdev](https://github.com/alejsdev). ### [`v0.117.1`](https://github.com/fastapi/fastapi/releases/tag/0.117.1) [Compare Source](https://github.com/fastapi/fastapi/compare/0.117.0...0.117.1) ##### Fixes - 🐛 Fix validation error when `File` is declared after `Form` parameter. PR [#&#8203;11194](https://github.com/fastapi/fastapi/pull/11194) by [@&#8203;thomasleveil](https://github.com/thomasleveil). ### [`v0.117.0`](https://github.com/fastapi/fastapi/releases/tag/0.117.0) [Compare Source](https://github.com/fastapi/fastapi/compare/0.116.2...0.117.0) ##### Features - ✨ Allow `None` as return type for bodiless responses. PR [#&#8203;9425](https://github.com/fastapi/fastapi/pull/9425) by [@&#8203;hofrob](https://github.com/hofrob). - ✨ Allow array values for OpenAPI schema `type` field. PR [#&#8203;13639](https://github.com/fastapi/fastapi/pull/13639) by [@&#8203;sammasak](https://github.com/sammasak). - ✨ Add OpenAPI `external_docs` parameter to `FastAPI`. PR [#&#8203;13713](https://github.com/fastapi/fastapi/pull/13713) by [@&#8203;cmtoro](https://github.com/cmtoro). ##### Fixes - ⚡️ Fix `default_factory` for response model field with Pydantic V1. PR [#&#8203;9704](https://github.com/fastapi/fastapi/pull/9704) by [@&#8203;vvanglro](https://github.com/vvanglro). - 🐛 Fix inconsistent processing of model docstring formfeed char with Pydantic V1. PR [#&#8203;6039](https://github.com/fastapi/fastapi/pull/6039) by [@&#8203;MaxwellPayne](https://github.com/MaxwellPayne). - 🐛 Fix `jsonable_encoder` alters `json_encoders` of Pydantic v1 objects. PR [#&#8203;4972](https://github.com/fastapi/fastapi/pull/4972) by [@&#8203;aboubacs](https://github.com/aboubacs). - 🐛 Reenable `allow_arbitrary_types` when only 1 argument is used on the API endpoint. PR [#&#8203;13694](https://github.com/fastapi/fastapi/pull/13694) by [@&#8203;rmawatson](https://github.com/rmawatson). - 🐛 Fix `inspect.getcoroutinefunction()` can break testing with `unittest.mock.patch()`. PR [#&#8203;14022](https://github.com/fastapi/fastapi/pull/14022) by [@&#8203;secrett2633](https://github.com/secrett2633). ##### Refactors - ♻️ Create `dependency-cache` dict in `solve_dependencies` only if `None` (don't re-create if empty). PR [#&#8203;13689](https://github.com/fastapi/fastapi/pull/13689) by [@&#8203;bokshitsky](https://github.com/bokshitsky). - ✅ Enable test case for duplicated headers in `test_tutorial/test_header_params/test_tutorial003.py`. PR [#&#8203;13864](https://github.com/fastapi/fastapi/pull/13864) by [@&#8203;Amogha-ark](https://github.com/Amogha-ark). - 📌 Pin `httpx` to `>=0.23.0,<1.0.0`. PR [#&#8203;14086](https://github.com/fastapi/fastapi/pull/14086) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ##### Docs - 📝 Add note about Cookies and JavaScript on `tutorial/cookie-params.md`. PR [#&#8203;13510](https://github.com/fastapi/fastapi/pull/13510) by [@&#8203;Kludex](https://github.com/Kludex). - 📝 Remove outdated formatting from `path-params-numeric-validations.md` for languages `en`, `es` and `uk`.. PR [#&#8203;14059](https://github.com/fastapi/fastapi/pull/14059) by [@&#8203;svlandeg](https://github.com/svlandeg). - 📝 Fix and Improve English Documentation. PR [#&#8203;14048](https://github.com/fastapi/fastapi/pull/14048) by [@&#8203;nilslindemann](https://github.com/nilslindemann). ##### Translations - 📝 Update prompts and German translation. PR [#&#8203;14015](https://github.com/fastapi/fastapi/pull/14015) by [@&#8203;nilslindemann](https://github.com/nilslindemann). ##### Internal - ✅ Simplify tests for response\_model. PR [#&#8203;14062](https://github.com/fastapi/fastapi/pull/14062) by [@&#8203;dynamicy](https://github.com/dynamicy). - 🚨 Install pydantic.mypy plugin. PR [#&#8203;14081](https://github.com/fastapi/fastapi/pull/14081) by [@&#8203;svlandeg](https://github.com/svlandeg). - ✅ Add LLM test file. PR [#&#8203;14049](https://github.com/fastapi/fastapi/pull/14049) by [@&#8203;nilslindemann](https://github.com/nilslindemann). - 🔨 Update translations script. PR [#&#8203;13968](https://github.com/fastapi/fastapi/pull/13968) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 🛠️ Update `docs.py generate-readme` command to remove permalinks from headers. PR [#&#8203;14055](https://github.com/fastapi/fastapi/pull/14055) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - ⬆️ Update mypy to 1.14.1. PR [#&#8203;12970](https://github.com/fastapi/fastapi/pull/12970) by [@&#8203;tamird](https://github.com/tamird). ### [`v0.116.2`](https://github.com/fastapi/fastapi/releases/tag/0.116.2) [Compare Source](https://github.com/fastapi/fastapi/compare/0.116.1...0.116.2) ##### Upgrades - ⬆️ Upgrade Starlette supported version range to >=0.40.0,<0.49.0. PR [#&#8203;14077](https://github.com/fastapi/fastapi/pull/14077) by [@&#8203;musicinmybrain](https://github.com/musicinmybrain). ##### Docs - 📝 Add documentation for Behind a Proxy - Proxy Forwarded Headers, using `--forwarded-allow-ips="*"`. PR [#&#8203;14028](https://github.com/fastapi/fastapi/pull/14028) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Add deprecation info block about `dict()` in `docs/tutorial/body.md`. PR [#&#8203;13906](https://github.com/fastapi/fastapi/pull/13906) by [@&#8203;jomkv](https://github.com/jomkv). - 📝 Fix Twitter to be X (Twitter) everywhere in documentation. PR [#&#8203;13809](https://github.com/fastapi/fastapi/pull/13809) by [@&#8203;valentinDruzhinin](https://github.com/valentinDruzhinin). - 🐛 Prevent scroll-to-top on restart/fast buttons in `termynal.js`. PR [#&#8203;13714](https://github.com/fastapi/fastapi/pull/13714) by [@&#8203;Ashish-Pandey62](https://github.com/Ashish-Pandey62). - 📝 Update testing events documentation. PR [#&#8203;13259](https://github.com/fastapi/fastapi/pull/13259) by [@&#8203;z0z0r4](https://github.com/z0z0r4). - 📝 Remove obsolete `url` field in error responses in docs. PR [#&#8203;13655](https://github.com/fastapi/fastapi/pull/13655) by [@&#8203;Taoup](https://github.com/Taoup). - 📝 Bring the `scope` claim in line with the standard in `docs_src/security/tutorial005.py`. PR [#&#8203;11189](https://github.com/fastapi/fastapi/pull/11189) by [@&#8203;DurandA](https://github.com/DurandA). - 📝 Update TrustedHostMiddleware Documentation. PR [#&#8203;11441](https://github.com/fastapi/fastapi/pull/11441) by [@&#8203;soulee-dev](https://github.com/soulee-dev). - 📝 Remove links to site callbackhell.com that doesn't exist anymore. PR [#&#8203;14006](https://github.com/fastapi/fastapi/pull/14006) by [@&#8203;dennybiasiolli](https://github.com/dennybiasiolli). - 📝 Add permalinks to headers in English docs. PR [#&#8203;13993](https://github.com/fastapi/fastapi/pull/13993) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 📝 Update `docs/en/docs/advanced/generate-clients.md`. PR [#&#8203;13793](https://github.com/fastapi/fastapi/pull/13793) by [@&#8203;mrlubos](https://github.com/mrlubos). - 📝 Add discussion template for new language translation requests. PR [#&#8203;13535](https://github.com/fastapi/fastapi/pull/13535) by [@&#8203;alejsdev](https://github.com/alejsdev). ##### Translations - 📝 Fix code include for Pydantic models example in `docs/zh/docs/python-types.md`. PR [#&#8203;13997](https://github.com/fastapi/fastapi/pull/13997) by [@&#8203;anfreshman](https://github.com/anfreshman). - 🌐 Update Portuguese Translation for `docs/pt/docs/async.md`. PR [#&#8203;13863](https://github.com/fastapi/fastapi/pull/13863) by [@&#8203;EdmilsonRodrigues](https://github.com/EdmilsonRodrigues). - 📝 Fix highlight line in `docs/ja/docs/tutorial/body.md`. PR [#&#8203;13927](https://github.com/fastapi/fastapi/pull/13927) by [@&#8203;KoyoMiyazaki](https://github.com/KoyoMiyazaki). - 🌐 Add Persian translation for `docs/fa/docs/environment-variables.md`. PR [#&#8203;13923](https://github.com/fastapi/fastapi/pull/13923) by [@&#8203;Mohammad222PR](https://github.com/Mohammad222PR). - 🌐 Add Persian translation for `docs/fa/docs/python-types.md`. PR [#&#8203;13524](https://github.com/fastapi/fastapi/pull/13524) by [@&#8203;Mohammad222PR](https://github.com/Mohammad222PR). - 🌐 Update Portuguese Translation for `docs/pt/docs/project-generation.md`. PR [#&#8203;13875](https://github.com/fastapi/fastapi/pull/13875) by [@&#8203;EdmilsonRodrigues](https://github.com/EdmilsonRodrigues). - 🌐 Add Persian translation for `docs/fa/docs/async.md`. PR [#&#8203;13541](https://github.com/fastapi/fastapi/pull/13541) by [@&#8203;Mohammad222PR](https://github.com/Mohammad222PR). - 🌐 Add Bangali translation for `docs/bn/about/index.md`. PR [#&#8203;13882](https://github.com/fastapi/fastapi/pull/13882) by [@&#8203;sajjadrahman56](https://github.com/sajjadrahman56). ##### Internal - ⬆ Bump pyjwt from 2.8.0 to 2.9.0. PR [#&#8203;13960](https://github.com/fastapi/fastapi/pull/13960) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;14080](https://github.com/fastapi/fastapi/pull/14080) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). - ⬆ Bump actions/setup-python from 5 to 6. PR [#&#8203;14042](https://github.com/fastapi/fastapi/pull/14042) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump actions/labeler from 5 to 6. PR [#&#8203;14046](https://github.com/fastapi/fastapi/pull/14046) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;14056](https://github.com/fastapi/fastapi/pull/14056) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;14035](https://github.com/fastapi/fastapi/pull/14035) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). - ⬆ Bump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0. PR [#&#8203;14041](https://github.com/fastapi/fastapi/pull/14041) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - 👥 Update FastAPI People - Contributors and Translators. PR [#&#8203;14029](https://github.com/fastapi/fastapi/pull/14029) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👥 Update FastAPI People - Sponsors. PR [#&#8203;14030](https://github.com/fastapi/fastapi/pull/14030) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👥 Update FastAPI GitHub topic repositories. PR [#&#8203;14031](https://github.com/fastapi/fastapi/pull/14031) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👥 Update FastAPI People - Experts. PR [#&#8203;14034](https://github.com/fastapi/fastapi/pull/14034) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👷 Detect and label merge conflicts on PRs automatically. PR [#&#8203;14045](https://github.com/fastapi/fastapi/pull/14045) by [@&#8203;svlandeg](https://github.com/svlandeg). - 🔧 Update sponsors: remove Platform.sh. PR [#&#8203;14027](https://github.com/fastapi/fastapi/pull/14027) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Update sponsors: remove Mobb. PR [#&#8203;14026](https://github.com/fastapi/fastapi/pull/14026) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🛠️ Update `mkdocs_hooks` to handle headers with permalinks when building docs. PR [#&#8203;14025](https://github.com/fastapi/fastapi/pull/14025) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;14016](https://github.com/fastapi/fastapi/pull/14016) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). - ⬆ Bump `mkdocs-macros-plugin` from 1.3.7 to 1.3.9. PR [#&#8203;14003](https://github.com/fastapi/fastapi/pull/14003) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;13999](https://github.com/fastapi/fastapi/pull/13999) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;13983](https://github.com/fastapi/fastapi/pull/13983) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). - ⬆ Bump actions/checkout from 4 to 5. PR [#&#8203;13986](https://github.com/fastapi/fastapi/pull/13986) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - 🔧 Update Speakeasy sponsor graphic. PR [#&#8203;13971](https://github.com/fastapi/fastapi/pull/13971) by [@&#8203;chailandau](https://github.com/chailandau). - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;13969](https://github.com/fastapi/fastapi/pull/13969) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). - ⬆ Bump actions/download-artifact from 4 to 5. PR [#&#8203;13975](https://github.com/fastapi/fastapi/pull/13975) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - 👥 Update FastAPI People - Experts. PR [#&#8203;13963](https://github.com/fastapi/fastapi/pull/13963) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ Bump ruff from 0.11.2 to 0.12.7. PR [#&#8203;13957](https://github.com/fastapi/fastapi/pull/13957) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump cairosvg from 2.7.1 to 2.8.2. PR [#&#8203;13959](https://github.com/fastapi/fastapi/pull/13959) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump pydantic-ai from 0.0.30 to 0.4.10. PR [#&#8203;13958](https://github.com/fastapi/fastapi/pull/13958) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - 👥 Update FastAPI GitHub topic repositories. PR [#&#8203;13962](https://github.com/fastapi/fastapi/pull/13962) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ Bump mkdocs-material from 9.6.15 to 9.6.16. PR [#&#8203;13961](https://github.com/fastapi/fastapi/pull/13961) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump tiangolo/latest-changes from 0.3.2 to 0.4.0. PR [#&#8203;13952](https://github.com/fastapi/fastapi/pull/13952) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - 👥 Update FastAPI People - Sponsors. PR [#&#8203;13956](https://github.com/fastapi/fastapi/pull/13956) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👥 Update FastAPI People - Contributors and Translators. PR [#&#8203;13955](https://github.com/fastapi/fastapi/pull/13955) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Update sponsors: Databento link and sponsors\_badge data. PR [#&#8203;13954](https://github.com/fastapi/fastapi/pull/13954) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Update sponsors: Add Railway. PR [#&#8203;13953](https://github.com/fastapi/fastapi/pull/13953) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⚒️ Update translate script, update prompt to minimize generated diff. PR [#&#8203;13947](https://github.com/fastapi/fastapi/pull/13947) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;13943](https://github.com/fastapi/fastapi/pull/13943) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). - ⚒️ Tweak translate script and CI. PR [#&#8203;13939](https://github.com/fastapi/fastapi/pull/13939) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👷 Add CI to translate with LLMs. PR [#&#8203;13937](https://github.com/fastapi/fastapi/pull/13937) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⚒️ Update translate script, show and update outdated translations. PR [#&#8203;13933](https://github.com/fastapi/fastapi/pull/13933) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔨 Refactor translate script with extra feedback (prints). PR [#&#8203;13932](https://github.com/fastapi/fastapi/pull/13932) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔨 Update translations script to remove old (removed) files. PR [#&#8203;13928](https://github.com/fastapi/fastapi/pull/13928) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;13894](https://github.com/fastapi/fastapi/pull/13894) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). - ⬆ Update httpx requirement to >=0.23.0,<0.29.0. PR [#&#8203;13114](https://github.com/fastapi/fastapi/pull/13114) by [@&#8203;yan12125](https://github.com/yan12125). - 🔧 Update sponsors: Add Mobb. PR [#&#8203;13916](https://github.com/fastapi/fastapi/pull/13916) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👥 Update FastAPI People - Experts. PR [#&#8203;13889](https://github.com/fastapi/fastapi/pull/13889) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔨 Update FastAPI People sleep interval, use external settings. PR [#&#8203;13888](https://github.com/fastapi/fastapi/pull/13888) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.116.1`](https://github.com/fastapi/fastapi/releases/tag/0.116.1) [Compare Source](https://github.com/fastapi/fastapi/compare/0.116.0...0.116.1) ##### Upgrades - ⬆️ Upgrade Starlette supported version range to `>=0.40.0,<0.48.0`. PR [#&#8203;13884](https://github.com/fastapi/fastapi/pull/13884) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Docs - 📝 Add notification about impending changes in Translations to `docs/en/docs/contributing.md`. PR [#&#8203;13886](https://github.com/fastapi/fastapi/pull/13886) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ##### Internal - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;13871](https://github.com/fastapi/fastapi/pull/13871) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). ### [`v0.116.0`](https://github.com/fastapi/fastapi/releases/tag/0.116.0) [Compare Source](https://github.com/fastapi/fastapi/compare/0.115.14...0.116.0) ##### Features - ✨ Add support for deploying to FastAPI Cloud with `fastapi deploy`. PR [#&#8203;13870](https://github.com/fastapi/fastapi/pull/13870) by [@&#8203;tiangolo](https://github.com/tiangolo). Installing `fastapi[standard]` now includes `fastapi-cloud-cli`. This will allow you to deploy to [FastAPI Cloud](https://fastapicloud.com) with the `fastapi deploy` command. If you want to install `fastapi` with the standard dependencies but without `fastapi-cloud-cli`, you can install instead `fastapi[standard-no-fastapi-cloud-cli]`. ##### Translations - 🌐 Add Russian translation for `docs/ru/docs/advanced/response-directly.md`. PR [#&#8203;13801](https://github.com/fastapi/fastapi/pull/13801) by [@&#8203;NavesSapnis](https://github.com/NavesSapnis). - 🌐 Add Russian translation for `docs/ru/docs/advanced/additional-status-codes.md`. PR [#&#8203;13799](https://github.com/fastapi/fastapi/pull/13799) by [@&#8203;NavesSapnis](https://github.com/NavesSapnis). - 🌐 Add Ukrainian translation for `docs/uk/docs/tutorial/body-updates.md`. PR [#&#8203;13804](https://github.com/fastapi/fastapi/pull/13804) by [@&#8203;valentinDruzhinin](https://github.com/valentinDruzhinin). ##### Internal - ⬆ Bump pillow from 11.1.0 to 11.3.0. PR [#&#8203;13852](https://github.com/fastapi/fastapi/pull/13852) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - 👥 Update FastAPI People - Sponsors. PR [#&#8203;13846](https://github.com/fastapi/fastapi/pull/13846) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👥 Update FastAPI GitHub topic repositories. PR [#&#8203;13848](https://github.com/fastapi/fastapi/pull/13848) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ Bump mkdocs-material from 9.6.1 to 9.6.15. PR [#&#8203;13849](https://github.com/fastapi/fastapi/pull/13849) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;13843](https://github.com/fastapi/fastapi/pull/13843) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). - 👥 Update FastAPI People - Contributors and Translators. PR [#&#8203;13845](https://github.com/fastapi/fastapi/pull/13845) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.115.14`](https://github.com/fastapi/fastapi/releases/tag/0.115.14) [Compare Source](https://github.com/fastapi/fastapi/compare/0.115.13...0.115.14) ##### Fixes - 🐛 Fix support for unions when using `Form`. PR [#&#8203;13827](https://github.com/fastapi/fastapi/pull/13827) by [@&#8203;patrick91](https://github.com/patrick91). ##### Docs - ✏️ Fix grammar mistake in `docs/en/docs/advanced/response-directly.md`. PR [#&#8203;13800](https://github.com/fastapi/fastapi/pull/13800) by [@&#8203;NavesSapnis](https://github.com/NavesSapnis). - 📝 Update Speakeasy URL to Speakeasy Sandbox. PR [#&#8203;13697](https://github.com/fastapi/fastapi/pull/13697) by [@&#8203;ndimares](https://github.com/ndimares). ##### Translations - 🌐 Add Ukrainian translation for `docs/uk/docs/tutorial/response-model.md`. PR [#&#8203;13792](https://github.com/fastapi/fastapi/pull/13792) by [@&#8203;valentinDruzhinin](https://github.com/valentinDruzhinin). - 🌐 Add Ukrainian translation for `docs/uk/docs/tutorial/security/index.md`. PR [#&#8203;13805](https://github.com/fastapi/fastapi/pull/13805) by [@&#8203;valentinDruzhinin](https://github.com/valentinDruzhinin). - ✏️ Fix typo in `docs/ja/docs/tutorial/encoder.md`. PR [#&#8203;13815](https://github.com/fastapi/fastapi/pull/13815) by [@&#8203;ruzia](https://github.com/ruzia). - ✏️ Fix typo in `docs/ja/docs/tutorial/handling-errors.md`. PR [#&#8203;13814](https://github.com/fastapi/fastapi/pull/13814) by [@&#8203;ruzia](https://github.com/ruzia). - ✏️ Fix typo in `docs/ja/docs/tutorial/body-fields.md`. PR [#&#8203;13802](https://github.com/fastapi/fastapi/pull/13802) by [@&#8203;ruzia](https://github.com/ruzia). - 🌐 Add Russian translation for `docs/ru/docs/advanced/index.md`. PR [#&#8203;13797](https://github.com/fastapi/fastapi/pull/13797) by [@&#8203;NavesSapnis](https://github.com/NavesSapnis). ##### Internal - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;13823](https://github.com/fastapi/fastapi/pull/13823) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). ### [`v0.115.13`](https://github.com/fastapi/fastapi/releases/tag/0.115.13) [Compare Source](https://github.com/fastapi/fastapi/compare/0.115.12...0.115.13) ##### Fixes - 🐛 Fix truncating the model's description with form feed (`\f`) character for Pydantic V2. PR [#&#8203;13698](https://github.com/fastapi/fastapi/pull/13698) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). ##### Refactors - ✨ Add `refreshUrl` parameter in `OAuth2PasswordBearer`. PR [#&#8203;11460](https://github.com/fastapi/fastapi/pull/11460) by [@&#8203;snosratiershad](https://github.com/snosratiershad). - 🚸 Set format to password for fields `password` and `client_secret` in `OAuth2PasswordRequestForm`, make docs show password fields for passwords. PR [#&#8203;11032](https://github.com/fastapi/fastapi/pull/11032) by [@&#8203;Thodoris1999](https://github.com/Thodoris1999). - ✅ Simplify tests for `settings`. PR [#&#8203;13505](https://github.com/fastapi/fastapi/pull/13505) by [@&#8203;valentinDruzhinin](https://github.com/valentinDruzhinin). - ✅ Simplify tests for `validate_response_recursive`. PR [#&#8203;13507](https://github.com/fastapi/fastapi/pull/13507) by [@&#8203;valentinDruzhinin](https://github.com/valentinDruzhinin). ##### Upgrades - ⬆️ Update ReDoc to version 2.x. PR [#&#8203;9700](https://github.com/fastapi/fastapi/pull/9700) by [@&#8203;joakimnordling](https://github.com/joakimnordling). ##### Docs - 📝 Add annotations to HTTP middleware example. PR [#&#8203;11530](https://github.com/fastapi/fastapi/pull/11530) by [@&#8203;Kilo59](https://github.com/Kilo59). - 📝 Clarify in CORS docs that wildcards and credentials are mutually exclusive. PR [#&#8203;9829](https://github.com/fastapi/fastapi/pull/9829) by [@&#8203;dfioravanti](https://github.com/dfioravanti). - ✏️ Fix typo in docstring. PR [#&#8203;13532](https://github.com/fastapi/fastapi/pull/13532) by [@&#8203;comp64](https://github.com/comp64). - 📝 Clarify guidance on using `async def` without `await`. PR [#&#8203;13642](https://github.com/fastapi/fastapi/pull/13642) by [@&#8203;swastikpradhan1999](https://github.com/swastikpradhan1999). - 📝 Update exclude-parameters-from-openapi documentation links. PR [#&#8203;13600](https://github.com/fastapi/fastapi/pull/13600) by [@&#8203;timonrieger](https://github.com/timonrieger). - 📝 Clarify the middleware execution order in docs. PR [#&#8203;13699](https://github.com/fastapi/fastapi/pull/13699) by [@&#8203;YuriiMotov](https://github.com/YuriiMotov). - 🍱 Update Drawio diagrams SVGs, single file per diagram, sans-serif font. PR [#&#8203;13706](https://github.com/fastapi/fastapi/pull/13706) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Update docs for "Help FastAPI", simplify and reduce "sponsor" section. PR [#&#8203;13670](https://github.com/fastapi/fastapi/pull/13670) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Remove unnecessary bullet from docs. PR [#&#8203;13641](https://github.com/fastapi/fastapi/pull/13641) by [@&#8203;Adamowoc](https://github.com/Adamowoc). - ✏️ Fix syntax error in `docs/en/docs/tutorial/handling-errors.md`. PR [#&#8203;13623](https://github.com/fastapi/fastapi/pull/13623) by [@&#8203;gsheni](https://github.com/gsheni). - 📝 Fix typo in documentation. PR [#&#8203;13599](https://github.com/fastapi/fastapi/pull/13599) by [@&#8203;Taoup](https://github.com/Taoup). - 📝 Fix liblab client generation doc link. PR [#&#8203;13571](https://github.com/fastapi/fastapi/pull/13571) by [@&#8203;EFord36](https://github.com/EFord36). - ✏️ Fix talk information typo. PR [#&#8203;13544](https://github.com/fastapi/fastapi/pull/13544) by [@&#8203;blueswen](https://github.com/blueswen). - 📝 Add External Link: Taiwanese talk on FastAPI with observability . PR [#&#8203;13527](https://github.com/fastapi/fastapi/pull/13527) by [@&#8203;blueswen](https://github.com/blueswen). ##### Translations - 🌐 Add Russian Translation for `docs/ru/docs/advanced/response-change-status-code.md`. PR [#&#8203;13791](https://github.com/fastapi/fastapi/pull/13791) by [@&#8203;NavesSapnis](https://github.com/NavesSapnis). - 🌐 Add Persian translation for `docs/fa/docs/learn/index.md`. PR [#&#8203;13518](https://github.com/fastapi/fastapi/pull/13518) by [@&#8203;Mohammad222PR](https://github.com/Mohammad222PR). - 🌐 Add Korean translation for `docs/ko/docs/advanced/sub-applications.md`. PR [#&#8203;4543](https://github.com/fastapi/fastapi/pull/4543) by [@&#8203;NinaHwang](https://github.com/NinaHwang). - 🌐 Add Ukrainian translation for `docs/uk/docs/tutorial/schema-extra-example.md`. PR [#&#8203;13769](https://github.com/fastapi/fastapi/pull/13769) by [@&#8203;valentinDruzhinin](https://github.com/valentinDruzhinin). - ✏️ Remove redundant words in docs/zh/docs/python-types.md. PR [#&#8203;13774](https://github.com/fastapi/fastapi/pull/13774) by [@&#8203;CharleeWa](https://github.com/CharleeWa). - 🌐 Add Ukrainian translation for `docs/uk/docs/tutorial/query-param-models.md`. PR [#&#8203;13748](https://github.com/fastapi/fastapi/pull/13748) by [@&#8203;valentinDruzhinin](https://github.com/valentinDruzhinin). - 🌐 Add Bengali translation for `docs/bn/docs/environment-variables.md`. PR [#&#8203;13629](https://github.com/fastapi/fastapi/pull/13629) by [@&#8203;SakibSibly](https://github.com/SakibSibly). - 🌐 Add Ukrainian translation for `docs/uk/docs/tutorial/query-params-str-validations.md` page. PR [#&#8203;13546](https://github.com/fastapi/fastapi/pull/13546) by [@&#8203;valentinDruzhinin](https://github.com/valentinDruzhinin). - 🌐 Add Russian translation for `docs/ru/docs/tutorial/cookie-param-models.md`. PR [#&#8203;13616](https://github.com/fastapi/fastapi/pull/13616) by [@&#8203;EgorOnishchuk](https://github.com/EgorOnishchuk). - 🌐 Add Korean translation for `docs/ko/docs/tutorial/extra-models.md`. PR [#&#8203;13063](https://github.com/fastapi/fastapi/pull/13063) by [@&#8203;timothy-jeong](https://github.com/timothy-jeong). - 🌐 Add Ukrainian translation for `docs/uk/docs/tutorial/path-params-numeric-validations.md` page. PR [#&#8203;13548](https://github.com/fastapi/fastapi/pull/13548) by [@&#8203;valentinDruzhinin](https://github.com/valentinDruzhinin). - 🌐 Add Ukrainian translation for `docs/uk/docs/tutorial/middleware.md` page. PR [#&#8203;13520](https://github.com/fastapi/fastapi/pull/13520) by [@&#8203;valentinDruzhinin](https://github.com/valentinDruzhinin). - 🌐 Add Ukrainian translation for `docs/uk/docs/tutorial/background-tasks.md` page. PR [#&#8203;13502](https://github.com/fastapi/fastapi/pull/13502) by [@&#8203;valentinDruzhinin](https://github.com/valentinDruzhinin). - 🌐 Add Ukrainian translation for `docs/uk/docs/tutorial/cors.md` page. PR [#&#8203;13519](https://github.com/fastapi/fastapi/pull/13519) by [@&#8203;valentinDruzhinin](https://github.com/valentinDruzhinin). - 🌐 Update Korean translation for `docs/ko/docs/advanced/events.md`. PR [#&#8203;13487](https://github.com/fastapi/fastapi/pull/13487) by [@&#8203;bom1215](https://github.com/bom1215). - 🌐 Add Ukrainian translation for `docs/uk/docs/tutorial/handling-errors.md` page. PR [#&#8203;13420](https://github.com/fastapi/fastapi/pull/13420) by [@&#8203;valentinDruzhinin](https://github.com/valentinDruzhinin). - 🌐 Add Russian translation for `docs/ru/docs/tutorial/request-form-models.md`. PR [#&#8203;13552](https://github.com/fastapi/fastapi/pull/13552) by [@&#8203;EgorOnishchuk](https://github.com/EgorOnishchuk). - 📝 Fix internal anchor link in Spanish deployment docs. PR [#&#8203;13737](https://github.com/fastapi/fastapi/pull/13737) by [@&#8203;fabianfalon](https://github.com/fabianfalon). - 🌐 Update Korean translation for `docs/ko/docs/virtual-environments.md`. PR [#&#8203;13630](https://github.com/fastapi/fastapi/pull/13630) by [@&#8203;sungchan1](https://github.com/sungchan1). - 🌐 Add Russian translation for `docs/ru/docs/tutorial/header-param-models.md`. PR [#&#8203;13526](https://github.com/fastapi/fastapi/pull/13526) by [@&#8203;minaton-ru](https://github.com/minaton-ru). - 🌐 Update Chinese translation for `docs/zh/docs/tutorial/index.md`. PR [#&#8203;13374](https://github.com/fastapi/fastapi/pull/13374) by [@&#8203;Zhongheng-Cheng](https://github.com/Zhongheng-Cheng). - 🌐 Update Chinese translation for `docs/zh/docs/deployment/manually.md`. PR [#&#8203;13324](https://github.com/fastapi/fastapi/pull/13324) by [@&#8203;Zhongheng-Cheng](https://github.com/Zhongheng-Cheng). - 🌐 Update Chinese translation for `docs/zh/docs/deployment/server-workers.md`. PR [#&#8203;13292](https://github.com/fastapi/fastapi/pull/13292) by [@&#8203;Zhongheng-Cheng](https://github.com/Zhongheng-Cheng). - 🌐 Update Chinese translation for `docs/zh/docs/tutorial/first-steps.md`. PR [#&#8203;13348](https://github.com/fastapi/fastapi/pull/13348) by [@&#8203;Zhongheng-Cheng](https://github.com/Zhongheng-Cheng). ##### Internal - 🔨 Resolve Pydantic deprecation warnings in internal script. PR [#&#8203;13696](https://github.com/fastapi/fastapi/pull/13696) by [@&#8203;emmanuel-ferdman](https://github.com/emmanuel-ferdman). - 🔧 Update sponsors: remove Porter. PR [#&#8203;13783](https://github.com/fastapi/fastapi/pull/13783) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;13781](https://github.com/fastapi/fastapi/pull/13781) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;13757](https://github.com/fastapi/fastapi/pull/13757) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). - ⬆ Bump griffe-typingdoc from 0.2.7 to 0.2.8. PR [#&#8203;13751](https://github.com/fastapi/fastapi/pull/13751) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - 🍱 Update sponsors: Dribia badge size. PR [#&#8203;13773](https://github.com/fastapi/fastapi/pull/13773) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Update sponsors: add Dribia. PR [#&#8203;13771](https://github.com/fastapi/fastapi/pull/13771) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ Bump typer from 0.15.3 to 0.16.0. PR [#&#8203;13752](https://github.com/fastapi/fastapi/pull/13752) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - 👥 Update FastAPI GitHub topic repositories. PR [#&#8203;13754](https://github.com/fastapi/fastapi/pull/13754) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👥 Update FastAPI People - Sponsors. PR [#&#8203;13750](https://github.com/fastapi/fastapi/pull/13750) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👥 Update FastAPI People - Contributors and Translators. PR [#&#8203;13749](https://github.com/fastapi/fastapi/pull/13749) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;13736](https://github.com/fastapi/fastapi/pull/13736) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). - 🔧 Update sponsors: Add InterviewPal. PR [#&#8203;13728](https://github.com/fastapi/fastapi/pull/13728) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Remove Google Analytics. PR [#&#8203;13727](https://github.com/fastapi/fastapi/pull/13727) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Update sponsors: remove MongoDB. PR [#&#8203;13725](https://github.com/fastapi/fastapi/pull/13725) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;13711](https://github.com/fastapi/fastapi/pull/13711) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). - 🔧 Update sponsors: add Subtotal. PR [#&#8203;13701](https://github.com/fastapi/fastapi/pull/13701) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Update sponsors: remove deepset / Haystack. PR [#&#8203;13700](https://github.com/fastapi/fastapi/pull/13700) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;13688](https://github.com/fastapi/fastapi/pull/13688) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). - 👥 Update FastAPI People - Experts. PR [#&#8203;13671](https://github.com/fastapi/fastapi/pull/13671) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ Bump typer from 0.12.5 to 0.15.3. PR [#&#8203;13666](https://github.com/fastapi/fastapi/pull/13666) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump sqlmodel from 0.0.23 to 0.0.24. PR [#&#8203;13665](https://github.com/fastapi/fastapi/pull/13665) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - 🔧 Update Sponsors: Zuplo logo and alt text. PR [#&#8203;13645](https://github.com/fastapi/fastapi/pull/13645) by [@&#8203;martyndavies](https://github.com/martyndavies). - 👥 Update FastAPI GitHub topic repositories. PR [#&#8203;13667](https://github.com/fastapi/fastapi/pull/13667) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Update links for LinkedIn and bottom. PR [#&#8203;13669](https://github.com/fastapi/fastapi/pull/13669) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Update sponsors: remove Bump.sh and Coherence. PR [#&#8203;13668](https://github.com/fastapi/fastapi/pull/13668) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👥 Update FastAPI People - Sponsors. PR [#&#8203;13664](https://github.com/fastapi/fastapi/pull/13664) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👥 Update FastAPI People - Contributors and Translators. PR [#&#8203;13662](https://github.com/fastapi/fastapi/pull/13662) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;13656](https://github.com/fastapi/fastapi/pull/13656) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). - ✅ Use `inline-snapshot` to support different Pydantic versions in the test suite. PR [#&#8203;12534](https://github.com/fastapi/fastapi/pull/12534) by [@&#8203;15r10nk](https://github.com/15r10nk). - ⬆ Bump astral-sh/setup-uv from 5 to 6. PR [#&#8203;13648](https://github.com/fastapi/fastapi/pull/13648) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;13634](https://github.com/fastapi/fastapi/pull/13634) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;13619](https://github.com/fastapi/fastapi/pull/13619) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;13594](https://github.com/fastapi/fastapi/pull/13594) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). - 👥 Update FastAPI People - Experts. PR [#&#8203;13568](https://github.com/fastapi/fastapi/pull/13568) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👥 Update FastAPI GitHub topic repositories. PR [#&#8203;13565](https://github.com/fastapi/fastapi/pull/13565) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👥 Update FastAPI People - Sponsors. PR [#&#8203;13559](https://github.com/fastapi/fastapi/pull/13559) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👥 Update FastAPI People - Contributors and Translators. PR [#&#8203;13558](https://github.com/fastapi/fastapi/pull/13558) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ Bump dirty-equals from 0.8.0 to 0.9.0. PR [#&#8203;13561](https://github.com/fastapi/fastapi/pull/13561) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - 🔧 Clean up `docs/en/mkdocs.yml` configuration file. PR [#&#8203;13542](https://github.com/fastapi/fastapi/pull/13542) by [@&#8203;svlandeg](https://github.com/svlandeg). - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;12986](https://github.com/fastapi/fastapi/pull/12986) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). ### [`v0.115.12`](https://github.com/fastapi/fastapi/releases/tag/0.115.12) [Compare Source](https://github.com/fastapi/fastapi/compare/0.115.11...0.115.12) ##### Fixes - 🐛 Fix `convert_underscores=False` for header Pydantic models. PR [#&#8203;13515](https://github.com/fastapi/fastapi/pull/13515) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Docs - 📝 Update `docs/en/docs/tutorial/middleware.md`. PR [#&#8203;13444](https://github.com/fastapi/fastapi/pull/13444) by [@&#8203;Rishat-F](https://github.com/Rishat-F). - 👥 Update FastAPI People - Experts. PR [#&#8203;13493](https://github.com/fastapi/fastapi/pull/13493) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Translations - 🌐 Add Ukrainian translation for `docs/uk/docs/tutorial/metadata.md` page. PR [#&#8203;13459](https://github.com/fastapi/fastapi/pull/13459) by [@&#8203;valentinDruzhinin](https://github.com/valentinDruzhinin). - 🌐 Add Ukrainian translation for `docs/uk/docs/tutorial/response-status-code.md` page. PR [#&#8203;13462](https://github.com/fastapi/fastapi/pull/13462) by [@&#8203;valentinDruzhinin](https://github.com/valentinDruzhinin). - 🌐 Add Ukrainian translation for `docs/uk/docs/tutorial/cookie-param-models.md` page. PR [#&#8203;13460](https://github.com/fastapi/fastapi/pull/13460) by [@&#8203;valentinDruzhinin](https://github.com/valentinDruzhinin). - 🌐 Add Ukrainian translation for `docs/uk/docs/tutorial/header-param-models.md` page. PR [#&#8203;13461](https://github.com/fastapi/fastapi/pull/13461) by [@&#8203;valentinDruzhinin](https://github.com/valentinDruzhinin). - 🌐 Add Japanese translation for `docs/ja/docs/virtual-environments.md`. PR [#&#8203;13304](https://github.com/fastapi/fastapi/pull/13304) by [@&#8203;k94-ishi](https://github.com/k94-ishi). - 🌐 Add Korean translation for `docs/ko/docs/tutorial/security/oauth2-jwt.md`. PR [#&#8203;13333](https://github.com/fastapi/fastapi/pull/13333) by [@&#8203;yes0ng](https://github.com/yes0ng). - 🌐 Add Vietnamese translation for `docs/vi/docs/deployment/cloud.md`. PR [#&#8203;13407](https://github.com/fastapi/fastapi/pull/13407) by [@&#8203;ptt3199](https://github.com/ptt3199). ##### Internal - ⬆ Bump pydantic-ai from 0.0.15 to 0.0.30. PR [#&#8203;13438](https://github.com/fastapi/fastapi/pull/13438) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump sqlmodel from 0.0.22 to 0.0.23. PR [#&#8203;13437](https://github.com/fastapi/fastapi/pull/13437) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump black from 24.10.0 to 25.1.0. PR [#&#8203;13436](https://github.com/fastapi/fastapi/pull/13436) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump ruff to 0.9.4. PR [#&#8203;13299](https://github.com/fastapi/fastapi/pull/13299) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - 🔧 Update sponsors: pause TestDriven. PR [#&#8203;13446](https://github.com/fastapi/fastapi/pull/13446) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.115.11`](https://github.com/fastapi/fastapi/releases/tag/0.115.11) [Compare Source](https://github.com/fastapi/fastapi/compare/0.115.10...0.115.11) ##### Fixes - 🐛 Add docs examples and tests (support) for `Annotated` custom validations, like `AfterValidator`, revert [#&#8203;13440](https://github.com/fastapi/fastapi/pull/13440). PR [#&#8203;13442](https://github.com/fastapi/fastapi/pull/13442) by [@&#8203;tiangolo](https://github.com/tiangolo). - New docs: [Query Parameters and String Validations - Custom Validation](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#custom-validation). ##### Translations - 🌐 Add Russian translation for `docs/ru/docs/tutorial/middleware.md`. PR [#&#8203;13412](https://github.com/fastapi/fastapi/pull/13412) by [@&#8203;alv2017](https://github.com/alv2017). ##### Internal - 👥 Update FastAPI GitHub topic repositories. PR [#&#8203;13439](https://github.com/fastapi/fastapi/pull/13439) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👥 Update FastAPI People - Contributors and Translators. PR [#&#8203;13432](https://github.com/fastapi/fastapi/pull/13432) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👥 Update FastAPI People - Sponsors. PR [#&#8203;13433](https://github.com/fastapi/fastapi/pull/13433) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.115.10`](https://github.com/fastapi/fastapi/releases/tag/0.115.10) [Compare Source](https://github.com/fastapi/fastapi/compare/0.115.9...0.115.10) ##### Fixes - ♻️ Update internal annotation usage for compatibility with Pydantic 2.11. PR [#&#8203;13314](https://github.com/fastapi/fastapi/pull/13314) by [@&#8203;Viicos](https://github.com/Viicos). ##### Upgrades - ⬆️ Bump Starlette to allow up to 0.46.0: `>=0.40.0,<0.47.0`. PR [#&#8203;13426](https://github.com/fastapi/fastapi/pull/13426) by [@&#8203;musicinmybrain](https://github.com/musicinmybrain). ##### Translations - 🌐 Add Ukrainian translation for `docs/uk/docs/tutorial/debugging.md`. PR [#&#8203;13370](https://github.com/fastapi/fastapi/pull/13370) by [@&#8203;valentinDruzhinin](https://github.com/valentinDruzhinin). - 🌐 Add Ukrainian translation for `docs/uk/docs/tutorial/query-params.md`. PR [#&#8203;13362](https://github.com/fastapi/fastapi/pull/13362) by [@&#8203;valentinDruzhinin](https://github.com/valentinDruzhinin). - 🌐 Add Ukrainian translation for `docs/uk/docs/tutorial/path-params.md`. PR [#&#8203;13354](https://github.com/fastapi/fastapi/pull/13354) by [@&#8203;valentinDruzhinin](https://github.com/valentinDruzhinin). - 🌐 Add Japanese translation for `docs/ja/docs/tutorial/cookie-param-models.md`. PR [#&#8203;13330](https://github.com/fastapi/fastapi/pull/13330) by [@&#8203;k94-ishi](https://github.com/k94-ishi). - 🌐 Add Ukrainian translation for `docs/uk/docs/tutorial/body-multiple-params.md`. PR [#&#8203;13408](https://github.com/fastapi/fastapi/pull/13408) by [@&#8203;valentinDruzhinin](https://github.com/valentinDruzhinin). - 🌐 Add Japanese translation for `docs/ja/docs/tutorial/query-param-models.md`. PR [#&#8203;13323](https://github.com/fastapi/fastapi/pull/13323) by [@&#8203;k94-ishi](https://github.com/k94-ishi). - 🌐 Add Ukrainian translation for `docs/uk/docs/tutorial/body-nested-models.md`. PR [#&#8203;13409](https://github.com/fastapi/fastapi/pull/13409) by [@&#8203;valentinDruzhinin](https://github.com/valentinDruzhinin). - 🌐 Add Vietnamese translation for `docs/vi/docs/deployment/versions.md`. PR [#&#8203;13406](https://github.com/fastapi/fastapi/pull/13406) by [@&#8203;ptt3199](https://github.com/ptt3199). - 🌐 Add Vietnamese translation for `docs/vi/docs/deployment/index.md`. PR [#&#8203;13405](https://github.com/fastapi/fastapi/pull/13405) by [@&#8203;ptt3199](https://github.com/ptt3199). - 🌐 Add Ukrainian translation for `docs/uk/docs/tutorial/request-forms.md`. PR [#&#8203;13383](https://github.com/fastapi/fastapi/pull/13383) by [@&#8203;valentinDruzhinin](https://github.com/valentinDruzhinin). - 🌐 Add Ukrainian translation for `docs/uk/docs/tutorial/testing.md`. PR [#&#8203;13371](https://github.com/fastapi/fastapi/pull/13371) by [@&#8203;valentinDruzhinin](https://github.com/valentinDruzhinin). ### [`v0.115.9`](https://github.com/fastapi/fastapi/releases/tag/0.115.9) [Compare Source](https://github.com/fastapi/fastapi/compare/0.115.8...0.115.9) ##### Fixes - 🐛 Ensure that `HTTPDigest` only raises an exception when `auto_error is True`. PR [#&#8203;2939](https://github.com/fastapi/fastapi/pull/2939) by [@&#8203;arthurio](https://github.com/arthurio). ##### Refactors - ✅ Simplify tests for `query_params_str_validations`. PR [#&#8203;13218](https://github.com/fastapi/fastapi/pull/13218) by [@&#8203;alv2017](https://github.com/alv2017). - ✅ Simplify tests for `app_testing`. PR [#&#8203;13220](https://github.com/fastapi/fastapi/pull/13220) by [@&#8203;alv2017](https://github.com/alv2017). - ✅ Simplify tests for `dependency_testing`. PR [#&#8203;13223](https://github.com/fastapi/fastapi/pull/13223) by [@&#8203;alv2017](https://github.com/alv2017). ##### Docs - 🍱 Update sponsors: CodeRabbit logo. PR [#&#8203;13424](https://github.com/fastapi/fastapi/pull/13424) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🩺 Unify the badges across all tutorial translations. PR [#&#8203;13329](https://github.com/fastapi/fastapi/pull/13329) by [@&#8203;svlandeg](https://github.com/svlandeg). - 📝 Fix typos in virtual environments documentation. PR [#&#8203;13396](https://github.com/fastapi/fastapi/pull/13396) by [@&#8203;bullet-ant](https://github.com/bullet-ant). - 🐛 Fix issue with Swagger theme change example in the official tutorial. PR [#&#8203;13289](https://github.com/fastapi/fastapi/pull/13289) by [@&#8203;Zerohertz](https://github.com/Zerohertz). - 📝 Add more precise description of HTTP status code range in docs. PR [#&#8203;13347](https://github.com/fastapi/fastapi/pull/13347) by [@&#8203;DanielYang59](https://github.com/DanielYang59). - 🔥 Remove manual type annotations in JWT tutorial to avoid typing expectations (JWT doesn't provide more types). PR [#&#8203;13378](https://github.com/fastapi/fastapi/pull/13378) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Update docs for Query Params and String Validations, remove obsolete Ellipsis docs (`...`). PR [#&#8203;13377](https://github.com/fastapi/fastapi/pull/13377) by [@&#8203;tiangolo](https://github.com/tiangolo). - ✏️ Remove duplicate title in docs `body-multiple-params`. PR [#&#8203;13345](https://github.com/fastapi/fastapi/pull/13345) by [@&#8203;DanielYang59](https://github.com/DanielYang59). - 📝 Fix test badge. PR [#&#8203;13313](https://github.com/fastapi/fastapi/pull/13313) by [@&#8203;esadek](https://github.com/esadek). ##### Translations - 🌐 Add Ukrainian translation for `docs/uk/docs/tutorial/header-params.md`. PR [#&#8203;13381](https://github.com/fastapi/fastapi/pull/13381) by [@&#8203;valentinDruzhinin](https://github.com/valentinDruzhinin). - 🌐 Add Ukrainian translation for `docs/uk/docs/tutorial/request-files.md`. PR [#&#8203;13395](https://github.com/fastapi/fastapi/pull/13395) by [@&#8203;valentinDruzhinin](https://github.com/valentinDruzhinin). - 🌐 Add Ukrainian translation for `docs/uk/docs/tutorial/request-form-models.md`. PR [#&#8203;13384](https://github.com/fastapi/fastapi/pull/13384) by [@&#8203;valentinDruzhinin](https://github.com/valentinDruzhinin). - 🌐 Add Ukrainian translation for `docs/uk/docs/tutorial/request-forms-and-files.md`. PR [#&#8203;13386](https://github.com/fastapi/fastapi/pull/13386) by [@&#8203;valentinDruzhinin](https://github.com/valentinDruzhinin). - 🌐 Update Korean translation for `docs/ko/docs/help-fastapi.md`. PR [#&#8203;13262](https://github.com/fastapi/fastapi/pull/13262) by [@&#8203;Zerohertz](https://github.com/Zerohertz). - 🌐 Add Korean translation for `docs/ko/docs/advanced/custom-response.md`. PR [#&#8203;13265](https://github.com/fastapi/fastapi/pull/13265) by [@&#8203;11kkw](https://github.com/11kkw). - 🌐 Update Korean translation for `docs/ko/docs/tutorial/security/simple-oauth2.md`. PR [#&#8203;13335](https://github.com/fastapi/fastapi/pull/13335) by [@&#8203;yes0ng](https://github.com/yes0ng). - 🌐 Add Russian translation for `docs/ru/docs/advanced/response-cookies.md`. PR [#&#8203;13327](https://github.com/fastapi/fastapi/pull/13327) by [@&#8203;Stepakinoyan](https://github.com/Stepakinoyan). - 🌐 Add Vietnamese translation for `docs/vi/docs/tutorial/static-files.md`. PR [#&#8203;11291](https://github.com/fastapi/fastapi/pull/11291) by [@&#8203;ptt3199](https://github.com/ptt3199). - 🌐 Add Korean translation for `docs/ko/docs/tutorial/dependencies/dependencies-with-yield.md`. PR [#&#8203;13257](https://github.com/fastapi/fastapi/pull/13257) by [@&#8203;11kkw](https://github.com/11kkw). - 🌐 Add Vietnamese translation for `docs/vi/docs/virtual-environments.md`. PR [#&#8203;13282](https://github.com/fastapi/fastapi/pull/13282) by [@&#8203;ptt3199](https://github.com/ptt3199). - 🌐 Add Ukrainian translation for `docs/uk/docs/tutorial/static-files.md`. PR [#&#8203;13285](https://github.com/fastapi/fastapi/pull/13285) by [@&#8203;valentinDruzhinin](https://github.com/valentinDruzhinin). - 🌐 Add Vietnamese translation for `docs/vi/docs/environment-variables.md`. PR [#&#8203;13287](https://github.com/fastapi/fastapi/pull/13287) by [@&#8203;ptt3199](https://github.com/ptt3199). - 🌐 Add Vietnamese translation for `docs/vi/docs/fastapi-cli.md`. PR [#&#8203;13294](https://github.com/fastapi/fastapi/pull/13294) by [@&#8203;ptt3199](https://github.com/ptt3199). - 🌐 Add Ukrainian translation for `docs/uk/docs/features.md`. PR [#&#8203;13308](https://github.com/fastapi/fastapi/pull/13308) by [@&#8203;valentinDruzhinin](https://github.com/valentinDruzhinin). - 🌐 Add Ukrainian translation for `docs/uk/docs/learn/index.md`. PR [#&#8203;13306](https://github.com/fastapi/fastapi/pull/13306) by [@&#8203;valentinDruzhinin](https://github.com/valentinDruzhinin). - 🌐 Update Portuguese Translation for `docs/pt/docs/deployment/https.md`. PR [#&#8203;13317](https://github.com/fastapi/fastapi/pull/13317) by [@&#8203;Joao-Pedro-P-Holanda](https://github.com/Joao-Pedro-P-Holanda). - 🌐 Update Portuguese Translation for `docs/pt/docs/index.md`. PR [#&#8203;13328](https://github.com/fastapi/fastapi/pull/13328) by [@&#8203;ceb10n](https://github.com/ceb10n). - 🌐 Add Russian translation for `docs/ru/docs/advanced/websockets.md`. PR [#&#8203;13279](https://github.com/fastapi/fastapi/pull/13279) by [@&#8203;Rishat-F](https://github.com/Rishat-F). ##### Internal - ✅ Fix a minor bug in the test `tests/test_modules_same_name_body/test_main.py`. PR [#&#8203;13411](https://github.com/fastapi/fastapi/pull/13411) by [@&#8203;alv2017](https://github.com/alv2017). - 👷 Use `wrangler-action` v3. PR [#&#8203;13415](https://github.com/fastapi/fastapi/pull/13415) by [@&#8203;joakimnordling](https://github.com/joakimnordling). - 🔧 Update sponsors: add CodeRabbit. PR [#&#8203;13402](https://github.com/fastapi/fastapi/pull/13402) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Update team: Add Ludovico. PR [#&#8203;13390](https://github.com/fastapi/fastapi/pull/13390) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Update sponsors: Add LambdaTest. PR [#&#8203;13389](https://github.com/fastapi/fastapi/pull/13389) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ Bump cloudflare/wrangler-action from 3.13 to 3.14. PR [#&#8203;13350](https://github.com/fastapi/fastapi/pull/13350) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump mkdocs-material from 9.5.18 to 9.6.1. PR [#&#8203;13301](https://github.com/fastapi/fastapi/pull/13301) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump pillow from 11.0.0 to 11.1.0. PR [#&#8203;13300](https://github.com/fastapi/fastapi/pull/13300) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - 👥 Update FastAPI People - Sponsors. PR [#&#8203;13295](https://github.com/fastapi/fastapi/pull/13295) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👥 Update FastAPI People - Experts. PR [#&#8203;13303](https://github.com/fastapi/fastapi/pull/13303) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👥 Update FastAPI GitHub topic repositories. PR [#&#8203;13302](https://github.com/fastapi/fastapi/pull/13302) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👥 Update FastAPI People - Contributors and Translators. PR [#&#8203;13293](https://github.com/fastapi/fastapi/pull/13293) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ Bump inline-snapshot from 0.18.1 to 0.19.3. PR [#&#8203;13298](https://github.com/fastapi/fastapi/pull/13298) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - 🔧 Update sponsors, add Permit. PR [#&#8203;13288](https://github.com/fastapi/fastapi/pull/13288) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.115.8`](https://github.com/fastapi/fastapi/releases/tag/0.115.8) [Compare Source](https://github.com/fastapi/fastapi/compare/0.115.7...0.115.8) ##### Fixes - 🐛 Fix `OAuth2PasswordRequestForm` and `OAuth2PasswordRequestFormStrict` fixed `grant_type` "password" RegEx. PR [#&#8203;9783](https://github.com/fastapi/fastapi/pull/9783) by [@&#8203;skarfie123](https://github.com/skarfie123). ##### Refactors - ✅ Simplify tests for body\_multiple\_params . PR [#&#8203;13237](https://github.com/fastapi/fastapi/pull/13237) by [@&#8203;alejsdev](https://github.com/alejsdev). - ♻️ Move duplicated code portion to a static method in the `APIKeyBase` super class. PR [#&#8203;3142](https://github.com/fastapi/fastapi/pull/3142) by [@&#8203;ShahriyarR](https://github.com/ShahriyarR). - ✅ Simplify tests for request\_files. PR [#&#8203;13182](https://github.com/fastapi/fastapi/pull/13182) by [@&#8203;alejsdev](https://github.com/alejsdev). ##### Docs - 📝 Change the word "unwrap" to "unpack" in `docs/en/docs/tutorial/extra-models.md`. PR [#&#8203;13061](https://github.com/fastapi/fastapi/pull/13061) by [@&#8203;timothy-jeong](https://github.com/timothy-jeong). - 📝 Update Request Body's `tutorial002` to deal with `tax=0` case. PR [#&#8203;13230](https://github.com/fastapi/fastapi/pull/13230) by [@&#8203;togogh](https://github.com/togogh). - 👥 Update FastAPI People - Experts. PR [#&#8203;13269](https://github.com/fastapi/fastapi/pull/13269) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Translations - 🌐 Add Japanese translation for `docs/ja/docs/environment-variables.md`. PR [#&#8203;13226](https://github.com/fastapi/fastapi/pull/13226) by [@&#8203;k94-ishi](https://github.com/k94-ishi). - 🌐 Add Russian translation for `docs/ru/docs/advanced/async-tests.md`. PR [#&#8203;13227](https://github.com/fastapi/fastapi/pull/13227) by [@&#8203;Rishat-F](https://github.com/Rishat-F). - 🌐 Update Russian translation for `docs/ru/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md`. PR [#&#8203;13252](https://github.com/fastapi/fastapi/pull/13252) by [@&#8203;Rishat-F](https://github.com/Rishat-F). - 🌐 Add Russian translation for `docs/ru/docs/tutorial/bigger-applications.md`. PR [#&#8203;13154](https://github.com/fastapi/fastapi/pull/13154) by [@&#8203;alv2017](https://github.com/alv2017). ##### Internal - ⬆️ Add support for Python 3.13. PR [#&#8203;13274](https://github.com/fastapi/fastapi/pull/13274) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆️ Upgrade AnyIO max version for tests, new range: `>=3.2.1,<5.0.0`. PR [#&#8203;13273](https://github.com/fastapi/fastapi/pull/13273) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Update Sponsors badges. PR [#&#8203;13271](https://github.com/fastapi/fastapi/pull/13271) by [@&#8203;tiangolo](https://github.com/tiangolo). - ♻️ Fix `notify_translations.py` empty env var handling for PR label events vs workflow\_dispatch. PR [#&#8203;13272](https://github.com/fastapi/fastapi/pull/13272) by [@&#8203;tiangolo](https://github.com/tiangolo). - ♻️ Refactor and move `scripts/notify_translations.py`, no need for a custom GitHub Action. PR [#&#8203;13270](https://github.com/fastapi/fastapi/pull/13270) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔨 Update FastAPI People Experts script, refactor and optimize data fetching to handle rate limits. PR [#&#8203;13267](https://github.com/fastapi/fastapi/pull/13267) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ Bump pypa/gh-action-pypi-publish from 1.12.3 to 1.12.4. PR [#&#8203;13251](https://github.com/fastapi/fastapi/pull/13251) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). ### [`v0.115.7`](https://github.com/fastapi/fastapi/releases/tag/0.115.7) [Compare Source](https://github.com/fastapi/fastapi/compare/0.115.6...0.115.7) ##### Upgrades - ⬆️ Upgrade `python-multipart` to >=0.0.18. PR [#&#8203;13219](https://github.com/fastapi/fastapi/pull/13219) by [@&#8203;DanielKusyDev](https://github.com/DanielKusyDev). - ⬆️ Bump Starlette to allow up to 0.45.0: `>=0.40.0,<0.46.0`. PR [#&#8203;13117](https://github.com/fastapi/fastapi/pull/13117) by [@&#8203;Kludex](https://github.com/Kludex). - ⬆️ Upgrade `jinja2` to >=3.1.5. PR [#&#8203;13194](https://github.com/fastapi/fastapi/pull/13194) by [@&#8203;DanielKusyDev](https://github.com/DanielKusyDev). ##### Refactors - ✅ Simplify tests for websockets. PR [#&#8203;13202](https://github.com/fastapi/fastapi/pull/13202) by [@&#8203;alejsdev](https://github.com/alejsdev). - ✅ Simplify tests for request\_form\_models . PR [#&#8203;13183](https://github.com/fastapi/fastapi/pull/13183) by [@&#8203;alejsdev](https://github.com/alejsdev). - ✅ Simplify tests for separate\_openapi\_schemas. PR [#&#8203;13201](https://github.com/fastapi/fastapi/pull/13201) by [@&#8203;alejsdev](https://github.com/alejsdev). - ✅ Simplify tests for security. PR [#&#8203;13200](https://github.com/fastapi/fastapi/pull/13200) by [@&#8203;alejsdev](https://github.com/alejsdev). - ✅ Simplify tests for schema\_extra\_example. PR [#&#8203;13197](https://github.com/fastapi/fastapi/pull/13197) by [@&#8203;alejsdev](https://github.com/alejsdev). - ✅ Simplify tests for request\_model. PR [#&#8203;13195](https://github.com/fastapi/fastapi/pull/13195) by [@&#8203;alejsdev](https://github.com/alejsdev). - ✅ Simplify tests for request\_forms\_and\_files. PR [#&#8203;13185](https://github.com/fastapi/fastapi/pull/13185) by [@&#8203;alejsdev](https://github.com/alejsdev). - ✅ Simplify tests for request\_forms. PR [#&#8203;13184](https://github.com/fastapi/fastapi/pull/13184) by [@&#8203;alejsdev](https://github.com/alejsdev). - ✅ Simplify tests for path\_query\_params. PR [#&#8203;13181](https://github.com/fastapi/fastapi/pull/13181) by [@&#8203;alejsdev](https://github.com/alejsdev). - ✅ Simplify tests for path\_operation\_configurations. PR [#&#8203;13180](https://github.com/fastapi/fastapi/pull/13180) by [@&#8203;alejsdev](https://github.com/alejsdev). - ✅ Simplify tests for header\_params. PR [#&#8203;13179](https://github.com/fastapi/fastapi/pull/13179) by [@&#8203;alejsdev](https://github.com/alejsdev). - ✅ Simplify tests for extra\_models. PR [#&#8203;13178](https://github.com/fastapi/fastapi/pull/13178) by [@&#8203;alejsdev](https://github.com/alejsdev). - ✅ Simplify tests for extra\_data\_types. PR [#&#8203;13177](https://github.com/fastapi/fastapi/pull/13177) by [@&#8203;alejsdev](https://github.com/alejsdev). - ✅ Simplify tests for cookie\_params. PR [#&#8203;13176](https://github.com/fastapi/fastapi/pull/13176) by [@&#8203;alejsdev](https://github.com/alejsdev). - ✅ Simplify tests for dependencies. PR [#&#8203;13174](https://github.com/fastapi/fastapi/pull/13174) by [@&#8203;alejsdev](https://github.com/alejsdev). - ✅ Simplify tests for body\_updates. PR [#&#8203;13172](https://github.com/fastapi/fastapi/pull/13172) by [@&#8203;alejsdev](https://github.com/alejsdev). - ✅ Simplify tests for body\_nested\_models. PR [#&#8203;13171](https://github.com/fastapi/fastapi/pull/13171) by [@&#8203;alejsdev](https://github.com/alejsdev). - ✅ Simplify tests for body\_multiple\_params. PR [#&#8203;13170](https://github.com/fastapi/fastapi/pull/13170) by [@&#8203;alejsdev](https://github.com/alejsdev). - ✅ Simplify tests for body\_fields. PR [#&#8203;13169](https://github.com/fastapi/fastapi/pull/13169) by [@&#8203;alejsdev](https://github.com/alejsdev). - ✅ Simplify tests for body. PR [#&#8203;13168](https://github.com/fastapi/fastapi/pull/13168) by [@&#8203;alejsdev](https://github.com/alejsdev). - ✅ Simplify tests for bigger\_applications. PR [#&#8203;13167](https://github.com/fastapi/fastapi/pull/13167) by [@&#8203;alejsdev](https://github.com/alejsdev). - ✅ Simplify tests for background\_tasks. PR [#&#8203;13166](https://github.com/fastapi/fastapi/pull/13166) by [@&#8203;alejsdev](https://github.com/alejsdev). - ✅ Simplify tests for additional\_status\_codes. PR [#&#8203;13149](https://github.com/fastapi/fastapi/pull/13149) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Docs - ✏️ Update Strawberry integration docs. PR [#&#8203;13155](https://github.com/fastapi/fastapi/pull/13155) by [@&#8203;kinuax](https://github.com/kinuax). - 🔥 Remove unused Peewee tutorial files. PR [#&#8203;13158](https://github.com/fastapi/fastapi/pull/13158) by [@&#8203;alejsdev](https://github.com/alejsdev). - 📝 Update image in body-nested-model docs. PR [#&#8203;11063](https://github.com/fastapi/fastapi/pull/11063) by [@&#8203;untilhamza](https://github.com/untilhamza). - 📝 Update `fastapi-cli` UI examples in docs. PR [#&#8203;13107](https://github.com/fastapi/fastapi/pull/13107) by [@&#8203;Zhongheng-Cheng](https://github.com/Zhongheng-Cheng). - 👷 Add new GitHub Action to update contributors, translators, and translation reviewers. PR [#&#8203;13136](https://github.com/fastapi/fastapi/pull/13136) by [@&#8203;tiangolo](https://github.com/tiangolo). - ✏️ Fix typo in `docs/en/docs/virtual-environments.md`. PR [#&#8203;13124](https://github.com/fastapi/fastapi/pull/13124) by [@&#8203;tiangolo](https://github.com/tiangolo). - ✏️ Fix error in `docs/en/docs/contributing.md`. PR [#&#8203;12899](https://github.com/fastapi/fastapi/pull/12899) by [@&#8203;kingsubin](https://github.com/kingsubin). - 📝 Minor corrections in `docs/en/docs/tutorial/sql-databases.md`. PR [#&#8203;13081](https://github.com/fastapi/fastapi/pull/13081) by [@&#8203;alv2017](https://github.com/alv2017). - 📝 Update includes in `docs/ru/docs/tutorial/query-param-models.md`. PR [#&#8203;12994](https://github.com/fastapi/fastapi/pull/12994) by [@&#8203;alejsdev](https://github.com/alejsdev). - ✏️ Fix typo in README installation instructions. PR [#&#8203;13011](https://github.com/fastapi/fastapi/pull/13011) by [@&#8203;dave-hay](https://github.com/dave-hay). - 📝 Update docs for `fastapi-cli`. PR [#&#8203;13031](https://github.com/fastapi/fastapi/pull/13031) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Translations - 🌐 Update Portuguese Translation for `docs/pt/docs/tutorial/request-forms.md`. PR [#&#8203;13216](https://github.com/fastapi/fastapi/pull/13216) by [@&#8203;Joao-Pedro-P-Holanda](https://github.com/Joao-Pedro-P-Holanda). - 🌐 Update Portuguese translation for `docs/pt/docs/advanced/settings.md`. PR [#&#8203;13209](https://github.com/fastapi/fastapi/pull/13209) by [@&#8203;ceb10n](https://github.com/ceb10n). - 🌐 Add Portuguese translation for `docs/pt/docs/tutorial/security/oauth2-jwt.md`. PR [#&#8203;13205](https://github.com/fastapi/fastapi/pull/13205) by [@&#8203;ceb10n](https://github.com/ceb10n). - 🌐 Add Indonesian translation for `docs/id/docs/index.md`. PR [#&#8203;13191](https://github.com/fastapi/fastapi/pull/13191) by [@&#8203;gerry-sabar](https://github.com/gerry-sabar). - 🌐 Add Indonesian translation for `docs/id/docs/tutorial/static-files.md`. PR [#&#8203;13092](https://github.com/fastapi/fastapi/pull/13092) by [@&#8203;guspan-tanadi](https://github.com/guspan-tanadi). - 🌐 Add Portuguese translation for `docs/pt/docs/tutorial/security/get-current-user.md`. PR [#&#8203;13188](https://github.com/fastapi/fastapi/pull/13188) by [@&#8203;ceb10n](https://github.com/ceb10n). - 🌐 Remove Wrong Portuguese translations location for `docs/pt/docs/advanced/benchmarks.md`. PR [#&#8203;13187](https://github.com/fastapi/fastapi/pull/13187) by [@&#8203;ceb10n](https://github.com/ceb10n). - 🌐 Update Portuguese translations. PR [#&#8203;13156](https://github.com/fastapi/fastapi/pull/13156) by [@&#8203;nillvitor](https://github.com/nillvitor). - 🌐 Update Russian translation for `docs/ru/docs/tutorial/security/first-steps.md`. PR [#&#8203;13159](https://github.com/fastapi/fastapi/pull/13159) by [@&#8203;Yarous](https://github.com/Yarous). - ✏️ Delete unnecessary backspace in `docs/ja/docs/tutorial/path-params-numeric-validations.md`. PR [#&#8203;12238](https://github.com/fastapi/fastapi/pull/12238) by [@&#8203;FakeDocument](https://github.com/FakeDocument). - 🌐 Update Chinese translation for `docs/zh/docs/fastapi-cli.md`. PR [#&#8203;13102](https://github.com/fastapi/fastapi/pull/13102) by [@&#8203;Zhongheng-Cheng](https://github.com/Zhongheng-Cheng). - 🌐 Add new Spanish translations for all docs with new LLM-assisted system using PydanticAI. PR [#&#8203;13122](https://github.com/fastapi/fastapi/pull/13122) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update existing Spanish translations using the new LLM-assisted system using PydanticAI. PR [#&#8203;13118](https://github.com/fastapi/fastapi/pull/13118) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🌐 Update Chinese translation for `docs/zh/docs/advanced/security/oauth2-scopes.md`. PR [#&#8203;13110](https://github.com/fastapi/fastapi/pull/13110) by [@&#8203;ChenPu2002](https://github.com/ChenPu2002). - 🌐 Add Indonesian translation for `docs/id/docs/tutorial/path-params.md`. PR [#&#8203;13086](https://github.com/fastapi/fastapi/pull/13086) by [@&#8203;gerry-sabar](https://github.com/gerry-sabar). - 🌐 Add Korean translation for `docs/ko/docs/tutorial/sql-databases.md`. PR [#&#8203;13093](https://github.com/fastapi/fastapi/pull/13093) by [@&#8203;GeumBinLee](https://github.com/GeumBinLee). - 🌐 Update Chinese translation for `docs/zh/docs/async.md`. PR [#&#8203;13095](https://github.com/fastapi/fastapi/pull/13095) by [@&#8203;Zhongheng-Cheng](https://github.com/Zhongheng-Cheng). - 🌐 Add Chinese translation for `docs/zh/docs/advanced/openapi-webhooks.md`. PR [#&#8203;13091](https://github.com/fastapi/fastapi/pull/13091) by [@&#8203;Zhongheng-Cheng](https://github.com/Zhongheng-Cheng). - 🌐 Add Chinese translation for `docs/zh/docs/advanced/async-tests.md`. PR [#&#8203;13074](https://github.com/fastapi/fastapi/pull/13074) by [@&#8203;Zhongheng-Cheng](https://github.com/Zhongheng-Cheng). - 🌐 Add Ukrainian translation for `docs/uk/docs/fastapi-cli.md`. PR [#&#8203;13020](https://github.com/fastapi/fastapi/pull/13020) by [@&#8203;ykertytsky](https://github.com/ykertytsky). - 🌐 Add Chinese translation for `docs/zh/docs/advanced/events.md`. PR [#&#8203;12512](https://github.com/fastapi/fastapi/pull/12512) by [@&#8203;ZhibangYue](https://github.com/ZhibangYue). - 🌐 Add Russian translation for `/docs/ru/docs/tutorial/sql-databases.md`. PR [#&#8203;13079](https://github.com/fastapi/fastapi/pull/13079) by [@&#8203;alv2017](https://github.com/alv2017). - 🌐 Update Chinese translation for `docs/zh/docs/advanced/testing-dependencies.md`. PR [#&#8203;13066](https://github.com/fastapi/fastapi/pull/13066) by [@&#8203;Zhongheng-Cheng](https://github.com/Zhongheng-Cheng). - 🌐 Update Traditional Chinese translation for `docs/zh-hant/docs/tutorial/index.md`. PR [#&#8203;13075](https://github.com/fastapi/fastapi/pull/13075) by [@&#8203;codingjenny](https://github.com/codingjenny). - 🌐 Add Chinese translation for `docs/zh/docs/tutorial/sql-databases.md`. PR [#&#8203;13051](https://github.com/fastapi/fastapi/pull/13051) by [@&#8203;Zhongheng-Cheng](https://github.com/Zhongheng-Cheng). - 🌐 Update Chinese translation for `docs/zh/docs/tutorial/query-params-str-validations.md`. PR [#&#8203;12928](https://github.com/fastapi/fastapi/pull/12928) by [@&#8203;Vincy1230](https://github.com/Vincy1230). - 🌐 Add Chinese translation for `docs/zh/docs/tutorial/header-param-models.md`. PR [#&#8203;13040](https://github.com/fastapi/fastapi/pull/13040) by [@&#8203;Zhongheng-Cheng](https://github.com/Zhongheng-Cheng). - 🌐 Update Chinese translation for `docs/zh/docs/tutorial/path-params.md`. PR [#&#8203;12926](https://github.com/fastapi/fastapi/pull/12926) by [@&#8203;Vincy1230](https://github.com/Vincy1230). - 🌐 Update Chinese translation for `docs/zh/docs/tutorial/first-steps.md`. PR [#&#8203;12923](https://github.com/fastapi/fastapi/pull/12923) by [@&#8203;Vincy1230](https://github.com/Vincy1230). - 🌐 Update Russian translation for `docs/ru/docs/deployment/docker.md`. PR [#&#8203;13048](https://github.com/fastapi/fastapi/pull/13048) by [@&#8203;anklav24](https://github.com/anklav24). - 🌐 Add Portuguese translation for `docs/pt/docs/advanced/generate-clients.md`. PR [#&#8203;13030](https://github.com/fastapi/fastapi/pull/13030) by [@&#8203;vitumenezes](https://github.com/vitumenezes). - 🌐 Add Indonesian translation for `docs/id/docs/tutorial/first-steps.md`. PR [#&#8203;13042](https://github.com/fastapi/fastapi/pull/13042) by [@&#8203;gerry-sabar](https://github.com/gerry-sabar). - 🌐 Add Chinese translation for `docs/zh/docs/tutorial/cookie-param-models.md`. PR [#&#8203;13038](https://github.com/fastapi/fastapi/pull/13038) by [@&#8203;Zhongheng-Cheng](https://github.com/Zhongheng-Cheng). - 🌐 Add Chinese translation for `docs/zh/docs/tutorial/request-form-models.md`. PR [#&#8203;13045](https://github.com/fastapi/fastapi/pull/13045) by [@&#8203;Zhongheng-Cheng](https://github.com/Zhongheng-Cheng). - 🌐 Add Russian translation for `docs/ru/docs/virtual-environments.md`. PR [#&#8203;13026](https://github.com/fastapi/fastapi/pull/13026) by [@&#8203;alv2017](https://github.com/alv2017). - 🌐 Add Korean translation for `docs/ko/docs/tutorial/testing.md`. PR [#&#8203;12968](https://github.com/fastapi/fastapi/pull/12968) by [@&#8203;jts8257](https://github.com/jts8257). - 🌐 Add Korean translation for `docs/ko/docs/advanced/async-test.md`. PR [#&#8203;12918](https://github.com/fastapi/fastapi/pull/12918) by [@&#8203;icehongssii](https://github.com/icehongssii). - 🌐 Add Russian translation for `docs/ru/docs/tutorial/security/oauth2-jwt.md`. PR [#&#8203;10601](https://github.com/fastapi/fastapi/pull/10601) by [@&#8203;AlertRED](https://github.com/AlertRED). - 🌐 Add Russian translation for `docs/ru/docs/tutorial/security/simple-oauth2.md`. PR [#&#8203;10599](https://github.com/fastapi/fastapi/pull/10599) by [@&#8203;AlertRED](https://github.com/AlertRED). - 🌐 Add Russian translation for `docs/ru/docs/tutorial/security/get-current-user.md`. PR [#&#8203;10594](https://github.com/fastapi/fastapi/pull/10594) by [@&#8203;AlertRED](https://github.com/AlertRED). - 🌐 Add Traditional Chinese translation for `docs/zh-hant/docs/features.md`. PR [#&#8203;12441](https://github.com/fastapi/fastapi/pull/12441) by [@&#8203;codingjenny](https://github.com/codingjenny). - 🌐 Add Traditional Chinese translation for `docs/zh-hant/docs/virtual-environments.md`. PR [#&#8203;12791](https://github.com/fastapi/fastapi/pull/12791) by [@&#8203;Vincy1230](https://github.com/Vincy1230). - 🌐 Add Korean translation for `docs/ko/docs/advanced/templates.md`. PR [#&#8203;12726](https://github.com/fastapi/fastapi/pull/12726) by [@&#8203;Heumhub](https://github.com/Heumhub). - 🌐 Add Russian translation for `docs/ru/docs/fastapi-cli.md`. PR [#&#8203;13041](https://github.com/fastapi/fastapi/pull/13041) by [@&#8203;alv2017](https://github.com/alv2017). - 🌐 Add Korean translation for `docs/ko/docs/tutorial/cookie-param-models.md`. PR [#&#8203;13000](https://github.com/fastapi/fastapi/pull/13000) by [@&#8203;hard-coders](https://github.com/hard-coders). - 🌐 Add Korean translation for `docs/ko/docs/tutorial/header-param-models.md`. PR [#&#8203;13001](https://github.com/fastapi/fastapi/pull/13001) by [@&#8203;hard-coders](https://github.com/hard-coders). - 🌐 Add Korean translation for `docs/ko/docs/tutorial/request-form-models.md`. PR [#&#8203;13002](https://github.com/fastapi/fastapi/pull/13002) by [@&#8203;hard-coders](https://github.com/hard-coders). - 🌐 Add Korean translation for `docs/ko/docs/tutorial/request-forms.md`. PR [#&#8203;13003](https://github.com/fastapi/fastapi/pull/13003) by [@&#8203;hard-coders](https://github.com/hard-coders). - 🌐 Add Korean translation for `docs/ko/docs/resources/index.md`. PR [#&#8203;13004](https://github.com/fastapi/fastapi/pull/13004) by [@&#8203;hard-coders](https://github.com/hard-coders). - 🌐 Add Korean translation for `docs/ko/docs/how-to/configure-swagger-ui.md`. PR [#&#8203;12898](https://github.com/fastapi/fastapi/pull/12898) by [@&#8203;nahyunkeem](https://github.com/nahyunkeem). - 🌐 Add Korean translation to `docs/ko/docs/advanced/additional-status-codes.md`. PR [#&#8203;12715](https://github.com/fastapi/fastapi/pull/12715) by [@&#8203;nahyunkeem](https://github.com/nahyunkeem). - 🌐 Add Traditional Chinese translation for `docs/zh-hant/docs/tutorial/first-steps.md`. PR [#&#8203;12467](https://github.com/fastapi/fastapi/pull/12467) by [@&#8203;codingjenny](https://github.com/codingjenny). ##### Internal - 🔧 Add Pydantic 2 trove classifier. PR [#&#8203;13199](https://github.com/fastapi/fastapi/pull/13199) by [@&#8203;johnthagen](https://github.com/johnthagen). - 👥 Update FastAPI People - Sponsors. PR [#&#8203;13231](https://github.com/fastapi/fastapi/pull/13231) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👷 Refactor FastAPI People Sponsors to use 2 tokens. PR [#&#8203;13228](https://github.com/fastapi/fastapi/pull/13228) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👷 Update token for FastAPI People - Sponsors. PR [#&#8203;13225](https://github.com/fastapi/fastapi/pull/13225) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👷 Add independent CI automation for FastAPI People - Sponsors. PR [#&#8203;13221](https://github.com/fastapi/fastapi/pull/13221) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👷 Add retries to Smokeshow. PR [#&#8203;13151](https://github.com/fastapi/fastapi/pull/13151) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Update Speakeasy sponsor graphic. PR [#&#8203;13147](https://github.com/fastapi/fastapi/pull/13147) by [@&#8203;chailandau](https://github.com/chailandau). - 👥 Update FastAPI GitHub topic repositories. PR [#&#8203;13146](https://github.com/fastapi/fastapi/pull/13146) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👷‍♀️ Add script for GitHub Topic Repositories and update External Links. PR [#&#8203;13135](https://github.com/fastapi/fastapi/pull/13135) by [@&#8203;alejsdev](https://github.com/alejsdev). - 👥 Update FastAPI People - Contributors and Translators. PR [#&#8203;13145](https://github.com/fastapi/fastapi/pull/13145) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ Bump markdown-include-variants from 0.0.3 to 0.0.4. PR [#&#8203;13129](https://github.com/fastapi/fastapi/pull/13129) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump inline-snapshot from 0.14.0 to 0.18.1. PR [#&#8203;13132](https://github.com/fastapi/fastapi/pull/13132) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump mkdocs-macros-plugin from 1.0.5 to 1.3.7. PR [#&#8203;13133](https://github.com/fastapi/fastapi/pull/13133) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - 🔨 Add internal scripts to generate language translations with PydanticAI, include Spanish prompt. PR [#&#8203;13123](https://github.com/fastapi/fastapi/pull/13123) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ Bump astral-sh/setup-uv from 4 to 5. PR [#&#8203;13096](https://github.com/fastapi/fastapi/pull/13096) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - 🔧 Update sponsors: rename CryptAPI to BlockBee. PR [#&#8203;13078](https://github.com/fastapi/fastapi/pull/13078) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ Bump pypa/gh-action-pypi-publish from 1.12.2 to 1.12.3. PR [#&#8203;13055](https://github.com/fastapi/fastapi/pull/13055) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump types-ujson from 5.7.0.1 to 5.10.0.20240515. PR [#&#8203;13018](https://github.com/fastapi/fastapi/pull/13018) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump black from 24.3.0 to 24.10.0. PR [#&#8203;13014](https://github.com/fastapi/fastapi/pull/13014) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump inline-snapshot from 0.13.0 to 0.14.0. PR [#&#8203;13017](https://github.com/fastapi/fastapi/pull/13017) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump dirty-equals from 0.6.0 to 0.8.0. PR [#&#8203;13015](https://github.com/fastapi/fastapi/pull/13015) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump cloudflare/wrangler-action from 3.12 to 3.13. PR [#&#8203;12996](https://github.com/fastapi/fastapi/pull/12996) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump astral-sh/setup-uv from 3 to 4. PR [#&#8203;12982](https://github.com/fastapi/fastapi/pull/12982) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - 🔧 Remove duplicate actions/checkout in `notify-translations.yml`. PR [#&#8203;12915](https://github.com/fastapi/fastapi/pull/12915) by [@&#8203;tinyboxvk](https://github.com/tinyboxvk). - 🔧 Update team members. PR [#&#8203;13033](https://github.com/fastapi/fastapi/pull/13033) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Update sponsors: remove Codacy. PR [#&#8203;13032](https://github.com/fastapi/fastapi/pull/13032) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.115.6`](https://github.com/fastapi/fastapi/releases/tag/0.115.6) [Compare Source](https://github.com/fastapi/fastapi/compare/0.115.5...0.115.6) ##### Fixes - 🐛 Preserve traceback when an exception is raised in sync dependency with `yield`. PR [#&#8203;5823](https://github.com/fastapi/fastapi/pull/5823) by [@&#8203;sombek](https://github.com/sombek). ##### Refactors - ♻️ Update tests and internals for compatibility with Pydantic >=2.10. PR [#&#8203;12971](https://github.com/fastapi/fastapi/pull/12971) by [@&#8203;tamird](https://github.com/tamird). ##### Docs - 📝 Update includes format in docs with an automated script. PR [#&#8203;12950](https://github.com/fastapi/fastapi/pull/12950) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Update includes for `docs/de/docs/advanced/using-request-directly.md`. PR [#&#8203;12685](https://github.com/fastapi/fastapi/pull/12685) by [@&#8203;alissadb](https://github.com/alissadb). - 📝 Update includes for `docs/de/docs/how-to/conditional-openapi.md`. PR [#&#8203;12689](https://github.com/fastapi/fastapi/pull/12689) by [@&#8203;alissadb](https://github.com/alissadb). ##### Translations - 🌐 Add Traditional Chinese translation for `docs/zh-hant/docs/async.md`. PR [#&#8203;12990](https://github.com/fastapi/fastapi/pull/12990) by [@&#8203;ILoveSorasakiHina](https://github.com/ILoveSorasakiHina). - 🌐 Add Traditional Chinese translation for `docs/zh-hant/docs/tutorial/query-param-models.md`. PR [#&#8203;12932](https://github.com/fastapi/fastapi/pull/12932) by [@&#8203;Vincy1230](https://github.com/Vincy1230). - 🌐 Add Korean translation for `docs/ko/docs/advanced/testing-dependencies.md`. PR [#&#8203;12992](https://github.com/fastapi/fastapi/pull/12992) by [@&#8203;Limsunoh](https://github.com/Limsunoh). - 🌐 Add Korean translation for `docs/ko/docs/advanced/websockets.md`. PR [#&#8203;12991](https://github.com/fastapi/fastapi/pull/12991) by [@&#8203;kwang1215](https://github.com/kwang1215). - 🌐 Add Portuguese translation for `docs/pt/docs/tutorial/response-model.md`. PR [#&#8203;12933](https://github.com/fastapi/fastapi/pull/12933) by [@&#8203;AndreBBM](https://github.com/AndreBBM). - 🌐 Add Korean translation for `docs/ko/docs/advanced/middlewares.md`. PR [#&#8203;12753](https://github.com/fastapi/fastapi/pull/12753) by [@&#8203;nahyunkeem](https://github.com/nahyunkeem). - 🌐 Add Korean translation for `docs/ko/docs/advanced/openapi-webhooks.md`. PR [#&#8203;12752](https://github.com/fastapi/fastapi/pull/12752) by [@&#8203;saeye](https://github.com/saeye). - 🌐 Add Chinese translation for `docs/zh/docs/tutorial/query-param-models.md`. PR [#&#8203;12931](https://github.com/fastapi/fastapi/pull/12931) by [@&#8203;Vincy1230](https://github.com/Vincy1230). - 🌐 Add Russian translation for `docs/ru/docs/tutorial/query-param-models.md`. PR [#&#8203;12445](https://github.com/fastapi/fastapi/pull/12445) by [@&#8203;gitgernit](https://github.com/gitgernit). - 🌐 Add Korean translation for `docs/ko/docs/tutorial/query-param-models.md`. PR [#&#8203;12940](https://github.com/fastapi/fastapi/pull/12940) by [@&#8203;jts8257](https://github.com/jts8257). - 🔥 Remove obsolete tutorial translation to Chinese for `docs/zh/docs/tutorial/sql-databases.md`, it references files that are no longer on the repo. PR [#&#8203;12949](https://github.com/fastapi/fastapi/pull/12949) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Internal - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;12954](https://github.com/fastapi/fastapi/pull/12954) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). ### [`v0.115.5`](https://github.com/fastapi/fastapi/releases/tag/0.115.5) [Compare Source](https://github.com/fastapi/fastapi/compare/0.115.4...0.115.5) ##### Refactors - ♻️ Update internal checks to support Pydantic 2.10. PR [#&#8203;12914](https://github.com/fastapi/fastapi/pull/12914) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Docs - 📝 Update includes for `docs/en/docs/tutorial/body.md`. PR [#&#8203;12757](https://github.com/fastapi/fastapi/pull/12757) by [@&#8203;gsheni](https://github.com/gsheni). - 📝 Update includes in `docs/en/docs/advanced/testing-dependencies.md`. PR [#&#8203;12647](https://github.com/fastapi/fastapi/pull/12647) by [@&#8203;AyushSinghal1794](https://github.com/AyushSinghal1794). - 📝 Update includes for `docs/en/docs/tutorial/metadata.md`. PR [#&#8203;12773](https://github.com/fastapi/fastapi/pull/12773) by [@&#8203;Nimitha-jagadeesha](https://github.com/Nimitha-jagadeesha). - 📝 Update `docs/en/docs/tutorial/dependencies/dependencies-with-yield.md`. PR [#&#8203;12045](https://github.com/fastapi/fastapi/pull/12045) by [@&#8203;xuvjso](https://github.com/xuvjso). - 📝 Update includes for `docs/en/docs/tutorial/dependencies/global-dependencies.md`. PR [#&#8203;12653](https://github.com/fastapi/fastapi/pull/12653) by [@&#8203;vishnuvskvkl](https://github.com/vishnuvskvkl). - 📝 Update includes for `docs/en/docs/tutorial/body-updates.md`. PR [#&#8203;12712](https://github.com/fastapi/fastapi/pull/12712) by [@&#8203;davioc](https://github.com/davioc). - 📝 Remove mention of Celery in the project generators. PR [#&#8203;12742](https://github.com/fastapi/fastapi/pull/12742) by [@&#8203;david-caro](https://github.com/david-caro). - 📝 Update includes in `docs/en/docs/tutorial/header-param-models.md`. PR [#&#8203;12814](https://github.com/fastapi/fastapi/pull/12814) by [@&#8203;zhaohan-dong](https://github.com/zhaohan-dong). - 📝 Update `contributing.md` docs, include note to not translate this page. PR [#&#8203;12841](https://github.com/fastapi/fastapi/pull/12841) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Update includes in `docs/en/docs/tutorial/request-forms.md`. PR [#&#8203;12648](https://github.com/fastapi/fastapi/pull/12648) by [@&#8203;vishnuvskvkl](https://github.com/vishnuvskvkl). - 📝 Update includes in `docs/en/docs/tutorial/request-form-models.md`. PR [#&#8203;12649](https://github.com/fastapi/fastapi/pull/12649) by [@&#8203;vishnuvskvkl](https://github.com/vishnuvskvkl). - 📝 Update includes in `docs/en/docs/tutorial/security/oauth2-jwt.md`. PR [#&#8203;12650](https://github.com/fastapi/fastapi/pull/12650) by [@&#8203;OCE1960](https://github.com/OCE1960). - 📝 Update includes in `docs/vi/docs/tutorial/first-steps.md`. PR [#&#8203;12754](https://github.com/fastapi/fastapi/pull/12754) by [@&#8203;MxPy](https://github.com/MxPy). - 📝 Update includes for `docs/pt/docs/advanced/wsgi.md`. PR [#&#8203;12769](https://github.com/fastapi/fastapi/pull/12769) by [@&#8203;Nimitha-jagadeesha](https://github.com/Nimitha-jagadeesha). - 📝 Update includes for `docs/en/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md`. PR [#&#8203;12815](https://github.com/fastapi/fastapi/pull/12815) by [@&#8203;handabaldeep](https://github.com/handabaldeep). - 📝 Update includes for `docs/en/docs/tutorial/dependencies/classes-as-dependencies.md`. PR [#&#8203;12813](https://github.com/fastapi/fastapi/pull/12813) by [@&#8203;handabaldeep](https://github.com/handabaldeep). - ✏️ Fix error in `docs/en/docs/tutorial/middleware.md`. PR [#&#8203;12819](https://github.com/fastapi/fastapi/pull/12819) by [@&#8203;alejsdev](https://github.com/alejsdev). - 📝 Update includes for `docs/en/docs/tutorial/security/get-current-user.md`. PR [#&#8203;12645](https://github.com/fastapi/fastapi/pull/12645) by [@&#8203;OCE1960](https://github.com/OCE1960). - 📝 Update includes for `docs/en/docs/tutorial/security/first-steps.md`. PR [#&#8203;12643](https://github.com/fastapi/fastapi/pull/12643) by [@&#8203;OCE1960](https://github.com/OCE1960). - 📝 Update includes in `docs/de/docs/advanced/additional-responses.md`. PR [#&#8203;12821](https://github.com/fastapi/fastapi/pull/12821) by [@&#8203;zhaohan-dong](https://github.com/zhaohan-dong). - 📝 Update includes in `docs/en/docs/advanced/generate-clients.md`. PR [#&#8203;12642](https://github.com/fastapi/fastapi/pull/12642) by [@&#8203;AyushSinghal1794](https://github.com/AyushSinghal1794). - 📝 Fix admonition double quotes with new syntax. PR [#&#8203;12835](https://github.com/fastapi/fastapi/pull/12835) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Update includes in `docs/zh/docs/advanced/additional-responses.md`. PR [#&#8203;12828](https://github.com/fastapi/fastapi/pull/12828) by [@&#8203;zhaohan-dong](https://github.com/zhaohan-dong). - 📝 Update includes in `docs/en/docs/tutorial/path-params-numeric-validations.md`. PR [#&#8203;12825](https://github.com/fastapi/fastapi/pull/12825) by [@&#8203;zhaohan-dong](https://github.com/zhaohan-dong). - 📝 Update includes for `docs/en/docs/advanced/testing-websockets.md`. PR [#&#8203;12761](https://github.com/fastapi/fastapi/pull/12761) by [@&#8203;hamidrasti](https://github.com/hamidrasti). - 📝 Update includes for `docs/en/docs/advanced/using-request-directly.md`. PR [#&#8203;12760](https://github.com/fastapi/fastapi/pull/12760) by [@&#8203;hamidrasti](https://github.com/hamidrasti). - 📝 Update includes for `docs/advanced/wsgi.md`. PR [#&#8203;12758](https://github.com/fastapi/fastapi/pull/12758) by [@&#8203;hamidrasti](https://github.com/hamidrasti). - 📝 Update includes in `docs/de/docs/tutorial/middleware.md`. PR [#&#8203;12729](https://github.com/fastapi/fastapi/pull/12729) by [@&#8203;paintdog](https://github.com/paintdog). - 📝 Update includes for `docs/en/docs/tutorial/schema-extra-example.md`. PR [#&#8203;12822](https://github.com/fastapi/fastapi/pull/12822) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Update includes in `docs/fr/docs/advanced/additional-responses.md`. PR [#&#8203;12634](https://github.com/fastapi/fastapi/pull/12634) by [@&#8203;fegmorte](https://github.com/fegmorte). - 📝 Update includes in `docs/fr/docs/advanced/path-operation-advanced-configuration.md`. PR [#&#8203;12633](https://github.com/fastapi/fastapi/pull/12633) by [@&#8203;kantandane](https://github.com/kantandane). - 📝 Update includes in `docs/fr/docs/advanced/response-directly.md`. PR [#&#8203;12632](https://github.com/fastapi/fastapi/pull/12632) by [@&#8203;kantandane](https://github.com/kantandane). - 📝 Update includes for `docs/en/docs/tutorial/header-params.md`. PR [#&#8203;12640](https://github.com/fastapi/fastapi/pull/12640) by [@&#8203;vishnuvskvkl](https://github.com/vishnuvskvkl). - 📝 Update includes in `docs/en/docs/tutorial/cookie-param-models.md`. PR [#&#8203;12639](https://github.com/fastapi/fastapi/pull/12639) by [@&#8203;vishnuvskvkl](https://github.com/vishnuvskvkl). - 📝 Update includes for `docs/en/docs/tutorial/extra-models.md`. PR [#&#8203;12638](https://github.com/fastapi/fastapi/pull/12638) by [@&#8203;vishnuvskvkl](https://github.com/vishnuvskvkl). - 📝 Update includes for `docs/en/docs/tutorial/cors.md`. PR [#&#8203;12637](https://github.com/fastapi/fastapi/pull/12637) by [@&#8203;vishnuvskvkl](https://github.com/vishnuvskvkl). - 📝 Update includes for `docs/en/docs/tutorial/dependencies/sub-dependencies.md`. PR [#&#8203;12810](https://github.com/fastapi/fastapi/pull/12810) by [@&#8203;handabaldeep](https://github.com/handabaldeep). - 📝 Update includes in `docs/en/docs/tutorial/body-nested-models.md`. PR [#&#8203;12812](https://github.com/fastapi/fastapi/pull/12812) by [@&#8203;zhaohan-dong](https://github.com/zhaohan-dong). - 📝 Update includes in `docs/en/docs/tutorial/path-operation-configuration.md`. PR [#&#8203;12809](https://github.com/fastapi/fastapi/pull/12809) by [@&#8203;AlexWendland](https://github.com/AlexWendland). - 📝 Update includes in `docs/en/docs/tutorial/request-files.md`. PR [#&#8203;12818](https://github.com/fastapi/fastapi/pull/12818) by [@&#8203;zhaohan-dong](https://github.com/zhaohan-dong). - 📝 Update includes for `docs/en/docs/tutorial/query-param-models.md`. PR [#&#8203;12817](https://github.com/fastapi/fastapi/pull/12817) by [@&#8203;handabaldeep](https://github.com/handabaldeep). - 📝 Update includes in `docs/en/docs/tutorial/path-params.md`. PR [#&#8203;12811](https://github.com/fastapi/fastapi/pull/12811) by [@&#8203;AlexWendland](https://github.com/AlexWendland). - 📝 Update includes in `docs/en/docs/tutorial/response-model.md`. PR [#&#8203;12621](https://github.com/fastapi/fastapi/pull/12621) by [@&#8203;kantandane](https://github.com/kantandane). - 📝 Update includes in `docs/en/docs/advanced/websockets.md`. PR [#&#8203;12606](https://github.com/fastapi/fastapi/pull/12606) by [@&#8203;vishnuvskvkl](https://github.com/vishnuvskvkl). - 📝 Updates include for `docs/en/docs/tutorial/cookie-params.md`. PR [#&#8203;12808](https://github.com/fastapi/fastapi/pull/12808) by [@&#8203;handabaldeep](https://github.com/handabaldeep). - 📝 Update includes in `docs/en/docs/tutorial/middleware.md`. PR [#&#8203;12807](https://github.com/fastapi/fastapi/pull/12807) by [@&#8203;AlexWendland](https://github.com/AlexWendland). - 📝 Update includes in `docs/en/docs/advanced/sub-applications.md`. PR [#&#8203;12806](https://github.com/fastapi/fastapi/pull/12806) by [@&#8203;zhaohan-dong](https://github.com/zhaohan-dong). - 📝 Update includes in `docs/en/docs/advanced/response-headers.md`. PR [#&#8203;12805](https://github.com/fastapi/fastapi/pull/12805) by [@&#8203;zhaohan-dong](https://github.com/zhaohan-dong). - 📝 Update includes in `docs/fr/docs/tutorial/first-steps.md`. PR [#&#8203;12594](https://github.com/fastapi/fastapi/pull/12594) by [@&#8203;kantandane](https://github.com/kantandane). - 📝 Update includes in `docs/en/docs/advanced/response-cookies.md`. PR [#&#8203;12804](https://github.com/fastapi/fastapi/pull/12804) by [@&#8203;zhaohan-dong](https://github.com/zhaohan-dong). - 📝 Update includes in `docs/en/docs/advanced/path-operation-advanced-configuration.md`. PR [#&#8203;12802](https://github.com/fastapi/fastapi/pull/12802) by [@&#8203;zhaohan-dong](https://github.com/zhaohan-dong). - 📝 Update includes for `docs/en/docs/advanced/response-directly.md`. PR [#&#8203;12803](https://github.com/fastapi/fastapi/pull/12803) by [@&#8203;handabaldeep](https://github.com/handabaldeep). - 📝 Update includes in `docs/zh/docs/tutorial/background-tasks.md`. PR [#&#8203;12798](https://github.com/fastapi/fastapi/pull/12798) by [@&#8203;zhaohan-dong](https://github.com/zhaohan-dong). - 📝 Update includes for `docs/de/docs/tutorial/body-multiple-params.md`. PR [#&#8203;12699](https://github.com/fastapi/fastapi/pull/12699) by [@&#8203;alissadb](https://github.com/alissadb). - 📝 Update includes in `docs/em/docs/tutorial/body-updates.md`. PR [#&#8203;12799](https://github.com/fastapi/fastapi/pull/12799) by [@&#8203;AlexWendland](https://github.com/AlexWendland). - 📝 Update includes `docs/en/docs/advanced/response-change-status-code.md`. PR [#&#8203;12801](https://github.com/fastapi/fastapi/pull/12801) by [@&#8203;handabaldeep](https://github.com/handabaldeep). - 📝 Update includes `docs/en/docs/advanced/openapi-callbacks.md`. PR [#&#8203;12800](https://github.com/fastapi/fastapi/pull/12800) by [@&#8203;handabaldeep](https://github.com/handabaldeep). - 📝 Update includes in `docs/fr/docs/tutorial/body-multiple-params.md`. PR [#&#8203;12598](https://github.com/fastapi/fastapi/pull/12598) by [@&#8203;kantandane](https://github.com/kantandane). - 📝 Update includes in `docs/en/docs/tutorial/body-multiple-params.md`. PR [#&#8203;12593](https://github.com/fastapi/fastapi/pull/12593) by [@&#8203;Tashanam-Shahbaz](https://github.com/Tashanam-Shahbaz). - 📝 Update includes in `docs/pt/docs/tutorial/background-tasks.md`. PR [#&#8203;12736](https://github.com/fastapi/fastapi/pull/12736) by [@&#8203;bhunao](https://github.com/bhunao). - 📝 Update includes for `docs/en/docs/advanced/custom-response.md`. PR [#&#8203;12797](https://github.com/fastapi/fastapi/pull/12797) by [@&#8203;handabaldeep](https://github.com/handabaldeep). - 📝 Update includes for `docs/pt/docs/python-types.md`. PR [#&#8203;12671](https://github.com/fastapi/fastapi/pull/12671) by [@&#8203;ceb10n](https://github.com/ceb10n). - 📝 Update includes for `docs/de/docs/python-types.md`. PR [#&#8203;12660](https://github.com/fastapi/fastapi/pull/12660) by [@&#8203;alissadb](https://github.com/alissadb). - 📝 Update includes for `docs/de/docs/advanced/dataclasses.md`. PR [#&#8203;12658](https://github.com/fastapi/fastapi/pull/12658) by [@&#8203;alissadb](https://github.com/alissadb). - 📝 Update includes in `docs/fr/docs/tutorial/path-params.md`. PR [#&#8203;12592](https://github.com/fastapi/fastapi/pull/12592) by [@&#8203;kantandane](https://github.com/kantandane). - 📝 Update includes for `docs/de/docs/how-to/configure-swagger-ui.md`. PR [#&#8203;12690](https://github.com/fastapi/fastapi/pull/12690) by [@&#8203;alissadb](https://github.com/alissadb). - 📝 Update includes in `docs/en/docs/advanced/security/oauth2-scopes.md`. PR [#&#8203;12572](https://github.com/fastapi/fastapi/pull/12572) by [@&#8203;krishnamadhavan](https://github.com/krishnamadhavan). - 📝 Update includes for `docs/en/docs/how-to/conditional-openapi.md`. PR [#&#8203;12624](https://github.com/fastapi/fastapi/pull/12624) by [@&#8203;rabinlamadong](https://github.com/rabinlamadong). - 📝 Update includes in `docs/en/docs/tutorial/dependencies/index.md`. PR [#&#8203;12615](https://github.com/fastapi/fastapi/pull/12615) by [@&#8203;bharara](https://github.com/bharara). - 📝 Update includes in `docs/en/docs/tutorial/response-status-code.md`. PR [#&#8203;12620](https://github.com/fastapi/fastapi/pull/12620) by [@&#8203;kantandane](https://github.com/kantandane). - 📝 Update includes in `docs/en/docs/how-to/custom-docs-ui-assets.md`. PR [#&#8203;12623](https://github.com/fastapi/fastapi/pull/12623) by [@&#8203;rabinlamadong](https://github.com/rabinlamadong). - 📝 Update includes in `docs/en/docs/advanced/openapi-webhooks.md`. PR [#&#8203;12605](https://github.com/fastapi/fastapi/pull/12605) by [@&#8203;salmantec](https://github.com/salmantec). - 📝 Update includes in `docs/en/docs/advanced/events.md`. PR [#&#8203;12604](https://github.com/fastapi/fastapi/pull/12604) by [@&#8203;salmantec](https://github.com/salmantec). - 📝 Update includes in `docs/en/docs/advanced/dataclasses.md`. PR [#&#8203;12603](https://github.com/fastapi/fastapi/pull/12603) by [@&#8203;salmantec](https://github.com/salmantec). - 📝 Update includes in `docs/es/docs/tutorial/cookie-params.md`. PR [#&#8203;12602](https://github.com/fastapi/fastapi/pull/12602) by [@&#8203;antonyare93](https://github.com/antonyare93). - 📝 Update includes in `docs/fr/docs/tutorial/path-params-numeric-validations.md`. PR [#&#8203;12601](https://github.com/fastapi/fastapi/pull/12601) by [@&#8203;kantandane](https://github.com/kantandane). - 📝 Update includes in `docs/fr/docs/tutorial/background-tasks.md`. PR [#&#8203;12600](https://github.com/fastapi/fastapi/pull/12600) by [@&#8203;kantandane](https://github.com/kantandane). - 📝 Update includes in `docs/en/docs/tutorial/encoder.md`. PR [#&#8203;12597](https://github.com/fastapi/fastapi/pull/12597) by [@&#8203;tonyjly](https://github.com/tonyjly). - 📝 Update includes in `docs/en/docs/how-to/custom-docs-ui-assets.md`. PR [#&#8203;12557](https://github.com/fastapi/fastapi/pull/12557) by [@&#8203;philipokiokio](https://github.com/philipokiokio). - 🎨 Adjust spacing. PR [#&#8203;12635](https://github.com/fastapi/fastapi/pull/12635) by [@&#8203;alejsdev](https://github.com/alejsdev). - 📝 Update includes in `docs/en/docs/how-to/custom-request-and-route.md`. PR [#&#8203;12560](https://github.com/fastapi/fastapi/pull/12560) by [@&#8203;philipokiokio](https://github.com/philipokiokio). ##### Translations - 🌐 Add Korean translation for `docs/ko/docs/advanced/testing-websockets.md`. PR [#&#8203;12739](https://github.com/fastapi/fastapi/pull/12739) by [@&#8203;Limsunoh](https://github.com/Limsunoh). - 🌐 Add Traditional Chinese translation for `docs/zh-hant/docs/environment-variables.md`. PR [#&#8203;12785](https://github.com/fastapi/fastapi/pull/12785) by [@&#8203;Vincy1230](https://github.com/Vincy1230). - 🌐 Add Chinese translation for `docs/zh/docs/environment-variables.md`. PR [#&#8203;12784](https://github.com/fastapi/fastapi/pull/12784) by [@&#8203;Vincy1230](https://github.com/Vincy1230). - 🌐 Add Korean translation for `ko/docs/advanced/response-headers.md`. PR [#&#8203;12740](https://github.com/fastapi/fastapi/pull/12740) by [@&#8203;kwang1215](https://github.com/kwang1215). - 🌐 Add Chinese translation for `docs/zh/docs/virtual-environments.md`. PR [#&#8203;12790](https://github.com/fastapi/fastapi/pull/12790) by [@&#8203;Vincy1230](https://github.com/Vincy1230). - 🌐 Add Korean translation for `/docs/ko/docs/environment-variables.md`. PR [#&#8203;12526](https://github.com/fastapi/fastapi/pull/12526) by [@&#8203;Tolerblanc](https://github.com/Tolerblanc). - 🌐 Add Korean translation for `docs/ko/docs/history-design-future.md`. PR [#&#8203;12646](https://github.com/fastapi/fastapi/pull/12646) by [@&#8203;saeye](https://github.com/saeye). - 🌐 Add Korean translation for `docs/ko/docs/advanced/advanced-dependencies.md`. PR [#&#8203;12675](https://github.com/fastapi/fastapi/pull/12675) by [@&#8203;kim-sangah](https://github.com/kim-sangah). - 🌐 Add Korean translation for `docs/ko/docs/how-to/conditional-openapi.md`. PR [#&#8203;12731](https://github.com/fastapi/fastapi/pull/12731) by [@&#8203;sptcnl](https://github.com/sptcnl). - 🌐 Add Korean translation for `docs/ko/docs/advanced/using_request_directly.md`. PR [#&#8203;12738](https://github.com/fastapi/fastapi/pull/12738) by [@&#8203;kwang1215](https://github.com/kwang1215). - 🌐 Add Korean translation for `docs/ko/docs/advanced/testing-events.md`. PR [#&#8203;12741](https://github.com/fastapi/fastapi/pull/12741) by [@&#8203;9zimin9](https://github.com/9zimin9). - 🌐 Add Korean translation for `docs/ko/docs/security/index.md`. PR [#&#8203;12743](https://github.com/fastapi/fastapi/pull/12743) by [@&#8203;kim-sangah](https://github.com/kim-sangah). - 🌐 Add Portuguese translation for `docs/pt/docs/advanced/path-operation-advanced-configuration.md`. PR [#&#8203;12762](https://github.com/fastapi/fastapi/pull/12762) by [@&#8203;Joao-Pedro-P-Holanda](https://github.com/Joao-Pedro-P-Holanda). - 🌐 Add Korean translation for `docs/ko/docs/advanced/wsgi.md`. PR [#&#8203;12659](https://github.com/fastapi/fastapi/pull/12659) by [@&#8203;Limsunoh](https://github.com/Limsunoh). - 🌐 Add Portuguese translation for `docs/pt/docs/advanced/websockets.md`. PR [#&#8203;12703](https://github.com/fastapi/fastapi/pull/12703) by [@&#8203;devfernandoa](https://github.com/devfernandoa). - 🌐 Add Portuguese translation for `docs/pt/docs/tutorial/security/simple-oauth2.md`. PR [#&#8203;12520](https://github.com/fastapi/fastapi/pull/12520) by [@&#8203;LidiaDomingos](https://github.com/LidiaDomingos). - 🌐 Add Korean translation for `docs/ko/docs/advanced/response-directly.md`. PR [#&#8203;12674](https://github.com/fastapi/fastapi/pull/12674) by [@&#8203;9zimin9](https://github.com/9zimin9). - 🌐 Add Portuguese translation for `docs/pt/docs/advanced/middleware.md`. PR [#&#8203;12704](https://github.com/fastapi/fastapi/pull/12704) by [@&#8203;devluisrodrigues](https://github.com/devluisrodrigues). - 🌐 Add Portuguese translation for `docs/pt/docs/advanced/openapi-callbacks.md`. PR [#&#8203;12705](https://github.com/fastapi/fastapi/pull/12705) by [@&#8203;devfernandoa](https://github.com/devfernandoa). - 🌐 Add Portuguese translation for `docs/pt/docs/tutorial/request-files.md`. PR [#&#8203;12706](https://github.com/fastapi/fastapi/pull/12706) by [@&#8203;devluisrodrigues](https://github.com/devluisrodrigues). - 🌐 Add Portuguese Translation for `docs/pt/docs/advanced/custom-response.md`. PR [#&#8203;12631](https://github.com/fastapi/fastapi/pull/12631) by [@&#8203;Joao-Pedro-P-Holanda](https://github.com/Joao-Pedro-P-Holanda). - 🌐 Add Portuguese translation for `docs/pt/docs/tutorial/metadata.md`. PR [#&#8203;12538](https://github.com/fastapi/fastapi/pull/12538) by [@&#8203;LinkolnR](https://github.com/LinkolnR). - 🌐 Add Korean translation for `docs/ko/docs/tutorial/metadata.md`. PR [#&#8203;12541](https://github.com/fastapi/fastapi/pull/12541) by [@&#8203;kwang1215](https://github.com/kwang1215). - 🌐 Add Korean Translation for `docs/ko/docs/advanced/response-cookies.md`. PR [#&#8203;12546](https://github.com/fastapi/fastapi/pull/12546) by [@&#8203;kim-sangah](https://github.com/kim-sangah). - 🌐 Add Korean translation for `docs/ko/docs/fastapi-cli.md`. PR [#&#8203;12515](https://github.com/fastapi/fastapi/pull/12515) by [@&#8203;dhdld](https://github.com/dhdld). - 🌐 Add Korean Translation for `docs/ko/docs/advanced/response-change-status-code.md`. PR [#&#8203;12547](https://github.com/fastapi/fastapi/pull/12547) by [@&#8203;9zimin9](https://github.com/9zimin9). ##### Internal - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;12907](https://github.com/fastapi/fastapi/pull/12907) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). - 🔨 Update docs preview script to show previous version and English version. PR [#&#8203;12856](https://github.com/fastapi/fastapi/pull/12856) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ Bump tiangolo/latest-changes from 0.3.1 to 0.3.2. PR [#&#8203;12794](https://github.com/fastapi/fastapi/pull/12794) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump pypa/gh-action-pypi-publish from 1.12.0 to 1.12.2. PR [#&#8203;12788](https://github.com/fastapi/fastapi/pull/12788) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump pypa/gh-action-pypi-publish from 1.11.0 to 1.12.0. PR [#&#8203;12781](https://github.com/fastapi/fastapi/pull/12781) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump cloudflare/wrangler-action from 3.11 to 3.12. PR [#&#8203;12777](https://github.com/fastapi/fastapi/pull/12777) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;12766](https://github.com/fastapi/fastapi/pull/12766) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). - ⬆ Bump pypa/gh-action-pypi-publish from 1.10.3 to 1.11.0. PR [#&#8203;12721](https://github.com/fastapi/fastapi/pull/12721) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Update pre-commit requirement from <4.0.0,>=2.17.0 to >=2.17.0,<5.0.0. PR [#&#8203;12749](https://github.com/fastapi/fastapi/pull/12749) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump typer from 0.12.3 to 0.12.5. PR [#&#8203;12748](https://github.com/fastapi/fastapi/pull/12748) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Update flask requirement from <3.0.0,>=1.1.2 to >=1.1.2,<4.0.0. PR [#&#8203;12747](https://github.com/fastapi/fastapi/pull/12747) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump pillow from 10.4.0 to 11.0.0. PR [#&#8203;12746](https://github.com/fastapi/fastapi/pull/12746) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Update pytest requirement from <8.0.0,>=7.1.3 to >=7.1.3,<9.0.0. PR [#&#8203;12745](https://github.com/fastapi/fastapi/pull/12745) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - 🔧 Update sponsors: add Render. PR [#&#8203;12733](https://github.com/fastapi/fastapi/pull/12733) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;12707](https://github.com/fastapi/fastapi/pull/12707) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). ### [`v0.115.4`](https://github.com/fastapi/fastapi/releases/tag/0.115.4) [Compare Source](https://github.com/fastapi/fastapi/compare/0.115.3...0.115.4) ##### Refactors - ♻️ Update logic to import and check `python-multipart` for compatibility with newer version. PR [#&#8203;12627](https://github.com/fastapi/fastapi/pull/12627) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Docs - 📝 Update includes in `docs/fr/docs/tutorial/body.md`. PR [#&#8203;12596](https://github.com/fastapi/fastapi/pull/12596) by [@&#8203;kantandane](https://github.com/kantandane). - 📝 Update includes in `docs/fr/docs/tutorial/debugging.md`. PR [#&#8203;12595](https://github.com/fastapi/fastapi/pull/12595) by [@&#8203;kantandane](https://github.com/kantandane). - 📝 Update includes in `docs/fr/docs/tutorial/query-params-str-validations.md`. PR [#&#8203;12591](https://github.com/fastapi/fastapi/pull/12591) by [@&#8203;kantandane](https://github.com/kantandane). - 📝 Update includes in `docs/fr/docs/tutorial/query-params.md`. PR [#&#8203;12589](https://github.com/fastapi/fastapi/pull/12589) by [@&#8203;kantandane](https://github.com/kantandane). - 📝 Update includes in `docs/en/tutorial/body-fields.md`. PR [#&#8203;12588](https://github.com/fastapi/fastapi/pull/12588) by [@&#8203;lucaromagnoli](https://github.com/lucaromagnoli). - 📝 Update includes in `docs/de/docs/tutorial/response-status-code.md`. PR [#&#8203;12585](https://github.com/fastapi/fastapi/pull/12585) by [@&#8203;abejaranoh](https://github.com/abejaranoh). - 📝 Update includes in `docs/en/docs/tutorial/body.md`. PR [#&#8203;12586](https://github.com/fastapi/fastapi/pull/12586) by [@&#8203;lucaromagnoli](https://github.com/lucaromagnoli). - 📝 Update includes in `docs/en/docs/advanced/behind-a-proxy.md`. PR [#&#8203;12583](https://github.com/fastapi/fastapi/pull/12583) by [@&#8203;imjuanleonard](https://github.com/imjuanleonard). - 📝 Update includes syntax for `docs/pl/docs/tutorial/first-steps.md`. PR [#&#8203;12584](https://github.com/fastapi/fastapi/pull/12584) by [@&#8203;sebkozlo](https://github.com/sebkozlo). - 📝 Update includes in `docs/en/docs/advanced/middleware.md`. PR [#&#8203;12582](https://github.com/fastapi/fastapi/pull/12582) by [@&#8203;montanarograziano](https://github.com/montanarograziano). - 📝 Update includes in `docs/en/docs/advanced/additional-status-codes.md`. PR [#&#8203;12577](https://github.com/fastapi/fastapi/pull/12577) by [@&#8203;krishnamadhavan](https://github.com/krishnamadhavan). - 📝 Update includes in `docs/en/docs/advanced/advanced-dependencies.md`. PR [#&#8203;12578](https://github.com/fastapi/fastapi/pull/12578) by [@&#8203;krishnamadhavan](https://github.com/krishnamadhavan). - 📝 Update includes in `docs/en/docs/advanced/additional-responses.md`. PR [#&#8203;12576](https://github.com/fastapi/fastapi/pull/12576) by [@&#8203;krishnamadhavan](https://github.com/krishnamadhavan). - 📝 Update includes in `docs/en/docs/tutorial/static-files.md`. PR [#&#8203;12575](https://github.com/fastapi/fastapi/pull/12575) by [@&#8203;lucaromagnoli](https://github.com/lucaromagnoli). - 📝 Update includes in `docs/en/docs/advanced/async-tests.md`. PR [#&#8203;12568](https://github.com/fastapi/fastapi/pull/12568) by [@&#8203;krishnamadhavan](https://github.com/krishnamadhavan). - 📝 Update includes in `docs/pt/docs/advanced/behind-a-proxy.md`. PR [#&#8203;12563](https://github.com/fastapi/fastapi/pull/12563) by [@&#8203;asmioglou](https://github.com/asmioglou). - 📝 Update includes in `docs/de/docs/advanced/security/http-basic-auth.md`. PR [#&#8203;12561](https://github.com/fastapi/fastapi/pull/12561) by [@&#8203;Nimitha-jagadeesha](https://github.com/Nimitha-jagadeesha). - 📝 Update includes in `docs/en/docs/tutorial/background-tasks.md`. PR [#&#8203;12559](https://github.com/fastapi/fastapi/pull/12559) by [@&#8203;FarhanAliRaza](https://github.com/FarhanAliRaza). - 📝 Update includes in `docs/fr/docs/python-types.md`. PR [#&#8203;12558](https://github.com/fastapi/fastapi/pull/12558) by [@&#8203;Ismailtlem](https://github.com/Ismailtlem). - 📝 Update includes in `docs/en/docs/how-to/graphql.md`. PR [#&#8203;12564](https://github.com/fastapi/fastapi/pull/12564) by [@&#8203;philipokiokio](https://github.com/philipokiokio). - 📝 Update includes in `docs/en/docs/how-to/extending-openapi.md`. PR [#&#8203;12562](https://github.com/fastapi/fastapi/pull/12562) by [@&#8203;philipokiokio](https://github.com/philipokiokio). - 📝 Update includes for `docs/en/docs/how-to/configure-swagger-ui.md`. PR [#&#8203;12556](https://github.com/fastapi/fastapi/pull/12556) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Update includes for `docs/en/docs/how-to/separate-openapi-schemas.md`. PR [#&#8203;12555](https://github.com/fastapi/fastapi/pull/12555) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Update includes for `docs/en/docs/advanced/security/http-basic-auth.md`. PR [#&#8203;12553](https://github.com/fastapi/fastapi/pull/12553) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Update includes in `docs/en/docs/tutorial/first-steps.md`. PR [#&#8203;12552](https://github.com/fastapi/fastapi/pull/12552) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Update includes in `docs/en/docs/python-types.md`. PR [#&#8203;12551](https://github.com/fastapi/fastapi/pull/12551) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Fix link in OAuth2 docs. PR [#&#8203;12550](https://github.com/fastapi/fastapi/pull/12550) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Add External Link: FastAPI do Zero. PR [#&#8203;12533](https://github.com/fastapi/fastapi/pull/12533) by [@&#8203;rennerocha](https://github.com/rennerocha). - 📝 Fix minor typos. PR [#&#8203;12516](https://github.com/fastapi/fastapi/pull/12516) by [@&#8203;kkirsche](https://github.com/kkirsche). - 🌐 Fix rendering issue in translations. PR [#&#8203;12509](https://github.com/fastapi/fastapi/pull/12509) by [@&#8203;alejsdev](https://github.com/alejsdev). ##### Translations - 📝 Update includes in `docs/de/docs/advanced/async-tests.md`. PR [#&#8203;12567](https://github.com/fastapi/fastapi/pull/12567) by [@&#8203;imjuanleonard](https://github.com/imjuanleonard). - 🌐 Add Portuguese translation for `docs/pt/docs/tutorial/sql-databases.md`. PR [#&#8203;12530](https://github.com/fastapi/fastapi/pull/12530) by [@&#8203;ilacftemp](https://github.com/ilacftemp). - 🌐 Add Korean translation for `docs/ko/docs/benchmarks.md`. PR [#&#8203;12540](https://github.com/fastapi/fastapi/pull/12540) by [@&#8203;Limsunoh](https://github.com/Limsunoh). - 🌐 Add Portuguese translation for `docs/pt/docs/how-to/separate-openapi-schemas.md`. PR [#&#8203;12518](https://github.com/fastapi/fastapi/pull/12518) by [@&#8203;ilacftemp](https://github.com/ilacftemp). - 🌐 Update Traditional Chinese translation for `docs/zh-hant/docs/deployment/index.md`. PR [#&#8203;12521](https://github.com/fastapi/fastapi/pull/12521) by [@&#8203;codingjenny](https://github.com/codingjenny). - 🌐 Update Traditional Chinese translation for `docs/zh-hant/docs/deployment/cloud.md`. PR [#&#8203;12522](https://github.com/fastapi/fastapi/pull/12522) by [@&#8203;codingjenny](https://github.com/codingjenny). - 🌐 Update Traditional Chinese translation for `docs/zh-hant/docs/how-to/index.md`. PR [#&#8203;12523](https://github.com/fastapi/fastapi/pull/12523) by [@&#8203;codingjenny](https://github.com/codingjenny). - 🌐 Update Traditional Chinese translation for `docs/zh-hant/docs/tutorial/index.md`. PR [#&#8203;12524](https://github.com/fastapi/fastapi/pull/12524) by [@&#8203;codingjenny](https://github.com/codingjenny). - 🌐 Add Traditional Chinese translation for `docs/zh-hant/docs/how-to/index.md`. PR [#&#8203;12468](https://github.com/fastapi/fastapi/pull/12468) by [@&#8203;codingjenny](https://github.com/codingjenny). - 🌐 Add Traditional Chinese translation for `docs/zh-hant/docs/tutorial/index.md`. PR [#&#8203;12466](https://github.com/fastapi/fastapi/pull/12466) by [@&#8203;codingjenny](https://github.com/codingjenny). - 🌐 Add Portuguese translation for `docs/pt/docs/tutorial/header-param-models.md`. PR [#&#8203;12437](https://github.com/fastapi/fastapi/pull/12437) by [@&#8203;Joao-Pedro-P-Holanda](https://github.com/Joao-Pedro-P-Holanda). - 🌐 Add Portuguese translation for `docs/pt/docs/how-to/extending-openapi.md`. PR [#&#8203;12470](https://github.com/fastapi/fastapi/pull/12470) by [@&#8203;ilacftemp](https://github.com/ilacftemp). - 🌐 Add Portuguese translation for `docs/pt/docs/advanced/dataclasses.md`. PR [#&#8203;12475](https://github.com/fastapi/fastapi/pull/12475) by [@&#8203;leoscarlato](https://github.com/leoscarlato). - 🌐 Add Portuguese translation for `docs/pt/docs/how-to/custom-request-and-route.md`. PR [#&#8203;12483](https://github.com/fastapi/fastapi/pull/12483) by [@&#8203;devfernandoa](https://github.com/devfernandoa). ##### Internal - ⬆ Bump cloudflare/wrangler-action from 3.9 to 3.11. PR [#&#8203;12544](https://github.com/fastapi/fastapi/pull/12544) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - 👷 Update GitHub Action to deploy docs previews to handle missing deploy comments. PR [#&#8203;12527](https://github.com/fastapi/fastapi/pull/12527) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;12505](https://github.com/fastapi/fastapi/pull/12505) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). ### [`v0.115.3`](https://github.com/fastapi/fastapi/releases/tag/0.115.3) [Compare Source](https://github.com/fastapi/fastapi/compare/0.115.2...0.115.3) ##### Upgrades - ⬆️ Upgrade Starlette to `>=0.40.0,<0.42.0`. PR [#&#8203;12469](https://github.com/fastapi/fastapi/pull/12469) by [@&#8203;defnull](https://github.com/defnull). ##### Docs - 📝 Fix broken link in docs. PR [#&#8203;12495](https://github.com/fastapi/fastapi/pull/12495) by [@&#8203;eltonjncorreia](https://github.com/eltonjncorreia). ##### Translations - 🌐 Add Traditional Chinese translation for `docs/zh-hant/docs/fastapi-cli.md`. PR [#&#8203;12444](https://github.com/fastapi/fastapi/pull/12444) by [@&#8203;codingjenny](https://github.com/codingjenny). - 🌐 Add Traditional Chinese translation for `docs/zh-hant/docs/deployment/index.md`. PR [#&#8203;12439](https://github.com/fastapi/fastapi/pull/12439) by [@&#8203;codingjenny](https://github.com/codingjenny). - 🌐 Add Portuguese translation for `docs/pt/docs/how-to/testing-database.md`. PR [#&#8203;12472](https://github.com/fastapi/fastapi/pull/12472) by [@&#8203;GuilhermeRameh](https://github.com/GuilhermeRameh). - 🌐 Add Portuguese translation for `docs/pt/docs/how-to/custom-docs-ui-assets.md`. PR [#&#8203;12473](https://github.com/fastapi/fastapi/pull/12473) by [@&#8203;devluisrodrigues](https://github.com/devluisrodrigues). - 🌐 Add Portuguese translation for `docs/pt/docs/advanced/response-headers.md`. PR [#&#8203;12458](https://github.com/fastapi/fastapi/pull/12458) by [@&#8203;leonardopaloschi](https://github.com/leonardopaloschi). - 🌐 Add Traditional Chinese translation for `docs/zh-hant/docs/deployment/cloud.md`. PR [#&#8203;12440](https://github.com/fastapi/fastapi/pull/12440) by [@&#8203;codingjenny](https://github.com/codingjenny). - 🌐 Update Portuguese translation for `docs/pt/docs/python-types.md`. PR [#&#8203;12428](https://github.com/fastapi/fastapi/pull/12428) by [@&#8203;ceb10n](https://github.com/ceb10n). - 🌐 Add Russian translation for `docs/ru/docs/environment-variables.md`. PR [#&#8203;12436](https://github.com/fastapi/fastapi/pull/12436) by [@&#8203;wisderfin](https://github.com/wisderfin). - 🌐 Add Traditional Chinese translation for `docs/zh-hant/docs/resources/index.md`. PR [#&#8203;12443](https://github.com/fastapi/fastapi/pull/12443) by [@&#8203;codingjenny](https://github.com/codingjenny). - 🌐 Add Traditional Chinese translation for `docs/zh-hant/docs/about/index.md`. PR [#&#8203;12438](https://github.com/fastapi/fastapi/pull/12438) by [@&#8203;codingjenny](https://github.com/codingjenny). - 🌐 Add Portuguese translation for `docs/pt/docs/tutorial/query-param-models.md`. PR [#&#8203;12414](https://github.com/fastapi/fastapi/pull/12414) by [@&#8203;ceb10n](https://github.com/ceb10n). - 🌐 Remove Portuguese translation for `docs/pt/docs/deployment.md`. PR [#&#8203;12427](https://github.com/fastapi/fastapi/pull/12427) by [@&#8203;ceb10n](https://github.com/ceb10n). - 🌐 Add Portuguese translation for `docs/pt/docs/tutorial/body-updates.md`. PR [#&#8203;12381](https://github.com/fastapi/fastapi/pull/12381) by [@&#8203;andersonrocha0](https://github.com/andersonrocha0). - 🌐 Add Portuguese translation for `docs/pt/docs/advanced/response-cookies.md`. PR [#&#8203;12417](https://github.com/fastapi/fastapi/pull/12417) by [@&#8203;Paulofalcao2002](https://github.com/Paulofalcao2002). ##### Internal - 👷 Update issue manager workflow . PR [#&#8203;12457](https://github.com/fastapi/fastapi/pull/12457) by [@&#8203;alejsdev](https://github.com/alejsdev). - 🔧 Update team, include YuriiMotov 🚀. PR [#&#8203;12453](https://github.com/fastapi/fastapi/pull/12453) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👷 Refactor label-approved, make it an internal script instead of an external GitHub Action. PR [#&#8203;12280](https://github.com/fastapi/fastapi/pull/12280) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👷 Fix smokeshow, checkout files on CI. PR [#&#8203;12434](https://github.com/fastapi/fastapi/pull/12434) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👷 Use uv in CI. PR [#&#8203;12281](https://github.com/fastapi/fastapi/pull/12281) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ Update httpx requirement from <0.25.0,>=0.23.0 to >=0.23.0,<0.28.0. PR [#&#8203;11509](https://github.com/fastapi/fastapi/pull/11509) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). ### [`v0.115.2`](https://github.com/fastapi/fastapi/releases/tag/0.115.2) [Compare Source](https://github.com/fastapi/fastapi/compare/0.115.1...0.115.2) ##### Upgrades - ⬆️ Upgrade Starlette to `>=0.37.2,<0.41.0`. PR [#&#8203;12431](https://github.com/fastapi/fastapi/pull/12431) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.115.1`](https://github.com/fastapi/fastapi/releases/tag/0.115.1) [Compare Source](https://github.com/fastapi/fastapi/compare/0.115.0...0.115.1) ##### Fixes - 🐛 Fix openapi generation with responses kwarg. PR [#&#8203;10895](https://github.com/fastapi/fastapi/pull/10895) by [@&#8203;flxdot](https://github.com/flxdot). - 🐛 Remove `Required` shadowing from fastapi using Pydantic v2. PR [#&#8203;12197](https://github.com/fastapi/fastapi/pull/12197) by [@&#8203;pachewise](https://github.com/pachewise). ##### Refactors - ♻️ Update type annotations for improved `python-multipart`. PR [#&#8203;12407](https://github.com/fastapi/fastapi/pull/12407) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Docs - ✨ Add new tutorial for SQL databases with SQLModel. PR [#&#8203;12285](https://github.com/fastapi/fastapi/pull/12285) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Add External Link: How to profile a FastAPI asynchronous request. PR [#&#8203;12389](https://github.com/fastapi/fastapi/pull/12389) by [@&#8203;brouberol](https://github.com/brouberol). - 🔧 Remove `base_path` for `mdx_include` Markdown extension in MkDocs. PR [#&#8203;12391](https://github.com/fastapi/fastapi/pull/12391) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Update link to Swagger UI configuration docs. PR [#&#8203;12264](https://github.com/fastapi/fastapi/pull/12264) by [@&#8203;makisukurisu](https://github.com/makisukurisu). - 📝 Adding links for Playwright and Vite in `docs/project-generation.md`. PR [#&#8203;12274](https://github.com/fastapi/fastapi/pull/12274) by [@&#8203;kayqueGovetri](https://github.com/kayqueGovetri). - 📝 Fix small typos in the documentation. PR [#&#8203;12213](https://github.com/fastapi/fastapi/pull/12213) by [@&#8203;svlandeg](https://github.com/svlandeg). ##### Translations - 🌐 Add Portuguese translation for `docs/pt/docs/tutorial/cookie-param-models.md`. PR [#&#8203;12298](https://github.com/fastapi/fastapi/pull/12298) by [@&#8203;ceb10n](https://github.com/ceb10n). - 🌐 Add Portuguese translation for `docs/pt/docs/how-to/graphql.md`. PR [#&#8203;12215](https://github.com/fastapi/fastapi/pull/12215) by [@&#8203;AnandaCampelo](https://github.com/AnandaCampelo). - 🌐 Add Portuguese translation for `docs/pt/docs/advanced/security/oauth2-scopes.md`. PR [#&#8203;12263](https://github.com/fastapi/fastapi/pull/12263) by [@&#8203;ceb10n](https://github.com/ceb10n). - 🌐 Add Portuguese translation for `docs/pt/docs/deployment/concepts.md`. PR [#&#8203;12219](https://github.com/fastapi/fastapi/pull/12219) by [@&#8203;marcelomarkus](https://github.com/marcelomarkus). - 🌐 Add Portuguese translation for `docs/pt/docs/how-to/conditional-openapi.md`. PR [#&#8203;12221](https://github.com/fastapi/fastapi/pull/12221) by [@&#8203;marcelomarkus](https://github.com/marcelomarkus). - 🌐 Add Portuguese translation for `docs/pt/docs/advanced/response-directly.md`. PR [#&#8203;12266](https://github.com/fastapi/fastapi/pull/12266) by [@&#8203;Joao-Pedro-P-Holanda](https://github.com/Joao-Pedro-P-Holanda). - 🌐 Update Portuguese translation for `docs/pt/docs/tutorial/cookie-params.md`. PR [#&#8203;12297](https://github.com/fastapi/fastapi/pull/12297) by [@&#8203;ceb10n](https://github.com/ceb10n). - 🌐 Fix Korean translation for `docs/ko/docs/tutorial/index.md`. PR [#&#8203;12278](https://github.com/fastapi/fastapi/pull/12278) by [@&#8203;kkotipy](https://github.com/kkotipy). - 🌐 Update Portuguese translation for `docs/pt/docs/advanced/security/http-basic-auth.md`. PR [#&#8203;12275](https://github.com/fastapi/fastapi/pull/12275) by [@&#8203;andersonrocha0](https://github.com/andersonrocha0). - 🌐 Add Portuguese translation for `docs/pt/docs/deployment/cloud.md`. PR [#&#8203;12217](https://github.com/fastapi/fastapi/pull/12217) by [@&#8203;marcelomarkus](https://github.com/marcelomarkus). - ✏️ Fix typo in `docs/es/docs/python-types.md`. PR [#&#8203;12235](https://github.com/fastapi/fastapi/pull/12235) by [@&#8203;JavierSanchezCastro](https://github.com/JavierSanchezCastro). - 🌐 Add Dutch translation for `docs/nl/docs/environment-variables.md`. PR [#&#8203;12200](https://github.com/fastapi/fastapi/pull/12200) by [@&#8203;maxscheijen](https://github.com/maxscheijen). - 🌐 Add Portuguese translation for `docs/pt/docs/deployment/manually.md`. PR [#&#8203;12210](https://github.com/fastapi/fastapi/pull/12210) by [@&#8203;JoaoGustavoRogel](https://github.com/JoaoGustavoRogel). - 🌐 Add Portuguese translation for `docs/pt/docs/deployment/server-workers.md`. PR [#&#8203;12220](https://github.com/fastapi/fastapi/pull/12220) by [@&#8203;marcelomarkus](https://github.com/marcelomarkus). - 🌐 Add Portuguese translation for `docs/pt/docs/how-to/configure-swagger-ui.md`. PR [#&#8203;12222](https://github.com/fastapi/fastapi/pull/12222) by [@&#8203;marcelomarkus](https://github.com/marcelomarkus). ##### Internal - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;12396](https://github.com/fastapi/fastapi/pull/12396) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). - 🔨 Add script to generate variants of files. PR [#&#8203;12405](https://github.com/fastapi/fastapi/pull/12405) by [@&#8203;tiangolo](https://github.com/tiangolo). - 🔧 Add speakeasy-api to `sponsors_badge.yml`. PR [#&#8203;12404](https://github.com/fastapi/fastapi/pull/12404) by [@&#8203;tiangolo](https://github.com/tiangolo). - ➕ Add docs dependency: markdown-include-variants. PR [#&#8203;12399](https://github.com/fastapi/fastapi/pull/12399) by [@&#8203;tiangolo](https://github.com/tiangolo). - 📝 Fix extra mdx-base-path paths. PR [#&#8203;12397](https://github.com/fastapi/fastapi/pull/12397) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👷 Tweak labeler to not override custom labels. PR [#&#8203;12398](https://github.com/fastapi/fastapi/pull/12398) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👷 Update worfkow deploy-docs-notify URL. PR [#&#8203;12392](https://github.com/fastapi/fastapi/pull/12392) by [@&#8203;tiangolo](https://github.com/tiangolo). - 👷 Update Cloudflare GitHub Action. PR [#&#8203;12387](https://github.com/fastapi/fastapi/pull/12387) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ Bump pypa/gh-action-pypi-publish from 1.10.1 to 1.10.3. PR [#&#8203;12386](https://github.com/fastapi/fastapi/pull/12386) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump mkdocstrings\[python] from 0.25.1 to 0.26.1. PR [#&#8203;12371](https://github.com/fastapi/fastapi/pull/12371) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ Bump griffe-typingdoc from 0.2.6 to 0.2.7. PR [#&#8203;12370](https://github.com/fastapi/fastapi/pull/12370) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;12331](https://github.com/fastapi/fastapi/pull/12331) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). - 🔧 Update sponsors, remove Fine.dev. PR [#&#8203;12271](https://github.com/fastapi/fastapi/pull/12271) by [@&#8203;tiangolo](https://github.com/tiangolo). - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;12253](https://github.com/fastapi/fastapi/pull/12253) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). - ✏️ Fix docstring typos in http security. PR [#&#8203;12223](https://github.com/fastapi/fastapi/pull/12223) by [@&#8203;albertvillanova](https://github.com/albertvillanova). </details> <details> <summary>pydantic/pydantic (pydantic)</summary> ### [`v2.13.4`](https://github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2134-2026-05-06) [Compare Source](https://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4) [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.13.4) ##### What's Changed ##### Packaging - Bump libc from 0.2.155 to 0.2.185 by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;13109](https://github.com/pydantic/pydantic/pull/13109) - Adapt `pydantic-core` linker flags on macOS by [@&#8203;washingtoneg](https://github.com/washingtoneg) and [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;13147](https://github.com/pydantic/pydantic/pull/13147) ##### Fixes - Preserve `RootModel` core metadata by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;13129](https://github.com/pydantic/pydantic/pull/13129) ### [`v2.13.3`](https://github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2133-2026-04-20) [Compare Source](https://github.com/pydantic/pydantic/compare/v2.13.2...v2.13.3) [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.13.3) ##### What's Changed ##### Fixes - Handle `AttributeError` subclasses with `from_attributes` by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;13096](https://github.com/pydantic/pydantic/pull/13096) ### [`v2.13.2`](https://github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2132-2026-04-17) [Compare Source](https://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2) [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.13.2) ##### What's Changed ##### Fixes - Fix `ValidationInfo.field_name` missing with `model_validate_json()` by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;13084](https://github.com/pydantic/pydantic/pull/13084) ### [`v2.13.1`](https://github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2131-2026-04-15) [Compare Source](https://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1) [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.13.1) ##### What's Changed ##### Fixes - Fix `ValidationInfo.data` missing with `model_validate_json()` by [@&#8203;davidhewitt](https://github.com/davidhewitt) in [#&#8203;13079](https://github.com/pydantic/pydantic/pull/13079) ### [`v2.13.0`](https://github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2130-2026-04-13) [Compare Source](https://github.com/pydantic/pydantic/compare/v2.12.5...v2.13.0) [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.13.0) The highlights of the v2.13 release are available in the [blog post](https://pydantic.dev/articles/pydantic-v2-13-release). Several minor changes (considered non-breaking changes according to our [versioning policy](https://pydantic.dev/docs/validation/2.13/get-started/version-policy/#pydantic-v2)) are also included in this release. Make sure to look into them before upgrading. This release contains the updated `pydantic.v1` namespace, 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 - Allow default factories of private attributes to take validated model data by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;13013](https://github.com/pydantic/pydantic/pull/13013) ##### Changes - Warn when serializing fixed length tuples with too few items by [@&#8203;arvindsaripalli](https://github.com/arvindsaripalli) in [#&#8203;13016](https://github.com/pydantic/pydantic/pull/13016) ##### Fixes - Change type of `Any` when synthesizing `_build_sources` for `BaseSettings.__init__()` signature in the mypy plugin by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;13049](https://github.com/pydantic/pydantic/pull/13049) - Fix model equality when using runtime `extra` configuration by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;13062](https://github.com/pydantic/pydantic/pull/13062) ##### Packaging - Add zizmor for GitHub Actions workflow linting by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;13039](https://github.com/pydantic/pydantic/pull/13039) - Update jiter to v0.14.0 to fix a segmentation fault on musl Linux by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;13064](https://github.com/pydantic/pydantic/pull/13064) ##### New Contributors - [@&#8203;arvindsaripalli](https://github.com/arvindsaripalli) made their first contribution in [#&#8203;13016](https://github.com/pydantic/pydantic/pull/13016) ### [`v2.12.5`](https://github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2125-2025-11-26) [Compare Source](https://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5) [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.12.5) This is the fifth 2.12 patch release, addressing an issue with the `MISSING` sentinel 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. - Fix pickle error when using `model_construct()` on a model with `MISSING` as a default value by [@&#8203;ornariece](https://github.com/ornariece) in [#&#8203;12522](https://github.com/pydantic/pydantic/pull/12522). - Several updates to the documentation by [@&#8203;Viicos](https://github.com/Viicos). ### [`v2.12.4`](https://github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2124-2025-11-05) [Compare Source](https://github.com/pydantic/pydantic/compare/v2.12.3...v2.12.4) [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.12.4) This is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the `build()` method of the [`AnyUrl` and Dsn types](https://pydantic.dev/docs/validation/latest/api/pydantic/networks/). This patch release also fixes an issue with the serialization of IP address types, when `serialize_as_any` is used. The next patch release will 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 `TypedDict` classes by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;12427](https://github.com/pydantic/pydantic/pull/12427). This issue is only relevant on Python 3.14 and greater. - Exclude fields with `exclude_if` from JSON Schema required fields by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;12430](https://github.com/pydantic/pydantic/pull/12430) - Revert URL percent-encoding of credentials in the `build()` method of the [`AnyUrl` and Dsn types](https://pydantic.dev/docs/validation/latest/api/pydantic/networks/) by [@&#8203;davidhewitt](https://github.com/davidhewitt) in [pydantic-core#1833](https://github.com/pydantic/pydantic-core/pull/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 [@&#8203;davidhewitt](https://github.com/davidhewitt) in [pydantic-core#1868](https://github.com/pydantic/pydantic-core/pull/1868). The 2.12 changes to the `serialize_as_any` behavior made it so that IP address types could not properly serialize to JSON. - Avoid getting default values from defaultdict by [@&#8203;davidhewitt](https://github.com/davidhewitt) in [pydantic-core#1853](https://github.com/pydantic/pydantic-core/pull/1853). This fixes a subtle regression in the validation behavior of the [`collections.defaultdict`](https://docs.python.org/3/library/collections.html#collections.defaultdict) type. - Fix issue with field serializers on nested typed dictionaries by [@&#8203;davidhewitt](https://github.com/davidhewitt) in [pydantic-core#1879](https://github.com/pydantic/pydantic-core/pull/1879). - Add more `pydantic-core` builds for the three-threaded version of Python 3.14 by [@&#8203;davidhewitt](https://github.com/davidhewitt) in [pydantic-core#1864](https://github.com/pydantic/pydantic-core/pull/1864). ### [`v2.12.3`](https://github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2123-2025-10-17) [Compare Source](https://github.com/pydantic/pydantic/compare/v2.12.2...v2.12.3) [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.12.3) ##### What's Changed This is the third 2.12 patch release, fixing issues related to the `FieldInfo` class, and reverting a change to the supported [*after* model validator](https://pydantic.dev/docs/validation/latest/concepts/validators/#model-validators) function signatures. - Raise a warning when an invalid after model validator function signature is raised by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;12414](https://github.com/pydantic/pydantic/pull/12414). 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. - Add [`FieldInfo.asdict()`](https://pydantic.dev/docs/validation/latest/api/pydantic/fields/#pydantic.fields.FieldInfo.asdict) method, improve documentation around `FieldInfo` by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;12411](https://github.com/pydantic/pydantic/pull/12411). This also add back support for mutations on `FieldInfo` classes, that are reused as `Annotated` metadata. **However**, note that this is still *not* a supported pattern. Instead, please refer to the [added example](https://pydantic.dev/docs/validation/latest/examples/dynamic_models/) in the documentation. The [blog post](https://pydantic.dev/articles/pydantic-v2-12-release#changes) section on changes was also updated to document the changes related to `serialize_as_any`. ### [`v2.12.2`](https://github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2122-2025-10-14) [Compare Source](https://github.com/pydantic/pydantic/compare/v2.12.1...v2.12.2) [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.12.2) ##### What's Changed ##### Fixes - Release a new `pydantic-core` version, as a corrupted CPython 3.10 `manylinux2014_aarch64` wheel got uploaded ([pydantic-core#1843](https://github.com/pydantic/pydantic-core/pull/1843)). - Fix issue with recursive generic models with a parent model class by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;12398](https://github.com/pydantic/pydantic/pull/12398) ### [`v2.12.1`](https://github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2121-2025-10-13) [Compare Source](https://github.com/pydantic/pydantic/compare/v2.12.0...v2.12.1) [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.12.1) ##### 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 - Do not evaluate annotations when inspecting validators and serializers by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;12355](https://github.com/pydantic/pydantic/pull/12355) - Make sure `None` is converted as `NoneType` in Python 3.14 by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;12370](https://github.com/pydantic/pydantic/pull/12370) - Backport V1 runtime warning when using Python 3.14 by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;12367](https://github.com/pydantic/pydantic/pull/12367) - Fix error message for invalid validator signatures by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;12366](https://github.com/pydantic/pydantic/pull/12366) - Populate field name in `ValidationInfo` for validation of default value by [@&#8203;Viicos](https://github.com/Viicos) in [pydantic-core#1826](https://github.com/pydantic/pydantic-core/pull/1826) - Encode credentials in `MultiHostUrl` builder by [@&#8203;willswire](https://github.com/willswire) in [pydantic-core#1829](https://github.com/pydantic/pydantic-core/pull/1829) - Respect field serializers when using `serialize_as_any` serialization flag by [@&#8203;davidhewitt](https://github.com/davidhewitt) in [pydantic-core#1829](https://github.com/pydantic/pydantic-core/pull/1829) - Fix various `RootModel` serialization issues by [@&#8203;davidhewitt](https://github.com/davidhewitt) in [pydantic-core#1836](https://github.com/pydantic/pydantic-core/pull/1836) ##### New Contributors - [@&#8203;willswire](https://github.com/willswire) made their first contribution in [pydantic-core#1829](https://github.com/pydantic/pydantic-core/pull/1829) ### [`v2.12.0`](https://github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2120-2025-10-07) [Compare Source](https://github.com/pydantic/pydantic/compare/v2.11.10...v2.12.0) [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.12.0) 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](https://pydantic.dev/docs/validation/2.12/get-started/version-policy/#pydantic-v2)) 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 - Add `extra` parameter to the validate functions by [@&#8203;anvilpete](https://github.com/anvilpete) in [#&#8203;12233](https://github.com/pydantic/pydantic/pull/12233) - Add `exclude_computed_fields` serialization option by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;12334](https://github.com/pydantic/pydantic/pull/12334) - Add `preverse_empty_path` URL options by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;12336](https://github.com/pydantic/pydantic/pull/12336) - Add `union_format` parameter to JSON Schema generation by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;12147](https://github.com/pydantic/pydantic/pull/12147) - Add `__qualname__` parameter for `create_model` by [@&#8203;Atry](https://github.com/Atry) in [#&#8203;12001](https://github.com/pydantic/pydantic/pull/12001) ##### Fixes - Do not try to infer name from lambda definitions in pipelines API by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;12289](https://github.com/pydantic/pydantic/pull/12289) - Use proper namespace for functions in `TypeAdapter` by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;12324](https://github.com/pydantic/pydantic/pull/12324) - Use `Any` for context type annotation in `TypeAdapter` by [@&#8203;inducer](https://github.com/inducer) in [#&#8203;12279](https://github.com/pydantic/pydantic/pull/12279) - Expose `FieldInfo` in `pydantic.fields.__all__` by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;12339](https://github.com/pydantic/pydantic/pull/12339) - Respect `validation_alias` in `@validate_call` by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;12340](https://github.com/pydantic/pydantic/pull/12340) - Use `Any` as context annotation in plugin API by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;12341](https://github.com/pydantic/pydantic/pull/12341) - Use proper `stacklevel` in warnings when possible by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;12342](https://github.com/pydantic/pydantic/pull/12342) ##### Packaging - Update V1 copy to v1.10.24 by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;12338](https://github.com/pydantic/pydantic/pull/12338) ##### New Contributors - [@&#8203;anvilpete](https://github.com/anvilpete) made their first contribution in [#&#8203;12233](https://github.com/pydantic/pydantic/pull/12233) - [@&#8203;JonathanWindell](https://github.com/JonathanWindell) made their first contribution in [#&#8203;12327](https://github.com/pydantic/pydantic/pull/12327) - [@&#8203;inducer](https://github.com/inducer) made their first contribution in [#&#8203;12279](https://github.com/pydantic/pydantic/pull/12279) - [@&#8203;Atry](https://github.com/Atry) made their first contribution in [#&#8203;12001](https://github.com/pydantic/pydantic/pull/12001) ### [`v2.11.10`](https://github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v21110-2025-10-04) [Compare Source](https://github.com/pydantic/pydantic/compare/v2.11.9...v2.11.10) [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.10) ##### What's Changed ##### Fixes - Backport v1.10.24 changes by [@&#8203;Viicos](https://github.com/Viicos) ### [`v2.11.9`](https://github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2119-2025-09-13) [Compare Source](https://github.com/pydantic/pydantic/compare/v2.11.8...v2.11.9) [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.9) ##### What's Changed ##### Fixes - Backport v1.10.23 changes by [@&#8203;Viicos](https://github.com/Viicos) ### [`v2.11.8`](https://github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2118-2025-09-13) [Compare Source](https://github.com/pydantic/pydantic/compare/v2.11.7...v2.11.8) [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.8) ##### What's Changed ##### Fixes - Fix mypy plugin for mypy 1.18 by [@&#8203;cdce8p](https://github.com/cdce8p) in [#&#8203;12209](https://github.com/pydantic/pydantic/pull/12209) ### [`v2.11.7`](https://github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2117-2025-06-14) [Compare Source](https://github.com/pydantic/pydantic/compare/v2.11.6...v2.11.7) [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.7) ##### What's Changed ##### Fixes - Copy `FieldInfo` instance if necessary during `FieldInfo` build by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11898](https://github.com/pydantic/pydantic/pull/11898) ### [`v2.11.6`](https://github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2116-2025-06-13) [Compare Source](https://github.com/pydantic/pydantic/compare/v2.11.5...v2.11.6) [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.6) ##### What's Changed ##### Fixes - Rebuild dataclass fields before schema generation by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11949](https://github.com/pydantic/pydantic/pull/11949) - Always store the original field assignment on `FieldInfo` by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11946](https://github.com/pydantic/pydantic/pull/11946) ### [`v2.11.5`](https://github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2115-2025-05-22) [Compare Source](https://github.com/pydantic/pydantic/compare/v2.11.4...v2.11.5) [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.5) ##### What's Changed ##### Fixes - Check if `FieldInfo` is complete after applying type variable map by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11855](https://github.com/pydantic/pydantic/pull/11855) - Do not delete mock validator/serializer in `model_rebuild()` by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11890](https://github.com/pydantic/pydantic/pull/11890) - Do not duplicate metadata on model rebuild by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11902](https://github.com/pydantic/pydantic/pull/11902) ### [`v2.11.4`](https://github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2114-2025-04-29) [Compare Source](https://github.com/pydantic/pydantic/compare/v2.11.3...v2.11.4) [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.4) ##### What's Changed ##### Changes - Allow config and bases to be specified together in `create_model()` by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11714](https://github.com/pydantic/pydantic/pull/11714). This change was backported as it was previously possible (although not meant to be supported) to provide `model_config` as a field, which would make it possible to provide both configuration and bases. ##### Fixes - Remove generics cache workaround by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11755](https://github.com/pydantic/pydantic/pull/11755) - Remove coercion of decimal constraints by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11772](https://github.com/pydantic/pydantic/pull/11772) - Fix crash when expanding root type in the mypy plugin by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11735](https://github.com/pydantic/pydantic/pull/11735) - Fix issue with recursive generic models by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11775](https://github.com/pydantic/pydantic/pull/11775) - Traverse `function-before` schemas during schema gathering by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11801](https://github.com/pydantic/pydantic/pull/11801) ##### Packaging - Bump `mkdocs-llmstxt` to v0.2.0 by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11725](https://github.com/pydantic/pydantic/pull/11725) ### [`v2.11.3`](https://github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2113-2025-04-08) [Compare Source](https://github.com/pydantic/pydantic/compare/v2.11.2...v2.11.3) [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.3) ##### What's Changed ##### Fixes - Preserve field description when rebuilding model fields by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11698](https://github.com/pydantic/pydantic/pull/11698) ##### Packaging - Update V1 copy to v1.10.21 by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11706](https://github.com/pydantic/pydantic/pull/11706) ### [`v2.11.2`](https://github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2112-2025-04-03) [Compare Source](https://github.com/pydantic/pydantic/compare/v2.11.1...v2.11.2) [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.2) ##### What's Changed ##### Fixes - Bump `pydantic-core` to v2.33.1 by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11678](https://github.com/pydantic/pydantic/pull/11678) - Make sure `__pydantic_private__` exists before setting private attributes by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11666](https://github.com/pydantic/pydantic/pull/11666) - Do not override `FieldInfo._complete` when using field from parent class by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11668](https://github.com/pydantic/pydantic/pull/11668) - Provide the available definitions when applying discriminated unions by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11670](https://github.com/pydantic/pydantic/pull/11670) - Do not expand root type in the mypy plugin for variables by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11676](https://github.com/pydantic/pydantic/pull/11676) - Mention the attribute name in model fields deprecation message by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11674](https://github.com/pydantic/pydantic/pull/11674) - Properly validate parameterized mappings by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11658](https://github.com/pydantic/pydantic/pull/11658) ### [`v2.11.1`](https://github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v21110-2025-10-04) [Compare Source](https://github.com/pydantic/pydantic/compare/v2.11.0...v2.11.1) [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.10) ##### What's Changed ##### Fixes - Backport v1.10.24 changes by [@&#8203;Viicos](https://github.com/Viicos) ### [`v2.11.0`](https://github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2110-2025-03-27) [Compare Source](https://github.com/pydantic/pydantic/compare/v2.10.6...v2.11.0) [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.0) ##### 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](https://pydantic.dev/articles/pydantic-v2-11-release) for more details. ##### New Features - Add `encoded_string()` method to the URL types by [@&#8203;YassinNouh21](https://github.com/YassinNouh21) in [#&#8203;11580](https://github.com/pydantic/pydantic/pull/11580) - Add support for `defer_build` with `@validate_call` decorator by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11584](https://github.com/pydantic/pydantic/pull/11584) - Allow `@with_config` decorator to be used with keyword arguments by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11608](https://github.com/pydantic/pydantic/pull/11608) - Simplify customization of default value inclusion in JSON Schema generation by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11634](https://github.com/pydantic/pydantic/pull/11634) - Add `generate_arguments_schema()` function by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11572](https://github.com/pydantic/pydantic/pull/11572) ##### Fixes - Allow generic typed dictionaries to be used for unpacked variadic keyword parameters by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11571](https://github.com/pydantic/pydantic/pull/11571) - Fix runtime error when computing model string representation involving cached properties and self-referenced models by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11579](https://github.com/pydantic/pydantic/pull/11579) - Preserve other steps when using the ellipsis in the pipeline API by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11626](https://github.com/pydantic/pydantic/pull/11626) - Fix deferred discriminator application logic by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11591](https://github.com/pydantic/pydantic/pull/11591) ##### Packaging - Bump `pydantic-core` to v2.33.0 by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11631](https://github.com/pydantic/pydantic/pull/11631) ##### New Contributors - [@&#8203;cmenon12](https://github.com/cmenon12) made their first contribution in [#&#8203;11562](https://github.com/pydantic/pydantic/pull/11562) - [@&#8203;Jeukoh](https://github.com/Jeukoh) made their first contribution in [#&#8203;11611](https://github.com/pydantic/pydantic/pull/11611) ### [`v2.10.6`](https://github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2106-2025-01-23) [Compare Source](https://github.com/pydantic/pydantic/compare/v2.10.5...v2.10.6) [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.10.6) ##### What's Changed ##### Fixes - Fix JSON Schema reference collection with `'examples'` keys by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11325](https://github.com/pydantic/pydantic/pull/11325) - Fix url python serialization by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;11331](https://github.com/pydantic/pydantic/pull/11331) ### [`v2.10.5`](https://github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2105-2025-01-08) [Compare Source](https://github.com/pydantic/pydantic/compare/v2.10.4...v2.10.5) [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.10.5) ##### What's Changed ##### Fixes - Remove custom MRO implementation of Pydantic models by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11184](https://github.com/pydantic/pydantic/pull/11184) - Fix URL serialization for unions by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;11233](https://github.com/pydantic/pydantic/pull/11233) ### [`v2.10.4`](https://github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2104-2024-12-18) [Compare Source](https://github.com/pydantic/pydantic/compare/v2.10.3...v2.10.4) [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.10.4) ##### What's Changed ##### Fixes - Fix for comparison of `AnyUrl` objects by [@&#8203;alexprabhat99](https://github.com/alexprabhat99) in [#&#8203;11082](https://github.com/pydantic/pydantic/pull/11082) - Properly fetch PEP 695 type params for functions, do not fetch annotations from signature by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11093](https://github.com/pydantic/pydantic/pull/11093) - Include JSON Schema input core schema in function schemas by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11085](https://github.com/pydantic/pydantic/pull/11085) - Add `len` to `_BaseUrl` to avoid TypeError by [@&#8203;Kharianne](https://github.com/Kharianne) in [#&#8203;11111](https://github.com/pydantic/pydantic/pull/11111) - Make sure the type reference is removed from the seen references by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11143](https://github.com/pydantic/pydantic/pull/11143) ##### New Contributors - [@&#8203;FyZzyss](https://github.com/FyZzyss) made their first contribution in [#&#8203;10789](https://github.com/pydantic/pydantic/pull/10789) - [@&#8203;tamird](https://github.com/tamird) made their first contribution in [#&#8203;10948](https://github.com/pydantic/pydantic/pull/10948) - [@&#8203;felixxm](https://github.com/felixxm) made their first contribution in [#&#8203;11077](https://github.com/pydantic/pydantic/pull/11077) - [@&#8203;alexprabhat99](https://github.com/alexprabhat99) made their first contribution in [#&#8203;11082](https://github.com/pydantic/pydantic/pull/11082) - [@&#8203;Kharianne](https://github.com/Kharianne) made their first contribution in [#&#8203;11111](https://github.com/pydantic/pydantic/pull/11111) ##### Packaging - Bump `pydantic-core` to v2.27.2 by [@&#8203;davidhewitt](https://github.com/davidhewitt) in [#&#8203;11138](https://github.com/pydantic/pydantic/pull/11138) ### [`v2.10.3`](https://github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2103-2024-12-03) [Compare Source](https://github.com/pydantic/pydantic/compare/v2.10.2...v2.10.3) [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.10.3) ##### What's Changed ##### Fixes - Set fields when `defer_build` is set on Pydantic dataclasses by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10984](https://github.com/pydantic/pydantic/pull/10984) - Do not resolve the JSON Schema reference for `dict` core schema keys by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10989](https://github.com/pydantic/pydantic/pull/10989) - Use the globals of the function when evaluating the return type for `PlainSerializer` and `WrapSerializer` functions by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11008](https://github.com/pydantic/pydantic/pull/11008) - Fix host required enforcement for urls to be compatible with v2.9 behavior by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;11027](https://github.com/pydantic/pydantic/pull/11027) - Add a `default_factory_takes_validated_data` property to `FieldInfo` by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;11034](https://github.com/pydantic/pydantic/pull/11034) - Fix url json schema in `serialization` mode by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;11035](https://github.com/pydantic/pydantic/pull/11035) ### [`v2.10.2`](https://github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2102-2024-11-25) [Compare Source](https://github.com/pydantic/pydantic/compare/v2.10.1...v2.10.2) [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.10.2) ##### What's Changed ##### Fixes - Only evaluate FieldInfo annotations if required during schema building by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10769](https://github.com/pydantic/pydantic/pull/10769) - Do not evaluate annotations for private fields by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10962](https://github.com/pydantic/pydantic/pull/10962) - Support serialization as any for `Secret` types and `Url` types by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10947](https://github.com/pydantic/pydantic/pull/10947) - Fix type hint of `Field.default` to be compatible with Python 3.8 and 3.9 by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10972](https://github.com/pydantic/pydantic/pull/10972) - Add hashing support for URL types by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10975](https://github.com/pydantic/pydantic/pull/10975) - Hide `BaseModel.__replace__` definition from type checkers by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10979](https://github.com/pydantic/pydantic/pull/10979) ### [`v2.10.1`](https://github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2101-2024-11-21) [Compare Source](https://github.com/pydantic/pydantic/compare/v2.10.0...v2.10.1) [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.10.1) ##### What's Changed ##### Fixes - Use the correct frame when instantiating a parametrized `TypeAdapter` by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10893](https://github.com/pydantic/pydantic/pull/10893) - Relax check for validated data in `default_factory` utils by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10909](https://github.com/pydantic/pydantic/pull/10909) - Fix type checking issue with `model_fields` and `model_computed_fields` by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10911](https://github.com/pydantic/pydantic/pull/10911) - Use the parent configuration during schema generation for stdlib `dataclass`es by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10928](https://github.com/pydantic/pydantic/pull/10928) - Use the `globals` of the function when evaluating the return type of serializers and `computed_field`s by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10929](https://github.com/pydantic/pydantic/pull/10929) - Fix URL constraint application by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10922](https://github.com/pydantic/pydantic/pull/10922) - Fix URL equality with different validation methods by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10934](https://github.com/pydantic/pydantic/pull/10934) - Fix JSON schema title when specified as `''` by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10936](https://github.com/pydantic/pydantic/pull/10936) - Fix `python` mode serialization for `complex` inference by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [pydantic-core#1549](https://github.com/pydantic/pydantic-core/pull/1549) ##### Packaging - Bump `pydantic-core` version to `v2.27.1` by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10938](https://github.com/pydantic/pydantic/pull/10938) ##### New Contributors ### [`v2.10.0`](https://github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2100-2024-11-20) [Compare Source](https://github.com/pydantic/pydantic/compare/v2.9.2...v2.10.0) The code released in v2.10.0 is practically identical to that of v2.10.0b2. [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.10.0) See the [v2.10 release blog post](https://pydantic.dev/articles/pydantic-v2-10-release) for the highlights! ##### What's Changed ##### New Features - Support `fractions.Fraction` by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10318](https://github.com/pydantic/pydantic/pull/10318) - Support `Hashable` for json validation by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10324](https://github.com/pydantic/pydantic/pull/10324) - Add a `SocketPath` type for `linux` systems by [@&#8203;theunkn0wn1](https://github.com/theunkn0wn1) in [#&#8203;10378](https://github.com/pydantic/pydantic/pull/10378) - Allow arbitrary refs in JSON schema `examples` by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10417](https://github.com/pydantic/pydantic/pull/10417) - Support `defer_build` for Pydantic dataclasses by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10313](https://github.com/pydantic/pydantic/pull/10313) - Adding v1 / v2 incompatibility warning for nested v1 model by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10431](https://github.com/pydantic/pydantic/pull/10431) - Add support for unpacked `TypedDict` to type hint variadic keyword arguments with `@validate_call` by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10416](https://github.com/pydantic/pydantic/pull/10416) - Support compiled patterns in `protected_namespaces` by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10522](https://github.com/pydantic/pydantic/pull/10522) - Add support for `propertyNames` in JSON schema by [@&#8203;FlorianSW](https://github.com/FlorianSW) in [#&#8203;10478](https://github.com/pydantic/pydantic/pull/10478) - Adding `__replace__` protocol for Python 3.13+ support by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10596](https://github.com/pydantic/pydantic/pull/10596) - Expose public `sort` method for JSON schema generation by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10595](https://github.com/pydantic/pydantic/pull/10595) - Add runtime validation of `@validate_call` callable argument by [@&#8203;kc0506](https://github.com/kc0506) in [#&#8203;10627](https://github.com/pydantic/pydantic/pull/10627) - Add `experimental_allow_partial` support by [@&#8203;samuelcolvin](https://github.com/samuelcolvin) in [#&#8203;10748](https://github.com/pydantic/pydantic/pull/10748) - Support default factories taking validated data as an argument by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10678](https://github.com/pydantic/pydantic/pull/10678) - Allow subclassing `ValidationError` and `PydanticCustomError` by [@&#8203;Youssefares](https://github.com/Youssefares) in [pydantic/pydantic-core#1413](https://github.com/pydantic/pydantic-core/pull/1413) - Add `trailing-strings` support to `experimental_allow_partial` by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10825](https://github.com/pydantic/pydantic/pull/10825) - Add `rebuild()` method for `TypeAdapter` and simplify `defer_build` patterns by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10537](https://github.com/pydantic/pydantic/pull/10537) - Improve `TypeAdapter` instance repr by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10872](https://github.com/pydantic/pydantic/pull/10872) ##### Changes - Don't allow customization of `SchemaGenerator` until interface is more stable by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10303](https://github.com/pydantic/pydantic/pull/10303) - Cleanly `defer_build` on `TypeAdapters`, removing experimental flag by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10329](https://github.com/pydantic/pydantic/pull/10329) - Fix `mro` of generic subclass by [@&#8203;kc0506](https://github.com/kc0506) in [#&#8203;10100](https://github.com/pydantic/pydantic/pull/10100) - Strip whitespaces on JSON Schema title generation by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10404](https://github.com/pydantic/pydantic/pull/10404) - Use `b64decode` and `b64encode` for `Base64Bytes` type by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10486](https://github.com/pydantic/pydantic/pull/10486) - Relax protected namespace config default by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10441](https://github.com/pydantic/pydantic/pull/10441) - Revalidate parametrized generics if instance's origin is subclass of OG class by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10666](https://github.com/pydantic/pydantic/pull/10666) - Warn if configuration is specified on the `@dataclass` decorator and with the `__pydantic_config__` attribute by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10406](https://github.com/pydantic/pydantic/pull/10406) - Recommend against using `Ellipsis` (...) with `Field` by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10661](https://github.com/pydantic/pydantic/pull/10661) - Migrate to subclassing instead of annotated approach for pydantic url types by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10662](https://github.com/pydantic/pydantic/pull/10662) - Change JSON schema generation of `Literal`s and `Enums` by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10692](https://github.com/pydantic/pydantic/pull/10692) - Simplify unions involving `Any` or `Never` when replacing type variables by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10338](https://github.com/pydantic/pydantic/pull/10338) - Do not require padding when decoding `base64` bytes by [@&#8203;bschoenmaeckers](https://github.com/bschoenmaeckers) in [pydantic/pydantic-core#1448](https://github.com/pydantic/pydantic-core/pull/1448) - Support dates all the way to 1BC by [@&#8203;changhc](https://github.com/changhc) in [pydantic/speedate#77](https://github.com/pydantic/speedate/pull/77) ##### Performance - Schema cleaning: skip unnecessary copies during schema walking by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10286](https://github.com/pydantic/pydantic/pull/10286) - Refactor namespace logic for annotations evaluation by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10530](https://github.com/pydantic/pydantic/pull/10530) - Improve email regexp on edge cases by [@&#8203;AlekseyLobanov](https://github.com/AlekseyLobanov) in [#&#8203;10601](https://github.com/pydantic/pydantic/pull/10601) - `CoreMetadata` refactor with an emphasis on documentation, schema build time performance, and reducing complexity by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10675](https://github.com/pydantic/pydantic/pull/10675) ##### Packaging - Bump `pydantic-core` to `v2.27.0` by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10825](https://github.com/pydantic/pydantic/pull/10825) - Replaced pdm with uv by [@&#8203;frfahim](https://github.com/frfahim) in [#&#8203;10727](https://github.com/pydantic/pydantic/pull/10727) ##### Fixes - Remove guarding check on `computed_field` with `field_serializer` by [@&#8203;nix010](https://github.com/nix010) in [#&#8203;10390](https://github.com/pydantic/pydantic/pull/10390) - Fix `Predicate` issue in `v2.9.0` by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10321](https://github.com/pydantic/pydantic/pull/10321) - Fixing `annotated-types` bound by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10327](https://github.com/pydantic/pydantic/pull/10327) - Turn `tzdata` install requirement into optional `timezone` dependency by [@&#8203;jakob-keller](https://github.com/jakob-keller) in [#&#8203;10331](https://github.com/pydantic/pydantic/pull/10331) - Use correct types namespace when building `namedtuple` core schemas by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10337](https://github.com/pydantic/pydantic/pull/10337) - Fix evaluation of stringified annotations during namespace inspection by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10347](https://github.com/pydantic/pydantic/pull/10347) - Fix `IncEx` type alias definition by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10339](https://github.com/pydantic/pydantic/pull/10339) - Do not error when trying to evaluate annotations of private attributes by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10358](https://github.com/pydantic/pydantic/pull/10358) - Fix nested type statement by [@&#8203;kc0506](https://github.com/kc0506) in [#&#8203;10369](https://github.com/pydantic/pydantic/pull/10369) - Improve typing of `ModelMetaclass.mro` by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10372](https://github.com/pydantic/pydantic/pull/10372) - Fix class access of deprecated `computed_field`s by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10391](https://github.com/pydantic/pydantic/pull/10391) - Make sure `inspect.iscoroutinefunction` works on coroutines decorated with `@validate_call` by [@&#8203;MovisLi](https://github.com/MovisLi) in [#&#8203;10374](https://github.com/pydantic/pydantic/pull/10374) - Fix `NameError` when using `validate_call` with PEP 695 on a class by [@&#8203;kc0506](https://github.com/kc0506) in [#&#8203;10380](https://github.com/pydantic/pydantic/pull/10380) - Fix `ZoneInfo` with various invalid types by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10408](https://github.com/pydantic/pydantic/pull/10408) - Fix `PydanticUserError` on empty `model_config` with annotations by [@&#8203;cdwilson](https://github.com/cdwilson) in [#&#8203;10412](https://github.com/pydantic/pydantic/pull/10412) - Fix variance issue in `_IncEx` type alias, only allow `True` by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10414](https://github.com/pydantic/pydantic/pull/10414) - Fix serialization schema generation when using `PlainValidator` by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10427](https://github.com/pydantic/pydantic/pull/10427) - Fix schema generation error when serialization schema holds references by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10444](https://github.com/pydantic/pydantic/pull/10444) - Inline references if possible when generating schema for `json_schema_input_type` by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10439](https://github.com/pydantic/pydantic/pull/10439) - Fix recursive arguments in `Representation` by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10480](https://github.com/pydantic/pydantic/pull/10480) - Fix representation for builtin function types by [@&#8203;kschwab](https://github.com/kschwab) in [#&#8203;10479](https://github.com/pydantic/pydantic/pull/10479) - Add python validators for decimal constraints (`max_digits` and `decimal_places`) by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10506](https://github.com/pydantic/pydantic/pull/10506) - Only fetch `__pydantic_core_schema__` from the current class during schema generation by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10518](https://github.com/pydantic/pydantic/pull/10518) - Fix `stacklevel` on deprecation warnings for `BaseModel` by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10520](https://github.com/pydantic/pydantic/pull/10520) - Fix warning `stacklevel` in `BaseModel.__init__` by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10526](https://github.com/pydantic/pydantic/pull/10526) - Improve error handling for in-evaluable refs for discriminator application by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10440](https://github.com/pydantic/pydantic/pull/10440) - Change the signature of `ConfigWrapper.core_config` to take the title directly by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10562](https://github.com/pydantic/pydantic/pull/10562) - Do not use the previous config from the stack for dataclasses without config by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10576](https://github.com/pydantic/pydantic/pull/10576) - Fix serialization for IP types with `mode='python'` by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10594](https://github.com/pydantic/pydantic/pull/10594) - Support constraint application for `Base64Etc` types by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10584](https://github.com/pydantic/pydantic/pull/10584) - Fix `validate_call` ignoring `Field` in `Annotated` by [@&#8203;kc0506](https://github.com/kc0506) in [#&#8203;10610](https://github.com/pydantic/pydantic/pull/10610) - Raise an error when `Self` is invalid by [@&#8203;kc0506](https://github.com/kc0506) in [#&#8203;10609](https://github.com/pydantic/pydantic/pull/10609) - Using `core_schema.InvalidSchema` instead of metadata injection + checks by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10523](https://github.com/pydantic/pydantic/pull/10523) - Tweak type alias logic by [@&#8203;kc0506](https://github.com/kc0506) in [#&#8203;10643](https://github.com/pydantic/pydantic/pull/10643) - Support usage of `type` with `typing.Self` and type aliases by [@&#8203;kc0506](https://github.com/kc0506) in [#&#8203;10621](https://github.com/pydantic/pydantic/pull/10621) - Use overloads for `Field` and `PrivateAttr` functions by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10651](https://github.com/pydantic/pydantic/pull/10651) - Clean up the `mypy` plugin implementation by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10669](https://github.com/pydantic/pydantic/pull/10669) - Properly check for `typing_extensions` variant of `TypeAliasType` by [@&#8203;Daraan](https://github.com/Daraan) in [#&#8203;10713](https://github.com/pydantic/pydantic/pull/10713) - Allow any mapping in `BaseModel.model_copy()` by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10751](https://github.com/pydantic/pydantic/pull/10751) - Fix `isinstance` behavior for urls by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10766](https://github.com/pydantic/pydantic/pull/10766) - Ensure `cached_property` can be set on Pydantic models by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10774](https://github.com/pydantic/pydantic/pull/10774) - Fix equality checks for primitives in literals by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [pydantic/pydantic-core#1459](https://github.com/pydantic/pydantic-core/pull/1459) - Properly enforce `host_required` for URLs by [@&#8203;Viicos](https://github.com/Viicos) in [pydantic/pydantic-core#1488](https://github.com/pydantic/pydantic-core/pull/1488) - Fix when `coerce_numbers_to_str` enabled and string has invalid Unicode character by [@&#8203;andrey-berenda](https://github.com/andrey-berenda) in [pydantic/pydantic-core#1515](https://github.com/pydantic/pydantic-core/pull/1515) - Fix serializing `complex` values in `Enum`s by [@&#8203;changhc](https://github.com/changhc) in [pydantic/pydantic-core#1524](https://github.com/pydantic/pydantic-core/pull/1524) - Refactor `_typing_extra` module by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10725](https://github.com/pydantic/pydantic/pull/10725) - Support intuitive equality for urls by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10798](https://github.com/pydantic/pydantic/pull/10798) - Add `bytearray` to `TypeAdapter.validate_json` signature by [@&#8203;samuelcolvin](https://github.com/samuelcolvin) in [#&#8203;10802](https://github.com/pydantic/pydantic/pull/10802) - Ensure class access of method descriptors is performed when used as a default with `Field` by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10816](https://github.com/pydantic/pydantic/pull/10816) - Fix circular import with `validate_call` by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10807](https://github.com/pydantic/pydantic/pull/10807) - Fix error when using type aliases referencing other type aliases by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10809](https://github.com/pydantic/pydantic/pull/10809) - Fix `IncEx` type alias to be compatible with mypy by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10813](https://github.com/pydantic/pydantic/pull/10813) - Make `__signature__` a lazy property, do not deepcopy defaults by [@&#8203;Viicos](https://github.com/Viicos) in [#&#8203;10818](https://github.com/pydantic/pydantic/pull/10818) - Make `__signature__` lazy for dataclasses, too by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10832](https://github.com/pydantic/pydantic/pull/10832) - Subclass all single host url classes from `AnyUrl` to preserve behavior from v2.9 by [@&#8203;sydney-runkle](https://github.com/sydney-runkle) in [#&#8203;10856](https://github.com/pydantic/pydantic/pull/10856) ##### New Contributors - [@&#8203;jakob-keller](https://github.com/jakob-keller) made their first contribution in [#&#8203;10331](https://github.com/pydantic/pydantic/pull/10331) - [@&#8203;MovisLi](https://github.com/MovisLi) made their first contribution in [#&#8203;10374](https://github.com/pydantic/pydantic/pull/10374) - [@&#8203;joaopalmeiro](https://github.com/joaopalmeiro) made their first contribution in [#&#8203;10405](https://github.com/pydantic/pydantic/pull/10405) - [@&#8203;theunkn0wn1](https://github.com/theunkn0wn1) made their first contribution in [#&#8203;10378](https://github.com/pydantic/pydantic/pull/10378) - [@&#8203;cdwilson](https://github.com/cdwilson) made their first contribution in [#&#8203;10412](https://github.com/pydantic/pydantic/pull/10412) - [@&#8203;dlax](https://github.com/dlax) made their first contribution in [#&#8203;10421](https://github.com/pydantic/pydantic/pull/10421) - [@&#8203;kschwab](https://github.com/kschwab) made their first contribution in [#&#8203;10479](https://github.com/pydantic/pydantic/pull/10479) - [@&#8203;santibreo](https://github.com/santibreo) made their first contribution in [#&#8203;10453](https://github.com/pydantic/pydantic/pull/10453) - [@&#8203;FlorianSW](https://github.com/FlorianSW) made their first contribution in [#&#8203;10478](https://github.com/pydantic/pydantic/pull/10478) - [@&#8203;tkasuz](https://github.com/tkasuz) made their first contribution in [#&#8203;10555](https://github.com/pydantic/pydantic/pull/10555) - [@&#8203;AlekseyLobanov](https://github.com/AlekseyLobanov) made their first contribution in [#&#8203;10601](https://github.com/pydantic/pydantic/pull/10601) - [@&#8203;NiclasvanEyk](https://github.com/NiclasvanEyk) made their first contribution in [#&#8203;10667](https://github.com/pydantic/pydantic/pull/10667) - [@&#8203;mschoettle](https://github.com/mschoettle) made their first contribution in [#&#8203;10677](https://github.com/pydantic/pydantic/pull/10677) - [@&#8203;Daraan](https://github.com/Daraan) made their first contribution in [#&#8203;10713](https://github.com/pydantic/pydantic/pull/10713) - [@&#8203;k4nar](https://github.com/k4nar) made their first contribution in [#&#8203;10736](https://github.com/pydantic/pydantic/pull/10736) - [@&#8203;UriyaHarpeness](https://github.com/UriyaHarpeness) made their first contribution in [#&#8203;10740](https://github.com/pydantic/pydantic/pull/10740) - [@&#8203;frfahim](https://github.com/frfahim) made their first contribution in [#&#8203;10727](https://github.com/pydantic/pydantic/pull/10727) </details> <details> <summary>Kludex/uvicorn (uvicorn)</summary> ### [`v0.49.0`](https://github.com/Kludex/uvicorn/releases/tag/0.49.0): Version 0.49.0 [Compare Source](https://github.com/Kludex/uvicorn/compare/0.48.0...0.49.0) #### What's Changed - Bump httptools minimum version to 0.8.0 by [@&#8203;Kludex](https://github.com/Kludex) in [#&#8203;2962](https://github.com/Kludex/uvicorn/pull/2962) - Consume duplicate forwarding headers in ProxyHeadersMiddleware (reverses the 0.48.0 behavior of ignoring them) by [@&#8203;Kludex](https://github.com/Kludex) in [#&#8203;2971](https://github.com/Kludex/uvicorn/pull/2971) **Full Changelog**: <https://github.com/Kludex/uvicorn/compare/0.48.0...0.49.0> ### [`v0.48.0`](https://github.com/Kludex/uvicorn/releases/tag/0.48.0): Version 0.48.0 [Compare Source](https://github.com/Kludex/uvicorn/compare/0.47.0...0.48.0) #### What's Changed - Default `ssl_ciphers` to `None` and use OpenSSL defaults by [@&#8203;Kludex](https://github.com/Kludex) in [#&#8203;2940](https://github.com/Kludex/uvicorn/pull/2940) - Ignore duplicate forwarding headers in `ProxyHeadersMiddleware` by [@&#8203;Kludex](https://github.com/Kludex) in [#&#8203;2944](https://github.com/Kludex/uvicorn/pull/2944) **Full Changelog**: <https://github.com/Kludex/uvicorn/compare/0.47.0...0.48.0> ### [`v0.47.0`](https://github.com/Kludex/uvicorn/releases/tag/0.47.0): Version 0.47.0 [Compare Source](https://github.com/Kludex/uvicorn/compare/0.46.0...0.47.0) #### What's Changed - Eagerly import the ASGI app in the parent process by [@&#8203;Kludex](https://github.com/Kludex) in [#&#8203;2919](https://github.com/Kludex/uvicorn/pull/2919) - Add `ssl_context_factory` for custom `SSLContext` configuration by [@&#8203;Kludex](https://github.com/Kludex) in [#&#8203;2920](https://github.com/Kludex/uvicorn/pull/2920) - Treat `fd=0` as a valid file descriptor with reload/workers by [@&#8203;eltoder](https://github.com/eltoder) in [#&#8203;2927](https://github.com/Kludex/uvicorn/pull/2927) **Full Changelog**: <https://github.com/Kludex/uvicorn/compare/0.46.0...0.47.0> ### [`v0.46.0`](https://github.com/Kludex/uvicorn/releases/tag/0.46.0): Version 0.46.0 [Compare Source](https://github.com/Kludex/uvicorn/compare/0.45.0...0.46.0) #### What's Changed - Support `ws_max_size` in `wsproto` implementation by [@&#8203;Kludex](https://github.com/Kludex) in [#&#8203;2915](https://github.com/Kludex/uvicorn/pull/2915) - Support `ws_ping_interval` and `ws_ping_timeout` in `wsproto` implementation by [@&#8203;Kludex](https://github.com/Kludex) in [#&#8203;2916](https://github.com/Kludex/uvicorn/pull/2916) - Use `bytearray` for incoming WebSocket message buffer in websockets-sansio by [@&#8203;Kludex](https://github.com/Kludex) in [#&#8203;2917](https://github.com/Kludex/uvicorn/pull/2917) **Full Changelog**: <https://github.com/Kludex/uvicorn/compare/0.45.0...0.46.0> ### [`v0.45.0`](https://github.com/Kludex/uvicorn/releases/tag/0.45.0): Version 0.45.0 [Compare Source](https://github.com/Kludex/uvicorn/compare/0.44.0...0.45.0) #### What's Changed - Preserve forwarded client ports in proxy headers middleware by [@&#8203;Kludex](https://github.com/Kludex) in [#&#8203;2903](https://github.com/Kludex/uvicorn/pull/2903) - Accept `os.PathLike` for `log_config` by [@&#8203;Kludex](https://github.com/Kludex) in [#&#8203;2905](https://github.com/Kludex/uvicorn/pull/2905) - Accept `log_level` strings case-insensitively by [@&#8203;Kludex](https://github.com/Kludex) in [#&#8203;2907](https://github.com/Kludex/uvicorn/pull/2907) - Raise helpful `ImportError` when PyYAML is missing for YAML log config by [@&#8203;Kludex](https://github.com/Kludex) in [#&#8203;2906](https://github.com/Kludex/uvicorn/pull/2906) - Revert empty context for ASGI runs by [@&#8203;Kludex](https://github.com/Kludex) in [#&#8203;2911](https://github.com/Kludex/uvicorn/pull/2911) - Add `--reset-contextvars` flag to isolate ASGI request context by [@&#8203;Kludex](https://github.com/Kludex) in [#&#8203;2912](https://github.com/Kludex/uvicorn/pull/2912) - Revert "Emit `http.disconnect` on server shutdown for streaming responses" ([#&#8203;2829](https://github.com/Kludex/uvicorn/issues/2829)) by [@&#8203;Kludex](https://github.com/Kludex) in [#&#8203;2913](https://github.com/Kludex/uvicorn/pull/2913) #### New Contributors - [@&#8203;Krishnachaitanyakc](https://github.com/Krishnachaitanyakc) made their first contribution in [#&#8203;2870](https://github.com/Kludex/uvicorn/pull/2870) **Full Changelog**: <https://github.com/Kludex/uvicorn/compare/0.44.0...0.45.0> ### [`v0.44.0`](https://github.com/Kludex/uvicorn/releases/tag/0.44.0): Version 0.44.0 [Compare Source](https://github.com/Kludex/uvicorn/compare/0.43.0...0.44.0) #### What's Changed - Implement websocket keepalive pings for websockets-sansio by [@&#8203;Kludex](https://github.com/Kludex) in [#&#8203;2888](https://github.com/Kludex/uvicorn/pull/2888) **Full Changelog**: <https://github.com/Kludex/uvicorn/compare/0.43.0...0.44.0> ### [`v0.43.0`](https://github.com/Kludex/uvicorn/releases/tag/0.43.0): Version 0.43.0 [Compare Source](https://github.com/Kludex/uvicorn/compare/0.42.0...0.43.0) #### Changed - Emit `http.disconnect` ASGI `receive()` event on server shutting down for streaming responses ([#&#8203;2829](https://github.com/Kludex/uvicorn/issues/2829)) - Use native `context` parameter for `create_task` on Python 3.11+ ([#&#8203;2859](https://github.com/Kludex/uvicorn/issues/2859)) - Drop cast in ASGI types ([#&#8203;2875](https://github.com/Kludex/uvicorn/issues/2875)) *** **Full Changelog**: <https://github.com/Kludex/uvicorn/compare/0.42.0...0.43.0> ### [`v0.42.0`](https://github.com/Kludex/uvicorn/releases/tag/0.42.0): Version 0.42.0 [Compare Source](https://github.com/Kludex/uvicorn/compare/0.41.0...0.42.0) #### Changed - Use `bytearray` for request body accumulation to avoid O(n^2) allocation on fragmented bodies ([#&#8203;2845](https://github.com/Kludex/uvicorn/issues/2845)) #### Fixed - Escape brackets and backslash in httptools `HEADER_RE` regex ([#&#8203;2824](https://github.com/Kludex/uvicorn/issues/2824)) - Fix multiple issues in websockets sans-io implementation ([#&#8203;2825](https://github.com/Kludex/uvicorn/issues/2825)) *** #### New Contributors - [@&#8203;bysiber](https://github.com/bysiber) made their first contribution in [#&#8203;2825](https://github.com/Kludex/uvicorn/pull/2825) *** **Full Changelog**: <https://github.com/Kludex/uvicorn/compare/0.41.0...0.42.0> ### [`v0.41.0`](https://github.com/Kludex/uvicorn/releases/tag/0.41.0): Version 0.41.0 [Compare Source](https://github.com/Kludex/uvicorn/compare/0.40.0...0.41.0) #### Added - Add `--limit-max-requests-jitter` to stagger worker restarts ([#&#8203;2707](https://github.com/Kludex/uvicorn/issues/2707)) - Add socket path to `scope["server"]` ([#&#8203;2561](https://github.com/Kludex/uvicorn/issues/2561)) #### Changed - Rename `LifespanOn.error_occured` to `error_occurred` ([#&#8203;2776](https://github.com/Kludex/uvicorn/issues/2776)) #### Fixed - Ignore permission denied errors in watchfiles reloader ([#&#8203;2817](https://github.com/Kludex/uvicorn/issues/2817)) - Ensure lifespan shutdown runs when `should_exit` is set during startup ([#&#8203;2812](https://github.com/Kludex/uvicorn/issues/2812)) - Reduce the log level of 'request limit exceeded' messages ([#&#8203;2788](https://github.com/Kludex/uvicorn/issues/2788)) *** #### New Contributors - [@&#8203;t-kawasumi](https://github.com/t-kawasumi) made their first contribution in [#&#8203;2776](https://github.com/Kludex/uvicorn/pull/2776) - [@&#8203;fardyn](https://github.com/fardyn) made their first contribution in [#&#8203;2800](https://github.com/Kludex/uvicorn/pull/2800) - [@&#8203;ewie](https://github.com/ewie) made their first contribution in [#&#8203;2807](https://github.com/Kludex/uvicorn/pull/2807) - [@&#8203;shevron](https://github.com/shevron) made their first contribution in [#&#8203;2788](https://github.com/Kludex/uvicorn/pull/2788) - [@&#8203;jonashaag](https://github.com/jonashaag) made their first contribution in [#&#8203;2707](https://github.com/Kludex/uvicorn/pull/2707) *** **Full Changelog**: <https://github.com/Kludex/uvicorn/compare/0.40.0...0.41.0> ### [`v0.40.0`](https://github.com/Kludex/uvicorn/releases/tag/0.40.0): Version 0.40.0 [Compare Source](https://github.com/Kludex/uvicorn/compare/0.39.0...0.40.0) #### What's Changed - Drop Python 3.9 by [@&#8203;Kludex](https://github.com/Kludex) in [#&#8203;2772](https://github.com/Kludex/uvicorn/pull/2772) **Full Changelog**: <https://github.com/Kludex/uvicorn/compare/0.39.0...0.40.0> ### [`v0.39.0`](https://github.com/Kludex/uvicorn/releases/tag/0.39.0): Version 0.39.0 [Compare Source](https://github.com/Kludex/uvicorn/compare/0.38.0...0.39.0) #### What's Changed - explicitly start ASGI run with empty context by [@&#8203;pmeier](https://github.com/pmeier) in [#&#8203;2742](https://github.com/Kludex/uvicorn/pull/2742) - fix(websockets): Send close frame on ASGI return by [@&#8203;Kludex](https://github.com/Kludex) in [#&#8203;2769](https://github.com/Kludex/uvicorn/pull/2769) #### New Contributors - [@&#8203;pmeier](https://github.com/pmeier) made their first contribution in [#&#8203;2742](https://github.com/Kludex/uvicorn/pull/2742) **Full Changelog**: <https://github.com/Kludex/uvicorn/compare/0.38.0...0.39.0> ### [`v0.38.0`](https://github.com/Kludex/uvicorn/releases/tag/0.38.0): Version 0.38.0 [Compare Source](https://github.com/Kludex/uvicorn/compare/0.37.0...0.38.0) #### What's Changed - Support Python 3.14 by [@&#8203;Kludex](https://github.com/Kludex) in [#&#8203;2723](https://github.com/Kludex/uvicorn/pull/2723) *** #### New Contributors - [@&#8203;NGANAMODEIJunior](https://github.com/NGANAMODEIJunior) made their first contribution in [#&#8203;2713](https://github.com/Kludex/uvicorn/pull/2713) **Full Changelog**: <https://github.com/Kludex/uvicorn/compare/0.37.0...0.38.0> ### [`v0.37.0`](https://github.com/Kludex/uvicorn/releases/tag/0.37.0): Version 0.37.0 [Compare Source](https://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0) #### What's Changed - Add `--timeout-worker-healthcheck` setting by [@&#8203;Kludex](https://github.com/Kludex) in [#&#8203;2711](https://github.com/Kludex/uvicorn/pull/2711) - Add `os.PathLike[str]` type to `ssl_ca_certs` by [@&#8203;rnv812](https://github.com/rnv812) in [#&#8203;2676](https://github.com/Kludex/uvicorn/pull/2676) #### New Contributors - [@&#8203;LincolnPuzey](https://github.com/LincolnPuzey) made their first contribution in [#&#8203;2669](https://github.com/Kludex/uvicorn/pull/2669) - [@&#8203;rnv812](https://github.com/rnv812) made their first contribution in [#&#8203;2676](https://github.com/Kludex/uvicorn/pull/2676) **Full Changelog**: <https://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0> ### [`v0.36.1`](https://github.com/Kludex/uvicorn/releases/tag/0.36.1): Version 0.36.1 [Compare Source](https://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1) #### What's Changed - Raise an exception when calling removed `Config.setup_event_loop()` by [@&#8203;Kludex](https://github.com/Kludex) in [#&#8203;2709](https://github.com/Kludex/uvicorn/pull/2709) **Full Changelog**: <https://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1> ### [`v0.36.0`](https://github.com/Kludex/uvicorn/releases/tag/0.36.0): Version 0.36.0 [Compare Source](https://github.com/Kludex/uvicorn/compare/0.35.0...0.36.0) #### Added - Support custom IOLOOPs by [@&#8203;gnir-work](https://github.com/gnir-work) in [#&#8203;2435](https://github.com/Kludex/uvicorn/pull/2435) - Allow to provide importable string in `--http`, `--ws` and `--loop` by [@&#8203;Kludex](https://github.com/Kludex) in [#&#8203;2658](https://github.com/Kludex/uvicorn/pull/2658) *** ##### New Contributors - [@&#8203;gnir-work](https://github.com/gnir-work) made their first contribution in [#&#8203;2435](https://github.com/Kludex/uvicorn/pull/2435) - [@&#8203;musicinmybrain](https://github.com/musicinmybrain) made their first contribution in [#&#8203;2659](https://github.com/Kludex/uvicorn/pull/2659) - [@&#8203;secrett2633](https://github.com/secrett2633) made their first contribution in [#&#8203;2684](https://github.com/Kludex/uvicorn/pull/2684) **Full Changelog**: <https://github.com/Kludex/uvicorn/compare/0.35.0...0.36.0> ### [`v0.35.0`](https://github.com/Kludex/uvicorn/releases/tag/0.35.0): Version 0.35.0 [Compare Source](https://github.com/Kludex/uvicorn/compare/0.34.3...0.35.0) #### Added - Add `WebSocketsSansIOProtocol` by [@&#8203;Kludex](https://github.com/Kludex) in [encode#2540](https://github.com/encode/uvicorn/pull/2540) #### Changed - Refine help message for option `--proxy-headers` by [@&#8203;zhangyoufu](https://github.com/zhangyoufu) in [encode#2653](https://github.com/encode/uvicorn/pull/2653) #### New Contributors - [@&#8203;zhangyoufu](https://github.com/zhangyoufu) made their first contribution in [encode#2653](https://github.com/encode/uvicorn/pull/2653) **Full Changelog**: <https://github.com/encode/uvicorn/compare/0.34.3...0.35.0> ### [`v0.34.3`](https://github.com/Kludex/uvicorn/releases/tag/0.34.3): Version 0.34.3 [Compare Source](https://github.com/Kludex/uvicorn/compare/0.34.2...0.34.3) #### What's Changed - Don't include `cwd()` when non-empty `--reload-dirs` is passed by [@&#8203;stinovlas](https://github.com/stinovlas) in [encode#2598](https://github.com/encode/uvicorn/pull/2598) - Apply `get_client_addr` formatting to WebSocket logging by [@&#8203;Harry-Lees](https://github.com/Harry-Lees) in [encode#2636](https://github.com/encode/uvicorn/pull/2636) - chore: improve type hints by [@&#8203;waketzheng](https://github.com/waketzheng) in [encode#2638](https://github.com/encode/uvicorn/pull/2638) #### New Contributors - [@&#8203;stinovlas](https://github.com/stinovlas) made their first contribution in [encode#2598](https://github.com/encode/uvicorn/pull/2598) - [@&#8203;LifeLex](https://github.com/LifeLex) made their first contribution in [encode#2621](https://github.com/encode/uvicorn/pull/2621) - [@&#8203;Harry-Lees](https://github.com/Harry-Lees) made their first contribution in [encode#2636](https://github.com/encode/uvicorn/pull/2636) - [@&#8203;waketzheng](https://github.com/waketzheng) made their first contribution in [encode#2638](https://github.com/encode/uvicorn/pull/2638) **Full Changelog**: <https://github.com/encode/uvicorn/compare/0.34.2...0.34.3> ### [`v0.34.2`](https://github.com/Kludex/uvicorn/releases/tag/0.34.2): Version 0.34.2 [Compare Source](https://github.com/Kludex/uvicorn/compare/0.34.1...0.34.2) #### What's Changed - Flush the stdout buffer on Windows to trigger reload by [@&#8203;jamesh1999](https://github.com/jamesh1999) in [encode#2604](https://github.com/encode/uvicorn/pull/2604) #### New Contributors - [@&#8203;jamesh1999](https://github.com/jamesh1999) made their first contribution in [encode#2604](https://github.com/encode/uvicorn/pull/2604) **Full Changelog**: <https://github.com/encode/uvicorn/compare/0.34.1...0.34.2> ### [`v0.34.1`](https://github.com/Kludex/uvicorn/releases/tag/0.34.1): Version 0.34.1 [Compare Source](https://github.com/Kludex/uvicorn/compare/0.34.0...0.34.1) #### What's Changed - Deprecate `ServerState` in the main module by [@&#8203;Kludex](https://github.com/Kludex) in [encode#2581](https://github.com/encode/uvicorn/pull/2581) #### New Contributors - [@&#8203;RakhimovRamis](https://github.com/RakhimovRamis) made their first contribution in [encode#2567](https://github.com/encode/uvicorn/pull/2567) - [@&#8203;carlwgeorge](https://github.com/carlwgeorge) made their first contribution in [encode#2590](https://github.com/encode/uvicorn/pull/2590) **Full Changelog**: <https://github.com/encode/uvicorn/compare/0.34.0...0.34.1> ### [`v0.34.0`](https://github.com/Kludex/uvicorn/releases/tag/0.34.0): Version 0.34.0 [Compare Source](https://github.com/Kludex/uvicorn/compare/0.33.0...0.34.0) #### What's Changed - Add `content-length` to 500 response in wsproto by [@&#8203;Kludex](https://github.com/Kludex) in [encode#2542](https://github.com/encode/uvicorn/pull/2542) - Drop Python 3.8 by [@&#8203;Kludex](https://github.com/Kludex) in [encode#2543](https://github.com/encode/uvicorn/pull/2543) *** **Full Changelog**: <https://github.com/encode/uvicorn/compare/0.33.0...0.34.0> ### [`v0.33.0`](https://github.com/Kludex/uvicorn/releases/tag/0.33.0): Version 0.33.0 [Compare Source](https://github.com/Kludex/uvicorn/compare/0.32.1...0.33.0) #### What's Changed - Remove WatchGod by [@&#8203;Kludex](https://github.com/Kludex) in [encode#2536](https://github.com/encode/uvicorn/pull/2536) #### New Contributors - [@&#8203;bwells](https://github.com/bwells) made their first contribution in [encode#2491](https://github.com/encode/uvicorn/pull/2491) - [@&#8203;tback](https://github.com/tback) made their first contribution in [encode#2528](https://github.com/encode/uvicorn/pull/2528) **Full Changelog**: <https://github.com/encode/uvicorn/compare/0.32.1...0.33.0> ### [`v0.32.1`](https://github.com/Kludex/uvicorn/releases/tag/0.32.1): Version 0.32.1 [Compare Source](https://github.com/Kludex/uvicorn/compare/0.32.0...0.32.1) #### What's Changed - Enable httptools lenient data by [@&#8203;vvanglro](https://github.com/vvanglro) in [encode#2488](https://github.com/encode/uvicorn/pull/2488) - Drop ASGI spec version to 2.3 on HTTP scope by [@&#8203;Kludex](https://github.com/Kludex) in [encode#2513](https://github.com/encode/uvicorn/pull/2513) *** **Full Changelog**: <https://github.com/encode/uvicorn/compare/0.32.0...0.32.1> ### [`v0.32.0`](https://github.com/Kludex/uvicorn/releases/tag/0.32.0): Version 0.32.0 [Compare Source](https://github.com/Kludex/uvicorn/compare/0.31.1...0.32.0) #### Added - Officially support Python 3.13 ([#&#8203;2482](https://github.com/Kludex/uvicorn/issues/2482)) - Warn when `max_request_limit` is exceeded ([#&#8203;2430](https://github.com/Kludex/uvicorn/issues/2430)) *** **Full Changelog**: <https://github.com/encode/uvicorn/compare/0.31.1...0.32.0> ### [`v0.31.1`](https://github.com/Kludex/uvicorn/releases/tag/0.31.1): Version 0.31.1 [Compare Source](https://github.com/Kludex/uvicorn/compare/0.31.0...0.31.1) #### Fixed - Support WebSockets 0.13.1 [#&#8203;2471](https://github.com/encode/uvicorn/pull/2471) - Restore support for `[*]` in trusted hosts [#&#8203;2480](https://github.com/encode/uvicorn/pull/2480) - Add `PathLike[str]` type hint for `ssl_keyfile` [#&#8203;2481](https://github.com/encode/uvicorn/pull/2481) *** **Full Changelog**: <https://github.com/encode/uvicorn/compare/0.31.0...0.31.1> ### [`v0.31.0`](https://github.com/Kludex/uvicorn/releases/tag/0.31.0): Version 0.31.0 [Compare Source](https://github.com/Kludex/uvicorn/compare/0.30.6...0.31.0) ##### Added Improve `ProxyHeadersMiddleware` ([#&#8203;2468](https://github.com/Kludex/uvicorn/issues/2468)) and ([#&#8203;2231](https://github.com/Kludex/uvicorn/issues/2231)): - Fix the host for requests from clients running on the proxy server itself. - Fallback to host that was already set for empty x-forwarded-for headers. - Also allow specifying IP Networks as trusted hosts. This greatly simplifies deployments on docker swarm/Kubernetes, where the reverse proxy might have a dynamic IP. - This includes support for IPv6 Address/Networks. *** **Full Changelog**: <https://github.com/encode/uvicorn/compare/0.30.6...0.31.0> </details> --- ### Configuration 📅 **Schedule**: (in timezone Europe/Warsaw) - Branch creation - "before 6am on monday" - 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](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMzUuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIzNS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
Update Python dependencies
Some checks failed
CI / test (3.12) (pull_request) Failing after 9s
CI / test (3.13) (pull_request) Failing after 9s
CI / build-check (pull_request) Has been skipped
4f13ce6bd8
Some checks failed
CI / test (3.12) (pull_request) Failing after 9s
CI / test (3.13) (pull_request) Failing after 9s
CI / build-check (pull_request) Has been skipped
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/python-dependencies:renovate/python-dependencies
git switch renovate/python-dependencies
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
jwerwinski/calculator-api!7
No description provided.