fix(deps): update all non-major dependencies
This MR contains the following updates:
| Package | Type | Update | Change | Age | Confidence |
|---|---|---|---|---|---|
| PyCQA/isort | repository | minor |
6.0.0 -> 6.1.0
|
||
| alessandrojcm/commitlint-pre-commit-hook | repository | minor |
v9.21.0 -> v9.23.0
|
||
| fastapi (changelog) | dependencies | minor |
^0.110.1 -> ^0.124.0
|
||
| httpx (changelog) | dev | minor |
^0.27.0 -> ^0.28.0
|
||
| pre-commit/mirrors-mypy | repository | minor |
v1.15.0 -> v1.19.0
|
||
| pre-commit/pre-commit-hooks | repository | minor |
v4.4.0 -> v4.6.0
|
||
| psf/black | repository | minor |
25.1.0 -> 25.12.0
|
||
| pycqa/flake8 | repository | minor |
7.0.0 -> 7.3.0
|
||
| pydantic-settings (changelog) | dependencies | minor |
2.3.4 -> 2.12.0
|
||
| python-poetry/poetry | repository | patch |
1.8.2 -> 1.8.5
|
||
| ucam-observe | dependencies | patch |
0.2.0 -> 0.2.2
|
||
| uis/devops/continuous-delivery/ci-templates | repository | minor |
v7.20.3 -> v7.23.1
|
||
| uvicorn (changelog) | dependencies | minor |
^0.29.0 -> ^0.38.0
|
Note: The pre-commit manager in Renovate is not supported by the pre-commit maintainers or community. Please do not report any problems there, instead create a Discussion in the Renovate repository if you have any questions.
Release Notes
PyCQA/isort (PyCQA/isort)
v6.1.0
- Add python 3.14 classifier and badge (#2409) @staticdev
- Drop use of non-standard pkg_resources API (#2405) @dvarrazzo
v6.0.1
Changes
- fix multi_line_output_modes docs (#2096) @xinydev
- Ruff rules PT for pytest (#2372) @cclauss
- Ruff rules B017, B028, and E203 (#2371) @cclauss
- Lint Python code with ruff (#2359) @cclauss
- Fix test_find_imports_in_file_error failing on Windows (#2369) @kobarity
- Move flake8 settings into pyproject.toml (#2360) @cclauss
- Upgrade to uv>=0.6.0 and enable-cache (#2364) @cclauss
- Apply some ruff rules (#2353) @cclauss
:beetle: Fixes
- Add OSError handling in find_imports_in_file (#2331) @kobarity
- Link GH as changelog (#2354) @staticdev
:construction_worker: Continuous Integration
- Remove Safety (#2373) @staticdev
alessandrojcm/commitlint-pre-commit-hook (alessandrojcm/commitlint-pre-commit-hook)
v9.23.0
Features
- bump the commitlint group with 2 updates (c395a79)
- bump the commitlint group with 2 updates (2be08da)
- bump the commitlint group with 2 updates (c3bd3f3)
v9.22.0
Features
- bump the commitlint group with 2 updates (3af7602)
fastapi/fastapi (fastapi)
v0.124.0
Features
- 🚸 Improve tracebacks by adding endpoint metadata. MR #14306 by @savannahostrowski.
Internal
- ✏️ Fix typo in
scripts/mkdocs_hooks.py. MR #14457 by @yujiteshima.
v0.123.10
Fixes
- 🐛 Fix using class (not instance) dependency that has
__call__method. MR #14458 by @YuriiMotov. - 🐛 Fix
separate_input_output_schemas=Falsewithcomputed_field. MR #14453 by @YuriiMotov.
v0.123.9
Fixes
- 🐛 Fix OAuth2 scopes in OpenAPI in extra corner cases, parent dependency with scopes, sub-dependency security scheme without scopes. MR #14459 by @tiangolo.
v0.123.8
Fixes
- 🐛 Fix OpenAPI security scheme OAuth2 scopes declaration, deduplicate security schemes with different scopes. MR #14455 by @tiangolo.
v0.123.7
Fixes
v0.123.6
Fixes
- 🐛 Fix support for functools wraps and partial combined, for async and regular functions and classes in path operations and dependencies. MR #14448 by @tiangolo.
v0.123.5
Features
- ✨ Allow using dependables with
functools.partial(). MR #9753 by @lieryan. - ✨ Add support for wrapped functions (e.g.
@functools.wraps()) used with forward references. MR #5077 by @lucaswiman. - ✨ Handle wrapped dependencies. MR #9555 by @phy1729.
Fixes
Refactors
- 🔥 Remove dangling extra condiitonal no longer needed. MR #14435 by @tiangolo.
- ♻️ Refactor internals, update
is_coroutinecheck to reuse internal supported variants (unwrap, check class). MR #14434 by @tiangolo.
Translations
- 🌐 Sync German docs. MR #14367 by @nilslindemann.
v0.123.4
Fixes
- 🐛 Fix OpenAPI schema support for computed fields when using
separate_input_output_schemas=False. MR #13207 by @vgrafe.
Docs
- 📝 Fix docstring of
serversparameter. MR #14405 by @YuriiMotov.
v0.123.3
Fixes
- 🐛 Fix Query\Header\Cookie parameter model alias. MR #14360 by @YuriiMotov.
- 🐛 Fix optional sequence handling in
serialize sequence valuewith Pydantic V2. MR #14297 by @YuriiMotov.
v0.123.2
Fixes
- 🐛 Fix unformatted
{type_}in FastAPIError. MR #14416 by @Just-Helpful. - 🐛 Fix parsing extra non-body parameter list. MR #14356 by @YuriiMotov.
- 🐛 Fix parsing extra
Formparameter list. MR #14303 by @YuriiMotov. - 🐛 Fix support for form values with empty strings interpreted as missing (
Noneif that's the default), for compatibility with HTML forms. MR #13537 by @MarinPostma.
Docs
- 📝 Add tip on how to install
pipin case ofNo module named piperror invirtual-environments.md. MR #14211 by @zadevhub. - 📝 Update Primary Key notes for the SQL databases tutorial to avoid confusion. MR #14120 by @FlaviusRaducu.
- 📝 Clarify estimation note in documentation. MR #14070 by @SaisakthiM.
v0.123.1
Fixes
- 🐛 Avoid accessing non-existing "$ref" key for Pydantic v2 compat remapping. MR #14361 by @svlandeg.
- 🐛 Fix
TypeErrorwhen encoding a decimal with aNaNorInfinityvalue. MR #12935 by @kentwelcome.
Internal
- 🐛 Fix Windows UnicodeEncodeError in CLI test. MR #14295 by @hemanth-thirthahalli.
- 🔧 Update sponsors: add Greptile. MR #14429 by @tiangolo.
- 👥 Update FastAPI GitHub topic repositories. MR #14426 by @tiangolo.
- ⬆ Bump markdown-include-variants from 0.0.6 to 0.0.7. MR #14423 by @YuriiMotov.
- 👥 Update FastAPI People - Sponsors. MR #14422 by @tiangolo.
- 👥 Update FastAPI People - Contributors and Translators. MR #14420 by @tiangolo.
v0.123.0
Fixes
- 🐛 Cache dependencies that don't use scopes and don't have sub-dependencies with scopes. MR #14419 by @tiangolo.
v0.122.1
Fixes
- 🐛 Fix hierarchical security scope propagation. MR #5624 by @kristjanvalur.
Docs
- 💅 Update CSS to explicitly use emoji font. MR #14415 by @tiangolo.
Internal
- ⬆ Bump markdown-include-variants from 0.0.5 to 0.0.6. MR #14418 by @YuriiMotov.
v0.122.0
Fixes
- 🐛 Use
401status code in security classes when credentials are missing. MR #13786 by @YuriiMotov.- If your code depended on these classes raising the old (less correct)
403status code, check the new docs about how to override the classes, to use the same old behavior: Use Old 403 Authentication Error Status Codes.
- If your code depended on these classes raising the old (less correct)
Internal
- 🔧 Configure labeler to exclude files that start from underscore for
lang-alllabel. MR #14213 by @YuriiMotov. - 👷 Add pre-commit config with local script for permalinks. MR #14398 by @tiangolo.
- 💄 Use font Fira Code to fix display of Rich panels in docs in Windows. MR #14387 by @tiangolo.
- 👷 Add custom pre-commit CI. MR #14397 by @tiangolo.
- ⬆ Bump actions/checkout from 5 to 6. MR #14381 by @dependabot[bot].
- 👷 Upgrade
latest-changesGitHub Action and pinactions/checkout@v5. MR #14403 by @svlandeg. - 🛠️ Add
add-permalinksandadd-permalinks-pagetoscripts/docs.py. MR #14033 by @YuriiMotov. - 🔧 Upgrade Material for MkDocs and remove insiders. MR #14375 by @tiangolo.
v0.121.3
0.121.3
Refactors
- ♻️ Make the result of
Depends()andSecurity()hashable, as a workaround for other tools interacting with these internal parts. MR #14372 by @tiangolo.
Upgrades
- ⬆️ Bump Starlette to <
0.51.0. MR #14282 by @musicinmybrain.
Docs
- 📝 Add missing hash part. MR #14369 by @nilslindemann.
- 📝 Fix typos in code comments. MR #14364 by @Edge-Seven.
- 📝 Add docs for using FastAPI Cloud. MR #14359 by @tiangolo.
v0.121.2
Fixes
- 🐛 Fix handling of JSON Schema attributes named "$ref". MR #14349 by @tiangolo.
Docs
- 📝 Add EuroPython talk & podcast episode with Sebastián Ramírez. MR #14260 by @clytaemnestra.
- ✏️ Fix links and add missing permalink in docs. MR #14217 by @YuriiMotov.
Translations
- 🌐 Update Portuguese translations with LLM prompt. MR #14228 by @ceb10n.
- 🔨 Add Portuguese translations LLM prompt. MR #14208 by @ceb10n.
- 🌐 Sync Russian docs. MR #14331 by @YuriiMotov.
- 🌐 Sync German docs. MR #14317 by @nilslindemann.
v0.121.1
Fixes
- 🐛 Fix
Depends(func, scope='function')for top level (parameterless) dependencies. MR #14301 by @luzzodev.
Docs
- 📝 Upate docs for advanced dependencies with
yield, noting the changes in 0.121.0, addingscope. MR #14287 by @tiangolo.
Internal
- ⬆ Bump ruff from 0.13.2 to 0.14.3. MR #14276 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #14289 by @pre-commit-ci[bot].
v0.121.0
Features
- ✨ Add support for dependencies with scopes, support
scope="request"for dependencies withyieldthat exit before the response is sent. MR #14262 by @tiangolo.
Internal
- 👥 Update FastAPI People - Contributors and Translators. MR #14273 by @tiangolo.
- 👥 Update FastAPI People - Sponsors. MR #14274 by @tiangolo.
- 👥 Update FastAPI GitHub topic repositories. MR #14280 by @tiangolo.
- ⬆ Bump mkdocs-macros-plugin from 1.4.0 to 1.4.1. MR #14277 by @dependabot[bot].
- ⬆ Bump mkdocstrings[python] from 0.26.1 to 0.30.1. MR #14279 by @dependabot[bot].
v0.120.4
Fixes
- 🐛 Fix security schemes in OpenAPI when added at the top level app. MR #14266 by @YuriiMotov.
v0.120.3
Refactors
- ♻️ Reduce internal cyclic recursion in dependencies, from 2 functions calling each other to 1 calling itself. MR #14256 by @tiangolo.
- ♻️ Refactor internals of dependencies, simplify code and remove
get_param_sub_dependant. MR #14255 by @tiangolo. - ♻️ Refactor internals of dependencies, simplify using dataclasses. MR #14254 by @tiangolo.
Docs
- 📝 Update note for untranslated pages. MR #14257 by @YuriiMotov.
v0.120.2
Fixes
- 🐛 Fix separation of schemas with nested models introduced in 0.119.0. MR #14246 by @tiangolo.
Internal
- 🔧 Add sponsor: SerpApi. MR #14248 by @tiangolo.
- ⬆ Bump actions/download-artifact from 5 to 6. MR #14236 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #14237 by @pre-commit-ci[bot].
- ⬆ Bump actions/upload-artifact from 4 to 5. MR #14235 by @dependabot[bot].
v0.120.1
Upgrades
- ⬆️ Bump Starlette to <
0.50.0. MR #14234 by @YuriiMotov.
Internal
- 🔧 Add
licenseandlicense-filestopyproject.toml, removeLicensefromclassifiers. MR #14230 by @YuriiMotov.
v0.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, 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
- 🌐 Sync German docs. MR #14188 by @nilslindemann.
Internal
- ➕ Migrate internal reference documentation from
typing_extensions.Doctoannotated_doc.Doc. MR #14222 by @tiangolo. - 🛠️ Update German LLM prompt and test file. MR #14189 by @nilslindemann.
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #14181 by @pre-commit-ci[bot].
v0.119.1
Fixes
- 🐛 Fix internal Pydantic v1 compatibility (warnings) for Python 3.14 and Pydantic 2.12.1. MR #14186 by @svlandeg.
Docs
Internal
- 🔧 Add sponsor Requestly. MR #14205 by @tiangolo.
- 🔧 Configure reminder for
waitinglabel inissue-manager. MR #14156 by @YuriiMotov.
v0.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.
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. MR #14168 by @tiangolo.
v0.118.3
Upgrades
- ⬆️ Add support for Python 3.14. MR #14165 by @svlandeg.
v0.118.2
Fixes
- 🐛 Fix tagged discriminated union not recognized as body field. MR #12942 by @frankie567.
Internal
- ⬆ Bump astral-sh/setup-uv from 6 to 7. MR #14167 by @dependabot[bot].
v0.118.1
Upgrades
- 👽️ Ensure compatibility with Pydantic 2.12.0. MR #14036 by @cjwatson.
Docs
- 📝 Add External Link: Getting started with logging in FastAPI. MR #14152 by @itssimon.
Translations
- 🔨 Add Russian translations LLM prompt. MR #13936 by @tiangolo.
- 🌐 Sync German docs. MR #14149 by @nilslindemann.
- 🌐 Add Russian translations for missing pages (LLM-generated). MR #14135 by @YuriiMotov.
- 🌐 Update Russian translations for existing pages (LLM-generated). MR #14123 by @YuriiMotov.
- 🌐 Remove configuration files for inactive translations. MR #14130 by @tiangolo.
Internal
- 🔨 Move local coverage logic to its own script. MR #14166 by @tiangolo.
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #14161 by @pre-commit-ci[bot].
- ⬆ Bump griffe-typingdoc from 0.2.8 to 0.2.9. MR #14144 by @dependabot[bot].
- ⬆ Bump mkdocs-macros-plugin from 1.3.9 to 1.4.0. MR #14145 by @dependabot[bot].
- ⬆ Bump markdown-include-variants from 0.0.4 to 0.0.5. MR #14146 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #14126 by @pre-commit-ci[bot].
- 👥 Update FastAPI GitHub topic repositories. MR #14150 by @tiangolo.
- 👥 Update FastAPI People - Sponsors. MR #14139 by @tiangolo.
- 👥 Update FastAPI People - Contributors and Translators. MR #14138 by @tiangolo.
- ⬆ Bump ruff from 0.12.7 to 0.13.2. MR #14147 by @dependabot[bot].
- ⬆ Bump sqlmodel from 0.0.24 to 0.0.25. MR #14143 by @dependabot[bot].
- ⬆ Bump tiangolo/issue-manager from 0.5.1 to 0.6.0. MR #14148 by @dependabot[bot].
- 👷 Update docs previews comment, single comment, add failure status. MR #14129 by @tiangolo.
- 🔨 Modify
mkdocs_hooks.pyto addtitleto page's metadata (remove permalinks in social cards). MR #14125 by @YuriiMotov.
v0.118.0
0.118.0
Fixes
- 🐛 Fix support for
StreamingResponses with dependencies withyieldorUploadFiles, close after the response is done. MR #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
- 📝 Update
tutorial/security/oauth2-jwt/to usepwdlibwith Argon2 instead ofpasslib. MR #13917 by @Neizvestnyj. - ✏️ Fix typos in OAuth2 password request forms. MR #14112 by @alv2017.
- 📝 Update contributing guidelines for installing requirements. MR #14095 by @alejsdev.
Translations
- 🌐 Sync German docs. MR #14098 by @nilslindemann.
Internal
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #14103 by @pre-commit-ci[bot].
- ♻️ Refactor sponsor image handling. MR #14102 by @alejsdev.
- 🐛 Fix sponsor display issue by hiding element on image error. MR #14097 by @alejsdev.
- 🐛 Hide sponsor badge when sponsor image is not displayed. MR #14096 by @alejsdev.
v0.117.1
Fixes
- 🐛 Fix validation error when
Fileis declared afterFormparameter. MR #11194 by @thomasleveil.
v0.117.0
Features
- ✨ Allow
Noneas return type for bodiless responses. MR #9425 by @hofrob. - ✨ Allow array values for OpenAPI schema
typefield. MR #13639 by @sammasak. - ✨ Add OpenAPI
external_docsparameter toFastAPI. MR #13713 by @cmtoro.
Fixes
- ⚡️ Fix
default_factoryfor response model field with Pydantic V1. MR #9704 by @vvanglro. - 🐛 Fix inconsistent processing of model docstring formfeed char with Pydantic V1. MR #6039 by @MaxwellPayne.
- 🐛 Fix
jsonable_encoderaltersjson_encodersof Pydantic v1 objects. MR #4972 by @aboubacs. - 🐛 Reenable
allow_arbitrary_typeswhen only 1 argument is used on the API endpoint. MR #13694 by @rmawatson. - 🐛 Fix
inspect.getcoroutinefunction()can break testing withunittest.mock.patch(). MR #14022 by @secrett2633.
Refactors
- ♻️ Create
dependency-cachedict insolve_dependenciesonly ifNone(don't re-create if empty). MR #13689 by @bokshitsky. - ✅ Enable test case for duplicated headers in
test_tutorial/test_header_params/test_tutorial003.py. MR #13864 by @Amogha-ark. - 📌 Pin
httpxto>=0.23.0,<1.0.0. MR #14086 by @YuriiMotov.
Docs
- 📝 Add note about Cookies and JavaScript on
tutorial/cookie-params.md. MR #13510 by @Kludex. - 📝 Remove outdated formatting from
path-params-numeric-validations.mdfor languagesen,esanduk.. MR #14059 by @svlandeg. - 📝 Fix and Improve English Documentation. MR #14048 by @nilslindemann.
Translations
- 📝 Update prompts and German translation. MR #14015 by @nilslindemann.
Internal
- ✅ Simplify tests for response_model. MR #14062 by @dynamicy.
- 🚨 Install pydantic.mypy plugin. MR #14081 by @svlandeg.
- ✅ Add LLM test file. MR #14049 by @nilslindemann.
- 🔨 Update translations script. MR #13968 by @YuriiMotov.
- 🛠️ Update
docs.py generate-readmecommand to remove permalinks from headers. MR #14055 by @YuriiMotov. - ⬆️ Update mypy to 1.14.1. MR #12970 by @tamird.
v0.116.2
Upgrades
- ⬆️ Upgrade Starlette supported version range to >=0.40.0,<0.49.0. MR #14077 by @musicinmybrain.
Docs
- 📝 Add documentation for Behind a Proxy - Proxy Forwarded Headers, using
--forwarded-allow-ips="*". MR #14028 by @tiangolo. - 📝 Add deprecation info block about
dict()indocs/tutorial/body.md. MR #13906 by @jomkv. - 📝 Fix Twitter to be X (Twitter) everywhere in documentation. MR #13809 by @valentinDruzhinin.
- 🐛 Prevent scroll-to-top on restart/fast buttons in
termynal.js. MR #13714 by @Ashish-Pandey62. - 📝 Update testing events documentation. MR #13259 by @z0z0r4.
- 📝 Remove obsolete
urlfield in error responses in docs. MR #13655 by @Taoup. - 📝 Bring the
scopeclaim in line with the standard indocs_src/security/tutorial005.py. MR #11189 by @DurandA. - 📝 Update TrustedHostMiddleware Documentation. MR #11441 by @soulee-dev.
- 📝 Remove links to site callbackhell.com that doesn't exist anymore. MR #14006 by @dennybiasiolli.
- 📝 Add permalinks to headers in English docs. MR #13993 by @YuriiMotov.
- 📝 Update
docs/en/docs/advanced/generate-clients.md. MR #13793 by @mrlubos. - 📝 Add discussion template for new language translation requests. MR #13535 by @alejsdev.
Translations
- 📝 Fix code include for Pydantic models example in
docs/zh/docs/python-types.md. MR #13997 by @anfreshman. - 🌐 Update Portuguese Translation for
docs/pt/docs/async.md. MR #13863 by @EdmilsonRodrigues. - 📝 Fix highlight line in
docs/ja/docs/tutorial/body.md. MR #13927 by @KoyoMiyazaki. - 🌐 Add Persian translation for
docs/fa/docs/environment-variables.md. MR #13923 by @Mohammad222PR. - 🌐 Add Persian translation for
docs/fa/docs/python-types.md. MR #13524 by @Mohammad222PR. - 🌐 Update Portuguese Translation for
docs/pt/docs/project-generation.md. MR #13875 by @EdmilsonRodrigues. - 🌐 Add Persian translation for
docs/fa/docs/async.md. MR #13541 by @Mohammad222PR. - 🌐 Add Bangali translation for
docs/bn/about/index.md. MR #13882 by @sajjadrahman56.
Internal
- ⬆ Bump pyjwt from 2.8.0 to 2.9.0. MR #13960 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #14080 by @pre-commit-ci[bot].
- ⬆ Bump actions/setup-python from 5 to 6. MR #14042 by @dependabot[bot].
- ⬆ Bump actions/labeler from 5 to 6. MR #14046 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #14056 by @pre-commit-ci[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #14035 by @pre-commit-ci[bot].
- ⬆ Bump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0. MR #14041 by @dependabot[bot].
- 👥 Update FastAPI People - Contributors and Translators. MR #14029 by @tiangolo.
- 👥 Update FastAPI People - Sponsors. MR #14030 by @tiangolo.
- 👥 Update FastAPI GitHub topic repositories. MR #14031 by @tiangolo.
- 👥 Update FastAPI People - Experts. MR #14034 by @tiangolo.
- 👷 Detect and label merge conflicts on MRs automatically. MR #14045 by @svlandeg.
- 🔧 Update sponsors: remove Platform.sh. MR #14027 by @tiangolo.
- 🔧 Update sponsors: remove Mobb. MR #14026 by @tiangolo.
- 🛠️ Update
mkdocs_hooksto handle headers with permalinks when building docs. MR #14025 by @tiangolo. - ⬆ [pre-commit.ci] pre-commit autoupdate. MR #14016 by @pre-commit-ci[bot].
- ⬆ Bump
mkdocs-macros-pluginfrom 1.3.7 to 1.3.9. MR #14003 by @YuriiMotov. - ⬆ [pre-commit.ci] pre-commit autoupdate. MR #13999 by @pre-commit-ci[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #13983 by @pre-commit-ci[bot].
- ⬆ Bump actions/checkout from 4 to 5. MR #13986 by @dependabot[bot].
- 🔧 Update Speakeasy sponsor graphic. MR #13971 by @chailandau.
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #13969 by @pre-commit-ci[bot].
- ⬆ Bump actions/download-artifact from 4 to 5. MR #13975 by @dependabot[bot].
- 👥 Update FastAPI People - Experts. MR #13963 by @tiangolo.
- ⬆ Bump ruff from 0.11.2 to 0.12.7. MR #13957 by @dependabot[bot].
- ⬆ Bump cairosvg from 2.7.1 to 2.8.2. MR #13959 by @dependabot[bot].
- ⬆ Bump pydantic-ai from 0.0.30 to 0.4.10. MR #13958 by @dependabot[bot].
- 👥 Update FastAPI GitHub topic repositories. MR #13962 by @tiangolo.
- ⬆ Bump mkdocs-material from 9.6.15 to 9.6.16. MR #13961 by @dependabot[bot].
- ⬆ Bump tiangolo/latest-changes from 0.3.2 to 0.4.0. MR #13952 by @dependabot[bot].
- 👥 Update FastAPI People - Sponsors. MR #13956 by @tiangolo.
- 👥 Update FastAPI People - Contributors and Translators. MR #13955 by @tiangolo.
- 🔧 Update sponsors: Databento link and sponsors_badge data. MR #13954 by @tiangolo.
- 🔧 Update sponsors: Add Railway. MR #13953 by @tiangolo.
- ⚒️ Update translate script, update prompt to minimize generated diff. MR #13947 by @YuriiMotov.
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #13943 by @pre-commit-ci[bot].
- ⚒️ Tweak translate script and CI. MR #13939 by @tiangolo.
- 👷 Add CI to translate with LLMs. MR #13937 by @tiangolo.
- ⚒️ Update translate script, show and update outdated translations. MR #13933 by @tiangolo.
- 🔨 Refactor translate script with extra feedback (prints). MR #13932 by @tiangolo.
- 🔨 Update translations script to remove old (removed) files. MR #13928 by @tiangolo.
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #13894 by @pre-commit-ci[bot].
- ⬆ Update httpx requirement to >=0.23.0,<0.29.0. MR #13114 by @yan12125.
- 🔧 Update sponsors: Add Mobb. MR #13916 by @tiangolo.
- 👥 Update FastAPI People - Experts. MR #13889 by @tiangolo.
- 🔨 Update FastAPI People sleep interval, use external settings. MR #13888 by @tiangolo.
v0.116.1
Upgrades
- ⬆️ Upgrade Starlette supported version range to
>=0.40.0,<0.48.0. MR #13884 by @tiangolo.
Docs
- 📝 Add notification about impending changes in Translations to
docs/en/docs/contributing.md. MR #13886 by @YuriiMotov.
Internal
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #13871 by @pre-commit-ci[bot].
v0.116.0
Features
- ✨ Add support for deploying to FastAPI Cloud with
fastapi deploy. MR #13870 by @tiangolo.
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
- 🌐 Add Russian translation for
docs/ru/docs/advanced/response-directly.md. MR #13801 by @NavesSapnis. - 🌐 Add Russian translation for
docs/ru/docs/advanced/additional-status-codes.md. MR #13799 by @NavesSapnis. - 🌐 Add Ukrainian translation for
docs/uk/docs/tutorial/body-updates.md. MR #13804 by @valentinDruzhinin.
Internal
- ⬆ Bump pillow from 11.1.0 to 11.3.0. MR #13852 by @dependabot[bot].
- 👥 Update FastAPI People - Sponsors. MR #13846 by @tiangolo.
- 👥 Update FastAPI GitHub topic repositories. MR #13848 by @tiangolo.
- ⬆ Bump mkdocs-material from 9.6.1 to 9.6.15. MR #13849 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #13843 by @pre-commit-ci[bot].
- 👥 Update FastAPI People - Contributors and Translators. MR #13845 by @tiangolo.
v0.115.14
Fixes
- 🐛 Fix support for unions when using
Form. MR #13827 by @patrick91.
Docs
- ✏️ Fix grammar mistake in
docs/en/docs/advanced/response-directly.md. MR #13800 by @NavesSapnis. - 📝 Update Speakeasy URL to Speakeasy Sandbox. MR #13697 by @ndimares.
Translations
- 🌐 Add Ukrainian translation for
docs/uk/docs/tutorial/response-model.md. MR #13792 by @valentinDruzhinin. - 🌐 Add Ukrainian translation for
docs/uk/docs/tutorial/security/index.md. MR #13805 by @valentinDruzhinin. - ✏️ Fix typo in
docs/ja/docs/tutorial/encoder.md. MR #13815 by @ruzia. - ✏️ Fix typo in
docs/ja/docs/tutorial/handling-errors.md. MR #13814 by @ruzia. - ✏️ Fix typo in
docs/ja/docs/tutorial/body-fields.md. MR #13802 by @ruzia. - 🌐 Add Russian translation for
docs/ru/docs/advanced/index.md. MR #13797 by @NavesSapnis.
Internal
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #13823 by @pre-commit-ci[bot].
v0.115.13
Fixes
- 🐛 Fix truncating the model's description with form feed (
\f) character for Pydantic V2. MR #13698 by @YuriiMotov.
Refactors
- ✨ Add
refreshUrlparameter inOAuth2PasswordBearer. MR #11460 by @snosratiershad. - 🚸 Set format to password for fields
passwordandclient_secretinOAuth2PasswordRequestForm, make docs show password fields for passwords. MR #11032 by @Thodoris1999. - ✅ Simplify tests for
settings. MR #13505 by @valentinDruzhinin. - ✅ Simplify tests for
validate_response_recursive. MR #13507 by @valentinDruzhinin.
Upgrades
- ⬆️ Update ReDoc to version 2.x. MR #9700 by @joakimnordling.
Docs
- 📝 Add annotations to HTTP middleware example. MR #11530 by @Kilo59.
- 📝 Clarify in CORS docs that wildcards and credentials are mutually exclusive. MR #9829 by @dfioravanti.
- ✏️ Fix typo in docstring. MR #13532 by @comp64.
- 📝 Clarify guidance on using
async defwithoutawait. MR #13642 by @swastikpradhan1999. - 📝 Update exclude-parameters-from-openapi documentation links. MR #13600 by @timonrieger.
- 📝 Clarify the middleware execution order in docs. MR #13699 by @YuriiMotov.
- 🍱 Update Drawio diagrams SVGs, single file per diagram, sans-serif font. MR #13706 by @tiangolo.
- 📝 Update docs for "Help FastAPI", simplify and reduce "sponsor" section. MR #13670 by @tiangolo.
- 📝 Remove unnecessary bullet from docs. MR #13641 by @Adamowoc.
- ✏️ Fix syntax error in
docs/en/docs/tutorial/handling-errors.md. MR #13623 by @gsheni. - 📝 Fix typo in documentation. MR #13599 by @Taoup.
- 📝 Fix liblab client generation doc link. MR #13571 by @EFord36.
- ✏️ Fix talk information typo. MR #13544 by @blueswen.
- 📝 Add External Link: Taiwanese talk on FastAPI with observability . MR #13527 by @blueswen.
Translations
- 🌐 Add Russian Translation for
docs/ru/docs/advanced/response-change-status-code.md. MR #13791 by @NavesSapnis. - 🌐 Add Persian translation for
docs/fa/docs/learn/index.md. MR #13518 by @Mohammad222PR. - 🌐 Add Korean translation for
docs/ko/docs/advanced/sub-applications.md. MR #4543 by @NinaHwang. - 🌐 Add Ukrainian translation for
docs/uk/docs/tutorial/schema-extra-example.md. MR #13769 by @valentinDruzhinin. - ✏️ Remove redundant words in docs/zh/docs/python-types.md. MR #13774 by @CharleeWa.
- 🌐 Add Ukrainian translation for
docs/uk/docs/tutorial/query-param-models.md. MR #13748 by @valentinDruzhinin. - 🌐 Add Bengali translation for
docs/bn/docs/environment-variables.md. MR #13629 by @SakibSibly. - 🌐 Add Ukrainian translation for
docs/uk/docs/tutorial/query-params-str-validations.mdpage. MR #13546 by @valentinDruzhinin. - 🌐 Add Russian translation for
docs/ru/docs/tutorial/cookie-param-models.md. MR #13616 by @EgorOnishchuk. - 🌐 Add Korean translation for
docs/ko/docs/tutorial/extra-models.md. MR #13063 by @timothy-jeong. - 🌐 Add Ukrainian translation for
docs/uk/docs/tutorial/path-params-numeric-validations.mdpage. MR #13548 by @valentinDruzhinin. - 🌐 Add Ukrainian translation for
docs/uk/docs/tutorial/middleware.mdpage. MR #13520 by @valentinDruzhinin. - 🌐 Add Ukrainian translation for
docs/uk/docs/tutorial/background-tasks.mdpage. MR #13502 by @valentinDruzhinin. - 🌐 Add Ukrainian translation for
docs/uk/docs/tutorial/cors.mdpage. MR #13519 by @valentinDruzhinin. - 🌐 Update Korean translation for
docs/ko/docs/advanced/events.md. MR #13487 by @bom1215. - 🌐 Add Ukrainian translation for
docs/uk/docs/tutorial/handling-errors.mdpage. MR #13420 by @valentinDruzhinin. - 🌐 Add Russian translation for
docs/ru/docs/tutorial/request-form-models.md. MR #13552 by @EgorOnishchuk. - 📝 Fix internal anchor link in Spanish deployment docs. MR #13737 by @fabianfalon.
- 🌐 Update Korean translation for
docs/ko/docs/virtual-environments.md. MR #13630 by @sungchan1. - 🌐 Add Russian translation for
docs/ru/docs/tutorial/header-param-models.md. MR #13526 by @minaton-ru. - 🌐 Update Chinese translation for
docs/zh/docs/tutorial/index.md. MR #13374 by @Zhongheng-Cheng. - 🌐 Update Chinese translation for
docs/zh/docs/deployment/manually.md. MR #13324 by @Zhongheng-Cheng. - 🌐 Update Chinese translation for
docs/zh/docs/deployment/server-workers.md. MR #13292 by @Zhongheng-Cheng. - 🌐 Update Chinese translation for
docs/zh/docs/tutorial/first-steps.md. MR #13348 by @Zhongheng-Cheng.
Internal
- 🔨 Resolve Pydantic deprecation warnings in internal script. MR #13696 by @emmanuel-ferdman.
- 🔧 Update sponsors: remove Porter. MR #13783 by @tiangolo.
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #13781 by @pre-commit-ci[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #13757 by @pre-commit-ci[bot].
- ⬆ Bump griffe-typingdoc from 0.2.7 to 0.2.8. MR #13751 by @dependabot[bot].
- 🍱 Update sponsors: Dribia badge size. MR #13773 by @tiangolo.
- 🔧 Update sponsors: add Dribia. MR #13771 by @tiangolo.
- ⬆ Bump typer from 0.15.3 to 0.16.0. MR #13752 by @dependabot[bot].
- 👥 Update FastAPI GitHub topic repositories. MR #13754 by @tiangolo.
- 👥 Update FastAPI People - Sponsors. MR #13750 by @tiangolo.
- 👥 Update FastAPI People - Contributors and Translators. MR #13749 by @tiangolo.
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #13736 by @pre-commit-ci[bot].
- 🔧 Update sponsors: Add InterviewPal. MR #13728 by @tiangolo.
- 🔧 Remove Google Analytics. MR #13727 by @tiangolo.
- 🔧 Update sponsors: remove MongoDB. MR #13725 by @tiangolo.
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #13711 by @pre-commit-ci[bot].
- 🔧 Update sponsors: add Subtotal. MR #13701 by @tiangolo.
- 🔧 Update sponsors: remove deepset / Haystack. MR #13700 by @tiangolo.
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #13688 by @pre-commit-ci[bot].
- 👥 Update FastAPI People - Experts. MR #13671 by @tiangolo.
- ⬆ Bump typer from 0.12.5 to 0.15.3. MR #13666 by @dependabot[bot].
- ⬆ Bump sqlmodel from 0.0.23 to 0.0.24. MR #13665 by @dependabot[bot].
- 🔧 Update Sponsors: Zuplo logo and alt text. MR #13645 by @martyndavies.
- 👥 Update FastAPI GitHub topic repositories. MR #13667 by @tiangolo.
- 🔧 Update links for LinkedIn and bottom. MR #13669 by @tiangolo.
- 🔧 Update sponsors: remove Bump.sh and Coherence. MR #13668 by @tiangolo.
- 👥 Update FastAPI People - Sponsors. MR #13664 by @tiangolo.
- 👥 Update FastAPI People - Contributors and Translators. MR #13662 by @tiangolo.
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #13656 by @pre-commit-ci[bot].
- ✅ Use
inline-snapshotto support different Pydantic versions in the test suite. MR #12534 by @15r10nk. - ⬆ Bump astral-sh/setup-uv from 5 to 6. MR #13648 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #13634 by @pre-commit-ci[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #13619 by @pre-commit-ci[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #13594 by @pre-commit-ci[bot].
- 👥 Update FastAPI People - Experts. MR #13568 by @tiangolo.
- 👥 Update FastAPI GitHub topic repositories. MR #13565 by @tiangolo.
- 👥 Update FastAPI People - Sponsors. MR #13559 by @tiangolo.
- 👥 Update FastAPI People - Contributors and Translators. MR #13558 by @tiangolo.
- ⬆ Bump dirty-equals from 0.8.0 to 0.9.0. MR #13561 by @dependabot[bot].
- 🔧 Clean up
docs/en/mkdocs.ymlconfiguration file. MR #13542 by @svlandeg. - ⬆ [pre-commit.ci] pre-commit autoupdate. MR #12986 by @pre-commit-ci[bot].
v0.115.12
Fixes
- 🐛 Fix
convert_underscores=Falsefor header Pydantic models. MR #13515 by @tiangolo.
Docs
- 📝 Update
docs/en/docs/tutorial/middleware.md. MR #13444 by @Rishat-F. - 👥 Update FastAPI People - Experts. MR #13493 by @tiangolo.
Translations
- 🌐 Add Ukrainian translation for
docs/uk/docs/tutorial/metadata.mdpage. MR #13459 by @valentinDruzhinin. - 🌐 Add Ukrainian translation for
docs/uk/docs/tutorial/response-status-code.mdpage. MR #13462 by @valentinDruzhinin. - 🌐 Add Ukrainian translation for
docs/uk/docs/tutorial/cookie-param-models.mdpage. MR #13460 by @valentinDruzhinin. - 🌐 Add Ukrainian translation for
docs/uk/docs/tutorial/header-param-models.mdpage. MR #13461 by @valentinDruzhinin. - 🌐 Add Japanese translation for
docs/ja/docs/virtual-environments.md. MR #13304 by @k94-ishi. - 🌐 Add Korean translation for
docs/ko/docs/tutorial/security/oauth2-jwt.md. MR #13333 by @yes0ng. - 🌐 Add Vietnamese translation for
docs/vi/docs/deployment/cloud.md. MR #13407 by @ptt3199.
Internal
- ⬆ Bump pydantic-ai from 0.0.15 to 0.0.30. MR #13438 by @dependabot[bot].
- ⬆ Bump sqlmodel from 0.0.22 to 0.0.23. MR #13437 by @dependabot[bot].
- ⬆ Bump black from 24.10.0 to 25.1.0. MR #13436 by @dependabot[bot].
- ⬆ Bump ruff to 0.9.4. MR #13299 by @dependabot[bot].
- 🔧 Update sponsors: pause TestDriven. MR #13446 by @tiangolo.
v0.115.11
Fixes
- 🐛 Add docs examples and tests (support) for
Annotatedcustom validations, likeAfterValidator, revert #13440. MR #13442 by @tiangolo.
Translations
Internal
- 👥 Update FastAPI GitHub topic repositories. MR #13439 by @tiangolo.
- 👥 Update FastAPI People - Contributors and Translators. MR #13432 by @tiangolo.
- 👥 Update FastAPI People - Sponsors. MR #13433 by @tiangolo.
v0.115.10
Fixes
Upgrades
- ⬆️ Bump Starlette to allow up to 0.46.0:
>=0.40.0,<0.47.0. MR #13426 by @musicinmybrain.
Translations
- 🌐 Add Ukrainian translation for
docs/uk/docs/tutorial/debugging.md. MR #13370 by @valentinDruzhinin. - 🌐 Add Ukrainian translation for
docs/uk/docs/tutorial/query-params.md. MR #13362 by @valentinDruzhinin. - 🌐 Add Ukrainian translation for
docs/uk/docs/tutorial/path-params.md. MR #13354 by @valentinDruzhinin. - 🌐 Add Japanese translation for
docs/ja/docs/tutorial/cookie-param-models.md. MR #13330 by @k94-ishi. - 🌐 Add Ukrainian translation for
docs/uk/docs/tutorial/body-multiple-params.md. MR #13408 by @valentinDruzhinin. - 🌐 Add Japanese translation for
docs/ja/docs/tutorial/query-param-models.md. MR #13323 by @k94-ishi. - 🌐 Add Ukrainian translation for
docs/uk/docs/tutorial/body-nested-models.md. MR #13409 by @valentinDruzhinin. - 🌐 Add Vietnamese translation for
docs/vi/docs/deployment/versions.md. MR #13406 by @ptt3199. - 🌐 Add Vietnamese translation for
docs/vi/docs/deployment/index.md. MR #13405 by @ptt3199. - 🌐 Add Ukrainian translation for
docs/uk/docs/tutorial/request-forms.md. MR #13383 by @valentinDruzhinin. - 🌐 Add Ukrainian translation for
docs/uk/docs/tutorial/testing.md. MR #13371 by @valentinDruzhinin.
v0.115.9
Fixes
- 🐛 Ensure that
HTTPDigestonly raises an exception whenauto_error is True. MR #2939 by @arthurio.
Refactors
- ✅ Simplify tests for
query_params_str_validations. MR #13218 by @alv2017. - ✅ Simplify tests for
app_testing. MR #13220 by @alv2017. - ✅ Simplify tests for
dependency_testing. MR #13223 by @alv2017.
Docs
- 🍱 Update sponsors: CodeRabbit logo. MR #13424 by @tiangolo.
- 🩺 Unify the badges across all tutorial translations. MR #13329 by @svlandeg.
- 📝 Fix typos in virtual environments documentation. MR #13396 by @bullet-ant.
- 🐛 Fix issue with Swagger theme change example in the official tutorial. MR #13289 by @Zerohertz.
- 📝 Add more precise description of HTTP status code range in docs. MR #13347 by @DanielYang59.
- 🔥 Remove manual type annotations in JWT tutorial to avoid typing expectations (JWT doesn't provide more types). MR #13378 by @tiangolo.
- 📝 Update docs for Query Params and String Validations, remove obsolete Ellipsis docs (
...). MR #13377 by @tiangolo. - ✏️ Remove duplicate title in docs
body-multiple-params. MR #13345 by @DanielYang59. - 📝 Fix test badge. MR #13313 by @esadek.
Translations
- 🌐 Add Ukrainian translation for
docs/uk/docs/tutorial/header-params.md. MR #13381 by @valentinDruzhinin. - 🌐 Add Ukrainian translation for
docs/uk/docs/tutorial/request-files.md. MR #13395 by @valentinDruzhinin. - 🌐 Add Ukrainian translation for
docs/uk/docs/tutorial/request-form-models.md. MR #13384 by @valentinDruzhinin. - 🌐 Add Ukrainian translation for
docs/uk/docs/tutorial/request-forms-and-files.md. MR #13386 by @valentinDruzhinin. - 🌐 Update Korean translation for
docs/ko/docs/help-fastapi.md. MR #13262 by @Zerohertz. - 🌐 Add Korean translation for
docs/ko/docs/advanced/custom-response.md. MR #13265 by @11kkw. - 🌐 Update Korean translation for
docs/ko/docs/tutorial/security/simple-oauth2.md. MR #13335 by @yes0ng. - 🌐 Add Russian translation for
docs/ru/docs/advanced/response-cookies.md. MR #13327 by @Stepakinoyan. - 🌐 Add Vietnamese translation for
docs/vi/docs/tutorial/static-files.md. MR #11291 by @ptt3199. - 🌐 Add Korean translation for
docs/ko/docs/tutorial/dependencies/dependencies-with-yield.md. MR #13257 by @11kkw. - 🌐 Add Vietnamese translation for
docs/vi/docs/virtual-environments.md. MR #13282 by @ptt3199. - 🌐 Add Ukrainian translation for
docs/uk/docs/tutorial/static-files.md. MR #13285 by @valentinDruzhinin. - 🌐 Add Vietnamese translation for
docs/vi/docs/environment-variables.md. MR #13287 by @ptt3199. - 🌐 Add Vietnamese translation for
docs/vi/docs/fastapi-cli.md. MR #13294 by @ptt3199. - 🌐 Add Ukrainian translation for
docs/uk/docs/features.md. MR #13308 by @valentinDruzhinin. - 🌐 Add Ukrainian translation for
docs/uk/docs/learn/index.md. MR #13306 by @valentinDruzhinin. - 🌐 Update Portuguese Translation for
docs/pt/docs/deployment/https.md. MR #13317 by @Joao-Pedro-P-Holanda. - 🌐 Update Portuguese Translation for
docs/pt/docs/index.md. MR #13328 by @ceb10n. - 🌐 Add Russian translation for
docs/ru/docs/advanced/websockets.md. MR #13279 by @Rishat-F.
Internal
- ✅ Fix a minor bug in the test
tests/test_modules_same_name_body/test_main.py. MR #13411 by @alv2017. - 👷 Use
wrangler-actionv3. MR #13415 by @joakimnordling. - 🔧 Update sponsors: add CodeRabbit. MR #13402 by @tiangolo.
- 🔧 Update team: Add Ludovico. MR #13390 by @tiangolo.
- 🔧 Update sponsors: Add LambdaTest. MR #13389 by @tiangolo.
- ⬆ Bump cloudflare/wrangler-action from 3.13 to 3.14. MR #13350 by @dependabot[bot].
- ⬆ Bump mkdocs-material from 9.5.18 to 9.6.1. MR #13301 by @dependabot[bot].
- ⬆ Bump pillow from 11.0.0 to 11.1.0. MR #13300 by @dependabot[bot].
- 👥 Update FastAPI People - Sponsors. MR #13295 by @tiangolo.
- 👥 Update FastAPI People - Experts. MR #13303 by @tiangolo.
- 👥 Update FastAPI GitHub topic repositories. MR #13302 by @tiangolo.
- 👥 Update FastAPI People - Contributors and Translators. MR #13293 by @tiangolo.
- ⬆ Bump inline-snapshot from 0.18.1 to 0.19.3. MR #13298 by @dependabot[bot].
- 🔧 Update sponsors, add Permit. MR #13288 by @tiangolo.
v0.115.8
Fixes
- 🐛 Fix
OAuth2PasswordRequestFormandOAuth2PasswordRequestFormStrictfixedgrant_type"password" RegEx. MR #9783 by @skarfie123.
Refactors
- ✅ Simplify tests for body_multiple_params . MR #13237 by @alejsdev.
- ♻️ Move duplicated code portion to a static method in the
APIKeyBasesuper class. MR #3142 by @ShahriyarR. - ✅ Simplify tests for request_files. MR #13182 by @alejsdev.
Docs
- 📝 Change the word "unwrap" to "unpack" in
docs/en/docs/tutorial/extra-models.md. MR #13061 by @timothy-jeong. - 📝 Update Request Body's
tutorial002to deal withtax=0case. MR #13230 by @togogh. - 👥 Update FastAPI People - Experts. MR #13269 by @tiangolo.
Translations
- 🌐 Add Japanese translation for
docs/ja/docs/environment-variables.md. MR #13226 by @k94-ishi. - 🌐 Add Russian translation for
docs/ru/docs/advanced/async-tests.md. MR #13227 by @Rishat-F. - 🌐 Update Russian translation for
docs/ru/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md. MR #13252 by @Rishat-F. - 🌐 Add Russian translation for
docs/ru/docs/tutorial/bigger-applications.md. MR #13154 by @alv2017.
Internal
- ⬆️ Add support for Python 3.13. MR #13274 by @tiangolo.
- ⬆️ Upgrade AnyIO max version for tests, new range:
>=3.2.1,<5.0.0. MR #13273 by @tiangolo. - 🔧 Update Sponsors badges. MR #13271 by @tiangolo.
- ♻️ Fix
notify_translations.pyempty env var handling for MR label events vs workflow_dispatch. MR #13272 by @tiangolo. - ♻️ Refactor and move
scripts/notify_translations.py, no need for a custom GitHub Action. MR #13270 by @tiangolo. - 🔨 Update FastAPI People Experts script, refactor and optimize data fetching to handle rate limits. MR #13267 by @tiangolo.
- ⬆ Bump pypa/gh-action-pypi-publish from 1.12.3 to 1.12.4. MR #13251 by @dependabot[bot].
v0.115.7
Upgrades
- ⬆️ Upgrade
python-multipartto >=0.0.18. MR #13219 by @DanielKusyDev. - ⬆️ Bump Starlette to allow up to 0.45.0:
>=0.40.0,<0.46.0. MR #13117 by @Kludex. - ⬆️ Upgrade
jinja2to >=3.1.5. MR #13194 by @DanielKusyDev.
Refactors
- ✅ Simplify tests for websockets. MR #13202 by @alejsdev.
- ✅ Simplify tests for request_form_models . MR #13183 by @alejsdev.
- ✅ Simplify tests for separate_openapi_schemas. MR #13201 by @alejsdev.
- ✅ Simplify tests for security. MR #13200 by @alejsdev.
- ✅ Simplify tests for schema_extra_example. MR #13197 by @alejsdev.
- ✅ Simplify tests for request_model. MR #13195 by @alejsdev.
- ✅ Simplify tests for request_forms_and_files. MR #13185 by @alejsdev.
- ✅ Simplify tests for request_forms. MR #13184 by @alejsdev.
- ✅ Simplify tests for path_query_params. MR #13181 by @alejsdev.
- ✅ Simplify tests for path_operation_configurations. MR #13180 by @alejsdev.
- ✅ Simplify tests for header_params. MR #13179 by @alejsdev.
- ✅ Simplify tests for extra_models. MR #13178 by @alejsdev.
- ✅ Simplify tests for extra_data_types. MR #13177 by @alejsdev.
- ✅ Simplify tests for cookie_params. MR #13176 by @alejsdev.
- ✅ Simplify tests for dependencies. MR #13174 by @alejsdev.
- ✅ Simplify tests for body_updates. MR #13172 by @alejsdev.
- ✅ Simplify tests for body_nested_models. MR #13171 by @alejsdev.
- ✅ Simplify tests for body_multiple_params. MR #13170 by @alejsdev.
- ✅ Simplify tests for body_fields. MR #13169 by @alejsdev.
- ✅ Simplify tests for body. MR #13168 by @alejsdev.
- ✅ Simplify tests for bigger_applications. MR #13167 by @alejsdev.
- ✅ Simplify tests for background_tasks. MR #13166 by @alejsdev.
- ✅ Simplify tests for additional_status_codes. MR #13149 by @tiangolo.
Docs
- ✏️ Update Strawberry integration docs. MR #13155 by @kinuax.
- 🔥 Remove unused Peewee tutorial files. MR #13158 by @alejsdev.
- 📝 Update image in body-nested-model docs. MR #11063 by @untilhamza.
- 📝 Update
fastapi-cliUI examples in docs. MR #13107 by @Zhongheng-Cheng. - 👷 Add new GitHub Action to update contributors, translators, and translation reviewers. MR #13136 by @tiangolo.
- ✏️ Fix typo in
docs/en/docs/virtual-environments.md. MR #13124 by @tiangolo. - ✏️ Fix error in
docs/en/docs/contributing.md. MR #12899 by @kingsubin. - 📝 Minor corrections in
docs/en/docs/tutorial/sql-databases.md. MR #13081 by @alv2017. - 📝 Update includes in
docs/ru/docs/tutorial/query-param-models.md. MR #12994 by @alejsdev. - ✏️ Fix typo in README installation instructions. MR #13011 by @dave-hay.
- 📝 Update docs for
fastapi-cli. MR #13031 by @tiangolo.
Translations
- 🌐 Update Portuguese Translation for
docs/pt/docs/tutorial/request-forms.md. MR #13216 by @Joao-Pedro-P-Holanda. - 🌐 Update Portuguese translation for
docs/pt/docs/advanced/settings.md. MR #13209 by @ceb10n. - 🌐 Add Portuguese translation for
docs/pt/docs/tutorial/security/oauth2-jwt.md. MR #13205 by @ceb10n. - 🌐 Add Indonesian translation for
docs/id/docs/index.md. MR #13191 by @gerry-sabar. - 🌐 Add Indonesian translation for
docs/id/docs/tutorial/static-files.md. MR #13092 by @guspan-tanadi. - 🌐 Add Portuguese translation for
docs/pt/docs/tutorial/security/get-current-user.md. MR #13188 by @ceb10n. - 🌐 Remove Wrong Portuguese translations location for
docs/pt/docs/advanced/benchmarks.md. MR #13187 by @ceb10n. - 🌐 Update Portuguese translations. MR #13156 by @nillvitor.
- 🌐 Update Russian translation for
docs/ru/docs/tutorial/security/first-steps.md. MR #13159 by @Yarous. - ✏️ Delete unnecessary backspace in
docs/ja/docs/tutorial/path-params-numeric-validations.md. MR #12238 by @FakeDocument. - 🌐 Update Chinese translation for
docs/zh/docs/fastapi-cli.md. MR #13102 by @Zhongheng-Cheng. - 🌐 Add new Spanish translations for all docs with new LLM-assisted system using PydanticAI. MR #13122 by @tiangolo.
- 🌐 Update existing Spanish translations using the new LLM-assisted system using PydanticAI. MR #13118 by @tiangolo.
- 🌐 Update Chinese translation for
docs/zh/docs/advanced/security/oauth2-scopes.md. MR #13110 by @ChenPu2002. - 🌐 Add Indonesian translation for
docs/id/docs/tutorial/path-params.md. MR #13086 by @gerry-sabar. - 🌐 Add Korean translation for
docs/ko/docs/tutorial/sql-databases.md. MR #13093 by @GeumBinLee. - 🌐 Update Chinese translation for
docs/zh/docs/async.md. MR #13095 by @Zhongheng-Cheng. - 🌐 Add Chinese translation for
docs/zh/docs/advanced/openapi-webhooks.md. MR #13091 by @Zhongheng-Cheng. - 🌐 Add Chinese translation for
docs/zh/docs/advanced/async-tests.md. MR #13074 by @Zhongheng-Cheng. - 🌐 Add Ukrainian translation for
docs/uk/docs/fastapi-cli.md. MR #13020 by @ykertytsky. - 🌐 Add Chinese translation for
docs/zh/docs/advanced/events.md. MR #12512 by @ZhibangYue. - 🌐 Add Russian translation for
/docs/ru/docs/tutorial/sql-databases.md. MR #13079 by @alv2017. - 🌐 Update Chinese translation for
docs/zh/docs/advanced/testing-dependencies.md. MR #13066 by @Zhongheng-Cheng. - 🌐 Update Traditional Chinese translation for
docs/zh-hant/docs/tutorial/index.md. MR #13075 by @codingjenny. - 🌐 Add Chinese translation for
docs/zh/docs/tutorial/sql-databases.md. MR #13051 by @Zhongheng-Cheng. - 🌐 Update Chinese translation for
docs/zh/docs/tutorial/query-params-str-validations.md. MR #12928 by @Vincy1230. - 🌐 Add Chinese translation for
docs/zh/docs/tutorial/header-param-models.md. MR #13040 by @Zhongheng-Cheng. - 🌐 Update Chinese translation for
docs/zh/docs/tutorial/path-params.md. MR #12926 by @Vincy1230. - 🌐 Update Chinese translation for
docs/zh/docs/tutorial/first-steps.md. MR #12923 by @Vincy1230. - 🌐 Update Russian translation for
docs/ru/docs/deployment/docker.md. MR #13048 by @anklav24. - 🌐 Add Portuguese translation for
docs/pt/docs/advanced/generate-clients.md. MR #13030 by @vitumenezes. - 🌐 Add Indonesian translation for
docs/id/docs/tutorial/first-steps.md. MR #13042 by @gerry-sabar. - 🌐 Add Chinese translation for
docs/zh/docs/tutorial/cookie-param-models.md. MR #13038 by @Zhongheng-Cheng. - 🌐 Add Chinese translation for
docs/zh/docs/tutorial/request-form-models.md. MR #13045 by @Zhongheng-Cheng. - 🌐 Add Russian translation for
docs/ru/docs/virtual-environments.md. MR #13026 by @alv2017. - 🌐 Add Korean translation for
docs/ko/docs/tutorial/testing.md. MR #12968 by @jts8257. - 🌐 Add Korean translation for
docs/ko/docs/advanced/async-test.md. MR #12918 by @icehongssii. - 🌐 Add Russian translation for
docs/ru/docs/tutorial/security/oauth2-jwt.md. MR #10601 by @AlertRED. - 🌐 Add Russian translation for
docs/ru/docs/tutorial/security/simple-oauth2.md. MR #10599 by @AlertRED. - 🌐 Add Russian translation for
docs/ru/docs/tutorial/security/get-current-user.md. MR #10594 by @AlertRED. - 🌐 Add Traditional Chinese translation for
docs/zh-hant/docs/features.md. MR #12441 by @codingjenny. - 🌐 Add Traditional Chinese translation for
docs/zh-hant/docs/virtual-environments.md. MR #12791 by @Vincy1230. - 🌐 Add Korean translation for
docs/ko/docs/advanced/templates.md. MR #12726 by @Heumhub. - 🌐 Add Russian translation for
docs/ru/docs/fastapi-cli.md. MR #13041 by @alv2017. - 🌐 Add Korean translation for
docs/ko/docs/tutorial/cookie-param-models.md. MR #13000 by @hard-coders. - 🌐 Add Korean translation for
docs/ko/docs/tutorial/header-param-models.md. MR #13001 by @hard-coders. - 🌐 Add Korean translation for
docs/ko/docs/tutorial/request-form-models.md. MR #13002 by @hard-coders. - 🌐 Add Korean translation for
docs/ko/docs/tutorial/request-forms.md. MR #13003 by @hard-coders. - 🌐 Add Korean translation for
docs/ko/docs/resources/index.md. MR #13004 by @hard-coders. - 🌐 Add Korean translation for
docs/ko/docs/how-to/configure-swagger-ui.md. MR #12898 by @nahyunkeem. - 🌐 Add Korean translation to
docs/ko/docs/advanced/additional-status-codes.md. MR #12715 by @nahyunkeem. - 🌐 Add Traditional Chinese translation for
docs/zh-hant/docs/tutorial/first-steps.md. MR #12467 by @codingjenny.
Internal
- 🔧 Add Pydantic 2 trove classifier. MR #13199 by @johnthagen.
- 👥 Update FastAPI People - Sponsors. MR #13231 by @tiangolo.
- 👷 Refactor FastAPI People Sponsors to use 2 tokens. MR #13228 by @tiangolo.
- 👷 Update token for FastAPI People - Sponsors. MR #13225 by @tiangolo.
- 👷 Add independent CI automation for FastAPI People - Sponsors. MR #13221 by @tiangolo.
- 👷 Add retries to Smokeshow. MR #13151 by @tiangolo.
- 🔧 Update Speakeasy sponsor graphic. MR #13147 by @chailandau.
- 👥 Update FastAPI GitHub topic repositories. MR #13146 by @tiangolo.
- 👷♀️ Add script for GitHub Topic Repositories and update External Links. MR #13135 by @alejsdev.
- 👥 Update FastAPI People - Contributors and Translators. MR #13145 by @tiangolo.
- ⬆ Bump markdown-include-variants from 0.0.3 to 0.0.4. MR #13129 by @dependabot[bot].
- ⬆ Bump inline-snapshot from 0.14.0 to 0.18.1. MR #13132 by @dependabot[bot].
- ⬆ Bump mkdocs-macros-plugin from 1.0.5 to 1.3.7. MR #13133 by @dependabot[bot].
- 🔨 Add internal scripts to generate language translations with PydanticAI, include Spanish prompt. MR #13123 by @tiangolo.
- ⬆ Bump astral-sh/setup-uv from 4 to 5. MR #13096 by @dependabot[bot].
- 🔧 Update sponsors: rename CryptAPI to BlockBee. MR #13078 by @tiangolo.
- ⬆ Bump pypa/gh-action-pypi-publish from 1.12.2 to 1.12.3. MR #13055 by @dependabot[bot].
- ⬆ Bump types-ujson from 5.7.0.1 to 5.10.0.20240515. MR #13018 by @dependabot[bot].
- ⬆ Bump black from 24.3.0 to 24.10.0. MR #13014 by @dependabot[bot].
- ⬆ Bump inline-snapshot from 0.13.0 to 0.14.0. MR #13017 by @dependabot[bot].
- ⬆ Bump dirty-equals from 0.6.0 to 0.8.0. MR #13015 by @dependabot[bot].
- ⬆ Bump cloudflare/wrangler-action from 3.12 to 3.13. MR #12996 by @dependabot[bot].
- ⬆ Bump astral-sh/setup-uv from 3 to 4. MR #12982 by @dependabot[bot].
- 🔧 Remove duplicate actions/checkout in
notify-translations.yml. MR #12915 by @tinyboxvk. - 🔧 Update team members. MR #13033 by @tiangolo.
- 📝 Update sponsors: remove Codacy. MR #13032 by @tiangolo.
v0.115.6
Fixes
- 🐛 Preserve traceback when an exception is raised in sync dependency with
yield. MR #5823 by @sombek.
Refactors
Docs
- 📝 Update includes format in docs with an automated script. MR #12950 by @tiangolo.
- 📝 Update includes for
docs/de/docs/advanced/using-request-directly.md. MR #12685 by @alissadb. - 📝 Update includes for
docs/de/docs/how-to/conditional-openapi.md. MR #12689 by @alissadb.
Translations
- 🌐 Add Traditional Chinese translation for
docs/zh-hant/docs/async.md. MR #12990 by @ILoveSorasakiHina. - 🌐 Add Traditional Chinese translation for
docs/zh-hant/docs/tutorial/query-param-models.md. MR #12932 by @Vincy1230. - 🌐 Add Korean translation for
docs/ko/docs/advanced/testing-dependencies.md. MR #12992 by @Limsunoh. - 🌐 Add Korean translation for
docs/ko/docs/advanced/websockets.md. MR #12991 by @kwang1215. - 🌐 Add Portuguese translation for
docs/pt/docs/tutorial/response-model.md. MR #12933 by @AndreBBM. - 🌐 Add Korean translation for
docs/ko/docs/advanced/middlewares.md. MR #12753 by @nahyunkeem. - 🌐 Add Korean translation for
docs/ko/docs/advanced/openapi-webhooks.md. MR #12752 by @saeye. - 🌐 Add Chinese translation for
docs/zh/docs/tutorial/query-param-models.md. MR #12931 by @Vincy1230. - 🌐 Add Russian translation for
docs/ru/docs/tutorial/query-param-models.md. MR #12445 by @gitgernit. - 🌐 Add Korean translation for
docs/ko/docs/tutorial/query-param-models.md. MR #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. MR #12949 by @tiangolo.
Internal
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #12954 by @pre-commit-ci[bot].
v0.115.5
Refactors
- ♻️ Update internal checks to support Pydantic 2.10. MR #12914 by @tiangolo.
Docs
- 📝 Update includes for
docs/en/docs/tutorial/body.md. MR #12757 by @gsheni. - 📝 Update includes in
docs/en/docs/advanced/testing-dependencies.md. MR #12647 by @AyushSinghal1794. - 📝 Update includes for
docs/en/docs/tutorial/metadata.md. MR #12773 by @Nimitha-jagadeesha. - 📝 Update
docs/en/docs/tutorial/dependencies/dependencies-with-yield.md. MR #12045 by @xuvjso. - 📝 Update includes for
docs/en/docs/tutorial/dependencies/global-dependencies.md. MR #12653 by @vishnuvskvkl. - 📝 Update includes for
docs/en/docs/tutorial/body-updates.md. MR #12712 by @davioc. - 📝 Remove mention of Celery in the project generators. MR #12742 by @david-caro.
- 📝 Update includes in
docs/en/docs/tutorial/header-param-models.md. MR #12814 by @zhaohan-dong. - 📝 Update
contributing.mddocs, include note to not translate this page. MR #12841 by @tiangolo. - 📝 Update includes in
docs/en/docs/tutorial/request-forms.md. MR #12648 by @vishnuvskvkl. - 📝 Update includes in
docs/en/docs/tutorial/request-form-models.md. MR #12649 by @vishnuvskvkl. - 📝 Update includes in
docs/en/docs/tutorial/security/oauth2-jwt.md. MR #12650 by @OCE1960. - 📝 Update includes in
docs/vi/docs/tutorial/first-steps.md. MR #12754 by @MxPy. - 📝 Update includes for
docs/pt/docs/advanced/wsgi.md. MR #12769 by @Nimitha-jagadeesha. - 📝 Update includes for
docs/en/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md. MR #12815 by @handabaldeep. - 📝 Update includes for
docs/en/docs/tutorial/dependencies/classes-as-dependencies.md. MR #12813 by @handabaldeep. - ✏️ Fix error in
docs/en/docs/tutorial/middleware.md. MR #12819 by @alejsdev. - 📝 Update includes for
docs/en/docs/tutorial/security/get-current-user.md. MR #12645 by @OCE1960. - 📝 Update includes for
docs/en/docs/tutorial/security/first-steps.md. MR #12643 by @OCE1960. - 📝 Update includes in
docs/de/docs/advanced/additional-responses.md. MR #12821 by @zhaohan-dong. - 📝 Update includes in
docs/en/docs/advanced/generate-clients.md. MR #12642 by @AyushSinghal1794. - 📝 Fix admonition double quotes with new syntax. MR #12835 by @tiangolo.
- 📝 Update includes in
docs/zh/docs/advanced/additional-responses.md. MR #12828 by @zhaohan-dong. - 📝 Update includes in
docs/en/docs/tutorial/path-params-numeric-validations.md. MR #12825 by @zhaohan-dong. - 📝 Update includes for
docs/en/docs/advanced/testing-websockets.md. MR #12761 by @hamidrasti. - 📝 Update includes for
docs/en/docs/advanced/using-request-directly.md. MR #12760 by @hamidrasti. - 📝 Update includes for
docs/advanced/wsgi.md. MR #12758 by @hamidrasti. - 📝 Update includes in
docs/de/docs/tutorial/middleware.md. MR #12729 by @paintdog. - 📝 Update includes for
docs/en/docs/tutorial/schema-extra-example.md. MR #12822 by @tiangolo. - 📝 Update includes in
docs/fr/docs/advanced/additional-responses.md. MR #12634 by @fegmorte. - 📝 Update includes in
docs/fr/docs/advanced/path-operation-advanced-configuration.md. MR #12633 by @kantandane. - 📝 Update includes in
docs/fr/docs/advanced/response-directly.md. MR #12632 by @kantandane. - 📝 Update includes for
docs/en/docs/tutorial/header-params.md. MR #12640 by @vishnuvskvkl. - 📝 Update includes in
docs/en/docs/tutorial/cookie-param-models.md. MR #12639 by @vishnuvskvkl. - 📝 Update includes for
docs/en/docs/tutorial/extra-models.md. MR #12638 by @vishnuvskvkl. - 📝 Update includes for
docs/en/docs/tutorial/cors.md. MR #12637 by @vishnuvskvkl. - 📝 Update includes for
docs/en/docs/tutorial/dependencies/sub-dependencies.md. MR #12810 by @handabaldeep. - 📝 Update includes in
docs/en/docs/tutorial/body-nested-models.md. MR #12812 by @zhaohan-dong. - 📝 Update includes in
docs/en/docs/tutorial/path-operation-configuration.md. MR #12809 by @AlexWendland. - 📝 Update includes in
docs/en/docs/tutorial/request-files.md. MR #12818 by @zhaohan-dong. - 📝 Update includes for
docs/en/docs/tutorial/query-param-models.md. MR #12817 by @handabaldeep. - 📝 Update includes in
docs/en/docs/tutorial/path-params.md. MR #12811 by @AlexWendland. - 📝 Update includes in
docs/en/docs/tutorial/response-model.md. MR #12621 by @kantandane. - 📝 Update includes in
docs/en/docs/advanced/websockets.md. MR #12606 by @vishnuvskvkl. - 📝 Updates include for
docs/en/docs/tutorial/cookie-params.md. MR #12808 by @handabaldeep. - 📝 Update includes in
docs/en/docs/tutorial/middleware.md. MR #12807 by @AlexWendland. - 📝 Update includes in
docs/en/docs/advanced/sub-applications.md. MR #12806 by @zhaohan-dong. - 📝 Update includes in
docs/en/docs/advanced/response-headers.md. MR #12805 by @zhaohan-dong. - 📝 Update includes in
docs/fr/docs/tutorial/first-steps.md. MR #12594 by @kantandane. - 📝 Update includes in
docs/en/docs/advanced/response-cookies.md. MR #12804 by @zhaohan-dong. - 📝 Update includes in
docs/en/docs/advanced/path-operation-advanced-configuration.md. MR #12802 by @zhaohan-dong. - 📝 Update includes for
docs/en/docs/advanced/response-directly.md. MR #12803 by @handabaldeep. - 📝 Update includes in
docs/zh/docs/tutorial/background-tasks.md. MR #12798 by @zhaohan-dong. - 📝 Update includes for
docs/de/docs/tutorial/body-multiple-params.md. MR #12699 by @alissadb. - 📝 Update includes in
docs/em/docs/tutorial/body-updates.md. MR #12799 by @AlexWendland. - 📝 Update includes
docs/en/docs/advanced/response-change-status-code.md. MR #12801 by @handabaldeep. - 📝 Update includes
docs/en/docs/advanced/openapi-callbacks.md. MR #12800 by @handabaldeep. - 📝 Update includes in
docs/fr/docs/tutorial/body-multiple-params.md. MR #12598 by @kantandane. - 📝 Update includes in
docs/en/docs/tutorial/body-multiple-params.md. MR #12593 by @Tashanam-Shahbaz. - 📝 Update includes in
docs/pt/docs/tutorial/background-tasks.md. MR #12736 by @bhunao. - 📝 Update includes for
docs/en/docs/advanced/custom-response.md. MR #12797 by @handabaldeep. - 📝 Update includes for
docs/pt/docs/python-types.md. MR #12671 by @ceb10n. - 📝 Update includes for
docs/de/docs/python-types.md. MR #12660 by @alissadb. - 📝 Update includes for
docs/de/docs/advanced/dataclasses.md. MR #12658 by @alissadb. - 📝 Update includes in
docs/fr/docs/tutorial/path-params.md. MR #12592 by @kantandane. - 📝 Update includes for
docs/de/docs/how-to/configure-swagger-ui.md. MR #12690 by @alissadb. - 📝 Update includes in
docs/en/docs/advanced/security/oauth2-scopes.md. MR #12572 by @krishnamadhavan. - 📝 Update includes for
docs/en/docs/how-to/conditional-openapi.md. MR #12624 by @rabinlamadong. - 📝 Update includes in
docs/en/docs/tutorial/dependencies/index.md. MR #12615 by @bharara. - 📝 Update includes in
docs/en/docs/tutorial/response-status-code.md. MR #12620 by @kantandane. - 📝 Update includes in
docs/en/docs/how-to/custom-docs-ui-assets.md. MR #12623 by @rabinlamadong. - 📝 Update includes in
docs/en/docs/advanced/openapi-webhooks.md. MR #12605 by @salmantec. - 📝 Update includes in
docs/en/docs/advanced/events.md. MR #12604 by @salmantec. - 📝 Update includes in
docs/en/docs/advanced/dataclasses.md. MR #12603 by @salmantec. - 📝 Update includes in
docs/es/docs/tutorial/cookie-params.md. MR #12602 by @antonyare93. - 📝 Update includes in
docs/fr/docs/tutorial/path-params-numeric-validations.md. MR #12601 by @kantandane. - 📝 Update includes in
docs/fr/docs/tutorial/background-tasks.md. MR #12600 by @kantandane. - 📝 Update includes in
docs/en/docs/tutorial/encoder.md. MR #12597 by @tonyjly. - 📝 Update includes in
docs/en/docs/how-to/custom-docs-ui-assets.md. MR #12557 by @philipokiokio. - 🎨 Adjust spacing. MR #12635 by @alejsdev.
- 📝 Update includes in
docs/en/docs/how-to/custom-request-and-route.md. MR #12560 by @philipokiokio.
Translations
- 🌐 Add Korean translation for
docs/ko/docs/advanced/testing-websockets.md. MR #12739 by @Limsunoh. - 🌐 Add Traditional Chinese translation for
docs/zh-hant/docs/environment-variables.md. MR #12785 by @Vincy1230. - 🌐 Add Chinese translation for
docs/zh/docs/environment-variables.md. MR #12784 by @Vincy1230. - 🌐 Add Korean translation for
ko/docs/advanced/response-headers.md. MR #12740 by @kwang1215. - 🌐 Add Chinese translation for
docs/zh/docs/virtual-environments.md. MR #12790 by @Vincy1230. - 🌐 Add Korean translation for
/docs/ko/docs/environment-variables.md. MR #12526 by @Tolerblanc. - 🌐 Add Korean translation for
docs/ko/docs/history-design-future.md. MR #12646 by @saeye. - 🌐 Add Korean translation for
docs/ko/docs/advanced/advanced-dependencies.md. MR #12675 by @kim-sangah. - 🌐 Add Korean translation for
docs/ko/docs/how-to/conditional-openapi.md. MR #12731 by @sptcnl. - 🌐 Add Korean translation for
docs/ko/docs/advanced/using_request_directly.md. MR #12738 by @kwang1215. - 🌐 Add Korean translation for
docs/ko/docs/advanced/testing-events.md. MR #12741 by @9zimin9. - 🌐 Add Korean translation for
docs/ko/docs/security/index.md. MR #12743 by @kim-sangah. - 🌐 Add Portuguese translation for
docs/pt/docs/advanced/path-operation-advanced-configuration.md. MR #12762 by @Joao-Pedro-P-Holanda. - 🌐 Add Korean translation for
docs/ko/docs/advanced/wsgi.md. MR #12659 by @Limsunoh. - 🌐 Add Portuguese translation for
docs/pt/docs/advanced/websockets.md. MR #12703 by @devfernandoa. - 🌐 Add Portuguese translation for
docs/pt/docs/tutorial/security/simple-oauth2.md. MR #12520 by @LidiaDomingos. - 🌐 Add Korean translation for
docs/ko/docs/advanced/response-directly.md. MR #12674 by @9zimin9. - 🌐 Add Portuguese translation for
docs/pt/docs/advanced/middleware.md. MR #12704 by @devluisrodrigues. - 🌐 Add Portuguese translation for
docs/pt/docs/advanced/openapi-callbacks.md. MR #12705 by @devfernandoa. - 🌐 Add Portuguese translation for
docs/pt/docs/tutorial/request-files.md. MR #12706 by @devluisrodrigues. - 🌐 Add Portuguese Translation for
docs/pt/docs/advanced/custom-response.md. MR #12631 by @Joao-Pedro-P-Holanda. - 🌐 Add Portuguese translation for
docs/pt/docs/tutorial/metadata.md. MR #12538 by @LinkolnR. - 🌐 Add Korean translation for
docs/ko/docs/tutorial/metadata.md. MR #12541 by @kwang1215. - 🌐 Add Korean Translation for
docs/ko/docs/advanced/response-cookies.md. MR #12546 by @kim-sangah. - 🌐 Add Korean translation for
docs/ko/docs/fastapi-cli.md. MR #12515 by @dhdld. - 🌐 Add Korean Translation for
docs/ko/docs/advanced/response-change-status-code.md. MR #12547 by @9zimin9.
Internal
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #12907 by @pre-commit-ci[bot].
- 🔨 Update docs preview script to show previous version and English version. MR #12856 by @tiangolo.
- ⬆ Bump tiangolo/latest-changes from 0.3.1 to 0.3.2. MR #12794 by @dependabot[bot].
- ⬆ Bump pypa/gh-action-pypi-publish from 1.12.0 to 1.12.2. MR #12788 by @dependabot[bot].
- ⬆ Bump pypa/gh-action-pypi-publish from 1.11.0 to 1.12.0. MR #12781 by @dependabot[bot].
- ⬆ Bump cloudflare/wrangler-action from 3.11 to 3.12. MR #12777 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #12766 by @pre-commit-ci[bot].
- ⬆ Bump pypa/gh-action-pypi-publish from 1.10.3 to 1.11.0. MR #12721 by @dependabot[bot].
- ⬆ Update pre-commit requirement from <4.0.0,>=2.17.0 to >=2.17.0,<5.0.0. MR #12749 by @dependabot[bot].
- ⬆ Bump typer from 0.12.3 to 0.12.5. MR #12748 by @dependabot[bot].
- ⬆ Update flask requirement from <3.0.0,>=1.1.2 to >=1.1.2,<4.0.0. MR #12747 by @dependabot[bot].
- ⬆ Bump pillow from 10.4.0 to 11.0.0. MR #12746 by @dependabot[bot].
- ⬆ Update pytest requirement from <8.0.0,>=7.1.3 to >=7.1.3,<9.0.0. MR #12745 by @dependabot[bot].
- 🔧 Update sponsors: add Render. MR #12733 by @tiangolo.
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #12707 by @pre-commit-ci[bot].
v0.115.4
Refactors
- ♻️ Update logic to import and check
python-multipartfor compatibility with newer version. MR #12627 by @tiangolo.
Docs
- 📝 Update includes in
docs/fr/docs/tutorial/body.md. MR #12596 by @kantandane. - 📝 Update includes in
docs/fr/docs/tutorial/debugging.md. MR #12595 by @kantandane. - 📝 Update includes in
docs/fr/docs/tutorial/query-params-str-validations.md. MR #12591 by @kantandane. - 📝 Update includes in
docs/fr/docs/tutorial/query-params.md. MR #12589 by @kantandane. - 📝 Update includes in
docs/en/tutorial/body-fields.md. MR #12588 by @lucaromagnoli. - 📝 Update includes in
docs/de/docs/tutorial/response-status-code.md. MR #12585 by @abejaranoh. - 📝 Update includes in
docs/en/docs/tutorial/body.md. MR #12586 by @lucaromagnoli. - 📝 Update includes in
docs/en/docs/advanced/behind-a-proxy.md. MR #12583 by @imjuanleonard. - 📝 Update includes syntax for
docs/pl/docs/tutorial/first-steps.md. MR #12584 by @sebkozlo. - 📝 Update includes in
docs/en/docs/advanced/middleware.md. MR #12582 by @montanarograziano. - 📝 Update includes in
docs/en/docs/advanced/additional-status-codes.md. MR #12577 by @krishnamadhavan. - 📝 Update includes in
docs/en/docs/advanced/advanced-dependencies.md. MR #12578 by @krishnamadhavan. - 📝 Update includes in
docs/en/docs/advanced/additional-responses.md. MR #12576 by @krishnamadhavan. - 📝 Update includes in
docs/en/docs/tutorial/static-files.md. MR #12575 by @lucaromagnoli. - 📝 Update includes in
docs/en/docs/advanced/async-tests.md. MR #12568 by @krishnamadhavan. - 📝 Update includes in
docs/pt/docs/advanced/behind-a-proxy.md. MR #12563 by @asmioglou. - 📝 Update includes in
docs/de/docs/advanced/security/http-basic-auth.md. MR #12561 by @Nimitha-jagadeesha. - 📝 Update includes in
docs/en/docs/tutorial/background-tasks.md. MR #12559 by @FarhanAliRaza. - 📝 Update includes in
docs/fr/docs/python-types.md. MR #12558 by @Ismailtlem. - 📝 Update includes in
docs/en/docs/how-to/graphql.md. MR #12564 by @philipokiokio. - 📝 Update includes in
docs/en/docs/how-to/extending-openapi.md. MR #12562 by @philipokiokio. - 📝 Update includes for
docs/en/docs/how-to/configure-swagger-ui.md. MR #12556 by @tiangolo. - 📝 Update includes for
docs/en/docs/how-to/separate-openapi-schemas.md. MR #12555 by @tiangolo. - 📝 Update includes for
docs/en/docs/advanced/security/http-basic-auth.md. MR #12553 by @tiangolo. - 📝 Update includes in
docs/en/docs/tutorial/first-steps.md. MR #12552 by @tiangolo. - 📝 Update includes in
docs/en/docs/python-types.md. MR #12551 by @tiangolo. - 📝 Fix link in OAuth2 docs. MR #12550 by @tiangolo.
- 📝 Add External Link: FastAPI do Zero. MR #12533 by @rennerocha.
- 📝 Fix minor typos. MR #12516 by @kkirsche.
- 🌐 Fix rendering issue in translations. MR #12509 by @alejsdev.
Translations
- 📝 Update includes in
docs/de/docs/advanced/async-tests.md. MR #12567 by @imjuanleonard. - 🌐 Add Portuguese translation for
docs/pt/docs/tutorial/sql-databases.md. MR #12530 by @ilacftemp. - 🌐 Add Korean translation for
docs/ko/docs/benchmarks.md. MR #12540 by @Limsunoh. - 🌐 Add Portuguese translation for
docs/pt/docs/how-to/separate-openapi-schemas.md. MR #12518 by @ilacftemp. - 🌐 Update Traditional Chinese translation for
docs/zh-hant/docs/deployment/index.md. MR #12521 by @codingjenny. - 🌐 Update Traditional Chinese translation for
docs/zh-hant/docs/deployment/cloud.md. MR #12522 by @codingjenny. - 🌐 Update Traditional Chinese translation for
docs/zh-hant/docs/how-to/index.md. MR #12523 by @codingjenny. - 🌐 Update Traditional Chinese translation for
docs/zh-hant/docs/tutorial/index.md. MR #12524 by @codingjenny. - 🌐 Add Traditional Chinese translation for
docs/zh-hant/docs/how-to/index.md. MR #12468 by @codingjenny. - 🌐 Add Traditional Chinese translation for
docs/zh-hant/docs/tutorial/index.md. MR #12466 by @codingjenny. - 🌐 Add Portuguese translation for
docs/pt/docs/tutorial/header-param-models.md. MR #12437 by @Joao-Pedro-P-Holanda. - 🌐 Add Portuguese translation for
docs/pt/docs/how-to/extending-openapi.md. MR #12470 by @ilacftemp. - 🌐 Add Portuguese translation for
docs/pt/docs/advanced/dataclasses.md. MR #12475 by @leoscarlato. - 🌐 Add Portuguese translation for
docs/pt/docs/how-to/custom-request-and-route.md. MR #12483 by @devfernandoa.
Internal
- ⬆ Bump cloudflare/wrangler-action from 3.9 to 3.11. MR #12544 by @dependabot[bot].
- 👷 Update GitHub Action to deploy docs previews to handle missing deploy comments. MR #12527 by @tiangolo.
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #12505 by @pre-commit-ci[bot].
v0.115.3
Upgrades
Docs
- 📝 Fix broken link in docs. MR #12495 by @eltonjncorreia.
Translations
- 🌐 Add Traditional Chinese translation for
docs/zh-hant/docs/fastapi-cli.md. MR #12444 by @codingjenny. - 🌐 Add Traditional Chinese translation for
docs/zh-hant/docs/deployment/index.md. MR #12439 by @codingjenny. - 🌐 Add Portuguese translation for
docs/pt/docs/how-to/testing-database.md. MR #12472 by @GuilhermeRameh. - 🌐 Add Portuguese translation for
docs/pt/docs/how-to/custom-docs-ui-assets.md. MR #12473 by @devluisrodrigues. - 🌐 Add Portuguese translation for
docs/pt/docs/advanced/response-headers.md. MR #12458 by @leonardopaloschi. - 🌐 Add Traditional Chinese translation for
docs/zh-hant/docs/deployment/cloud.md. MR #12440 by @codingjenny. - 🌐 Update Portuguese translation for
docs/pt/docs/python-types.md. MR #12428 by @ceb10n. - 🌐 Add Russian translation for
docs/ru/docs/environment-variables.md. MR #12436 by @wisderfin. - 🌐 Add Traditional Chinese translation for
docs/zh-hant/docs/resources/index.md. MR #12443 by @codingjenny. - 🌐 Add Traditional Chinese translation for
docs/zh-hant/docs/about/index.md. MR #12438 by @codingjenny. - 🌐 Add Portuguese translation for
docs/pt/docs/tutorial/query-param-models.md. MR #12414 by @ceb10n. - 🌐 Remove Portuguese translation for
docs/pt/docs/deployment.md. MR #12427 by @ceb10n. - 🌐 Add Portuguese translation for
docs/pt/docs/tutorial/body-updates.md. MR #12381 by @andersonrocha0. - 🌐 Add Portuguese translation for
docs/pt/docs/advanced/response-cookies.md. MR #12417 by @Paulofalcao2002.
Internal
- 👷 Update issue manager workflow . MR #12457 by @alejsdev.
- 🔧 Update team, include YuriiMotov 🚀. MR #12453 by @tiangolo.
- 👷 Refactor label-approved, make it an internal script instead of an external GitHub Action. MR #12280 by @tiangolo.
- 👷 Fix smokeshow, checkout files on CI. MR #12434 by @tiangolo.
- 👷 Use uv in CI. MR #12281 by @tiangolo.
- ⬆ Update httpx requirement from <0.25.0,>=0.23.0 to >=0.23.0,<0.28.0. MR #11509 by @dependabot[bot].
v0.115.2
Upgrades
- ⬆️ Upgrade Starlette to
>=0.37.2,<0.41.0. MR #12431 by @tiangolo.
v0.115.1
Fixes
- 🐛 Fix openapi generation with responses kwarg. MR #10895 by @flxdot.
- 🐛 Remove
Requiredshadowing from fastapi using Pydantic v2. MR #12197 by @pachewise.
Refactors
- ♻️ Update type annotations for improved
python-multipart. MR #12407 by @tiangolo.
Docs
- ✨ Add new tutorial for SQL databases with SQLModel. MR #12285 by @tiangolo.
- 📝 Add External Link: How to profile a FastAPI asynchronous request. MR #12389 by @brouberol.
- 🔧 Remove
base_pathformdx_includeMarkdown extension in MkDocs. MR #12391 by @tiangolo. - 📝 Update link to Swagger UI configuration docs. MR #12264 by @makisukurisu.
- 📝 Adding links for Playwright and Vite in
docs/project-generation.md. MR #12274 by @kayqueGovetri. - 📝 Fix small typos in the documentation. MR #12213 by @svlandeg.
Translations
- 🌐 Add Portuguese translation for
docs/pt/docs/tutorial/cookie-param-models.md. MR #12298 by @ceb10n. - 🌐 Add Portuguese translation for
docs/pt/docs/how-to/graphql.md. MR #12215 by @AnandaCampelo. - 🌐 Add Portuguese translation for
docs/pt/docs/advanced/security/oauth2-scopes.md. MR #12263 by @ceb10n. - 🌐 Add Portuguese translation for
docs/pt/docs/deployment/concepts.md. MR #12219 by @marcelomarkus. - 🌐 Add Portuguese translation for
docs/pt/docs/how-to/conditional-openapi.md. MR #12221 by @marcelomarkus. - 🌐 Add Portuguese translation for
docs/pt/docs/advanced/response-directly.md. MR #12266 by @Joao-Pedro-P-Holanda. - 🌐 Update Portuguese translation for
docs/pt/docs/tutorial/cookie-params.md. MR #12297 by @ceb10n. - 🌐 Fix Korean translation for
docs/ko/docs/tutorial/index.md. MR #12278 by @kkotipy. - 🌐 Update Portuguese translation for
docs/pt/docs/advanced/security/http-basic-auth.md. MR #12275 by @andersonrocha0. - 🌐 Add Portuguese translation for
docs/pt/docs/deployment/cloud.md. MR #12217 by @marcelomarkus. - ✏️ Fix typo in
docs/es/docs/python-types.md. MR #12235 by @JavierSanchezCastro. - 🌐 Add Dutch translation for
docs/nl/docs/environment-variables.md. MR #12200 by @maxscheijen. - 🌐 Add Portuguese translation for
docs/pt/docs/deployment/manually.md. MR #12210 by @JoaoGustavoRogel. - 🌐 Add Portuguese translation for
docs/pt/docs/deployment/server-workers.md. MR #12220 by @marcelomarkus. - 🌐 Add Portuguese translation for
docs/pt/docs/how-to/configure-swagger-ui.md. MR #12222 by @marcelomarkus.
Internal
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #12396 by @pre-commit-ci[bot].
- 🔨 Add script to generate variants of files. MR #12405 by @tiangolo.
- 🔧 Add speakeasy-api to
sponsors_badge.yml. MR #12404 by @tiangolo. - ➕ Add docs dependency: markdown-include-variants. MR #12399 by @tiangolo.
- 📝 Fix extra mdx-base-path paths. MR #12397 by @tiangolo.
- 👷 Tweak labeler to not override custom labels. MR #12398 by @tiangolo.
- 👷 Update worfkow deploy-docs-notify URL. MR #12392 by @tiangolo.
- 👷 Update Cloudflare GitHub Action. MR #12387 by @tiangolo.
- ⬆ Bump pypa/gh-action-pypi-publish from 1.10.1 to 1.10.3. MR #12386 by @dependabot[bot].
- ⬆ Bump mkdocstrings[python] from 0.25.1 to 0.26.1. MR #12371 by @dependabot[bot].
- ⬆ Bump griffe-typingdoc from 0.2.6 to 0.2.7. MR #12370 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #12331 by @pre-commit-ci[bot].
- 🔧 Update sponsors, remove Fine.dev. MR #12271 by @tiangolo.
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #12253 by @pre-commit-ci[bot].
- ✏️ Fix docstring typos in http security. MR #12223 by @albertvillanova.
v0.115.0
Highlights
Now you can declare Query, Header, and Cookie parameters with Pydantic models. 🎉
Query Parameter Models
Use Pydantic models for Query parameters:
from typing import Annotated, Literal
from fastapi import FastAPI, Query
from pydantic import BaseModel, Field
app = FastAPI()
class FilterParams(BaseModel):
limit: int = Field(100, gt=0, le=100)
offset: int = Field(0, ge=0)
order_by: Literal["created_at", "updated_at"] = "created_at"
tags: list[str] = []
@​app.get("/items/")
async def read_items(filter_query: Annotated[FilterParams, Query()]):
return filter_query
Read the new docs: Query Parameter Models.
Header Parameter Models
Use Pydantic models for Header parameters:
from typing import Annotated
from fastapi import FastAPI, Header
from pydantic import BaseModel
app = FastAPI()
class CommonHeaders(BaseModel):
host: str
save_data: bool
if_modified_since: str | None = None
traceparent: str | None = None
x_tag: list[str] = []
@​app.get("/items/")
async def read_items(headers: Annotated[CommonHeaders, Header()]):
return headers
Read the new docs: Header Parameter Models.
Cookie Parameter Models
Use Pydantic models for Cookie parameters:
from typing import Annotated
from fastapi import Cookie, FastAPI
from pydantic import BaseModel
app = FastAPI()
class Cookies(BaseModel):
session_id: str
fatebook_tracker: str | None = None
googall_tracker: str | None = None
@​app.get("/items/")
async def read_items(cookies: Annotated[Cookies, Cookie()]):
return cookies
Read the new docs: Cookie Parameter Models.
Forbid Extra Query (Cookie, Header) Parameters
Use Pydantic models to restrict extra values for Query parameters (also applies to Header and Cookie parameters).
To achieve it, use Pydantic's model_config = {"extra": "forbid"}:
from typing import Annotated, Literal
from fastapi import FastAPI, Query
from pydantic import BaseModel, Field
app = FastAPI()
class FilterParams(BaseModel):
model_config = {"extra": "forbid"}
limit: int = Field(100, gt=0, le=100)
offset: int = Field(0, ge=0)
order_by: Literal["created_at", "updated_at"] = "created_at"
tags: list[str] = []
@​app.get("/items/")
async def read_items(filter_query: Annotated[FilterParams, Query()]):
return filter_query
This applies to Query, Header, and Cookie parameters, read the new docs:
Features
- ✨ Add support for Pydantic models for parameters using
Query,Cookie,Header. MR #12199 by @tiangolo.
Translations
- 🌐 Add Portuguese translation for
docs/pt/docs/advanced/security/http-basic-auth.md. MR #12195 by @ceb10n.
Internal
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #12204 by @pre-commit-ci[bot].
v0.114.2
Fixes
- 🐛 Fix form field regression with
alias. MR #12194 by @Wurstnase.
Translations
- 🌐 Add Portuguese translation for
docs/pt/docs/tutorial/request-form-models.md. MR #12175 by @ceb10n. - 🌐 Add Chinese translation for
docs/zh/docs/project-generation.md. MR #12170 by @waketzheng. - 🌐 Add Dutch translation for
docs/nl/docs/python-types.md. MR #12158 by @maxscheijen.
Internal
- 💡 Add comments with instructions for Playwright screenshot scripts. MR #12193 by @tiangolo.
- ➕ Add inline-snapshot for tests. MR #12189 by @tiangolo.
v0.114.1
Refactors
- ⚡️ Improve performance in request body parsing with a cache for internal model fields. MR #12184 by @tiangolo.
Docs
- 📝 Remove duplicate line in docs for
docs/en/docs/environment-variables.md. MR #12169 by @prometek.
Translations
- 🌐 Add Portuguese translation for
docs/pt/docs/virtual-environments.md. MR #12163 by @marcelomarkus. - 🌐 Add Portuguese translation for
docs/pt/docs/environment-variables.md. MR #12162 by @marcelomarkus. - 🌐 Add Portuguese translation for
docs/pt/docs/tutorial/testing.md. MR #12164 by @marcelomarkus. - 🌐 Add Portuguese translation for
docs/pt/docs/tutorial/debugging.md. MR #12165 by @marcelomarkus. - 🌐 Add Korean translation for
docs/ko/docs/project-generation.md. MR #12157 by @BORA040126.
Internal
- ⬆ Bump tiangolo/issue-manager from 0.5.0 to 0.5.1. MR #12173 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #12176 by @pre-commit-ci[bot].
- 👷 Update
issue-manager.yml. MR #12159 by @tiangolo. - ✏️ Fix typo in
fastapi/params.py. MR #12143 by @surreal30.
v0.114.0
You can restrict form fields to only include those declared in a Pydantic model and forbid any extra field sent in the request using Pydantic's model_config = {"extra": "forbid"}:
from typing import Annotated
from fastapi import FastAPI, Form
from pydantic import BaseModel
app = FastAPI()
class FormData(BaseModel):
username: str
password: str
model_config = {"extra": "forbid"}
@​app.post("/login/")
async def login(data: Annotated[FormData, Form()]):
return data
Read the new docs: Form Models - Forbid Extra Form Fields.
Features
- ✨ Add support for forbidding extra form fields with Pydantic models. MR #12134 by @tiangolo.
Docs
- 📝 Update docs, Form Models section title, to match config name. MR #12152 by @tiangolo.
Internal
- ✅ Update internal tests for latest Pydantic, including CI tweaks to install the latest Pydantic. MR #12147 by @tiangolo.
v0.113.0
Now you can declare form fields with Pydantic models:
from typing import Annotated
from fastapi import FastAPI, Form
from pydantic import BaseModel
app = FastAPI()
class FormData(BaseModel):
username: str
password: str
@​app.post("/login/")
async def login(data: Annotated[FormData, Form()]):
return data
Read the new docs: Form Models.
Features
- ✨ Add support for Pydantic models in
Formparameters. MR #12129 by @tiangolo.
Internal
- 🔧 Update sponsors: Coherence link. MR #12130 by @tiangolo.
v0.112.4
This release is mainly a big internal refactor to enable adding support for Pydantic models for Form fields, but that feature comes in the next release.
This release shouldn't affect apps using FastAPI in any way. You don't even have to upgrade to this version yet. It's just a checkpoint. 🤓
Refactors
- ♻️ Refactor deciding if
embedbody fields, do not overwrite fields, compute once per router, refactor internals in preparation for Pydantic models inForm,Queryand others. MR #12117 by @tiangolo.
Internal
- ⏪️ Temporarily revert "✨ Add support for Pydantic models in
Formparameters" to make a checkpoint release. MR #12128 by @tiangolo. - ✨ Add support for Pydantic models in
Formparameters. MR #12127 by @tiangolo. Reverted to make a checkpoint release with only refactors.
v0.112.3
This release is mainly internal refactors, it shouldn't affect apps using FastAPI in any way. You don't even have to upgrade to this version yet. There are a few bigger releases coming right after. 🚀
Refactors
- ♻️ Refactor internal
check_file_field(), rename toensure_multipart_is_installed()to clarify its purpose. MR #12106 by @tiangolo. - ♻️ Rename internal
create_response_field()tocreate_model_field()as it's used for more than response models. MR #12103 by @tiangolo. - ♻️ Refactor and simplify internal data from
solve_dependencies()using dataclasses. MR #12100 by @tiangolo. - ♻️ Refactor and simplify internal
analyze_param()to structure data with dataclasses instead of tuple. MR #12099 by @tiangolo. - ♻️ Refactor and simplify dependencies data structures with dataclasses. MR #12098 by @tiangolo.
Docs
- 📝 Add External Link: Techniques and applications of SQLAlchemy global filters in FastAPI. MR #12109 by @TheShubhendra.
- 📝 Add note about
time.perf_counter()in middlewares. MR #12095 by @tiangolo. - 📝 Tweak middleware code sample
time.time()totime.perf_counter(). MR #11957 by @domdent. - 🔧 Update sponsors: Coherence. MR #12093 by @tiangolo.
- 📝 Fix async test example not to trigger DeprecationWarning. MR #12084 by @marcinsulikowski.
- 📝 Update
docs_src/path_params_numeric_validations/tutorial006.py. MR #11478 by @MuhammadAshiqAmeer. - 📝 Update comma in
docs/en/docs/async.md. MR #12062 by @Alec-Gillis. - 📝 Update docs about serving FastAPI: ASGI servers, Docker containers, etc.. MR #12069 by @tiangolo.
- 📝 Clarify
response_classparameter, validations, and returning a response directly. MR #12067 by @tiangolo. - 📝 Fix minor typos and issues in the documentation. MR #12063 by @svlandeg.
- 📝 Add note in Docker docs about ensuring graceful shutdowns and lifespan events with
CMDexec form. MR #11960 by @GPla.
Translations
- 🌐 Add Dutch translation for
docs/nl/docs/features.md. MR #12101 by @maxscheijen. - 🌐 Add Portuguese translation for
docs/pt/docs/advanced/testing-events.md. MR #12108 by @ceb10n. - 🌐 Add Portuguese translation for
docs/pt/docs/advanced/security/index.md. MR #12114 by @ceb10n. - 🌐 Add Dutch translation for
docs/nl/docs/index.md. MR #12042 by @svlandeg. - 🌐 Update Chinese translation for
docs/zh/docs/how-to/index.md. MR #12070 by @synthpop123.
Internal
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #12115 by @pre-commit-ci[bot].
- ⬆ Bump pypa/gh-action-pypi-publish from 1.10.0 to 1.10.1. MR #12120 by @dependabot[bot].
- ⬆ Bump pillow from 10.3.0 to 10.4.0. MR #12105 by @dependabot[bot].
- 💚 Set
include-hidden-filestoTruewhen using theupload-artifactGH action. MR #12118 by @svlandeg. - ⬆ Bump pypa/gh-action-pypi-publish from 1.9.0 to 1.10.0. MR #12112 by @dependabot[bot].
- 🔧 Update sponsors link: Coherence. MR #12097 by @tiangolo.
- 🔧 Update labeler config to handle sponsorships data. MR #12096 by @tiangolo.
- 🔧 Update sponsors, remove Kong. MR #12085 by @tiangolo.
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #12076 by @pre-commit-ci[bot].
- 👷 Update
latest-changesGitHub Action. MR #12073 by @tiangolo.
v0.112.2
Fixes
- 🐛 Fix
allow_inf_nanoption for Param and Body classes. MR #11867 by @giunio-prc. - 🐛 Ensure that
app.include_routermerges nested lifespans. MR #9630 by @Lancetnik.
Refactors
- 🎨 Fix typing annotation for semi-internal
FastAPI.add_api_route(). MR #10240 by @ordinary-jamie. - ⬆️ Upgrade version of Ruff and reformat. MR #12032 by @tiangolo.
Docs
- 📝 Fix a typo in
docs/en/docs/virtual-environments.md. MR #12064 by @aymenkrifa. - 📝 Add docs about Environment Variables and Virtual Environments. MR #12054 by @tiangolo.
- 📝 Add Asyncer mention in async docs. MR #12037 by @tiangolo.
- 📝 Move the Features docs to the top level to improve the main page menu. MR #12036 by @tiangolo.
- ✏️ Fix import typo in reference example for
Security. MR #11168 by @0shah0. - 📝 Highlight correct line in tutorial
docs/en/docs/tutorial/body-multiple-params.md. MR #11978 by @svlandeg. - 🔥 Remove Sentry link from Advanced Middleware docs. MR #12031 by @alejsdev.
- 📝 Clarify management tasks for translations, multiples files in one MR. MR #12030 by @tiangolo.
- 📝 Edit the link to the OpenAPI "Responses Object" and "Response Object" sections in the "Additional Responses in OpenAPI" section. MR #11996 by @VaitoSoi.
- 🔨 Specify
email-validatordependency with dash. MR #11515 by @jirikuncar. - 🌐 Add Spanish translation for
docs/es/docs/project-generation.md. MR #11947 by @alejsdev. - 📝 Fix minor typo. MR #12026 by @MicaelJarniac.
- 📝 Several docs improvements, tweaks, and clarifications. MR #11390 by @nilslindemann.
- 📝 Add missing
compresslevelparameter on docs forGZipMiddleware. MR #11350 by @junah201. - 📝 Fix inconsistent response code when item already exists in docs for testing. MR #11818 by @lokomilo.
- 📝 Update
docs/en/docs/tutorial/body.mdwith Python 3.10 union type example. MR #11415 by @rangzen.
Translations
- 🌐 Add Portuguese translation for
docs/pt/docs/tutorial/request_file.md. MR #12018 by @Joao-Pedro-P-Holanda. - 🌐 Add Japanese translation for
docs/ja/docs/learn/index.md. MR #11592 by @ukwhatn. - 📝 Update Spanish translation docs for consistency. MR #12044 by @alejsdev.
- 🌐 Update Chinese translation for
docs/zh/docs/tutorial/dependencies/dependencies-with-yield.md. MR #12028 by @xuvjso. - 📝 Update FastAPI People, do not translate to have the most recent info. MR #12034 by @tiangolo.
- 🌐 Update Urdu translation for
docs/ur/docs/benchmarks.md. MR #10046 by @AhsanSheraz.
Internal
- ⬆ [pre-commit.ci] pre-commit autoupdate. MR #12046 by @pre-commit-ci[bot].
- 🔧 Update coverage config files. MR #12035 by @tiangolo.
- 🔨 Standardize shebang across shell scripts. MR #11942 by @gitworkflows.
- ⬆ Update sqlalchemy requirement from <1.4.43,>=1.3.18 to >=1.3.18,<2.0.33. MR #11979 by @dependabot[bot].
- 🔊 Remove old ignore warnings. MR #11950 by @tiangolo.
- ⬆️ Upgrade griffe-typingdoc for the docs. MR #12029 by @tiangolo.
- 🙈 Add .coverage* to
.gitignore. MR #11940 by @gitworkflows. - ⚙️ Record and show test coverage contexts (what test covers which line). MR #11518 by @slafs.
v0.112.1
Upgrades
- ⬆️ Allow Starlette 0.38.x, update the pin to
>=0.37.2,<0.39.0. MR #11876 by @musicinmybrain.
Docs
- 📝 Update docs section about "Don't Translate these Pages". MR #12022 by @tiangolo.
- 📝 Add documentation for non-translated pages and scripts to verify them. MR #12020 by @tiangolo.
- 📝 Update docs about discussions questions. MR #11985 by @tiangolo.
Translations
- 🌐 Add Portuguese translation for
docs/pt/docs/tutorial/bigger-applications.md. MR #11971 by @marcelomarkus. - 🌐 Add Portuguese translation for
docs/pt/docs/advanced/testing-websockets.md. MR #11994 by @ceb10n. - 🌐 Add Portuguese translation for
docs/pt/docs/advanced/testing-dependencies.md. MR #11995 by @ceb10n. - 🌐 Add Portuguese translation for
docs/pt/docs/advanced/using-request-directly.md. MR #11956 by @ceb10n. - 🌐 Add French translation for
docs/fr/docs/tutorial/body-multiple-params.md. MR #11796 by @pe-brian. - 🌐 Update Chinese translation for
docs/zh/docs/tutorial/query-params.md. MR #11557 by @caomingpei. - 🌐 Update typo in Chinese translation for
docs/zh/docs/advanced/testing-dependencies.md. MR #11944 by @bestony. - 🌐 Add Portuguese translation for
docs/pt/docs/advanced/sub-applications.mdanddocs/pt/docs/advanced/behind-a-proxy.md. MR #11856 by @marcelomarkus. - 🌐 Add Portuguese translation for
docs/pt/docs/tutorial/cors.mdanddocs/pt/docs/tutorial/middleware.md. MR #11916 by @wesinalves. - 🌐 Add French translation for
docs/fr/docs/tutorial/path-params-numeric-validations.md. MR #11788 by @pe-brian.
Internal
- ⬆ Bump pypa/gh-action-pypi-publish from 1.8.14 to 1.9.0. MR #11727 by @dependabot[bot].
- 🔧 Add changelog URL to
pyproject.toml, shows in PyPI. MR #11152 by @Pierre-VF. - 👷 Do not sync labels as it overrides manually added labels. MR #12024 by @tiangolo.
- 👷🏻 Update Labeler GitHub Actions. MR #12019 by @tiangolo.
- 🔧 Update configs for MkDocs for languages and social cards. MR #12016 by @tiangolo.
- 👷 Update permissions and config for labeler GitHub Action. MR #12008 by @tiangolo.
- 👷🏻 Add GitHub Action label-checker. MR #12005 by @tiangolo.
- 👷 Add label checker GitHub Action. MR #12004 by @tiangolo.
- 👷 Update GitHub Action add-to-project. MR #12002 by @tiangolo.
- 🔧 Update labeler GitHub Action. MR #12001 by @tiangolo.
- 👷 Add GitHub Action labeler. MR #12000 by @tiangolo.
- 👷 Add GitHub Action add-to-project. MR #11999 by @tiangolo.
- 📝 Update admonitions in docs missing. MR #11998 by @tiangolo.
- 🔨 Update docs.py script to enable dirty reload conditionally. MR #11986 by @tiangolo.
- 🔧 Update MkDocs instant previews. MR #11982 by @tiangolo.
- 🐛 Fix deploy docs previews script to handle mkdocs.yml files. MR #11984 by @tiangolo.
- 💡 Add comment about custom Termynal line-height. MR #11976 by @tiangolo.
- 👷 Add alls-green for test-redistribute. MR #11974 by @tiangolo.
- 👷 Update docs-previews to handle no docs changes. MR #11975 by @tiangolo.
- 🔨 Refactor script
deploy_docs_status.pyto account for deploy URLs with or without trailing slash. MR #11965 by @tiangolo. - 🔒️ Update permissions for deploy-docs action. MR #11964 by @tiangolo.
- 👷🏻 Add deploy docs status and preview links to MRs. MR #11961 by @tiangolo.
- 🔧 Update docs setup with latest configs and plugins. MR #11953 by @tiangolo.
- 🔇 Ignore warning from attrs in Trio. MR #11949 by @tiangolo.
v0.112.0
Breaking Changes
- ♻️ Add support for
pip install "fastapi[standard]"with standard dependencies andpython -m fastapi. MR #11935 by @tiangolo.
Summary
Install with:
pip install "fastapi[standard]"
Other Changes
- This adds support for calling the CLI as:
python -m fastapi
- And it upgrades
fastapi-cli[standard] >=0.0.5.
Technical Details
Before this, fastapi would include the standard dependencies, with Uvicorn and the fastapi-cli, etc.
And fastapi-slim would not include those standard dependencies.
Now fastapi doesn't include those standard dependencies unless you install with pip install "fastapi[standard]".
Before, you would install pip install fastapi, now you should include the standard optional dependencies (unless you want to exclude one of those): pip install "fastapi[standard]".
This change is because having the standard optional dependencies installed by default was being inconvenient to several users, and having to install instead fastapi-slim was not being a feasible solution.
Discussed here: #11522 and here: #11525
Docs
- ✏️ Fix typos in docs. MR #11926 by @jianghuyiyuan.
- 📝 Tweak management docs. MR #11918 by @tiangolo.
- 🚚 Rename GitHub links from tiangolo/fastapi to fastapi/fastapi. MR #11913 by @tiangolo.
- 📝 Add docs about FastAPI team and project management. MR #11908 by @tiangolo.
- 📝 Re-structure docs main menu. MR #11904 by @tiangolo.
- 📝 Update Speakeasy URL. MR #11871 by @ndimares.
Translations
- 🌐 Update Portuguese translation for
docs/pt/docs/alternatives.md. MR #11931 by @ceb10n. - 🌐 Add Russian translation for
docs/ru/docs/tutorial/dependencies/sub-dependencies.md. MR #10515 by @AlertRED. - 🌐 Add Portuguese translation for
docs/pt/docs/advanced/response-change-status-code.md. MR #11863 by @ceb10n. - 🌐 Add Portuguese translation for
docs/pt/docs/reference/background.md. MR #11849 by @lucasbalieiro. - 🌐 Add Portuguese translation for
docs/pt/docs/tutorial/dependencies/dependencies-with-yield.md. MR #11848 by @Joao-Pedro-P-Holanda. - 🌐 Add Portuguese translation for
docs/pt/docs/reference/apirouter.md. MR #11843 by @lucasbalieiro.
Internal
- 🔧 Update sponsors: add liblab. MR #11934 by @tiangolo.
- 👷 Update GitHub Action label-approved permissions. MR #11933 by @tiangolo.
- 👷 Refactor GitHub Action to comment docs deployment URLs and update token. MR #11925 by @tiangolo.
- 👷 Update tokens for GitHub Actions. MR #11924 by @tiangolo.
- 👷 Update token permissions to comment deployment URL in docs. MR #11917 by @tiangolo.
- 👷 Update token permissions for GitHub Actions. MR #11915 by @tiangolo.
- 👷 Update GitHub Actions token usage. MR #11914 by @tiangolo.
- 👷 Update GitHub Action to notify translations with label
approved-1. MR #11907 by @tiangolo. - 🔧 Update sponsors, remove Reflex. MR #11875 by @tiangolo.
- 🔧 Update sponsors: remove TalkPython. MR #11861 by @tiangolo.
- 🔨 Update docs Termynal scripts to not include line nums for local dev. MR #11854 by @tiangolo.
v0.111.1
Upgrades
- ➖ Remove
orjsonandujsonfrom default dependencies. MR #11842 by @tiangolo.- These dependencies are still installed when you install with
pip install "fastapi[all]". But they not included inpip install fastapi.
- These dependencies are still installed when you install with
- 📝 Restored Swagger-UI links to use the latest version possible. MR #11459 by @UltimateLobster.
Docs
- ✏️ Rewording in
docs/en/docs/fastapi-cli.md. MR #11716 by @alejsdev. - 📝 Update Hypercorn links in all the docs. MR #11744 by @kittydoor.
- 📝 Update docs with Ariadne reference from Starlette to FastAPI. MR #11797 by @DamianCzajkowski.
- 📝 Update fastapi instrumentation external link. MR #11317 by @softwarebloat.
- ✏️ Fix links to alembic example repo in docs. MR #11628 by @augiwan.
- ✏️ Update
docs/en/docs/fastapi-cli.md. MR #11715 by @alejsdev. - 📝 Update External Links . MR #11500 by @devon2018.
- 📝 Add External Link: Tutorial de FastAPI, ¿el mejor framework de Python?. MR #11618 by @EduardoZepeda.
- 📝 Fix typo in
docs/en/docs/tutorial/body-multiple-params.md. MR #11698 by @mwb-u. - 📝 Add External Link: Deploy a Serverless FastAPI App with Neon Postgres and AWS App Runner at any scale. MR #11633 by @ananis25.
- 📝 Update
security/first-steps.md. MR #11674 by @alejsdev. - 📝 Update
security/first-steps.md. MR #11673 by @alejsdev. - 📝 Update note in
path-params-numeric-validations.md. MR #11672 by @alejsdev. - 📝 Tweak intro docs about
AnnotatedandQuery()params. MR #11664 by @tiangolo. - 📝 Update JWT auth documentation to use PyJWT instead of pyhon-jose. MR #11589 by @estebanx64.
- 📝 Update docs. MR #11603 by @alejsdev.
- ✏️ Fix typo: convert every 're-use' to 'reuse'.. MR #11598 by @hasansezertasan.
- ✏️ Fix typo in
fastapi/applications.py. MR #11593 by @petarmaric. - ✏️ Fix link in
fastapi-cli.md. MR #11524 by @svlandeg.
Translations
- 🌐 Add Spanish translation for
docs/es/docs/how-to/graphql.md. MR #11697 by @camigomezdev. - 🌐 Add Portuguese translation for
docs/pt/docs/reference/index.md. MR #11840 by @lucasbalieiro. - 🌐 Fix link in German translation. MR #11836 by @anitahammer.
- 🌐 Add Portuguese translation for
docs/pt/docs/tutorial/dependencies/sub-dependencies.md. MR #11792 by @Joao-Pedro-P-Holanda. - 🌐 Add Turkish translation for
docs/tr/docs/tutorial/request-forms.md. MR #11553 by @hasansezertasan. - 🌐 Add Portuguese translation for
docs/pt/docs/reference/exceptions.md. MR #11834 by @lucasbalieiro. - 🌐 Add Portuguese translation for
docs/pt/docs/tutorial/dependencies/global-dependencies.md. MR #11826 by @Joao-Pedro-P-Holanda. - 🌐 Add Portuguese translation for
docs/pt/docs/how-to/general.md. MR #11825 by @lucasbalieiro. - 🌐 Add Portuguese translation for
docs/pt/docs/advanced/async-tests.md. MR #11808 by @ceb10n. - 🌐 Add Ukrainian translation for
docs/uk/docs/tutorial/first-steps.md. MR #11809 by @vkhoroshchak. - 🌐 Add Portuguese translation for
docs/pt/docs/tutorial/dependencies/dependencies-in-path-operation-operators.md. MR #11804 by @Joao-Pedro-P-Holanda. - 🌐 Add Chinese translation for
docs/zh/docs/fastapi-cli.md. MR #11786 by @logan2d5. - 🌐 Add Portuguese translation for
docs/pt/docs/advanced/openapi-webhooks.md. MR #11791 by @ceb10n. - 🌐 Update Chinese translation for
docs/tutorial/security/oauth2-jwt.md. MR #11781 by @logan2d5. - 📝 Fix image missing in French translation for
docs/fr/docs/async.md. MR #11787 by @pe-brian. - 🌐 Add Portuguese translation for
docs/pt/docs/advanced/advanced-dependencies.md. MR #11775 by @ceb10n. - 🌐 Add Portuguese translation for
docs/pt/docs/tutorial/dependencies/classes-as-dependencies.md. MR #11768 by @Joao-Pedro-P-Holanda. - 🌐 Add Portuguese translation for
docs/pt/docs/advanced/additional-status-codes.md. MR #11753 by @ceb10n. - 🌐 Add Portuguese translation for
docs/pt/docs/tutorial/dependencies/index.md. MR #11757 by @Joao-Pedro-P-Holanda. - 🌐 Add Portuguese translation for
docs/pt/docs/advanced/settings.md. MR #11739 by @Joao-Pedro-P-Holanda. - 🌐 Add French translation for
docs/fr/docs/learn/index.md. MR #11712 by @benjaminvandammeholberton. - 🌐 Add Portuguese translation for
docs/pt/docs/how-to/index.md. MR #11731 by @vhsenna. - 🌐 Add Portuguese translation for
docs/pt/docs/advanced/additional-responses.md. MR #11736 by @ceb10n. - 🌐 Add Portuguese translation for
docs/pt/docs/advanced/benchmarks.md. MR #11713 by @ceb10n. - 🌐 Fix Korean translation for
docs/ko/docs/tutorial/response-status-code.md. MR #11718 by @nayeonkinn. - 🌐 Add Korean translation for
docs/ko/docs/tutorial/extra-data-types.md. MR #11711 by @nayeonkinn. - 🌐 Fix Korean translation for
docs/ko/docs/tutorial/body-nested-models.md. MR #11710 by @nayeonkinn. - 🌐 Add Portuguese translation for
docs/pt/docs/advanced/fastapi-cli.md. MR #11641 by @ayr-ton. - 🌐 Add Traditional Chinese translation for
docs/zh-hant/docs/fastapi-people.md. MR #11639 by @hsuanchi. - 🌐 Add Turkish translation for
docs/tr/docs/advanced/index.md. MR #11606 by @hasansezertasan. - 🌐 Add Turkish translation for
docs/tr/docs/deployment/cloud.md. MR #11610 by @hasansezertasan. - 🌐 Add Turkish translation for
docs/tr/docs/advanced/security/index.md. MR #11609 by @hasansezertasan. - 🌐 Add Turkish translation for
docs/tr/docs/advanced/testing-websockets.md. MR #11608 by @hasansezertasan. - 🌐 Add Turkish translation for
docs/tr/docs/how-to/general.md. MR #11607 by @hasansezertasan. - 🌐 Update Chinese translation for
docs/zh/docs/advanced/templates.md. MR #11620 by @chaoless. - 🌐 Add Turkish translation for
docs/tr/docs/deployment/index.md. MR #11605 by @hasansezertasan. - 🌐 Add Turkish translation for
docs/tr/docs/tutorial/static-files.md. MR #11599 by @hasansezertasan. - 🌐 Polish translation for
docs/pl/docs/fastapi-people.md. MR #10196 by @isulim. - 🌐 Add Turkish translation for
docs/tr/docs/advanced/wsgi.md. MR #11575 by @hasansezertasan. - 🌐 Add Turkish translation for
docs/tr/docs/tutorial/cookie-params.md. MR #11561 by @hasansezertasan. - 🌐 Add Russian translation for
docs/ru/docs/about/index.md. MR #10961 by @s111d. - 🌐 Update Chinese translation for
docs/zh/docs/tutorial/sql-databases.md. MR #11539 by @chaoless. - 🌐 Add Chinese translation for
docs/zh/docs/how-to/configure-swagger-ui.md. MR #11501 by @Lucas-lyh. - 🌐 Update Chinese translation for
/docs/advanced/security/http-basic-auth.md. MR #11512 by @nick-cjyx9.
Internal
- ♻️ Simplify internal docs script. MR #11777 by @gitworkflows.
- 🔧 Update sponsors: add Fine. MR #11784 by @tiangolo.
- 🔧 Tweak sponsors: Kong URL. MR #11765 by @tiangolo.
- 🔧 Tweak sponsors: Kong URL. MR #11764 by @tiangolo.
- 🔧 Update sponsors, add Stainless. MR #11763 by @tiangolo.
- 🔧 Update sponsors, add Zuplo. MR #11729 by @tiangolo.
- 🔧 Update Sponsor link: Coherence. MR #11730 by @tiangolo.
- 👥 Update FastAPI People. MR #11669 by @tiangolo.
- 🔧 Add sponsor Kong. MR #11662 by @tiangolo.
- 👷 Update Smokeshow, fix sync download artifact and smokeshow configs. MR #11563 by @tiangolo.
- 👷 Update Smokeshow download artifact GitHub Action. MR #11562 by @tiangolo.
- 👷 Update GitHub actions to download and upload artifacts to v4, for docs and coverage. MR #11550 by @tamird.
- 👷 Tweak CI for test-redistribute, add needed env vars for slim. MR #11549 by @tiangolo.
- 👥 Update FastAPI People. MR #11511 by @tiangolo.
v0.111.0
Features
- ✨ Add FastAPI CLI, the new
fastapicommand. MR #11522 by @tiangolo.- New docs: FastAPI CLI.
Try it out with:
$ pip install --upgrade fastapi
$ fastapi dev main.py
╭────────── FastAPI CLI - Development mode ───────────╮
│ │
│ Serving at: http://127.0.0.1:8000 │
│ │
│ API docs: http://127.0.0.1:8000/docs │
│ │
│ Running in development mode, for production use: │
│ │
│ fastapi run │
│ │
╰─────────────────────────────────────────────────────╯
INFO: Will watch for changes in these directories: ['/home/user/code/awesomeapp']
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [2248755] using WatchFiles
INFO: Started server process [2248757]
INFO: Waiting for application startup.
INFO: Application startup complete.
Refactors
- 🔧 Add configs and setup for
fastapi-slimincluding optional extrasfastapi-slim[standard], andfastapiincluding by default the samestandardextras. MR #11503 by @tiangolo.
encode/httpx (httpx)
v0.28.1
- Fix SSL case where
verify=Falsetogether with client side certificates.
v0.28.0
Be aware that the default JSON request bodies now use a more compact representation. This is generally considered a prefered style, tho may require updates to test suites.
The 0.28 release includes a limited set of deprecations...
Deprecations:
We are working towards a simplified SSL configuration API.
For users of the standard verify=True or verify=False cases, or verify=<ssl_context> case this should require no changes. The following cases have been deprecated...
- The
verifyargument as a string argument is now deprecated and will raise warnings. - The
certargument is now deprecated and will raise warnings.
Our revised SSL documentation covers how to implement the same behaviour with a more constrained API.
The following changes are also included:
- The deprecated
proxiesargument has now been removed. - The deprecated
appargument has now been removed. - JSON request bodies use a compact representation. (#3363)
- Review URL percent escape sets, based on WHATWG spec. (#3371, #3373)
- Ensure
certifiandhttpcoreare only imported if required. (#3377) - Treat
socks5has a valid proxy scheme. (#3178) - Cleanup
Request()method signature in line withclient.request()andhttpx.request(). (#3378) - Bugfix: When passing
params={}, always strictly update rather than merge with an existing querystring. (#3364)
v0.27.2
Fixed
- Reintroduced supposedly-private
URLTypesshortcut. (#2673)
v0.27.1
Added
- Support for
zstdcontent decoding using the pythonzstandardpackage is added. Installable usinghttpx[zstd]. (#3139)
Fixed
pre-commit/mirrors-mypy (pre-commit/mirrors-mypy)
v1.19.0
v1.18.2
v1.18.1
v1.17.1
v1.17.0
v1.16.1
v1.16.0
pre-commit/pre-commit-hooks (pre-commit/pre-commit-hooks)
v4.6.0: pre-commit-hooks v4.6.0
Features
-
requirements-txt-fixer: remove duplicate packages.- #1014 MR by @vhoulbreque-withings.
- #960 issue @csibe17.
Migrating
-
fix-encoding-pragma: deprecated -- will be removed in 5.0.0. use pyupgrade or some other tool.
v4.5.0: pre-commit-hooks v4.5.0
Features
-
requirements-txt-fixer: also sortconstraints.txtby default.- #857 MR by @lev-blit.
- #830 issue by @PLPeeters.
-
debug-statements: addbpdbdebugger.
Fixes
-
file-contents-sorter: fix sorting an empty file.- #944 MR by @RoelAdriaans.
- #935 issue by @paduszyk.
-
double-quote-string-fixer: don't rewrite inside f-strings in 3.12+.- #973 MR by @asottile.
- #971 issue by @XuehaiPan.
Migrating
- now requires python >= 3.8.
- #926 MR by @asottile.
- #927 MR by @asottile.
psf/black (psf/black)
v25.12.0
Highlights
- Black no longer supports running with Python 3.9 (#4842)
Stable style
- Fix bug where comments preceding
# fmt: off/# fmt: onblocks were incorrectly removed, particularly affecting Jupytext's# %% [markdown]comments (#4845) - Fix crash when multiple
# fmt: skipcomments are used in a multi-part if-clause, on string literals, or on dictionary entries with long lines (#4872) - Fix possible crash when
fmt:directives aren't on the top level (#4856)
Preview style
- Fix
fmt: skipskipping the line after instead of the line it's on (#4855) - Remove unnecessary parentheses from the left-hand side of assignments while preserving magic trailing commas and intentional multiline formatting (#4865)
- Fix
fix_fmt_skip_in_one_linerscrashing onwithstatements (#4853) - Fix
fix_fmt_skip_in_one_linerscrashing on annotated parameters (#4854) - Fix new lines being added after imports with
# fmt: skipon them (#4894)
Packaging
- Releases now include arm64 Windows binaries and wheels (#4814)
Integrations
- Add
output-fileinput to GitHub Actionpsf/blackto write formatter output to a file for artifact capture and log cleanliness (#4824)
v25.11.0
Highlights
- Enable base 3.14 support (#4804)
- Add support for the new Python 3.14 t-string syntax introduced by PEP 750 (#4805)
Stable style
- Fix bug where comments between
# fmt: offand# fmt: onwere reformatted (#4811) - Comments containing fmt directives now preserve their exact formatting instead of being normalized (#4811)
Preview style
- Move
multiline_string_handlingfrom--unstableto--preview(#4760) - Fix bug where module docstrings would be treated as normal strings if preceded by comments (#4764)
- Fix bug where python 3.12 generics syntax split line happens weirdly (#4777)
- Standardize type comments to form
# type: <value>(#4645) - Fix
fix_fmt_skip_in_one_linerspreview feature to respect# fmt: skipfor compound statements with semicolon-separated bodies (#4800)
Configuration
- Add
no_cacheoption to control caching behavior. (#4803)
Packaging
- Releases now include arm64 Linux binaries (#4773)
- Releases now include arm64 Windows binaries and wheels (#4814)
Output
- Write unchanged content to stdout when excluding formatting from stdin using pipes (#4610)
Blackd
- Implemented BlackDClient. This simple python client allows to easily send formatting requests to blackd (#4774)
Integrations
- Enable 3.14 base CI (#4804)
- Enhance GitHub Action
psf/blackto support therequired-versionmajor-version-only "stability" format when using pyproject.toml (#4770) - Improve error message for vim plugin users. It now handles independently vim version
- Vim: Warn on unsupported Vim and Python versions independently (#4772)
- Vim: Print the import paths when importing black fails (#4675)
- Vim: Fix handling of virtualenvs that have a different Python version (#4675)
v25.9.0
Highlights
- Remove support for pre-python 3.7
await/asyncas soft keywords/variable names (#4676)
Stable style
- Fix crash while formatting a long
delstatement containing tuples (#4628) - Fix crash while formatting expressions using the walrus operator in complex
withstatements (#4630) - Handle
# fmt: skipfollowed by a comment at the end of file (#4635) - Fix crash when a tuple appears in the
asclause of awithstatement (#4634) - Fix crash when tuple is used as a context manager inside a
withstatement (#4646) - Fix crash when formatting a
\followed by a\rfollowed by a comment (#4663) - Fix crash on a
\\r\n(#4673) - Fix crash on
await ...(where...is a literalEllipsis) (#4676) - Fix crash on parenthesized expression inside a type parameter bound (#4684)
- Fix crash when using line ranges excluding indented single line decorated items (#4670)
Preview style
- Fix a bug where one-liner functions/conditionals marked with
# fmt: skipwould still be formatted (#4552) - Improve
multiline_string_handlingwith ternaries and dictionaries (#4657) - Fix a bug where
string_processingwould not split f-strings directly after expressions (#4680) - Wrap the
inclause of comprehensions across lines if necessary (#4699) - Remove parentheses around multiple exception types in
exceptandexcept*withoutas. (#4720) - Add
\rstyle newlines to the potential newlines to normalize file newlines both from and to (#4710)
Parser
- Rewrite tokenizer to improve performance and compliance (#4536)
- Fix bug where certain unusual expressions (e.g., lambdas) were not accepted in type parameter bounds and defaults. (#4602)
Performance
- Avoid using an extra process when running with only one worker (#4734)
Integrations
- Fix the version check in the vim file to reject Python 3.8 (#4567)
- Enhance GitHub Action
psf/blackto read Black version from an additional section in pyproject.toml:[project.dependency-groups](#4606) - Build gallery docker image with python3-slim and reduce image size (#4686)
Documentation
- Add FAQ entry for windows emoji not displaying (#4714)
pydantic/pydantic-settings (pydantic-settings)
v2.12.0
What's Changed
- Support for enum kebab case. by @kschwab in #686
- Apply source order: init > env > dotenv > secrets > defaults and pres… by @chbndrhnns in #688
- Add NestedSecretsSettings source by @makukha in #690
- Strip non-explicit default values. by @kschwab in #692
- Coerce env vars if strict is True. by @kschwab in #693
- Restore init kwarg names before returning final state dictionary. by @kschwab in #700
- Drop Python3.9 support by @hramezani in #699
- Adapt test_protected_namespace_defaults for dev. Pydantic by @musicinmybrain in #637
- Add Python 3.14 by @hramezani in #704
- Prepare release 2.12 by @hramezani in #705
New Contributors
- @chbndrhnns made their first contribution in #688
Full Changelog: https://github.com/pydantic/pydantic-settings/compare/v2.11.0...v2.12.0
v2.11.0
What's Changed
- CLI Serialize Support by @kschwab in #643
- Inspect type aliases to determine if an annotation is complex by @tselepakis in #644
- Revert "fix: Respect 'cli_parse_args' from model_config with settings_customise_sources (#611)" by @hramezani in #655
- Remove parsing of command line arguments from
CliSettingsSource.__init__. by @trygve-baerland in #656 - turn off allow_abbrev on subparsers by @mroch in #658
- CLI Serialization Fixes by @kschwab in #649
- Fix PydanticModel type checking. by @kschwab in #659
- Avoid env_prefix falling back to env vars without prefix by @tselepakis in #648
- Warn if model_config sets unused keys for missing settings sources by @HomerusJa in #663
- Included endpoint_url kwarg in AWSSecretsManagerSettingsSource class by @adrianohrl in #664
- Fix typo ("Accesing") in the "Adding sources" docs by @deepyaman in #668
- CLI Windows Path Fix by @kschwab in #669
- Cli root model support by @kschwab in #677
- Snake case conversion in Azure Key Vault by @AndreuCodina in #680
- Make
InitSettingsSourceresolution deterministic by @enrico-stauss in #681 - Update deps by @hramezani in #683
New Contributors
- @tselepakis made their first contribution in #644
- @trygve-baerland made their first contribution in #656
- @mroch made their first contribution in #658
- @HomerusJa made their first contribution in #663
- @adrianohrl made their first contribution in #664
- @deepyaman made their first contribution in #668
- @enrico-stauss made their first contribution in #681
Full Changelog: https://github.com/pydantic/pydantic-settings/compare/2.10.1...v2.11.0
v2.10.1
What's Changed
- Fix UnboundLocalError error in _replace_field_names_case_insensitively by @hramezani in #639
- Remove unknown file reference in documentation by @Viicos in #640
- Prepare release 2.10.1 by @hramezani in #642
Full Changelog: https://github.com/pydantic/pydantic-settings/compare/2.10.0...2.10.1
v2.10.0
What's Changed
- Fix running tests when azure-keyvault-secrets is not installed by @CyberTailor in #601
- Fix running tests when google-cloud-secret-manager is not installed by @CyberTailor in #602
- Support loading a specific nested key from YAML in YamlConfigSettingsSource by @Seunghan-Jung in #603
- Fix CLI suppression for model group help by @kschwab in #604
- Fix missing DEFAULT_PATH import by @hramezani in #606
- Fix case-insensitive handling of nested aliases in EnvironmentSettingsSource by @d15ky in #608
- Azure Key Vault case insensitive support and dash-underscore translation by @d15ky in #607
- fix: Respect 'cli_parse_args' from model_config with settings_customise_sources by @karta9821 in #611
- Bump astral-sh/setup-uv by @hramezani in #612
- Update packages by @hramezani in #613
- Update README.md by @hramezani in #616
- Fix CI badge by @hramezani in #617
- Update dependencies by @hramezani in #618
- Fix coverage report by @hramezani in #619
- Fix _consume_object_or_array on unbalanced brackets in JSON strings by @andryak in #621
- add region as a parameter to aws secret manager by @barakor-vs in #622
- Expose GCP Secret Manager case sensitive option by @bellmatthewf in #626
- Update deps by @hramezani in #633
- feat: Add
cli_shortcutsto CLI settings by @karta9821 in #624 - Expose AWS Secrets Manager case sensitive option by @femiadebayo in #629
- Prepare release 2.10.0 by @hramezani in #635
New Contributors
- @Seunghan-Jung made their first contribution in #603
- @d15ky made their first contribution in #608
- @karta9821 made their first contribution in #611
- @andryak made their first contribution in #621
- @barakor-vs made their first contribution in #622
- @bellmatthewf made their first contribution in #626
- @femiadebayo made their first contribution in #629
Full Changelog: https://github.com/pydantic/pydantic-settings/compare/v2.9.1...2.10.0
v2.9.1
What's Changed
- fix: Expose ConfigFileSourceMixing on top level sources/init.py by @jbw-vtl in #597
- Fix typo in gcp secret manager error message by @christian-heusel in #598
- Prepare release 2.9.1 by @hramezani in #600
New Contributors
- @jbw-vtl made their first contribution in #597
- @christian-heusel made their first contribution in #598
Full Changelog: https://github.com/pydantic/pydantic-settings/compare/v2.9.0...v2.9.1
v2.9.0
What's Changed
- Drop support for Python 3.8 by @Viicos in #560
- Switch to
typing-inspectionby @Viicos in #556 - Introduce
uvfor Project Management by @KanchiShimono in #547 - Refactor sources.py into a subpackage (#546) by @ezwiefel in #548
- chore: cleanup by @CodeWithEmad in #563
- Fix typo in documentation by @CodeWithEmad in #564
- Add support for AWS Secrets Manager by @mavwolverine in #532
- Fix minor typo: conotations => connotations by @svenevs in #577
- Azure Key Vault: Don't load disabled secret by @AndreuCodina in #578
- Add support for GCP Secret Manager by @ezwiefel in #567
- CLI JSON Optional Default by @kschwab in #581
- Fix for env nested enum. by @kschwab in #589
- CLI submodel suppress. by @kschwab in #587
- Cli retrieve unknown args by @kschwab in #588
- Update pydantic by @hramezani in #593
- Fix check in CI by @hramezani in #595
New Contributors
- @ezwiefel made their first contribution in #548
- @CodeWithEmad made their first contribution in #563
- @mavwolverine made their first contribution in #532
- @svenevs made their first contribution in #577
Full Changelog: https://github.com/pydantic/pydantic-settings/compare/v2.8.1...v2.9.0
v2.8.1
What's Changed
- Fix for init source kwarg alias resolution. by @kschwab in https://github.com/pydantic/pydantic-settings/pull/550
- Revert usage of positional only argument in
BaseSettings.__init__by @Viicos in https://github.com/pydantic/pydantic-settings/pull/557 - Revert use of
objectinstead ofAnyby @Viicos in https://github.com/pydantic/pydantic-settings/pull/559 - Prepare release 2.8.1 by @hramezani in https://github.com/pydantic/pydantic-settings/pull/558
Full Changelog: https://github.com/pydantic/pydantic-settings/compare/v2.8.0...v2.8.1
v2.8.0
What's Changed
- CLI support for optional and variadic positional args by @kschwab in https://github.com/pydantic/pydantic-settings/pull/519
- Improve env_prefix config doc by @hramezani in https://github.com/pydantic/pydantic-settings/pull/523
- Add env_nested_max_split setting by @gsakkis in https://github.com/pydantic/pydantic-settings/pull/534
- Avoid using
AnyinBaseSettingssignature to avoid mypy errors by @Viicos in https://github.com/pydantic/pydantic-settings/pull/529 - Asynchronous CLI methods in CliApp by @KanchiShimono in https://github.com/pydantic/pydantic-settings/pull/533
- Don't explode env vars if env_nested_delimiter is empty by @gsakkis in https://github.com/pydantic/pydantic-settings/pull/540
- Prepare release 2.8.0 by @hramezani in https://github.com/pydantic/pydantic-settings/pull/541
New Contributors
- @gsakkis made their first contribution in https://github.com/pydantic/pydantic-settings/pull/534
- @KanchiShimono made their first contribution in https://github.com/pydantic/pydantic-settings/pull/533
Full Changelog: https://github.com/pydantic/pydantic-settings/compare/v2.7.1...v2.8.0
v2.7.1
What's Changed
- Move preferred alias resolution to private method by @kschwab in https://github.com/pydantic/pydantic-settings/pull/507
- Prepare release 2.7.1 by @hramezani in https://github.com/pydantic/pydantic-settings/pull/511
Full Changelog: https://github.com/pydantic/pydantic-settings/compare/v2.7.0...v2.7.1
v2.7.0
What's Changed
- Fix
test_protected_namespace_defaultswith -Wdefault by @CyberTailor in https://github.com/pydantic/pydantic-settings/pull/462 - Make tests more robust to the running environment by @CyberTailor in https://github.com/pydantic/pydantic-settings/pull/464
- Fix rendering of annotations in code example by @Viicos in https://github.com/pydantic/pydantic-settings/pull/470
- Fix alias resolution for default settings source. by @kschwab in https://github.com/pydantic/pydantic-settings/pull/468
- Use the class name in the
__repr__implementations by @dlax in https://github.com/pydantic/pydantic-settings/pull/465 - Fix default help text for union of submodels. by @kschwab in https://github.com/pydantic/pydantic-settings/pull/472
- Add support for CliMutuallyExclusiveGroup. by @kschwab in https://github.com/pydantic/pydantic-settings/pull/473
- Disable abbreviations on internal parser. by @kschwab in https://github.com/pydantic/pydantic-settings/pull/477
- Fix Secret field parsing by @hramezani in https://github.com/pydantic/pydantic-settings/pull/478
- Fix alias resolution to use preferred key. by @kschwab in https://github.com/pydantic/pydantic-settings/pull/481
- Strip annotated when getting submodels during CLI parsing. by @kschwab in https://github.com/pydantic/pydantic-settings/pull/490
- Removing return type from the function in test by @hramezani in https://github.com/pydantic/pydantic-settings/pull/491
- Relax default protected_namespaces by @hramezani in https://github.com/pydantic/pydantic-settings/pull/483
- Add support for CLI kebab case flag. by @kschwab in https://github.com/pydantic/pydantic-settings/pull/489
- Change reference of default values validation in documentation by @Viicos in https://github.com/pydantic/pydantic-settings/pull/496
- Improve field value parsing by adding
NoDecodeandForceDecodeannotations by @hramezani in https://github.com/pydantic/pydantic-settings/pull/492 - Fix attribute error on Python 3.9 with typing.Sequence by @hramezani in https://github.com/pydantic/pydantic-settings/pull/497
- Prepare release 2.7.0 by @hramezani in https://github.com/pydantic/pydantic-settings/pull/499
New Contributors
- @CyberTailor made their first contribution in https://github.com/pydantic/pydantic-settings/pull/462
- @dlax made their first contribution in https://github.com/pydantic/pydantic-settings/pull/465
Full Changelog: https://github.com/pydantic/pydantic-settings/compare/v2.6.1...v2.7.0
v2.6.1
What's Changed
- Add Python 3.13 support by @hramezani in https://github.com/pydantic/pydantic-settings/pull/450
- Fixes #452 - Adding support for populate_by_name by @hozn in https://github.com/pydantic/pydantic-settings/pull/454
- Refactor path_type_label by @aberenda-optifino in https://github.com/pydantic/pydantic-settings/pull/458
- Revert "Fix context not passed to field validators bug (#417)" by @hramezani in https://github.com/pydantic/pydantic-settings/pull/459
New Contributors
- @hozn made their first contribution in https://github.com/pydantic/pydantic-settings/pull/454
- @aberenda-optifino made their first contribution in https://github.com/pydantic/pydantic-settings/pull/458
Full Changelog: https://github.com/pydantic/pydantic-settings/compare/v2.6.0...v2.6.1
v2.6.0
What's Changed
- Fix nested model field with alias parsing by @hramezani in https://github.com/pydantic/pydantic-settings/pull/400
- Fix PathType typing in case of sequence by @just-maiyak in https://github.com/pydantic/pydantic-settings/pull/402
- Add
cli_ignore_unknown_argsconfig option. by @kschwab in https://github.com/pydantic/pydantic-settings/pull/405 - Fix AzureKeyVaultSettingsSource problem in case of field with underscore by @hramezani in https://github.com/pydantic/pydantic-settings/pull/415
- Add
cli_flag_prefix_charconfig option. by @kschwab in https://github.com/pydantic/pydantic-settings/pull/418 - Fix nested model AliasChoices in validation alias by @hramezani in https://github.com/pydantic/pydantic-settings/pull/411
- Add CLI App Support by @kschwab in https://github.com/pydantic/pydantic-settings/pull/389
- Fix context not passed to field validators bug by @hramezani in https://github.com/pydantic/pydantic-settings/pull/417
- Fix a regression in dotenv optional nested field by @hramezani in https://github.com/pydantic/pydantic-settings/pull/423
- Put tests for non-default sources in separate files by @makukha in https://github.com/pydantic/pydantic-settings/pull/429
- Update nested model partial update docs example. by @kschwab in https://github.com/pydantic/pydantic-settings/pull/433
- Add support for suppressing fields from CLI help. by @kschwab in https://github.com/pydantic/pydantic-settings/pull/436
- Fix bug in dotenv source when there is env with and without prefix by @hramezani in https://github.com/pydantic/pydantic-settings/pull/440
- Prepare release 2.6.0 by @hramezani in https://github.com/pydantic/pydantic-settings/pull/444
New Contributors
- @just-maiyak made their first contribution in https://github.com/pydantic/pydantic-settings/pull/402
Full Changelog: https://github.com/pydantic/pydantic-settings/compare/v2.5.2...v2.6.0
v2.5.2
What's Changed
- Second fix for the TypeError bug introduced in 2.5 by @hramezani in https://github.com/pydantic/pydantic-settings/pull/396
Full Changelog: https://github.com/pydantic/pydantic-settings/compare/v2.5.1...v2.5.2
v2.5.1
What's Changed
- Fix TypeError introduced in 2.5 by @hramezani in https://github.com/pydantic/pydantic-settings/pull/392
Full Changelog: https://github.com/pydantic/pydantic-settings/compare/v2.5.0...v2.5.1
v2.5.0
What's Changed
- Fix a bug in nested vanila dataclass by @hramezani in https://github.com/pydantic/pydantic-settings/pull/357
- CLI Improve Docstring Help Text by @kschwab in https://github.com/pydantic/pydantic-settings/pull/359
- Cli fix default or none object help text by @kschwab in https://github.com/pydantic/pydantic-settings/pull/364
- Determine RootModel complexity from root type by @user1584 in https://github.com/pydantic/pydantic-settings/pull/344
- Add CLI bool flags by @kschwab in https://github.com/pydantic/pydantic-settings/pull/365
- CLI arg list whitespaces fix. by @kschwab in https://github.com/pydantic/pydantic-settings/pull/369
- Add
nested_model_default_partial_updateflag andDefaultSettingsSourceby @kschwab in https://github.com/pydantic/pydantic-settings/pull/348 - Parse enum fixes. by @kschwab in https://github.com/pydantic/pydantic-settings/pull/367
- Fixes CLI help text for function types by @kschwab in https://github.com/pydantic/pydantic-settings/pull/370
- Add get_subcommand function. by @kschwab in https://github.com/pydantic/pydantic-settings/pull/341
- Cli prefix validation alias fix by @kschwab in https://github.com/pydantic/pydantic-settings/pull/375
- CLI ignore external parser list fix by @kschwab in https://github.com/pydantic/pydantic-settings/pull/379
- Enable multiple secrets dirs by @makukha in https://github.com/pydantic/pydantic-settings/pull/372
- Add CLI subcommand union and alias support by @kschwab in https://github.com/pydantic/pydantic-settings/pull/380
- Fix dotenv settings source problem in handling extra variables with same prefix in name by @hramezani in https://github.com/pydantic/pydantic-settings/pull/386
New Contributors
- @user1584 made their first contribution in https://github.com/pydantic/pydantic-settings/pull/344
- @makukha made their first contribution in https://github.com/pydantic/pydantic-settings/pull/372
Full Changelog: https://github.com/pydantic/pydantic-settings/compare/v2.4.0...v2.5.0
v2.4.0
What's Changed
- Fix regex flags accidentally passed as count by @musicinmybrain in https://github.com/pydantic/pydantic-settings/pull/328
- Deprecate
read_env_fileand move it toDotEnvSettingsSourceby @WarpedPixel in https://github.com/pydantic/pydantic-settings/pull/318 - Fix a bug when loading empty yaml file by @hramezani in https://github.com/pydantic/pydantic-settings/pull/330
- feat: Enable access to the current state in settings sources by @VictorColomb in https://github.com/pydantic/pydantic-settings/pull/326
- Add support for short options. by @kschwab in https://github.com/pydantic/pydantic-settings/pull/339
- Add Azure Key Vault settings source by @AndreuCodina in https://github.com/pydantic/pydantic-settings/pull/272
- Add cli_exit_on_error config option by @kschwab in https://github.com/pydantic/pydantic-settings/pull/340
New Contributors
- @musicinmybrain made their first contribution in https://github.com/pydantic/pydantic-settings/pull/328
- @WarpedPixel made their first contribution in https://github.com/pydantic/pydantic-settings/pull/318
- @VictorColomb made their first contribution in https://github.com/pydantic/pydantic-settings/pull/326
- @AndreuCodina made their first contribution in https://github.com/pydantic/pydantic-settings/pull/272
Full Changelog: https://github.com/pydantic/pydantic-settings/compare/v2.3.4...v2.4.0
python-poetry/poetry (python-poetry/poetry)
v1.8.5
Changed
- Require
pkginfo>=1.12to fix an issue with an unknown metadata version 2.4 (#9888). - Do not fail if the unknown metadata version is only a minor version update (#9888).
v1.8.4
Added
- Add official support for Python 3.13 (#9523).
Changed
- Require
virtualenv>=20.26.6to mitigate potential command injection when runningpoetry shellin untrusted projects (#9757).
poetry-core (1.9.1)
- Add
3.13to the list of available Python versions (#747).
v1.8.3
Added
- Add support for untagged CPython builds with versions ending with a
+(#9207).
Changed
- Require
pkginfo>=1.10to ensure support for packages with metadata version 2.3 (#9130). - Improve locking on FIPS systems (#9152).
Fixed
- Fix an issue where unrecognized package metadata versions silently resulted in empty dependencies (#9203, #9226).
- Fix an issue where trailing slashes in git URLs where not handled correctly (#9205).
- Fix an issue where
poetry selfcommands printed a warning that the current project cannot be installed (#9302). - Fix an issue where
poetry installsporadically failed with aKeyErrordue to a race condition (#9335).
Docs
- Fix incorrect information about
poetry shell(#9060). - Add a git subdirectory example to
poetry add(#9080). - Mention interactive credential configuration (#9074).
- Add notes for optional advanced installation steps (#9098).
- Add reference to configuration credentials in documentation of poetry
publish(#9110). - Improve documentation for configuring credentials via environment variables (#9121).
- Remove misleading wording around virtual environments (#9213).
- Remove outdated advice regarding seeding keyring backends (#9164).
- Add a
pyproject.tomlexample for a dependency with multiple extras (#9138). - Clarify help of
poetry add(#9230). - Add a note how to configure credentials for TestPyPI for
poetry publish(#9255). - Fix information about the
--readmeoption inpoetry new(#9260). - Clarify what is special about the Python constraint in
dependencies(#9256). - Update how to uninstall plugins via
pipx(#9320).
uis/devops/continuous-delivery/ci-templates (uis/devops/continuous-delivery/ci-templates)
v7.23.1: 7.23.1
7.23.1 (2025-12-05)
v7.23.0: 7.23.0
7.23.0 (2025-11-28)
Features
- tox-tests to use dind config from fragments (c765400)
v7.22.1: 7.22.1
7.22.1 (2025-11-25)
Bug Fixes
- add missing before_script reference to dind in .terraform-test-cleanup (2852ccd)
v7.22.0: 7.22.0
7.22.0 (2025-11-24)
Features
v7.21.0: 7.21.0
7.21.0 (2025-11-19)
Features
Kludex/uvicorn (uvicorn)
v0.38.0: Version 0.38.0
What's Changed
New Contributors
- @NGANAMODEIJunior made their first contribution in #2713
Full Changelog: https://github.com/Kludex/uvicorn/compare/0.37.0...0.38.0
v0.37.0: Version 0.37.0
What's Changed
- Add
--timeout-worker-healthchecksetting by @Kludex in #2711 - Add
os.PathLike[str]type tossl_ca_certsby @rnv812 in #2676
New Contributors
- @LincolnPuzey made their first contribution in #2669
- @rnv812 made their first contribution in #2676
Full Changelog: https://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0
v0.36.1: Version 0.36.1
What's Changed
Full Changelog: https://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1
v0.36.0: Version 0.36.0
Added
- Support custom IOLOOPs by @gnir-work in #2435
- Allow to provide importable string in
--http,--wsand--loopby @Kludex in #2658
New Contributors
- @gnir-work made their first contribution in #2435
- @musicinmybrain made their first contribution in #2659
- @secrett2633 made their first contribution in #2684
Full Changelog: https://github.com/Kludex/uvicorn/compare/0.35.0...0.36.0
v0.35.0: Version 0.35.0
Added
- Add
WebSocketsSansIOProtocolby @Kludex in encode#2540
Changed
- Refine help message for option
--proxy-headersby @zhangyoufu in encode#2653
New Contributors
- @zhangyoufu made their first contribution in encode#2653
Full Changelog: https://github.com/encode/uvicorn/compare/0.34.3...0.35.0
v0.34.3: Version 0.34.3
What's Changed
- Don't include
cwd()when non-empty--reload-dirsis passed by @stinovlas in encode#2598 - Apply
get_client_addrformatting to WebSocket logging by @Harry-Lees in encode#2636 - chore: improve type hints by @waketzheng in encode#2638
New Contributors
- @stinovlas made their first contribution in encode#2598
- @LifeLex made their first contribution in encode#2621
- @Harry-Lees made their first contribution in encode#2636
- @waketzheng made their first contribution in encode#2638
Full Changelog: https://github.com/encode/uvicorn/compare/0.34.2...0.34.3
v0.34.2: Version 0.34.2
What's Changed
- Flush the stdout buffer on Windows to trigger reload by @jamesh1999 in encode#2604
New Contributors
- @jamesh1999 made their first contribution in encode#2604
Full Changelog: https://github.com/encode/uvicorn/compare/0.34.1...0.34.2
v0.34.1: Version 0.34.1
What's Changed
- Deprecate
ServerStatein the main module by @Kludex in encode#2581
New Contributors
- @RakhimovRamis made their first contribution in encode#2567
- @carlwgeorge made their first contribution in encode#2590
Full Changelog: https://github.com/encode/uvicorn/compare/0.34.0...0.34.1
v0.34.0: Version 0.34.0
What's Changed
- Add
content-lengthto 500 response in wsproto by @Kludex in encode#2542 - Drop Python 3.8 by @Kludex in encode#2543
Full Changelog: https://github.com/encode/uvicorn/compare/0.33.0...0.34.0
v0.33.0: Version 0.33.0
What's Changed
- Remove WatchGod by @Kludex in encode#2536
New Contributors
- @bwells made their first contribution in encode#2491
- @tback made their first contribution in encode#2528
Full Changelog: https://github.com/encode/uvicorn/compare/0.32.1...0.33.0
v0.32.1: Version 0.32.1
What's Changed
- Enable httptools lenient data by @vvanglro in encode#2488
- Drop ASGI spec version to 2.3 on HTTP scope by @Kludex in encode#2513
Full Changelog: https://github.com/encode/uvicorn/compare/0.32.0...0.32.1
v0.32.0: Version 0.32.0
Added
Full Changelog: https://github.com/encode/uvicorn/compare/0.31.1...0.32.0
v0.31.1: Version 0.31.1
Fixed
- Support WebSockets 0.13.1 #2471
- Restore support for
[*]in trusted hosts #2480 - Add
PathLike[str]type hint forssl_keyfile#2481
Full Changelog: https://github.com/encode/uvicorn/compare/0.31.0...0.31.1
v0.31.0: Version 0.31.0
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
v0.30.6: Version 0.30.6
Fixed
- Don't warn when upgrade is not WebSocket and depedencies are installed (#2360)
Full Changelog: https://github.com/encode/uvicorn/compare/0.30.5...0.30.6
v0.30.5: Version 0.30.5
Fixed
- Don't close connection before receiving body on H11 (#2408)
Full Changelog: https://github.com/encode/uvicorn/compare/0.30.4...0.30.5
v0.30.4: Version 0.30.4
Fixed
- Close connection when
h11sets client state toMUST_CLOSE#2375
Full Changelog: https://github.com/encode/uvicorn/compare/0.30.3...0.30.4
v0.30.3: Version 0.30.3
Fixed
- Suppress
KeyboardInterruptfrom CLI and programmatic usage (#2384) -
ClientDisconnectinherits fromOSErrorinstead ofIOError(#2393)
Full Changelog: https://github.com/encode/uvicorn/compare/0.30.2...0.30.3
v0.30.2: Version 0.30.2
Added
- Add
reasonsupport towebsocket.disconnectevent (#2324)
Fixed
- Iterate subprocesses in-place on the process manager (#2373)
Full Changelog: https://github.com/encode/uvicorn/compare/0.30.1...0.30.2
v0.30.1: Version 0.30.1
Fixed
- Allow horizontal tabs
\tin response header values (#2345)
Full Changelog: https://github.com/encode/uvicorn/compare/0.30.0...0.30.1
v0.30.0: Version 0.30.0
Added
Fixed
Deprecated
- Deprecate the
uvicorn.workersmodule (#2302)
Full Changelog: https://github.com/encode/uvicorn/compare/0.29.0...0.30.0
Configuration
📅 Schedule: Branch creation - Monday through Friday ( * * * * 1-5 ) in timezone Europe/London, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This MR will be recreated if closed unmerged. Get config help if that's undesired.
- [ ] If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.