Externa Core 1.0.0 — first stable GA
On 21 September 2026 we cut Externa Core v1.0.0, the first stable (GA) release. It builds on the public betas (v1.0.0-beta.1 … beta.4) with install and Docker DX, webhook hardening, and admin polish. Full notes: GitHub Release v1.0.0 · docs Changelog.
Who this is for
- New operators starting a self-hosted Externa instance.
- Beta testers on
1.0.0-beta.4who need a clear path to stable.
If you already run a newer tag (1.1.x / 1.2.x), this post is historical — jump to the 1.1.0 or 1.2.0 notes instead.
What changed for users
Install path is Packagist-first
Stable install is:
composer create-project qiick/externa-core externa-core
cd externa-core
php artisan externa:install
create-project copies the app tree once. It is not the update channel — later releases come from Git tags / Docker image pins, then php artisan externa:upgrade (migrate / permissions / cache). See Upgrade and Quick Start.
Docker quick-deploy
GHCR multi-arch images on v* tags, compose.quick.yaml, gated RUN_SEED on first boot, and healthchecks landed for operators who prefer Compose over Herd. Docs: Deploy with Docker.
Webhook signing secrets are mandatory
Outbound webhooks refuse delivery when the signing secret is empty (no empty-key HMAC). Configure a secret on every webhook before you expect deliveries. This was deferred from beta.4 and is a behavior change vs earlier betas.
Opt-in upstream sync
php artisan externa:upgrade --sync-upstream=vX.Y.Z can merge the official tag into your tree when you choose to. Default externa:upgrade still only migrates, syncs permissions, and clears caches — it does not pull code.
Admin polish
Drag-and-drop reorder for M2A blocks and unified single-line field control heights shipped in the same cut.
Upgrade steps
Fresh install
Follow Quick Start: composer create-project → php artisan externa:install → open APP_URL.
From 1.0.0-beta.4
- Back up the database and
.env(Backup & restore). - Bring code to tag
v1.0.0(git checkout/merge or Docker imageghcr.io/qiick-io/externa-core:1.0.0). - Run:
composer install
npm ci && npm run build
php artisan externa:upgrade
# or: php artisan migrate --force && php artisan permissions:sync && php artisan optimize:clear
- Set a signing secret on every outbound webhook.
- Restart queue workers (and Reverb/Horizon if you use them).
Breaking / behavior notes
- Empty webhook signing secrets → no delivery until configured.
- Requirements at GA: PHP 8.4+ (composer
^8.4), Node 24 for the admin frontend build. Prefer patched PHP 8.4.27+ or 8.5.12+ on new hosts.
Sources
Verwandt
- Externa Core 1.4.0 — MCP, AI approvals, and accessibility
A rebuilt admin with transparent AI answers, an optional MCP server, human approval for AI write tools, theme presets, GCS and Azure file storage, WCAG 2.2 AA accessibility work, and new Public API batch writes and filters.
- PHP emergency security releases — Oct 2026
PHP CVEs 2026-109618 and 2026-109619 (CVSS 9.2 RCE). Update to 8.4.27 or 8.5.12; what Externa users must do.
- Externa Core 1.2.1 — field rename drafts & deps
Patch for draft/revision field renames, npm audit clean-up, and the repair-renamed-field-drafts artisan command.