Sebastián Ramírez
319be508ce
✨ Support dependencies in app.frontend(), e.g. for automatic cookie authentication for the frontend ( #15908 )
2026-07-01 18:12:33 +02:00
Sebastián Ramírez
b790e14cb6
♻️ Make app.frontend() return 404 for methods other than GET or HEAD with no static file matches ( #15863 )
2026-06-29 13:57:59 +02:00
Sebastián Ramírez
2260afaf43
🐛 Fix failing test, update format for raised errors ( #15804 )
2026-06-20 00:51:31 +00: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
6ac122071d
✨ Add iter_route_contexts() for advanced use cases that used to use router.routes (e.g. Jupyverse) ( #15785 )
2026-06-18 08:49:38 +02:00
Sebastián Ramírez
b78c82262f
🚨 Fix typing checks for APIRoute ( #15765 )
2026-06-15 13:19:51 +02:00
Sebastián Ramírez
d8aad201eb
🐛 Fix bug, allow empty path in path operation in prefixless router ( #15763 )
2026-06-15 12:55:06 +02:00
Sebastián Ramírez
8e1d774cef
♻️ Refactor internals to preserve APIRouter and APIRoute instances ( #15745 )
2026-06-14 14:35:48 +02:00
dependabot[bot]
5d5666bec5
⬆ Bump ty from 0.0.21 to 0.0.34 ( #15443 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: svlandeg <sofie.vanlandeghem@gmail.com >
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-11 16:59:50 +02:00
Sofie Van Landeghem
98b269b51e
👷 Add ty to precommit ( #15091 )
...
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-03-15 12:44:39 +01:00
Sebastián Ramírez
8a9258b169
🐛 Fix, avoid yield from a TaskGroup, only as an async context manager, closed in the request async exit stack ( #15038 )
2026-03-01 19:16:03 +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
749cefdeb1
✨ Add support for streaming JSON Lines and binary data with yield ( #15022 )
2026-02-27 19:56:47 +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
3da206c06d
🎨 Update internal types for Python 3.10 ( #14898 )
2026-02-11 18:41:21 +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
Sebastián Ramírez
d59fbc3494
♻️ Refactor internals, simplify Pydantic v2/v1 utils, create_model_field, better types for lenient_issubclass ( #14860 )
2026-02-07 08:08:07 +00:00
Sebastián Ramírez
cf55bade7e
♻️ Simplify internals, remove Pydantic v1 only logic, no longer needed ( #14857 )
2026-02-06 19:04:24 +00:00
Sebastián Ramírez
3c49346238
♻️ Refactor internals, cleanup unneeded Pydantic v1 specific logic ( #14856 )
2026-02-06 19:01:05 +01: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
Sebastián Ramírez
e300630551
➖ Drop support for pydantic.v1 ( #14609 )
2025-12-27 13:54:56 +01:00
Sebastián Ramírez
535b5daa31
🔊 Add a custom FastAPIDeprecationWarning ( #14605 )
2025-12-26 12:45:20 +00: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
1c4fc96c91
♻️ Upgrade internal syntax to Python 3.9+ 🎉 ( #14564 )
2025-12-17 21:25:59 +00: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
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
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
Sebastián Ramírez
d390f2e41f
➕ Migrate internal reference documentation from typing_extensions.Doc to annotated_doc.Doc ( #14222 )
2025-10-23 22:31:35 +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
Sebastián Ramírez
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
secrett2633
c831cdbde2
🐛 Fix inspect.getcoroutinefunction() can break testing with unittest.mock.patch() ( #14022 )
2025-09-20 18:30:34 +02:00
Tamir Duberstein
a95e91e46e
⬆️ Update mypy to 1.14.1 ( #12970 )
...
Co-authored-by: Motov Yurii <109919500+YuriiMotov@users.noreply.github.com >
Co-authored-by: Sofie Van Landeghem <svlandeg@users.noreply.github.com >
Co-authored-by: svlandeg <svlandeg@github.com >
Co-authored-by: svlandeg <sofie.vanlandeghem@gmail.com >
2025-09-20 14:05:51 +02:00
Sebastián Ramírez
cad6880fd9
⬆️ Upgrade Starlette supported version range to >=0.40.0,<0.48.0 ( #13884 )
2025-07-11 18:15:27 +02:00
Timon
97fdbdd0d8
📝 Update exclude-parameters-from-openapi documentation links ( #13600 )
2025-06-17 10:05:34 +02:00
dependabot[bot]
8c94e97c89
⬆ Bump ruff to 0.9.4 ( #13299 )
...
* ⬆ Bump ruff from 0.6.4 to 0.9.4
Bumps [ruff](https://github.com/astral-sh/ruff ) from 0.6.4 to 0.9.4.
- [Release notes](https://github.com/astral-sh/ruff/releases )
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md )
- [Commits](https://github.com/astral-sh/ruff/compare/0.6.4...0.9.4 )
---
updated-dependencies:
- dependency-name: ruff
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* update pre-commit accordingly and make formatting changes
* 🎨 [pre-commit.ci] Auto format from pre-commit.com hooks
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alejandra <90076947+alejsdev@users.noreply.github.com >
Co-authored-by: svlandeg <sofie.vanlandeghem@gmail.com >
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-03-06 13:18:57 +01:00
Felix Fanghaenel
e049fc4ea1
🐛 Fix openapi generation with responses kwarg ( #10895 )
...
Co-authored-by: flxdot <felix.fanghaenel@nitrex.com >
Co-authored-by: Sofie Van Landeghem <svlandeg@users.noreply.github.com >
Co-authored-by: Sławek Ehlert <slawomir.ehlert@gmail.com >
2024-10-12 11:44:57 +02:00
Sebastián Ramírez
aa21814a89
♻️ Refactor deciding if embed body fields, do not overwrite fields, compute once per router, refactor internals in preparation for Pydantic models in Form, Query and others ( #12117 )
2024-09-05 13:24:36 +02:00
Sebastián Ramírez
d08b95ea57
♻️ Rename internal create_response_field() to create_model_field() as it's used for more than response models ( #12103 )
2024-09-01 01:46:03 +02:00
Sebastián Ramírez
5b7fa3900e
♻️ Refactor and simplify internal data from solve_dependencies() using dataclasses ( #12100 )
2024-08-31 22:52:06 +02:00
Pastukhov Nikita
3a4ac24675
🐛 Ensure that app.include_router merges nested lifespans ( #9630 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com >
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com >
2024-08-24 14:09:52 -05:00
Sebastián Ramírez
3a3ad5d66d
⬆️ Upgrade version of Ruff and reformat ( #12032 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-08-16 23:13:50 -05:00
Aleksei Kotenko
9c80842cea
♻️ Update mypy ( #11049 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com >
2024-04-01 21:48:51 -05:00
Sebastián Ramírez
bf771bd781
🐛 Fix unhandled growing memory for internal server errors, refactor dependencies with yield and except to require raising again as in regular Python ( #11191 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-02-25 00:06:37 +01:00
Sepehr Shirkhanlu
60e1259ca4
✏️ Fix typo in fastapi/routing.py ( #10520 )
...
Fix: https://github.com/tiangolo/fastapi/discussions/10493
2024-01-09 17:10:37 +01:00
Sebastián Ramírez
a4aa79e0b4
✨ Add support for raising exceptions (including HTTPException) in dependencies with yield in the exit code, do not support them in background tasks ( #10831 )
...
* ♻️ Refactor dependency AsyncExitStack logic, exit dependencies after creating the response, before sending it
* ✅ Update tests for dependencies exit, check they are finished before the response is sent
* 🔥 Remove ExitAsyncStackMiddleware as it's no longer needed
* 📝 Update docs for dependencies with yield
* 📝 Update release notes
* 📝 Add source examples for new dependencies with yield raising
* ✅ Add tests for new dependencies raising after yield
* 📝 Update release notes
2023-12-25 18:57:35 +01:00
Sebastián Ramírez
c13aa9ed5f
🔥 Remove unnecessary duplicated docstrings ( #10484 )
2023-10-20 12:27:26 +04:00