JSCU-CNI
f5af2913a0
✨ Support for mixed and multiple Pydantic models for parameters using Query, Cookie and Header
...
From #12199 onwards, Pydantic models are supported for query, cookie and
header parameters. When one parameter is present, the model is flattened
in the OpenAPI spec, but when multiple are defined, they aren't.
This is confusing, and results in a confusing OpenAPI spec. Since these
arguments are used in flattened form anyway, it makes more sense to
flatten all of them.
2025-10-28 14:06:55 +01:00
Sofie Van Landeghem
d8c691f7f0
🐛 Fix internal Pydantic v1 compatibility (warnings) for Python 3.14 and Pydantic 2.12.1 ( #14186 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-10-20 13:26:49 +02:00
Sebastián Ramírez
d34918abf0
✨ Add support for `from pydantic.v1 import BaseModel`, mixed Pydantic v1 and v2 models in the same app ( #14168 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-10-11 18:45:54 +02:00
Sofie Van Landeghem
3611c3fc5b
⬆️ Add support for Python 3.14 ( #14165 )
2025-10-10 11:44:39 +02:00
François Voron
185cecd891
🐛 Fix tagged discriminated union not recognized as body field ( #12942 )
...
Co-authored-by: Motov Yurii <109919500+YuriiMotov@users.noreply.github.com>
Co-authored-by: Patrick Arminio <patrick.arminio@gmail.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-10-08 14:48:30 +00:00
Colin Watson
c970d8a735
👽 ️ Ensure compatibility with Pydantic 2.12.0 ( #14036 )
...
Co-authored-by: Sofie Van Landeghem <svlandeg@users.noreply.github.com>
Co-authored-by: Victorien <65306057+Viicos@users.noreply.github.com>
Co-authored-by: svlandeg <svlandeg@github.com>
Co-authored-by: Motov Yurii <109919500+YuriiMotov@users.noreply.github.com>
Co-authored-by: Patrick Arminio <patrick.arminio@gmail.com>
2025-10-08 10:57:37 +02:00
Sebastián Ramírez
e329d78f86
🐛 Fix support for `StreamingResponse`s with dependencies with `yield` or `UploadFile`s, close after the response is done ( #14099 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-09-29 05:29:38 +02:00
Thomas LÉVEIL
44fc67632b
🐛 Fix validation error when `File` is declared after `Form` parameter ( #11194 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-09-20 21:55:59 +02:00
vvanglro
f1e6f978ce
⚡ ️ Fix `default_factory` for response model field with Pydantic V1 ( #9704 )
...
Co-authored-by: Motov Yurii <109919500+YuriiMotov@users.noreply.github.com>
2025-09-20 20:51:40 +02:00
Robert Hofer
b51ec36f2e
✨ Allow `None` as return type for bodiless responses ( #9425 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-09-20 18:44:43 +00:00
Max McLennan
86e515784d
🐛 Fix inconsistent processing of model docstring formfeed char with Pydantic V1 ( #6039 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Yurii Motov <yurii.motov.monte@gmail.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-09-20 20:10:37 +02:00
Salim Aboubacar
2dc769b121
🐛 Fix `jsonable_encoder` alters `json_encoders` of Pydantic v1 objects ( #4972 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
Co-authored-by: Yurii Motov <yurii.motov.monte@gmail.com>
2025-09-20 19:57:18 +02:00
sammasak
8ede27223e
✨ Allow array values for OpenAPI schema `type` field ( #13639 )
...
Co-authored-by: Lukas Rajala <lukas.rajala@klarna.com>
Co-authored-by: dlax <denis@laxalde.org>
Co-authored-by: Motov Yurii <109919500+YuriiMotov@users.noreply.github.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-09-20 17:47:24 +00:00
rmawatson
9ac56c70f2
🐛 Reenable `allow_arbitrary_types` when only 1 argument is used on the API endpoint ( #13694 )
...
Co-authored-by: Sofie Van Landeghem <svlandeg@users.noreply.github.com>
Co-authored-by: Motov Yurii <109919500+YuriiMotov@users.noreply.github.com>
2025-09-20 19:25:53 +02:00
Carlos Mario Toro
bc5013cd56
✨ Add OpenAPI `external_docs` parameter to `FastAPI` ( #13713 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Motov Yurii <109919500+YuriiMotov@users.noreply.github.com>
2025-09-20 19:11:46 +02:00
Amogha Rao
5fef4d199b
✅ Enable test case for duplicated headers in `test_tutorial/test_header_params/test_tutorial003.py` ( #13864 )
...
Co-authored-by: amogha-rao <amogha.rao@cloudera.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-09-20 18:57:53 +02:00
山崎ヒカル
11d424c3dc
✅ Simplify tests for response_model ( #14062 )
2025-09-20 18:26:21 +02:00
Ben Beasley
7563579dc8
⬆️ Upgrade Starlette supported version range to >=0.40.0,<0.49.0 ( #14077 )
...
Co-authored-by: svlandeg <svlandeg@github.com>
2025-09-16 19:21:48 +02:00
Sebastián Ramírez
f5b77ff0fc
📝 Add documentation for Behind a Proxy - Proxy Forwarded Headers, using `--forwarded-allow-ips="*"` ( #14028 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-08-31 21:34:08 +02:00
z0z0r4
d4ddcc5878
📝 Update testing events documentation ( #13259 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Motov Yurii <109919500+YuriiMotov@users.noreply.github.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-08-31 10:29:21 +00:00
Chih-Hsuan Yen
54c7c34b25
⬆ Update httpx requirement to >=0.23.0,<0.29.0 ( #13114 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-07-26 12:49:23 +02:00
Patrick Arminio
9d0d8828cc
🐛 Fix support for unions when using `Form` ( #13827 )
2025-06-26 17:22:53 +02:00
oogee
30b9dfb11c
🚸 Set format to password for fields `password` and `client_secret` in `OAuth2PasswordRequestForm`, make docs show password fields for passwords ( #11032 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-06-17 12:41:59 +02:00
Valentyn
85a2eed888
✅ Simplify tests for `settings` ( #13505 )
...
Co-authored-by: Valentyn Druzhynin <v.druzhynin@zakaz.global>
2025-06-17 12:25:20 +02:00
Valentyn
da4605b039
✅ Simplify tests for `validate_response_recursive` ( #13507 )
...
Co-authored-by: Valentyn Druzhynin <v.druzhynin@zakaz.global>
2025-06-17 12:24:10 +02:00
Motov Yurii
535d5b3f9f
🐛 Fix truncating the model's description with form feed (`\f`) character for Pydantic V2 ( #13698 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-06-17 09:46:27 +02:00
Joakim Nordling
8fa56b46a1
⬆️ Update ReDoc to version 2.x ( #9700 )
...
Co-authored-by: svlandeg <svlandeg@github.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
Co-authored-by: Sofie Van Landeghem <svlandeg@users.noreply.github.com>
2025-04-28 20:31:44 +02:00
Frank Hoffmann
ea42ebda80
✅ Use `inline-snapshot` to support different Pydantic versions in the test suite ( #12534 )
...
Co-authored-by: svlandeg <svlandeg@github.com>
Co-authored-by: Sofie Van Landeghem <svlandeg@users.noreply.github.com>
2025-04-28 09:13:56 +02:00
Sebastián Ramírez
2537d9d1c2
🐛 Fix `convert_underscores=False` for header Pydantic models ( #13515 )
2025-03-23 21:48:54 +01:00
dependabot[bot]
8c94e97c89
⬆ Bump ruff to 0.9.4 ( #13299 )
...
* ⬆ Bump ruff from 0.6.4 to 0.9.4
Bumps [ruff](https://github.com/astral-sh/ruff ) from 0.6.4 to 0.9.4.
- [Release notes](https://github.com/astral-sh/ruff/releases )
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md )
- [Commits](https://github.com/astral-sh/ruff/compare/0.6.4...0.9.4 )
---
updated-dependencies:
- dependency-name: ruff
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* update pre-commit accordingly and make formatting changes
* 🎨 [pre-commit.ci] Auto format from pre-commit.com hooks
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alejandra <90076947+alejsdev@users.noreply.github.com>
Co-authored-by: svlandeg <sofie.vanlandeghem@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-03-06 13:18:57 +01:00
Sebastián Ramírez
74fe89bf35
🐛 Add docs examples and tests (support) for `Annotated` custom validations, like `AfterValidator`, revert #13440 ( #13442 )
...
This reverts commit 15dd2b67d3 .
2025-03-01 22:02:35 +00:00
Victorien
15dd2b67d3
♻️ Update internal annotation usage for compatibilty with Pydantic 2.11 ( #13314 )
...
Co-authored-by: Sofie Van Landeghem <svlandeg@users.noreply.github.com>
Co-authored-by: svlandeg <svlandeg@github.com>
2025-02-28 16:15:02 +01:00
alv2017
7eabff43de
✅ Fix a minor bug in the test `tests/test_modules_same_name_body/test_main.py` ( #13411 )
2025-02-27 15:42:41 +01:00
Arthur Rio
ccc7c8fef9
🐛 Ensure that `HTTPDigest` only raises an exception when `auto_error is True` ( #2939 )
...
Co-authored-by: svlandeg <sofie.vanlandeghem@gmail.com>
2025-02-27 13:29:20 +01:00
Hyogeun Oh (오효근)
e157cf4b96
🐛 Fix issue with Swagger theme change example in the official tutorial ( #13289 )
2025-02-18 17:52:15 +01:00
alv2017
5451d05bc8
✅ Simplify tests for `query_params_str_validations` ( #13218 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Alejandra <90076947+alejsdev@users.noreply.github.com>
2025-02-15 17:31:57 +01:00
alv2017
f6872dd298
✅ Simplify tests for `app_testing` ( #13220 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Alejandra <90076947+alejsdev@users.noreply.github.com>
2025-02-15 15:42:41 +01:00
alv2017
1e6d95ce6d
✅ Simplify tests for `dependency_testing` ( #13223 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Alejandra <90076947+alejsdev@users.noreply.github.com>
2025-02-15 14:37:48 +00:00
Rahul Pai
d5ecbaceae
🐛 Fix `OAuth2PasswordRequestForm` and `OAuth2PasswordRequestFormStrict` fixed `grant_type` "password" RegEx ( #9783 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Alejandra <90076947+alejsdev@users.noreply.github.com>
Co-authored-by: Sofie Van Landeghem <svlandeg@users.noreply.github.com>
Co-authored-by: svlandeg <svlandeg@github.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-01-30 12:17:09 +00:00
Alejandra
c5b5af7c53
✅ Simplify tests for request_files ( #13182 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-30 12:04:34 +00:00
Alejandra
280fe73c03
✅ Simplify tests for websockets ( #13202 )
2025-01-19 22:40:39 +00:00
Alejandra
182c28e57a
✅ Simplify tests for request_form_models ( #13183 )
...
Co-authored-by: Sofie Van Landeghem <svlandeg@users.noreply.github.com>
2025-01-19 22:39:18 +00:00
Alejandra
39698df806
✅ Simplify tests for separate_openapi_schemas ( #13201 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-19 22:36:49 +00:00
Alejandra
2007993433
✅ Simplify tests for security ( #13200 )
2025-01-19 22:35:40 +00:00
Alejandra
3e12918325
✅ Simplify tests for schema_extra_example ( #13197 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-19 22:30:50 +00:00
Alejandra
081901cc99
✅ Simplify tests for request_model ( #13195 )
2025-01-19 06:57:50 +00:00
Alejandra
d309c9e140
✅ Simplify tests for request_forms_and_files ( #13185 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-19 06:43:21 +00:00
Alejandra
c7d888a15f
✅ Simplify tests for request_forms ( #13184 )
2025-01-19 06:42:25 +00:00
Alejandra
09ccfce228
✅ Simplify tests for path_query_params ( #13181 )
2025-01-19 06:34:48 +00:00
Alejandra
2e8db846b4
✅ Simplify tests for path_operation_configurations ( #13180 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-19 06:33:10 +00:00