lif
41e9ce510a
Merge b89a15d575 into 31bbb38074
2026-03-16 10:17:01 +00:00
Ahsan Sheraz
31bbb38074
📝 Fix duplicated words in docstrings ( #15116 )
...
Fix "to to" and "that that" word duplications in security module docstrings,
and "be be" in test data string.
Co-authored-by: ahsan.sheraz <ahsan.sheraz@bonial.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 11:16:48 +01: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
lif
b89a15d575
fix: use params.Depends instead of Depends for isinstance check
...
The Depends function returns a params.Depends instance, so we need to
check isinstance against params.Depends, not the Depends function itself.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 23:46:11 +08:00
pre-commit-ci-lite[bot]
b8ab033080
🎨 Auto format
2025-12-25 15:41:17 +00:00
lif
f7e2c39524
test: add comprehensive tests for _try_resolve_annotated_string
...
Add unit tests for:
- Invalid annotation formats (missing prefix/suffix)
- Non-Depends metadata (Query, etc.)
- Eval failures for undefined functions
- Nested brackets in type annotations
- ForwardRef type resolution failures
- Exception handling with partial resolution fallback
- Resolved Annotated types
- get_typed_signature edge cases
These tests improve coverage for the forward reference handling code.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 23:40:35 +08:00
Sebastián Ramírez
6e42bcd8ce
🔊 Add deprecation warnings when using `pydantic.v1` ( #14583 )
2025-12-21 17:44:10 +01:00
lif
70bd7a592e
Exclude manual test runner from coverage
2025-12-21 17:48:45 +08: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
lif
831fd18892
fix: resolve ruff lint errors (Dict -> dict, remove outdated version block)
2025-12-18 22:13:08 +08:00
lif
b175737867
Merge branch 'master' into fix/annotated-forward-ref-13056
2025-12-18 21:25:44 +08: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
pre-commit-ci-lite[bot]
dc6c5b8917
🎨 Auto format
2025-12-18 13:22:49 +00:00
lif
c171f468d8
Fix CI failures: Python 3.8 compatibility and Pydantic v1 tests
...
- Fix Python 3.8 compatibility by importing Annotated from typing_extensions
when running on Python < 3.9
- Simplify get_typed_signature to not use get_type_hints which was causing
issues with Pydantic v1 parameter detection (Header, Cookie, Query, etc.)
- Instead, expand globalns with module namespace to help resolve forward
references while keeping the original annotation resolution logic intact
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 21:21:13 +08:00
Sebastián Ramírez
1c4fc96c91
♻️ Upgrade internal syntax to Python 3.9+ 🎉 ( #14564 )
2025-12-17 21:25:59 +00:00