pre-commit-ci-lite[bot]
cb0c5f89af
🎨 Auto format
2026-03-14 06:13:14 +00:00
easonysliu
2ea91122c9
Emit UserWarning when Response.background silently discards injected BackgroundTasks
...
When an endpoint injects BackgroundTasks via dependency injection AND
returns a Response that already has its own `background` attribute set,
the injected tasks are silently dropped. This is a confusing footgun
that causes tasks to disappear without any indication.
This change adds a UserWarning in that scenario so the silent data loss
becomes visible. The warning message explains how to resolve the
conflict (either use the injected BackgroundTasks exclusively, or stop
injecting BackgroundTasks when using Response.background directly).
Ref: https://github.com/fastapi/fastapi/issues/11215
Co-Authored-By: Claude (claude-opus-4-6) <noreply@anthropic.com>
2026-03-14 14:08:25 +08:00
Sebastián Ramírez
2238155844
✨ Add support for Server Sent Events ( #15030 )
2026-03-01 10:21:52 +01:00
Sebastián Ramírez
1377052c6c
📝 Update docs for responses and new stream with `yield` ( #15023 )
2026-02-27 21:51:40 +01:00
Sebastián Ramírez
749cefdeb1
✨ Add support for streaming JSON Lines and binary data with `yield` ( #15022 )
2026-02-27 19:56:47 +01:00
Motov Yurii
0901b4092c
📝 Rename `docs_src/websockets` to `docs_src/websockets_` to avoid import errors ( #14979 )
2026-02-27 13:34:37 +01:00
Motov Yurii
5aacc7b6a0
🔨 Run tests with `pytest-xdist` and `pytest-cov` ( #14992 )
2026-02-27 11:53:47 +01:00
Sebastián Ramírez
2686c7fbbf
♻️ Refactor logic to handle OpenAPI and Swagger UI escaping data ( #14986 )
2026-02-24 09:28:10 +00:00
Sebastián Ramírez
22354a2530
🔒 ️ Add `strict_content_type` checking for JSON requests ( #14978 )
2026-02-23 18:45:20 +01:00
Sebastián Ramírez
48e9835732
🗑️ Deprecate `ORJSONResponse` and `UJSONResponse` ( #14964 )
2026-02-22 17:34:59 +01:00
Sebastián Ramírez
590a5e5355
✨ Serialize JSON response with Pydantic (in Rust), when there's a Pydantic return type or response model ( #14962 )
2026-02-22 17:07:19 +01:00
Sebastián Ramírez
e8b98d2187
🐛 Fix JSON Schema for files, use `contentMediaType` instead of `format: binary` ( #14953 )
2026-02-21 14:01:31 +01:00
Sebastián Ramírez
faee822574
🎨 Upgrade typing syntax for Python 3.10 ( #14932 )
...
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: tiangolo <1326112+tiangolo@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-02-17 09:59:14 +00:00
Sebastián Ramírez
bbb96d4a0a
🔥 Remove Python 3.9 specific files, no longer needed after updating translations ( #14931 )
2026-02-17 08:08:04 +00:00
Sebastián Ramírez
c9e2277d8b
📝 Update source examples and docs from Python 3.9 to 3.10 ( #14900 )
2026-02-12 14:19:43 +01:00
Sebastián Ramírez
ad4e8e0060
➖ Drop support for Python 3.9 ( #14897 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-02-11 19:32:12 +01:00
Sebastián Ramírez
6ce5e3e961
✅ Tweak comment in test to reference PR ( #14885 )
2026-02-10 12:14:38 +00:00
Valentyn
38f965985e
✅ Test order for the submitted byte Files ( #14828 )
...
Co-authored-by: Valentyn Druzhynin <v.druzhynin@zakaz.global>
Co-authored-by: Motov Yurii <109919500+YuriiMotov@users.noreply.github.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2026-02-10 11:46:48 +00:00
Javier Sánchez Castro
df950111fe
✨ Show a clear error on attempt to include router into itself ( #14258 )
...
Co-authored-by: Javier Sánchez <javier.sanchez.castro@bookline.ai>
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>
2026-02-10 11:58:40 +01:00
Motov Yurii
ed2512a5ec
🐛 Fix `on_startup` and `on_shutdown` parameters of `APIRouter` ( #14873 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-02-09 17:31:57 +01:00
Motov Yurii
227cb85a03
✅ Fix parameterized tests with snapshots ( #14875 )
2026-02-09 16:35:43 +01:00
Sebastián Ramírez
9f4ecf562c
✅ Add inline snapshot tests for OpenAPI before changes from Pydantic v2 ( #14864 )
2026-02-08 10:18:38 +00:00
Sebastián Ramírez
f9f7992604
♻️ Re-implement `on_event` in FastAPI for compatibility with the next Starlette, while keeping backwards compatibility ( #14851 )
2026-02-06 16:18:30 +01:00
Kanetsuna Masaya
c5fd75a321
🐛 Fix using `Json[list[str]]` type (issue #10997 ) ( #14616 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[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>
2026-02-05 18:41:43 +00:00
Albin Skott
97145588f5
✨ Add support for PEP695 `TypeAliasType` ( #13920 )
...
Co-authored-by: lokidev <torsten.zielke@protonmail.com>
Co-authored-by: Motov Yurii <109919500+YuriiMotov@users.noreply.github.com>
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>
2026-02-05 18:34:34 +00:00
Jonathan Fulton
b49435becd
✨ Allow `Response` type hint as dependency annotation ( #14794 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[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>
2026-02-05 18:23:16 +00:00
Jonathan Fulton
75c47187f3
🐛 Update `ValidationError` schema to include `input` and `ctx` ( #14791 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-02-04 15:34:02 +01:00
Mickaël Guérin
09f5941f0e
🐛 Fix TYPE_CHECKING annotations for Python 3.14 (PEP 649) ( #14789 )
2026-02-04 14:49:44 +01:00
Cecilia Madrid
1d96b3e3f1
🐛 Strip whitespaces from `Authorization` header credentials ( #14786 )
2026-02-04 14:46:46 +01:00
johnson-earls
3ee652dd0c
📝 Fix example of license identifier in documentation ( #14492 )
...
Co-authored-by: svlandeg <svlandeg@github.com>
2026-02-04 14:29:02 +01:00
Anton
41352de24c
🚸 Improve error message for invalid query parameter type annotations ( #14479 )
...
Co-authored-by: Anton.D <anton.dehtiarenko@chdp-tech.net>
Co-authored-by: Motov Yurii <109919500+YuriiMotov@users.noreply.github.com>
2026-02-04 14:24:59 +01:00
DJ Melisso
08dad5c69f
🐛 Fix OpenAPI duplication of `anyOf` refs for app-level responses with specified `content` and `model` as `Union` ( #14463 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Motov Yurii <109919500+YuriiMotov@users.noreply.github.com>
2026-02-04 14:23:08 +01:00
Sebastián Ramírez
1b42639296
🔥 Remove test variants for Pydantic v1 in test_request_params ( #14612 )
2025-12-27 19:31:34 +01:00
Sebastián Ramírez
44c849c4fc
🔥 Remove Pydantic v1 specific test variants ( #14611 )
2025-12-27 19:19:10 +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
34e884156f
✅ Run performance tests only on Pydantic v2 ( #14608 )
2025-12-26 20:40:26 +00:00
Sebastián Ramírez
535b5daa31
🔊 Add a custom `FastAPIDeprecationWarning` ( #14605 )
2025-12-26 12:45:20 +00:00
Motov Yurii
3063ada72f
✅ Add missing tests for code examples ( #14569 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Nils-Hero Lindemann <nilsherolindemann@proton.me>
2025-12-26 11:43:02 +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
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
Sebastián Ramírez
caee1d3123
👷 Add performance tests with CodSpeed ( #14558 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-18 14:24:09 +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
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
c0556ac3a5
🐛 Fix support for tagged union with discriminator inside of `Annotated` with `Body()` ( #14512 )
2025-12-12 15:31:21 +01:00
Motov Yurii
6c54bcefd3
✅ Add set of tests for request parameters and alias ( #14358 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-12-11 17:15:36 +01:00
Sebastián Ramírez
cd9d093f60
📝 Update docs about re-raising validation errors, do not include string as is to not leak information ( #14487 )
2025-12-10 12:56:50 +00: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
42b250d14d
🐛 Fix handling arbitrary types when using `arbitrary_types_allowed=True` ( #14482 )
2025-12-10 11:36:29 +01:00
Motov Yurii
9475024640
📝 Add variants for code examples in "Advanced User Guide" ( #14413 )
2025-12-10 09:55:32 +01:00