396 Commits

Author SHA1 Message Date
Sebastián Ramírez ac438b9934 ✨ Add support for dependencies with scopes, support scope="request" for dependencies with yield that exit before the response is sent (#14262)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-11-03 11:12:49 +01:00
Motov Yurii 496de1816a 🐛 Fix security schemes in OpenAPI when added at the top level app (#14266)
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-10-31 19:34:30 +01:00
Sebastián Ramírez dcfb8b9dda ♻️ Reduce internal cyclic recursion in dependencies, from 2 functions calling each other to 1 calling itself (#14256) 2025-10-30 20:35:04 +01:00
Sebastián Ramírez c144f9fbd3 ♻️ Refactor internals of dependencies, simplify using dataclasses (#14254) 2025-10-30 05:51:50 +01:00
Sebastián Ramírez 6a657f360d 🐛 Fix separation of schemas with nested models introduced in 0.119.0 (#14246) 2025-10-29 14:09:30 +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 StreamingResponses with dependencies with yield or UploadFiles, 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