Adarsh Bennur
20c5566c2e
Merge upstream/master and resolve conflict
...
Resolved merge conflict in test_forms_single_model.py by:
- Keeping our fix: empty input dict (issue #13399 fix)
- Adopting upstream's simpler assertion style (no IsDict)
2025-12-28 14:06:40 +05:30
Sebastián Ramírez
8322a4445a
🔖 Release version 0.128.0
2025-12-27 16:19:50 +01:00
Sebastián Ramírez
e300630551
➖ Drop support for `pydantic.v1` ( #14609 )
2025-12-27 13:54:56 +01:00
Sebastián Ramírez
cd90c78391
🔖 Release version 0.127.1
2025-12-26 14:02:41 +01:00
Sebastián Ramírez
535b5daa31
🔊 Add a custom `FastAPIDeprecationWarning` ( #14605 )
2025-12-26 12:45:20 +00:00
Sebastián Ramírez
c4a1ab5036
🔖 Release version 0.127.0
2025-12-21 17:45:43 +01:00
Sebastián Ramírez
6e42bcd8ce
🔊 Add deprecation warnings when using `pydantic.v1` ( #14583 )
2025-12-21 17:44:10 +01:00
Sebastián Ramírez
10252b1937
🔖 Release version 0.126.0
2025-12-20 17:11:50 +01:00
Sebastián Ramírez
e2cd8a4201
➖ Drop support for Pydantic v1, keeping short temporary support for Pydantic v2's `pydantic.v1` ( #14575 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-20 16:55:38 +01:00
Adarsh Bennur
349c3667cf
Fix: Preserve model_fields_set for Form models (issue #13399 )
...
When using Form() with Pydantic models, FastAPI was preloading default
values and passing them to Pydantic, causing all fields to appear in
model_fields_set even when not provided. This also caused validation
to be enforced on unprovided defaults.
Changes:
- Modified _get_multidict_value() to check if values is FormData
- For FormData, return None for unprovided fields instead of defaults
- This lets Pydantic handle defaults properly and preserve fields_set
- Updated test expectation in test_forms_single_model.py
- Added comprehensive test suite in test_forms_fields_set.py
The fix ensures Form models behave consistently with JSON body models
regarding field tracking and validation.
Closes #13399
2025-12-19 18:38:39 +05:30
Sebastián Ramírez
c75f17d483
🔖 Release version 0.125.0
2025-12-17 22:37:19 +01:00
Sebastián Ramírez
1c4fc96c91
♻️ Upgrade internal syntax to Python 3.9+ 🎉 ( #14564 )
2025-12-17 21:25:59 +00:00
Sebastián Ramírez
ed97d9dc0c
⚰️ Remove Python 3.8 from CI and remove Python 3.8 examples from source docs ( #14559 )
...
Co-authored-by: Yurii Motov <yurii.motov.monte@gmail.com>
Co-authored-by: Motov Yurii <109919500+YuriiMotov@users.noreply.github.com>
2025-12-17 21:41:43 +01:00
Sebastián Ramírez
b1d9769f97
🔖 Release version 0.124.4
2025-12-12 15:59:12 +01:00
Motov Yurii
d86c47477e
🐛 Fix parameter aliases ( #14371 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-12-12 15:56:57 +01:00
Sebastián Ramírez
3fe6522aae
🔖 Release version 0.124.3
2025-12-12 15:32:58 +01:00
Sebastián Ramírez
c0556ac3a5
🐛 Fix support for tagged union with discriminator inside of `Annotated` with `Body()` ( #14512 )
2025-12-12 15:31:21 +01:00
Sebastián Ramírez
7b0b915749
🔖 Release version 0.124.2
2025-12-10 13:07:53 +01:00
Sebastián Ramírez
7ba042e069
🐛 Fix support for `if TYPE_CHECKING`, non-evaluated stringified annotations ( #14485 )
2025-12-10 13:06:05 +01:00
Sebastián Ramírez
60699f306b
🔖 Release version 0.124.1
2025-12-10 11:38:41 +01:00
Sebastián Ramírez
42b250d14d
🐛 Fix handling arbitrary types when using `arbitrary_types_allowed=True` ( #14482 )
2025-12-10 11:36:29 +01:00
Sebastián Ramírez
b5ca13249e
🔖 Release version 0.124.0
2025-12-06 14:09: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
Sebastián Ramírez
08b09e5236
🔖 Release version 0.123.10
2025-12-05 22:26:36 +01: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
f0dd1046a6
🔖 Release version 0.123.9
2025-12-04 23:23:21 +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
eb1d50479b
🔖 Release version 0.123.8
2025-12-04 14:01:00 +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
Sebastián Ramírez
603df6e36f
🔖 Release version 0.123.7
2025-12-04 09:27:38 +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
811fa89875
🔖 Release version 0.123.6
2025-12-04 08:33:11 +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
Sebastián Ramírez
c57ac7bdf3
🔖 Release version 0.123.5
2025-12-02 22:06:25 +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
Sebastián Ramírez
a79ae3d66f
🔥 Remove dangling extra condiitonal no longer needed ( #14435 )
2025-12-02 16:48:46 +00:00
Sebastián Ramírez
247ef32e79
♻️ Refactor internals, update `is_coroutine` check to reuse internal supported variants (unwrap, check class) ( #14434 )
2025-12-02 13:43:31 +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
Sebastián Ramírez
4976568fc7
🔖 Release version 0.123.4
2025-12-02 11:47:05 +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
dcf0299195
📝 Fix docstring of `servers` parameter ( #14405 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-12-02 09:11:29 +00:00
Sebastián Ramírez
c516c9904b
🔖 Release version 0.123.3
2025-12-02 08:42:22 +01: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
Sebastián Ramírez
3c54a8f07b
🔖 Release version 0.123.2
2025-12-02 06:31:27 +01:00
Alex Colby
cb3792d39e
🐛 Fix unformatted `{type_}` in FastAPIError ( #14416 )
...
Co-authored-by: Alex Colby <alex.colby@intellisense.io>
2025-12-02 06:01:11 +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