Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Aug 14, 2025

Note: This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence Type Update
fastapi (changelog) ==0.115.12==0.128.0 age confidence minor
fastapi-cli (changelog) ==0.0.7==0.0.20 age confidence patch
nats-py ==2.10.0==2.12.0 age confidence minor
pydantic-settings (changelog) ==2.9.1==2.12.0 age confidence minor
python 3.133.14 age confidence final minor
python-dotenv ==1.1.0==1.2.1 age confidence minor

Release Notes

fastapi/fastapi (fastapi)

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

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()

@​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
  • 📝 Add documentation for Behind a Proxy - Proxy Forwarded Headers, using --forwarded-allow-ips="*". PR #​14028 by @​tiangolo.
  • 📝 Add deprecation info block about dict() in docs/tutorial/body.md. PR #​13906 by [@​jomkv](https://redir

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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


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

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

@github-actions
Copy link

There hasn't been any activity on this pull request recently. Therefore, this pull request has been automatically marked as stale and will be closed if no further activity occurs within seven days. Thank you for your contributions.

@github-actions github-actions bot added the stale label Aug 22, 2025
@renovate renovate bot force-pushed the renovate/all-minor-patch-webhook-listener branch from d6595c5 to 6be75e9 Compare August 31, 2025 17:42
@codacy-production
Copy link

codacy-production bot commented Aug 31, 2025

Coverage summary from Codacy

See diff coverage on Codacy

Coverage variation Diff coverage
+0.00% (target: -1.00%)
Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (cf136de) 7926 2126 26.82%
Head commit (49b1a6c) 7926 (+0) 2126 (+0) 26.82% (+0.00%)

Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>

Diff coverage details
Coverable lines Covered lines Diff coverage
Pull request (#809) 0 0 ∅ (not applicable)

Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%

See your quality gate settings    Change summary preferences

@renovate renovate bot force-pushed the renovate/all-minor-patch-webhook-listener branch from 6be75e9 to 7fa6e78 Compare August 31, 2025 21:42
@github-actions github-actions bot removed the stale label Sep 1, 2025
@github-actions
Copy link

github-actions bot commented Sep 8, 2025

There hasn't been any activity on this pull request recently. Therefore, this pull request has been automatically marked as stale and will be closed if no further activity occurs within seven days. Thank you for your contributions.

@github-actions github-actions bot added the stale label Sep 8, 2025
@renovate renovate bot force-pushed the renovate/all-minor-patch-webhook-listener branch from 7fa6e78 to 8479f57 Compare September 9, 2025 18:23
@github-actions github-actions bot removed the stale label Sep 10, 2025
@renovate renovate bot force-pushed the renovate/all-minor-patch-webhook-listener branch 4 times, most recently from 1f46f3f to 306fe4d Compare September 20, 2025 21:43
@renovate renovate bot force-pushed the renovate/all-minor-patch-webhook-listener branch 2 times, most recently from 30c5767 to 5a2df90 Compare September 29, 2025 04:33
@renovate renovate bot force-pushed the renovate/all-minor-patch-webhook-listener branch 4 times, most recently from 9d15bd9 to b6b4595 Compare October 11, 2025 21:37
@github-actions
Copy link

There hasn't been any activity on this pull request recently. Therefore, this pull request has been automatically marked as stale and will be closed if no further activity occurs within seven days. Thank you for your contributions.

@github-actions github-actions bot added the stale label Oct 19, 2025
@renovate renovate bot force-pushed the renovate/all-minor-patch-webhook-listener branch 2 times, most recently from 015ed25 to 8ad03ef Compare October 20, 2025 18:13
@github-actions github-actions bot removed the stale label Oct 21, 2025
@renovate renovate bot force-pushed the renovate/all-minor-patch-webhook-listener branch 3 times, most recently from a00e3a0 to 6b47ffa Compare October 27, 2025 23:06
@renovate renovate bot force-pushed the renovate/all-minor-patch-webhook-listener branch 2 times, most recently from 1eda9af to c19c011 Compare November 9, 2025 00:40
@renovate renovate bot force-pushed the renovate/all-minor-patch-webhook-listener branch 2 times, most recently from 3fd5cfc to 4689c6c Compare November 13, 2025 22:04
@renovate renovate bot force-pushed the renovate/all-minor-patch-webhook-listener branch 2 times, most recently from 957cbee to ae1da7c Compare November 24, 2025 21:06
@renovate renovate bot force-pushed the renovate/all-minor-patch-webhook-listener branch 11 times, most recently from 8f7c255 to d2cde18 Compare December 6, 2025 17:55
@renovate renovate bot force-pushed the renovate/all-minor-patch-webhook-listener branch 4 times, most recently from 559eafc to cd50eef Compare December 12, 2025 18:15
@renovate renovate bot force-pushed the renovate/all-minor-patch-webhook-listener branch 4 times, most recently from 2a66d8c to d9d81f5 Compare December 22, 2025 18:45
@renovate renovate bot force-pushed the renovate/all-minor-patch-webhook-listener branch from d9d81f5 to cece8a8 Compare December 26, 2025 17:37
@renovate renovate bot force-pushed the renovate/all-minor-patch-webhook-listener branch from cece8a8 to 49b1a6c Compare December 27, 2025 17:53
@github-actions
Copy link

github-actions bot commented Jan 7, 2026

There hasn't been any activity on this pull request recently. Therefore, this pull request has been automatically marked as stale and will be closed if no further activity occurs within seven days. Thank you for your contributions.

@github-actions github-actions bot added the stale label Jan 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant