$ cat fastapi/week/2026-09-28.log
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.
✨ Add native OpenTelemetry support fastapi/fastapi
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
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
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
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
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
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
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
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.
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.