ADR-0012: Python-, uv- und FastAPI-Pins
- Status: accepted
- Datum: 2026-08-26
- Phase: bump-now
- Lastenheft: kein Muss, Stack / Security
Kontext
Self-hosted Next.js; RCE-Advisories 2026-08-25. Python-Image war 3.12.8, uv 0.6.14. SQLAlchemy 2.1 ist Beta. FastAPI Cloud CLI ist kein Self-Host-Need.
Entscheidung
| Stück | Pin |
|---|---|
| Next.js / eslint-config-next | 16.3.3 |
| Python-Image | 3.14.7-slim-bookworm |
| uv | 0.12.6 |
| FastAPI | 0.141.1 via fastapi[standard-no-fastapi-cloud-cli] |
| SQLAlchemy | 2.0.52 (nicht 2.1) |
| Alembic | 1.19.1 |
| Node | 22.19.0-bookworm-slim |
| pnpm | 10.14.0 (nicht 12 RC) |
| React | 19.2.8 |
| @tanstack/react-query | 5.102.3 |
Keine Image-Tags :latest.
Begründung
Security zuerst (Next). Python 3.14 folgt der python.mdc-Linie. SQLAlchemy 2.0 bleibt die stabile Async-Linie. pnpm 10 ist current stable, 12 RC nicht.
Verworfene Alternativen
| Alternative | Warum verworfen |
|---|---|
:latest für Python/Node/PostGIS |
Undeterministische Builds |
| SQLAlchemy 2.1 beta | Kein Produktions-Pin |
| FastAPI Cloud CLI extra | Unnötige Abhängigkeit für Self-Host |
| pnpm 12 RC | Release-Candidate |
| Next 16.3.0 belassen | Offene RCE-Advisories auf self-hosted Image Optimization |
Folgen
Lockfiles (uv.lock, pnpm-lock.yaml) im selben Change-Set. Dashboard-Tests weiter in Compose.