176 Commits
Author SHA1 Message Date
Sebastián Ramírez f02ef4900b 🐛 Restore default handling for omitted boolean form fields (#16605) 2026-10-23 20:33:36 +02:00
Sebastián Ramírez e42ac0a134 ✨ Add support for combining unions of form models (#16596) 2026-10-22 20:14:59 +02:00
Sebastián Ramírez 86274cc0ac ✨ Add support for optional unions of form models (#16586) 2026-10-21 22:37:01 +02:00
Sebastián Ramírez 2f6d43c6ec ✨ Add support for optional query, header, and cookie parameter models (#16584) 2026-10-21 21:53:11 +02:00
Sebastián Ramírez 410270fa3b ✨ Add support for optional form models (#16582) 2026-10-21 21:03:13 +02:00
Sebastián Ramírez 48e43e5cbf ✨ Add support for combining form models (#16577) 2026-10-21 18:43:09 +02:00
Sebastián Ramírez 578af61e04 ✨ Add support for combining query, header, and cookie parameter models (#16573) 2026-10-21 15:43:11 +02:00
Sebastián Ramírez 45c4199384 🗑️ Deprecate the root_path parameter in FastAPI (#16520) 2026-10-18 17:07:43 +02:00
Sebastián Ramírez 4f940b1b72 📝 Document URL paths in templates (#16517) 2026-10-18 14:58:54 +02:00
Sebastián Ramírez 4b3949cd9e ✨ Add native OpenTelemetry support (#16403) 2026-09-29 19:25:55 +02:00
Sebastián Ramírez 4d3dc78b26 ✨ Add support for app.frontend("/", directory="dist") and router.frontend("/", directory="dist") (#15800) 2026-06-20 00:20:49 +00:00
Sebastián Ramírez 8e1d774cef ♻️ Refactor internals to preserve APIRouter and APIRoute instances (#15745) 2026-06-14 14:35:48 +02:00
Sebastián Ramírez ae4e45c5cc 🔥 Remove April Fool's @app.vibe() 🤪 (#15363) 2026-04-16 11:35:06 +00:00
Sebastián Ramírez 70580da818 ✨ Add support for @app.vibe() (#15280) 2026-04-01 18:16:24 +02: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
Casper da Costa-LuisandSebastián Ramírez c3f54a0794 📝 Add await in StreamingResponse code example to allow cancellation (#14681)
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2026-02-27 19:12:46 +00: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
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 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 f55ab7e020 🔧 Update pyproject.toml, remove unneeded lines (#14956) 2026-02-21 16:16:03 +00: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
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 d11f820ac3 📝 Update docs for JWT to prevent timing attacks (#14908) 2026-02-12 19:10:35 +01: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
9df1f8293d 📝 Fix typing issue in docs_src/app_testing/app_b code example (#14573)
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:32:24 +01:00
johnson-earlsandsvlandeg 3ee652dd0c 📝 Fix example of license identifier in documentation (#14492)
Co-authored-by: svlandeg <svlandeg@github.com>
2026-02-04 14:29:02 +01:00
Motov Yurii 741c7345ea 📝 Use return type annotation instead of response_model when possible (#14753) 2026-02-04 13:07:26 +01:00
Motov Yuriiandgithub-actions[bot] dc3278654f 📝 Use WSGIMiddleware from a2wsgi instead of deprecated fastapi.middleware.wsgi.WSGIMiddleware (#14756)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-02-04 12:54:23 +01:00
Sebastián Ramírez e300630551 ➖ Drop support for pydantic.v1 (#14609) 2025-12-27 13:54:56 +01:00
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írezandgithub-actions[bot] 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
Paras Verma d70ed5eceb 📝 Fix duplicated variable in docs_src/python_types/tutorial005_py39.py (#14565)
Fix duplicated variable in python types example
2025-12-20 07:40:21 +01:00
Sebastián Ramírez 1c4fc96c91 ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
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 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
Motov Yurii 9475024640 📝 Add variants for code examples in "Advanced User Guide" (#14413) 2025-12-10 09:55:32 +01:00
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írezandpre-commit-ci[bot] 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
Sebastián Ramírezandpre-commit-ci[bot] 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
Sebastián Ramírezandpre-commit-ci[bot] e329d78f86 🐛 Fix support for StreamingResponses with dependencies with yield or UploadFiles, 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
efdafa4361 📝 Update tutorial/security/oauth2-jwt/ to use pwdlib with Argon2 instead of passlib (#13917)
Co-authored-by: Motov Yurii <109919500+YuriiMotov@users.noreply.github.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-09-29 04:57:38 +02:00
Ben Beasleyandsvlandeg 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írezandpre-commit-ci[bot] 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
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
e902ed5fc6 📝 Bring the scope claim in line with the standard in docs_src/security/tutorial005.py (#11189)
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>
2025-08-31 12:03:10 +02:00
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
Sebastián Ramírez 2537d9d1c2 🐛 Fix convert_underscores=False for header Pydantic models (#13515) 2025-03-23 21:48:54 +01:00