Externa Core 1.0 shippen — Notizen vom Maintainer

Tagsexternalaravelopen-source

Am 21. September 2026 habe ich Externa Core v1.0.0 getaggt — das erste stabile GA nach den öffentlichen Betas. Operator-Notes stehen im Externa-Blog und im Changelog. Hier die persönliche Seite: warum das Projekt existiert, und was „stabil“ für mich als Maintainer hieß.

Warum Externa

Ich wollte ein self-hosted, MIT-lizenziertes Headless-CMS, das sich für Laravel-Operatoren nativ anfühlt: Admin-UI, Public CMS REST (/api/v1), GraphQL, Spatie-RBAC, Dateien, Outbound-Webhooks — ohne SaaS-Tenancy-Zwang. Frontends bleiben Next, Nuxt oder sonst was; Content bleibt auf deinem Server.

Das ist der Stack, den ich ohnehin für Kunden shippe. Externa packt die langweiligen Teile, damit ich (und andere) sie wiederverwenden können.

Was GA in der Praxis änderte

Der GA-Tag war kein Marketing-Sticker. Install wurde Packagist-first (composer create-project qiick/externa-core), Docker/GHCR-Quick-Deploy für Compose kam dazu, und Outbound-Webhooks liefern nicht, solange kein Signing-Secret gesetzt ist — echtes Behavior-Change gegenüber frühen Betas. Im selben Tag: Admin-Polish (Block-Reorder, Control-Höhen).

Wenn du Externa heute betreibst, starte bei den aktuellen Docs (Quick Start, Upgrade) — Core ist über 1.0.0 hinaus. Der GA-Post ist Historie; externa.qiick.io und die Docs sind Source of Truth.

Wohin als Nächstes

Produkt-Release-Notes bleiben auf der Externa-Site, damit Operatoren Install und Breaking Changes an einem Ort haben. Hier schreibe ich über die Entscheidungen hinter der Arbeit.