Commit Graph

414 Commits

Author SHA1 Message Date
Yurii Motov b6a6976d68 Merge remote-tracking branch 'upstream/master' into issue-13399_dont-prefill-form 2025-12-02 08:28:21 +01:00
Motov Yurii de5bec637c
🐛 Fix parsing extra non-body parameter list (#14356)
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-12-02 05:57:19 +01:00
Motov Yurii 6cf40df24d
🐛 Fix parsing extra `Form` parameter list (#14303)
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-12-02 05:49:32 +01:00
ad hoc d68c066246
🐛 Fix support for form values with empty strings interpreted as missing (`None` if that's the default), for compatibility with HTML forms (#13537)
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: Yurii Motov <yurii.motov.monte@gmail.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-12-02 05:39:55 +01:00
Sofie Van Landeghem 8f99a2b734
🐛 Avoid accessing non-existing "$ref" key for Pydantic v2 compat remapping (#14361)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-12-02 05:04:13 +01:00
Hemanth U bf322d0e94
🐛 Fix Windows UnicodeEncodeError in CLI test (#14295)
Co-authored-by: Sofie Van Landeghem <svlandeg@users.noreply.github.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-12-02 04:02:38 +00:00
Kent Huang 20f40b29c0
🐛 Fix `TypeError` when encoding a decimal with a `NaN` or `Infinity` value (#12935)
Signed-off-by: Kent Huang <kent@infuseai.io>
2025-12-02 04:31:59 +01:00
Sebastián Ramírez 7fbd30460f
🐛 Cache dependencies that don't use scopes and don't have sub-dependencies with scopes (#14419)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-30 15:45:49 +01:00
Kristján Valur Jónsson 378ad688b7
🐛 Fix hierarchical security scope propagation (#5624)
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
Co-authored-by: Motov Yurii <109919500+YuriiMotov@users.noreply.github.com>
Co-authored-by: svlandeg <svlandeg@github.com>
Co-authored-by: Sofie Van Landeghem <svlandeg@users.noreply.github.com>
2025-11-30 12:57:01 +01:00
Motov Yurii 51ad909ffe
🐛 Use `401` status code in security classes when credentials are missing (#13786)
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-11-24 20:03:06 +01:00
Sebastián Ramírez 85701631a0
♻️ Make the result of `Depends()` and `Security()` hashable, as a workaround for other tools interacting with these internal parts (#14372) 2025-11-19 17:50:18 +01:00
Edge-Seven df83eb7278
📝 Fix typos in code comments (#14364)
Fix typos in some files

Co-authored-by: khanhkhanhlele <namkhanh20xx@gmail.com>
2025-11-18 09:30:20 +01:00
Sebastián Ramírez 5d40dfbc9b
🐛 Fix handling of JSON Schema attributes named "$ref" (#14349) 2025-11-13 14:59:07 +01:00
luzzodev 282f372eda
🐛 Fix `Depends(func, scope='function')` for top level (parameterless) dependencies (#14301) 2025-11-08 22:43:30 +01:00
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
Yurii Motov fb17bbd074 Fix test - use default value instead of `default_factory` 2025-11-02 15:33:14 +01:00
Yurii Motov 4c68df1804 Update tests 2025-11-02 09:52:50 +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
Yurii Motov 2f4404d7ac Merge remote-tracking branch 'upstream/master' into issue-13399_dont-prefill-form 2025-10-31 12:22:32 +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
sneakers-the-rat 978351dbe6 Squashed commit of the following:
commit 1b8d0d73f8
Author: sneakers-the-rat <sneakers-the-rat@protonmail.com>
Date:   Wed Aug 20 03:24:25 2025 -0700

    ok but seriously

commit d3ccab4948
Author: sneakers-the-rat <sneakers-the-rat@protonmail.com>
Date:   Tue Aug 19 23:38:25 2025 -0700

    rm being able to determine the input format of a model

commit fec0a068ed
Merge: 3f2e0f57 cad08bbc
Author: sneakers-the-rat <sneakers-the-rat@protonmail.com>
Date:   Mon Apr 14 20:03:14 2025 -0700

    Merge branch 'form-defaults' of https://github.com/sneakers-the-rat/fastapi into form-defaults

commit 3f2e0f572f
Author: sneakers-the-rat <sneakers-the-rat@protonmail.com>
Date:   Mon Apr 14 20:01:50 2025 -0700

    lint

commit cad08bbc4d
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Apr 15 02:47:42 2025 +0000

    🎨 [pre-commit.ci] Auto format from pre-commit.com hooks

commit f63e983b60
Author: sneakers-the-rat <sneakers-the-rat@protonmail.com>
Date:   Mon Apr 14 19:46:34 2025 -0700

    docs for handling default values, pass field to validation context

commit 529d486a7b
Merge: a9acab81 159824ea
Author: sneakers-the-rat <sneakers-the-rat@protonmail.com>
Date:   Sat Mar 8 17:45:40 2025 -0800

    Merge branch 'form-defaults' of https://github.com/sneakers-the-rat/fastapi into form-defaults

commit a9acab81c4
Author: sneakers-the-rat <sneakers-the-rat@protonmail.com>
Date:   Sat Mar 8 17:42:38 2025 -0800

    lint

commit 159824ea93
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Sun Mar 9 01:42:31 2025 +0000

    🎨 [pre-commit.ci] Auto format from pre-commit.com hooks

commit e76184380d
Author: sneakers-the-rat <sneakers-the-rat@protonmail.com>
Date:   Sat Mar 8 17:42:21 2025 -0800

    pydantic v1 compat

commit 64f25284e8
Author: sneakers-the-rat <sneakers-the-rat@protonmail.com>
Date:   Sat Mar 8 17:38:03 2025 -0800

    fix handling form data with fields that are not annotated as Form()

commit 7fade13ac8
Author: sneakers-the-rat <sneakers-the-rat@protonmail.com>
Date:   Sat Mar 8 17:37:32 2025 -0800

    fix just the extra values problem (again, purposefully with failing tests to demonstrate the problem, fixing in next commit)

commit 49f6b8397d
Author: sneakers-the-rat <sneakers-the-rat@protonmail.com>
Date:   Sat Mar 8 17:36:03 2025 -0800

    add failing tests for empty input values to get a CI run baseline for them

commit 15eb6782dc
Author: sneakers-the-rat <sneakers-the-rat@protonmail.com>
Date:   Thu Mar 6 19:35:53 2025 -0800

    mypy lint

commit 1a58af44df
Author: sneakers-the-rat <sneakers-the-rat@protonmail.com>
Date:   Thu Mar 6 19:31:28 2025 -0800

    finish pydantic 1 compat

commit a2ad8b187f
Author: sneakers-the-rat <sneakers-the-rat@protonmail.com>
Date:   Thu Mar 6 19:22:11 2025 -0800

    python 3.8 and pydantic 1 compat

commit 76c4d317fd
Author: sneakers-the-rat <sneakers-the-rat@protonmail.com>
Date:   Thu Mar 6 19:06:44 2025 -0800

    don't prefill defaults in form input
2025-10-30 17:34:43 +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 `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