Sebastián Ramírez
e54e5a8980
🔖 Release version 0.136.1
1 month ago
Sofie Van Landeghem
7815a32f2e
⬆️ Update Pydantic v2 code to address deprecations ( #15101 )
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
1 month ago
Sebastián Ramírez
708606c982
🔖 Release version 0.136.0
2 months ago
Sofie Van Landeghem
4b264878d7
⬆️ Support free-threaded Python 3.14t ( #15149 )
2 months ago
Sebastián Ramírez
f796c346a8
🔖 Release version 0.135.4
2 months ago
Sebastián Ramírez
ae4e45c5cc
🔥 Remove April Fool's `@app.vibe()` 🤪 ( #15363 )
2 months ago
Sebastián Ramírez
1f442c454f
🔖 Release version 0.135.3
2 months ago
Sebastián Ramírez
70580da818
✨ Add support for `@app.vibe()` ( #15280 )
2 months ago
Kadir Can Ozden
fa3588c38c
✏️ Fix typo for `client_secret` in OAuth2 form docstrings ( #14946 )
2 months ago
Sebastián Ramírez
25a3697ced
🔖 Release version 0.135.2
3 months ago
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 <[email protected] >
Co-authored-by: Claude Opus 4.6 <[email protected] >
3 months ago
essentiaMarco
17f10eb0a8
test: replace synthetic collector test with lifecycle integration and remove unreachable collector branch
Made-with: Cursor
3 months ago
essentiaMarco
466e29e1e5
fix: coverage to 100% for lifespan scope (pragmas, tests for APIRouter gen lifespans, sync dep, cache hit, unreachable test lines)
Made-with: Cursor
3 months ago
essentiaMarco
948972625d
fix(cli): optional cli_main type for both with/without fastapi[standard] so pre-commit passes in CI
Made-with: Cursor
3 months ago
essentiaMarco
c046d33b27
fix: pre-commit and type checks (ruff E731, mypy/ty cli and applications)
Made-with: Cursor
3 months ago
essentiaMarco
8b2028cb25
fix: normalize lifespan (async/sync gen) before wrapper so router_events tests pass
- In FastAPI.__init__, when lifespan is an async or sync generator function,
convert to context manager (asynccontextmanager / _wrap_gen_lifespan_context)
before _wrap_lifespan_with_dependency_cache so orig_cm has __aenter__/__aexit__.
Made-with: Cursor
3 months ago
essentiaMarco
53ebb9b46a
fix: resolve merge with master — lifespan app vs router
- Default lifespan: use app.router for _DefaultLifespan (router has
_startup/_shutdown; FastAPI app does not).
- Wrapper: when app is FastAPI, set fastapi_app from app and pass
app.router to _run_lifespan_dependencies so lifespan deps are collected.
- Test: use only Request.receive() (Starlette Request has no .send).
Made-with: Cursor
3 months ago
essentiaMarco
df44ff0d9e
feat: lifespan dependency scope (applications, deps, params)
- Wire lifespan-scoped deps in applications.py via _wrap_lifespan_with_dependency_cache
- Extend Depends(..., scope=...) with 'lifespan' in params/models/utils
- Resolved with merge of origin/master
Made-with: Cursor
3 months ago
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 <[email protected] >
3 months ago
essentiaMarco
9fb0fc8120
refactor(lifespan): align with reviewer feedback, add coverage tests
- Fix _collect_lifespan_dependants: handle route-level flat.computed_scope
and iterate flat.dependencies (was incorrectly iterating flat)
- No pragmas on noop_receive/noop_send; covered by test that uses
Request.receive/send in a lifespan dependency
- Add test_collect_lifespan_dependants_route_level_scope for route-level
lifespan branch
- Add test_lifespan_dependency_synthetic_request_receive_send for
noop_receive/noop_send coverage
- Add test_lifespan_dependency_nested for dependency_cache hit (utils)
- Add test_lifespan_dependency_cannot_depend_on_request_scope and
test_lifespan_dependency_not_initialized_raises for edge cases
Made-with: Cursor
3 months ago
Motov Yurii
8b0090c39b
📝 Fix doctrings for `max_digits` and `decimal_places` ( #14944 )
Fix doctrings for `max_digits` and `decimal_places`
3 months ago
Sebastián Ramírez
ca5f60ee72
🔖 Release version 0.135.1
3 months ago
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 )
3 months ago
Sebastián Ramírez
924a535a4f
📝 Update Skill, optimize context, trim and refactor into references ( #15031 )
3 months ago
Sebastián Ramírez
12ea7be0be
🔖 Release version 0.135.0
3 months ago
Sebastián Ramírez
2238155844
✨ Add support for Server Sent Events ( #15030 )
3 months ago
Sebastián Ramírez
d98eb74da9
🔖 Release version 0.134.0
3 months ago
Sebastián Ramírez
c01dc8b03c
📝 Update Library Agent Skill with streaming responses ( #15024 )
3 months ago
Sebastián Ramírez
749cefdeb1
✨ Add support for streaming JSON Lines and binary data with `yield` ( #15022 )
3 months ago
Sebastián Ramírez
728b097564
🔖 Release version 0.133.1
3 months ago
Sebastián Ramírez
4fce9ce172
🔧 Add FastAPI Agents Skill ( #14982 )
Co-authored-by: Sofie Van Landeghem <[email protected] >
Co-authored-by: Alejandra <[email protected] >
3 months ago
Sebastián Ramírez
daba0aa328
🔖 Release version 0.133.0
3 months ago
Sebastián Ramírez
6c68838615
🔖 Release version 0.132.1
3 months ago
Sebastián Ramírez
2686c7fbbf
♻️ Refactor logic to handle OpenAPI and Swagger UI escaping data ( #14986 )
3 months ago
Sebastián Ramírez
5c863d0718
🔖 Release version 0.132.0
3 months ago
Sebastián Ramírez
22354a2530
🔒 ️ Add `strict_content_type` checking for JSON requests ( #14978 )
3 months ago
Sebastián Ramírez
b423b73c35
🔖 Release version 0.131.0
3 months ago
Sebastián Ramírez
48e9835732
🗑️ Deprecate `ORJSONResponse` and `UJSONResponse` ( #14964 )
3 months ago
Sebastián Ramírez
eb544e704c
🔖 Release version 0.130.0
3 months ago
Sebastián Ramírez
590a5e5355
✨ Serialize JSON response with Pydantic (in Rust), when there's a Pydantic return type or response model ( #14962 )
3 months ago
Sebastián Ramírez
1e78a36b73
🔖 Release version 0.129.2
4 months ago
Sebastián Ramírez
c91fed958e
🔖 Release version 0.129.1
4 months ago
Sebastián Ramírez
e8b98d2187
🐛 Fix JSON Schema for files, use `contentMediaType` instead of `format: binary` ( #14953 )
4 months ago
Sebastián Ramírez
a2e51363c7
🔖 Release version 0.129.0
4 months ago
Sebastián Ramírez
3da206c06d
🎨 Update internal types for Python 3.10 ( #14898 )
4 months ago
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>
4 months ago
Sebastián Ramírez
bdd20051c4
🔖 Release version 0.128.8
4 months ago
Sebastián Ramírez
8f82c94de0
🔖 Release version 0.128.7
4 months ago
Sebastián Ramírez
25270fcee0
♻️ Simplify reading files in memory, do it sequentially instead of (fake) parallel ( #14884 )
4 months ago
Javier Sánchez Castro
df950111fe
✨ Show a clear error on attempt to include router into itself ( #14258 )
Co-authored-by: Javier Sánchez <[email protected] >
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Motov Yurii <[email protected] >
4 months ago