RepoJournal

$ cat fastapi/week/2026-08-24.log

FastAPI & Pydantic

FastAPI & Pydantic

the week in review · Aug 24 – Aug 30, 2026

Pydantic fixes serializer exclusion bug, preps core speed leap

This week Pydantic shipped a critical serializer fix, advanced a pydantic-core performance overhaul, and refined schema generation, while FastAPI and SQLModel kept pace with CI and dependency updates.

44 commits 36 PRs merged 4 releases 6 briefings covered

Pydantic fixed a subtle serializer exclusion bug [1] where the include/exclude filters were dropped when a plain serializer wasn't called, causing serialization to ignore the filters. The serialization now respects the intended field selection in all paths.

A broader performance initiative took shape: schema gathering logic moves to pydantic-core [6], FieldInfo construction gets faster [5], and the build now uses maturin's `--pgo` option [7]. According to the briefings, "Pydantic Core Is Poised For A Speed Leap," driven by these changes.

Pydantic 2.13.5 shipped GC fixes and smart union counting, plus signature reflection now honors `validate_by_alias` [2]. Validation JSON schemas now correctly exclude serialization temporal formats [4] and reflect `str_min_length`/`str_max_length` config [3]. New support for `frozendict` [8] and as defaultdict factories [9] expands type coverage.

FastAPI and SQLModel both bumped `setup-uv` to 10.0.1 [10][11] and Typer to 0.26.1 [12][13], while SQLModel deprecated `min_items` and updated release notes [14].

References

  1. [1] Do not drop include/exclude if serializer wasn't called (#13702) ↗ pydantic/pydantic
  2. [2] Support `populate_by_name` in `@validate_call` ↗ pydantic/pydantic
  3. [3] Reflect `str_min_length` and `str_max_length` config in the JSON schema ↗ pydantic/pydantic
  4. [4] Don't apply serialization temporal formats to validation JSON schemas ↗ pydantic/pydantic
  5. [5] Improve permormance of `FieldInfo` construction ↗ pydantic/pydantic
  6. [6] Move schema gathering logic to `pydantic-core` ↗ pydantic/pydantic
  7. [7] Use maturin `--pgo` option ↗ pydantic/pydantic
  8. [8] Add support for `frozendict` type ↗ pydantic/pydantic
  9. [9] Allow `dict`, `frozendict` and `frozenset` as `defaultdict` default factories ↗ pydantic/pydantic
  10. [10] ⬆️ Bump `setup-uv` action to `10.0.1` ↗ fastapi/fastapi
  11. [11] ⬆️ Bump `setup-uv` action to `10.0.1` ↗ tiangolo/sqlmodel
  12. [12] ⬆️ Bump Typer min version to 0.26.1 ↗ fastapi/fastapi
  13. [13] ⬆️ Bump Typer min version to `0.26.1` ↗ tiangolo/sqlmodel
  14. [14] 📝 Update release notes ↗ tiangolo/sqlmodel

$ ls fastapi/week/ # the briefings behind this review