RepoJournal

$ cat fastapi/week/2026-09-28.log

FastAPI & Pydantic

FastAPI & Pydantic

the week in review · Sep 28 – Oct 4, 2026

FastAPI 0.142.0 ships native OpenTelemetry support

By RepoJournal · composed from the cited sources · human-reviewed weekly · methodology

♥

A follow-up release in the same window lets apps start when that automatic instrumentation fails, and Pydantic lands three behavior fixes.

76 commits 58 PRs merged 3 releases 6 briefings covered

all fastapi reviews →

✨ Add native OpenTelemetry support fastapi/fastapi

by tiangolo

Instrumentation is built into the framework rather than bolted on, and the implementation was designed against OpenTelemetry's contrib implementation, Logfire, and Sentry. The changelog notes that several data extraction parts exist so that those tools can get the data they need.

🐛 Allow startup when automatic OpenTelemetry configuration fails fastapi/fastapi

by tiangolo

If the automatic OpenTelemetry configuration throws, startup now continues instead of failing the app. Pairing that with the tracing work above, a broken exporter or misconfigured OTLP endpoint no longer takes down your service.

🐛 Fix repeated endpoint wrapping in included routers fastapi/fastapi

by tiangolo

Endpoints in included routers were being wrapped more than once, and the fix targets a recursion issue with older versions of Sentry that the current one no longer hits. If you run an older Sentry SDK against included routers, this is the release to take.

Don't apply `ser_json_timedelta` to all datetime types in serialization inference pydantic/pydantic

by Viicos

The deprecated ser_json_timedelta setting was leaking into serialization inference for every datetime type, which it was never meant to do; it applies to timedelta only, with ser_json_temporal covering temporal types. If you relied on the broad behavior for datetimes, audit your output.

Encode JSON Schema defaults with a consistent configuration pydantic/pydantic

by Viicos

Schema defaults were rendered with to_jsonable_python(), which falls back to type inference and produced inconsistent output. Defaults are now encoded through one configuration, so generated schemas for defaulted fields will not drift between types.

Propagate `init` and `kw_only=False` from `Field()` to stdlib dataclass fields pydantic/pydantic

by Viicos

init and kw_only=False set on a pydantic Field now reach the fields of a stdlib dataclass, including the kw_only case that was broken. Define a dataclass field through Field() and it should now behave the way the annotation implies.

Add `__namespace__` parameter to `create_model()` pydantic/pydantic

by Viicos

create_model() accepts a __namespace__ argument, and the notes say __validators__ cannot be deprecated right away given its widespread use. Code generation around dynamic models gets a place to put module-level names without smuggling them through validators.

Handle OS errors during `ZoneInfo` validation pydantic/pydantic

by Viicos

Initializing a ZoneInfo field no longer propagates an OS-level error from the timezone database lookup. Validation now handles those failures, which matters on containers and hosts with a missing or truncated tzdata.

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

Keep up with FastAPI & Pydantic in about 3 minutes: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

or

fair warning: these emails are deeply technical. diffs, version numbers, CVEs, benchmark deltas. if that's not your idea of a good read, this isn't your newsletter.

Folds into your digest — weekly by default, monthly if you prefer. Unsubscribe in one click.

all fastapi reviews →