The Wire · Showcase
TIANGOLO LOCKS DOWN WORKFLOW TOKENS ACROSS FASTAPI AND SQLMODEL
By RepoJournal · Filed · About FastAPI & Pydantic
FastAPI and SQLModel are ditching long-lived personal access tokens for short-lived OIDC-scoped credentials across all automated workflows, eliminating a persistent supply-chain attack surface.
Tiangolo is systematically replacing hardcoded PATs with ephemeral tokens from GitHub's PR Submit and PR Push apps across both repositories [1][2]. The new approach requests tokens through GitHub OIDC, configures Git authentication via `gh auth setup-git`, and attributes commits to bot identities rather than generic `github-actions[bot]` accounts [3][4][5][6]. All changes have been validated with YAML parsing, git diff checks, and zizmor security audits. On the Pydantic side, a fix landed for callable discriminators with PEP 695 type aliases [7][8], and docs reverting changes from an earlier PR merged cleanly [9][10]. The activity reflects a focused 24-hour push: 18 commits and 10 PRs across three desks, with the token migration dominating both FastAPI and SQLModel.
One email a day. Unsubscribe in one click.
Keep up with FastAPI & Pydantic in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Review FastAPI and SQLModel PRs for token migration merges; these are security-hardening changes ready to ship fastapi/fastapi [plan]
- → Monitor Pydantic discriminator fix if you use PEP 695 type aliases; pull the merge when available pydantic/pydantic [monitor]
References
- [1] 🔐 Use PR Submit for pull requests ↗ fastapi/fastapi
- [2] 🔐 Use PR Submit for pull requests ↗ tiangolo/sqlmodel
- [3] 👷 Use GitHub CLI for Git authentication ↗ fastapi/fastapi
- [4] 👷 Use PR Push commit identity ↗ fastapi/fastapi
- [5] 👷 Use GitHub CLI for Git authentication ↗ tiangolo/sqlmodel
- [6] 👷 Use PR Push commit identity ↗ tiangolo/sqlmodel
- [7] Fix support for callable discriminators with PEP 695 type aliases ↗ pydantic/pydantic
- [8] Fix support for callable discriminators with PEP 695 type aliases (#13604) pydantic/pydantic
- [9] Revert some docs changes from #13457 ↗ pydantic/pydantic
- [10] Revert some docs changes from #13457 (#13607) pydantic/pydantic