$ cat fastapi/month/2026-08-01.log
the month in review · August 2026
Pydantic hardens core, FastAPI revamps docs
August brought a steady hardening of Pydantic's serialization and schema internals, plus a long-overdue visual refresh to FastAPI's docs.
Pydantic spent much of August fixing correctness bugs that could silently corrupt output. The most cited fix ensures `SerializationInfo.exclude_computed_fields` is properly populated, so fields excluded via computed-field logic now stay out of serialized output as intended [1]. Related patches corrected the documented signature of `field_title_generator` [2] and fixed serialization of `ValidateAs` [3]. These are exactly the kind of fixes that prevent subtle data leaks or wrong payloads in production.
Beyond serialization, Pydantic tuned core schema generation and model building for speed. Type lookup logic in core schema generation was optimized [4], and micro-optimizations were introduced for model class building [5]. The maintainers also prepped for Python 3.15 by adding support for `EllipsisType` [6]. None of these are dramatic, but together they should shave milliseconds off common Pydantic operations.
FastAPI's most visible change was a mobile-first redesign of its documentation, stripping conference bloat in the process [ref:15: no wait, that's story 13]. The docs now use buttons for Termynal controls, a small UI fix but a sign of broader polish [7]. Meanwhile, a new capability lets LLMs drive FastAPI's translations, which could streamline the project's i18n effort [ref:20: no, that's a different ID].
The month also saw a wave of dependency and CI maintenance across the FastAPI ecosystem, with Pydantic bumping setup-uv, setup-python, and other GitHub Actions [8][9]. FastAPI and SQLModel both consolidated their automation and pulled in dependency updates [10][11]. Tiangolo locked down workflow tokens across both projects, a security-conscious move for the CI pipeline [ref:16: need distinct].
A recurring theme was that Pydantic's JSON schema generation sometimes misleads consumers. One briefing noted that the JSON schema can lie about what the validator actually accepts. While no single PR fixes that wholesale, the ecosystem is clearly aware of the gap. Expect more schema-correctness work in the coming months.
References
- [1] Fix population of `SerializationInfo.exclude_computed_fields` (#13560) ↗ pydantic/pydantic
- [2] Fix documented signature of `field_title_generator` (#13565) ↗ pydantic/pydantic
- [3] Fix serialization of `ValidateAs` (#13487) ↗ pydantic/pydantic
- [4] Optimize type lookup logic in core schema generation ↗ pydantic/pydantic
- [5] Introduce micro-optimizations for model class building ↗ pydantic/pydantic
- [6] Add support for `EllipsisType` ↗ pydantic/pydantic
- [7] 🐛 Use buttons for Termynal controls ↗ fastapi/fastapi
- [8] Bump astral-sh/setup-uv from 8.2.0 to 9.0.0 ↗ pydantic/pydantic
- [9] Bump actions/setup-python from 6.3.0 to 7.0.0 ↗ pydantic/pydantic
- [10] ⬆ Bump the github-actions group with 6 updates ↗ fastapi/fastapi
- [11] ⬆ Bump the github-actions group with 5 updates ↗ tiangolo/sqlmodel
$ ls fastapi/month/ # the briefings behind this review