Yurii Motov
c3eca6b05c
Add tests with sync dependency
2025-12-08 16:33:30 +01:00
Motov Yurii
8365c8345c
Merge branch 'master' into solve-dependencies-generator-didnt-yield
2025-12-08 16:21:51 +01:00
Savannah Ostrowski
e1117f7550
🚸 Improve tracebacks by adding endpoint metadata ( #14306 )
...
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-06 12:21:57 +00:00
Motov Yurii
da0ffab0b2
🐛 Fix using class (not instance) dependency that has `__call__` method ( #14458 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-12-05 21:21:05 +00:00
Motov Yurii
812a1926f0
🐛 Fix `separate_input_output_schemas=False` with `computed_field` ( #14453 )
2025-12-05 21:19:30 +01:00
Sebastián Ramírez
0b5fa563cd
🐛 Fix OAuth2 scopes in OpenAPI in extra corner cases, parent dependency with scopes, sub-dependency security scheme without scopes ( #14459 )
2025-12-04 23:22:01 +01:00
Sebastián Ramírez
0ec4bafca2
🐛 Fix OpenAPI security scheme OAuth2 scopes declaration, deduplicate security schemes with different scopes ( #14455 )
2025-12-04 13:59:24 +01:00
chaen
861598b4e3
🐛 Fix evaluating stringified annotations in Python 3.10 ( #11355 )
...
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-12-04 09:18:32 +01:00
Sebastián Ramírez
bba4d4c95e
🐛 Fix support for functools wraps and partial combined, for async and regular functions and classes in path operations and dependencies ( #14448 )
...
Co-authored-by: Yurii Motov <yurii.motov.monte@gmail.com>
2025-12-04 08:29:28 +01:00
Lie Ryan
9824486616
✨ Allow using dependables with `functools.partial()` ( #9753 )
...
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 20:58:30 +00:00
[object Object]
1c1e584abd
✨ Add support for wrapped functions (e.g. `@functools.wraps()`) used with forward references ( #5077 )
...
Co-authored-by: Yurii Karabas <1998uriyyo@gmail.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-12-02 18:23:14 +01:00
Victorien
80d69ae0bb
🐛 Fix optional sequence handling with new union syntax from Python 3.10 ( #14430 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-12-02 16:59:38 +00:00
Matthew Martin
73c411e1b9
✨ Handle wrapped dependencies ( #9555 )
...
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 14:34:19 +01:00
Vincent Grafé
f95a174288
🐛 Fix OpenAPI schema support for computed fields when using `separate_input_output_schemas=False` ( #13207 )
...
Co-authored-by: Sofie Van Landeghem <svlandeg@users.noreply.github.com>
Co-authored-by: svlandeg <svlandeg@github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: svlandeg <sofie.vanlandeghem@gmail.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-12-02 09:22:08 +00:00
Motov Yurii
015b4fae9c
🐛 Fix Query\Header\Cookie parameter model alias ( #14360 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-12-02 07:24:09 +00:00
Motov Yurii
0f613d9051
🐛 Fix optional sequence handling in `serialize sequence value` with Pydantic V2 ( #14297 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-12-02 08:10:27 +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
Jeremy Epstein
04eb1fb6d7
Merge branch 'fastapi:master' into solve-dependencies-generator-didnt-yield
2025-11-25 09:51:18 +11:00
Jeremy Epstein
f4767e4854
single app object
2025-11-25 09:50:14 +11:00
Jeremy Epstein
1ea1ff58be
more neutral text
...
Co-authored-by: Motov Yurii <109919500+YuriiMotov@users.noreply.github.com>
2025-11-25 09:44:09 +11:00
Jeremy Epstein
7dde3ee346
self descriptive path
...
Co-authored-by: Motov Yurii <109919500+YuriiMotov@users.noreply.github.com>
2025-11-25 09:43:55 +11: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
Jeremy Epstein
c5cb6df315
Test for doesn't raise
2025-11-11 11:14:21 +11:00
Jeremy Epstein
8ffd22f890
Fix: make solve_dependencies re-raise RuntimeError
...
If an async generator dependency raises RuntimeError:
generator didn't yield, make solve_dependencies catch
and re-raise it, to more easily identify the dependency
responsible for the error, and to provide more information
on how to fix the dependency
2025-11-11 10:41:54 +11: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
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 `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