Catalog / Backend

FastAPI changelog

FastAPI is at 0.143.0, published 8 Oct 2026, 5 days ago.

Python web framework that builds request validation and an OpenAPI schema from type hints, running on Starlette and Pydantic.

SubscribeFastAPI as markdown, for pasting into a model
Collected
66 releases back to 10 Dec 2025
Source
fastapi/fastapi
Project
fastapi.tiangolo.com
Advisories
1 published newest 2021
Breaking
8 releases tagged by the publisher
Feed
RSS

Read on 28 of the 30 days on record, last today. Collection status

Version history

0.x66 releases
0.143.0

Automatic OpenTelemetry exporter setup is now opt-in. If you rely on FastAPI to configure exporters from OTEL_* environment variables, set FASTAPI_OTEL_AUTO_CONFIGURE=true or use FastAPI(telemetry={"auto_configure": True}) to retain the pre

breaking
0.142.4

Fixes 🐛 Isolate FastAPI telemetry for excluded requests. PR #16470 by @tiangolo.

fixed
0.142.3

Fixes 🐛 Cache OpenTelemetry tracers to preserve warning deduplication. PR #16468 by @tiangolo. Docs 📝 Remove HTML title from newsletter to avoid the tooltip. PR #16461 by @tiangolo. 📝 Embed the FastAPI and friends newsletter signup form.

addedfixedchanged
0.142.2

Fixes 🐛 Allow startup when automatic OpenTelemetry configuration fails. PR #16418 by @tiangolo.

fixed
0.142.1

Fixes 🐛 Fix repeated endpoint wrapping in included routers. PR #16414 by @tiangolo.

fixed
0.142.0

Features âœĻ Add native OpenTelemetry support. PR #16403 by @tiangolo. Refactors ðŸ“ą Improve mobile responsiveness of conference rail. PR #16196 by @alejsdev. â™ŧïļ Remove conf section and add event banner. PR #16193 by @alejsdev. Docs ðŸ”Ĩ Remove

addedchanged
0.141.1

Fixes 🐛 Fix support for background tasks and headers from dependencies in app.frontend(). PR #16105 by @tiangolo. Docs 📝 Document FASTAPI_ENV in FastAPI CLI guide. PR #16104 by @tiangolo.

fixed
0.141.0

Features âœĻ Add app.frontend(check_dir="auto"), to make local development more convenient with fastapi dev. PR #16102 by @tiangolo.

added
0.140.13

Fixes 🐛 Fix status_code being ignored for SSE and JSONL streaming endpoints. PR #15937 by @SAURABHSALVE. Docs 📝 Fix format_sse_event docstring rendering of \n\n terminator. PR #15613 by @AshNicolus. 📝 Add API reference page for fastapi.s

addedfixed
0.140.12

Fixes 🐛 Fix line splitting in format_sse_event to comply with SSE spec. PR #15515 by @Zawwarsami16.

fixed
0.140.11

Fixes 🐛 Fix response_model_* params ignored for non-generator endpoints with Iterable[..] return type. PR #15093 by @YuriiMotov.

fixed
0.140.10

Fixes 🐛 Fix handling sequences with nested Annotated types. PR #14874 by @YuriiMotov. Internal 🐛 Accept any base test failure as regression. PR #16092 by @tiangolo. 🐛 Preserve pytest exit code in regression check. PR #16091 by @tiangolo.

fixed
0.140.9

Fixes 🐛 Fix exclude_defaults not propagated to dict keys and values in jsonable_encoder. PR #16043 by @MBGrao. Internal ⮆ Bump gitpython from 3.1.50 to 3.1.54. PR #16047 by @dependabot[bot]. ⮆ Bump pymdown-extensions from 10.21.3 to 11.0.

fixed
0.140.8

Fixes 🐛 Fix stream item type lost when using include_router(). PR #15077 by @alex-raw.

fixed
0.140.7

Refactors ⚡ïļ Avoid flattening dependencies for OpenAPI. PR #16076 by @tiangolo. Internal ⮆ïļ Upgrade latest-changes to 0.7.1. PR #16077 by @tiangolo. 👷 Add OpenAPI dependency benchmarks. PR #16075 by @tiangolo.

added
0.140.6

Refactors ⚡ïļ Avoid flattening dependencies for request parameters, mainly for OpenAPI. PR #16073 by @tiangolo.

0.140.5

Refactors ⚡ïļ Avoid flattening dependencies for body fields. PR #16071 by @tiangolo.

0.140.4

Refactors ⚡ïļ Skip unused dependency repeat bookkeeping. PR #16069 by @tiangolo.

0.140.3

Refactors ⚡ïļ Avoid repeated dependency flattening in OpenAPI. PR #16067 by @tiangolo.

0.140.2

Refactors ⚡ïļ Stop retaining flat dependency trees. PR #16065 by @tiangolo. Internal 👷 Add new memory benchmark. PR #16064 by @tiangolo.

added
0.140.1

Refactors â™ŧïļ Update the lru_cache limit for dependencies to account for large apps. PR #16062 by @tiangolo.

changed
0.140.0

Refactors ⚡ïļ Reduce memory usage in dependencies. PR #16049 by @tiangolo. Docs 📝 Fix links in docs. PR #15967 by @YuriiMotov. 📝 Add Library Skills documentation. PR #16041 by @tiangolo. 📝 Update docs to use uv projects by default. PR #16

addedchanged
0.139.2

Fixes 🐛 Refactor router route building to make it thread-safe, mainly relevant for tests running in parallel threads (uncommon). PR #16013 by @tiangolo.

fixed
0.139.1

Fixes 🐛 Fix frontend fallback support for doted paths like /users/john.doe. PR #16011 by @tiangolo. Docs 📝 Fix topic repository list not being displayed and skip_users not being applied. PR #15995 by @YuriiMotov. Translations 🌐 Update tr

addedfixedchanged
0.139.0

Features âœĻ Support dependencies in app.frontend(), e.g. for automatic cookie authentication for the frontend. PR #15908 by @tiangolo. Translations 🌐 Update translations for fr (update-outdated). PR #15897 by @tiangolo. 🌐 Update translatio

addedchanged
0.138.2

Refactors â™ŧïļ Make app.frontend() return 404 for methods other than GET or HEAD with no static file matches. PR #15863 by @tiangolo. Internal 🔧 Update sponsors: remove Stainless. PR #15862 by @tiangolo. â™ŧïļ Refactor how sponsors data is hand

changed
0.138.1

Refactors â™ŧïļ Refactor Library Skills, make info easier to find for agents. PR #15841 by @tiangolo. Internal 👷 Simplify pull request workflow triggers. PR #15836 by @tiangolo. 👷 Update issue-manager to 0.7.1. PR #15833 by @tiangolo. ⮆ïļ Upd

securityaddedchanged
0.138.0

Features âœĻ Add support for app.frontend("/", directory="dist") and router.frontend("/", directory="dist"). PR #15800 by @tiangolo. Read the docs: Frontend. Docs 📝 Fix typo in release notes. PR #15807 by @tiangolo. 📝 Add app.frontend() ins

addedchanged
0.137.2

Features âœĻ Add iter_route_contexts() for advanced use cases that used to use router.routes (e.g. Jupyverse). PR #15785 by @tiangolo. Translations 🌐 Fix broken Markdown in Korean custom response docs. PR #15774 by @kooqooo. 🌐 Update transl

addedchanged
0.137.1

Fixes ðŸšĻ Fix typing checks for APIRoute. PR #15765 by @tiangolo. 🐛 Fix bug, allow empty path in path operation in prefixless router. PR #15763 by @tiangolo.

fixed
0.137.0

Breaking Changes â™ŧïļ Refactor internals to preserve APIRouter and APIRoute instances. PR #15745 by @tiangolo. Unblocks âœĻ SO MANY THINGS âœĻ Before this, router.include_router(other_router) would take each path operation from other_router and "

breakingsecurityadded
0.136.3

Refactors â™ŧïļ Do not accept underscore headers when using convert_underscores=True (the default). PR #15589 by @tiangolo.

0.136.2

Refactors â™ŧïļ Validate Server Sent Event fields to avoid applications from sending broken data. PR #15588 by @tiangolo. Docs 📝 Document --entrypoint CLI option. PR #15464 by @YuriiMotov. 📝 Update and simplify docs about help and management

securityaddedchanged
0.136.1

Upgrades ⮆ïļ Update Pydantic v2 code to address deprecations. PR #15101 by @svlandeg. Internal ðŸ”Ļ Tweak translation script. PR #15174 by @YuriiMotov. ⮆ Bump mkdocs-material from 9.7.1 to 9.7.6. PR #15408 by @dependabot[bot]. ⮆ Bump inline-sn

addedchanged
0.136.0

Upgrades ⮆ïļ Support free-threaded Python 3.14t. PR #15149 by @svlandeg.

0.135.4

Refactors ðŸ”Ĩ Remove April Fool's @app.vibe() ðŸĪŠ. PR #15363 by @tiangolo. Internal ⮆ Bump cryptography from 46.0.5 to 46.0.7. PR #15314 by @dependabot[bot]. ⮆ Bump strawberry-graphql from 0.307.1 to 0.312.3. PR #15309 by @dependabot[bot]. ðŸ”Ļ

added
0.135.3

Features âœĻ Add support for @app.vibe(). PR #15280 by @tiangolo. New docs: Vibe Coding. Docs ✏ïļ Fix typo for client_secret in OAuth2 form docstrings. PR #14946 by @bysiber. Internal ðŸ‘Ĩ Update FastAPI People - Experts. PR #15279 by @tiangolo.

addedchanged
0.135.2

Upgrades ⮆ïļ Increase lower bound to pydantic >=2.9.0. and fix the test suite. PR #15139 by @svlandeg. Docs 📝 Add missing last release notes dates. PR #15202 by @tiangolo. 📝 Update docs for contributors and team members regarding translati

addedchanged
0.135.1

Fixes 🐛 Fix, avoid yield from a TaskGroup, only as an async context manager, closed in the request async exit stack. PR #15038 by @tiangolo. Docs ✏ïļ Fix typo in docs/en/docs/_llm-test.md. PR #15007 by @adityagiri3600. 📝 Update Skill, opti

fixedchanged
0.135.0

Features âœĻ Add support for Server Sent Events. PR #15030 by @tiangolo. New docs: Server-Sent Events (SSE).

added
0.134.0

Features âœĻ Add support for streaming JSON Lines and binary data with yield. PR #15022 by @tiangolo. This also upgrades Starlette from >=0.40.0 to >=0.46.0, as it's needed to properly unrwap and re-raise exceptions from exception groups. New

addedchanged
0.133.1

Features 🔧 Add FastAPI Agent Skill. PR #14982 by @tiangolo. Read more about it in Library Agent Skills. Internal ✅ Fix all tests are skipped on Windows. PR #14994 by @YuriiMotov.

added
0.133.0

Upgrades ⮆ïļ Add support for Starlette 1.0.0+. PR #14987 by @tiangolo.

added
0.132.1

Refactors â™ŧïļ Refactor logic to handle OpenAPI and Swagger UI escaping data. PR #14986 by @tiangolo. Internal ðŸ‘Ĩ Update FastAPI People - Experts. PR #14972 by @tiangolo. 👷 Allow skipping benchmark job in test workflow. PR #14974 by @YuriiMo

changed
0.132.0

Breaking Changes 🔒ïļ Add strict_content_type checking for JSON requests. PR #14978 by @tiangolo. Now FastAPI checks, by default, that JSON requests have a Content-Type header with a valid JSON value, like application/json, and rejects reque

breakingaddedchanged
0.131.0

Breaking Changes 🗑ïļ Deprecate ORJSONResponse and UJSONResponse. PR #14964 by @tiangolo.

breakingdeprecated
0.130.0

Features âœĻ Serialize JSON response with Pydantic (in Rust), when there's a Pydantic return type or response model. PR #14962 by @tiangolo. This results in 2x (or more) performance increase for JSON responses. New docs: Custom Response - JSO

added
0.129.2

Internal ⮆ïļ Upgrade pytest. PR #14959 by @tiangolo. 👷 Fix CI, do not attempt to publish fastapi-slim. PR #14958 by @tiangolo. ➖ Drop support for fastapi-slim, no more versions will be released, use only "fastapi[standard]" or fastapi. PR #

changed
0.129.1

Fixes â™ŧïļ Fix JSON Schema for bytes, use "contentMediaType": "application/octet-stream" instead of "format": "binary". PR #14953 by @tiangolo. Docs ðŸ”Ļ Add Kapa.ai widget (AI chatbot). PR #14938 by @tiangolo. ðŸ”Ĩ Remove Python 3.9 specific fil

addedfixedchanged
0.129.0

Breaking Changes ➖ Drop support for Python 3.9. PR #14897 by @tiangolo. Refactors ðŸŽĻ Update internal types for Python 3.10. PR #14898 by @tiangolo. Docs 📝 Update highlights in webhooks docs. PR #14905 by @tiangolo. 📝 Update source example

breakingchanged
0.128.8

Docs 📝 Fix grammar in docs/en/docs/tutorial/first-steps.md. PR #14708 by @SanjanaS10. Internal ðŸ”Ļ Tweak PDM hook script. PR #14895 by @tiangolo. â™ŧïļ Update build setup for fastapi-slim, deprecate it, and make it only depend on fastapi. PR #

changeddeprecated
0.128.7

Features âœĻ Show a clear error on attempt to include router into itself. PR #14258 by @JavierSanchezCastro. âœĻ Replace dict by Mapping on HTTPException.headers. PR #12997 by @rijenkii. Refactors â™ŧïļ Simplify reading files in memory, do it sequ

changed
0.128.6

Fixes 🐛 Fix on_startup and on_shutdown parameters of APIRouter. PR #14873 by @YuriiMotov. Translations 🌐 Update translations for zh (update-outdated). PR #14843 by @tiangolo. Internal ✅ Fix parameterized tests with snapshots. PR #14875 by

fixedchanged
0.128.5

Refactors â™ŧïļ Refactor and simplify Pydantic v2 (and v1) compatibility internal utils. PR #14862 by @tiangolo. Internal ✅ Add inline snapshot tests for OpenAPI before changes from Pydantic v2. PR #14864 by @tiangolo.

added
0.128.4

Refactors â™ŧïļ Refactor internals, simplify Pydantic v2/v1 utils, create_model_field, better types for lenient_issubclass. PR #14860 by @tiangolo. â™ŧïļ Simplify internals, remove Pydantic v1 only logic, no longer needed. PR #14857 by @tiangolo.

changed
0.128.3

Refactors â™ŧïļ Re-implement on_event in FastAPI for compatibility with the next Starlette, while keeping backwards compatibility. PR #14851 by @tiangolo. Upgrades ⮆ïļ Upgrade Starlette supported version range to starlette>=0.40.0,<1.0.0. PR #1

changed
0.128.2

Features âœĻ Add support for PEP695 TypeAliasType. PR #13920 by @cstruct. âœĻ Allow Response type hint as dependency annotation. PR #14794 by @jonathan-fulton. Fixes 🐛 Fix using Json[list[str]] type (issue #10997). PR #14616 by @mkanetsuna. Do

addedfixedchanged
0.128.1

Features âœĻ Add viewport meta tag to improve Swagger UI on mobile devices. PR #14777 by @Joab0. ðŸšļ Improve error message for invalid query parameter type annotations. PR #14479 by @retwish. Fixes 🐛 Update ValidationError schema to include i

addedfixedchanged
0.128.0

Breaking Changes ➖ Drop support for pydantic.v1. PR #14609 by @tiangolo. Internal ✅ Run performance tests only on Pydantic v2. PR #14608 by @tiangolo.

breaking
0.127.1

Refactors 🔊 Add a custom FastAPIDeprecationWarning. PR #14605 by @tiangolo. Docs 📝 Add documentary to website. PR #14600 by @tiangolo. Translations 🌐 Update translations for de (update-outdated). PR #14602 by @nilslindemann. 🌐 Update tr

addedchanged
0.127.0

Breaking Changes 🔊 Add deprecation warnings when using pydantic.v1. PR #14583 by @tiangolo. Translations 🔧 Add LLM prompt file for Korean, generated from the existing translations. PR #14546 by @tiangolo. 🔧 Add LLM prompt file for Japane

breakingaddeddeprecated
0.126.0

Upgrades ➖ Drop support for Pydantic v1, keeping short temporary support for Pydantic v2's pydantic.v1. PR #14575 by @tiangolo. The minimum version of Pydantic installed is now pydantic >=2.7.0. The standard dependencies now include pydanti

added
0.125.0

Breaking Changes 🔧 Drop support for Python 3.8. PR #14563 by @tiangolo. This would actually not be a breaking change as no code would really break. Any Python 3.8 installer would just refuse to install the latest version of FastAPI and wou

breakingaddedchanged
0.124.4

Fixes 🐛 Fix parameter aliases. PR #14371 by @YuriiMotov.

fixed
0.124.3

Fixes 🐛 Fix support for tagged union with discriminator inside of Annotated with Body(). PR #14512 by @tiangolo. Refactors ✅ Add set of tests for request parameters and alias. PR #14358 by @YuriiMotov. Docs 📝 Tweak links format. PR #14505

addedfixedchanged
0.124.2

Fixes 🐛 Fix support for if TYPE_CHECKING, non-evaluated stringified annotations. PR #14485 by @tiangolo.

fixed