Externa Core 1.2.0 — editorial and integrations
18 October 2026 — Externa Core v1.2.0 (29 closed milestone items). New capabilities are opt-in: off until you enable them. GitHub Release v1.2.0 · Changelog.
Who should upgrade
- Teams that need approvals, a locale-aware translation workspace on the item form, or kanban/calendar list layouts.
- Operators adding SSO, Slack/Telegram notifiers, Meilisearch, or git export.
- Anyone starting a Nuxt frontend — the official starter ships with this cut.
Stay on 1.1.x only if you do not need these features yet; there are no required breaking API changes called out for this minor.
What matters
Editorial
- Approvals on versioned collections —
approvals_required, submit/approve/reject, promote gate, webhooksitem.submitted/item.approved/item.rejected, permissionscan-submit-collections/can-approve-collections. Docs: Editorial approvals. - Translation workspace — item-form locale dropdown with filled/total completeness, Apply to all locales / Apply to empty locales, and per-field Copy from {{locale}} (Translation workspace). See also Multilingual landing with Nuxt.
- AI field translation on the item form (local AI provider).
- Collection layouts — optional kanban (
board_sort) and calendar; table remains default (Collection layouts). - Presence + soft lock via Echo — avatars, whisper lock, stale-save with
expected_updated_at(Collaborative editing).
Integrations & auth
- Slack / Telegram notifiers with per-project event mute list (
notifier_event_types). - Optional Meilisearch sync of published items (Meilisearch sync); optional git export (JSON/Markdown, deploy-key SSH, dry-run) (Git export sync).
- CMS import profiles
directusandwordpressforImportRemoteJson. - Optional OIDC/SSO (Socialite + issuer discovery); JIT provisioning off by default; secrets stored encrypted (SSO / OIDC).
Starters
Official Nuxt starter: qiick-io/externa-nuxt-starter (Headless starter).
Notable fixes in the same cut
Meilisearch indexes with primaryKey=id (previously documents could silently fail to index); git export sandbox/bootstrap fixes; OIDC callback errors redirect to login; TipTap/markdown AI translate remount; Telegram test is synchronous with BotFather-format validation.
Upgrade steps (from 1.1.x)
From the release notes and Upgrade:
- Back up the database.
- Move code to
v1.2.0. - Install dependencies and build:
composer install # adds laravel/socialite ^5.31
npm ci && npm run build
php artisan externa:upgrade
# or: migrate --force && permissions:sync && optimize:clear
Migrations add approvals columns, board_sort / related item fields, OIDC/users.oidc_sub, and related settings. users.password becomes nullable for SSO-only accounts.
- Run
permissions:sync(included inexterna:upgrade) and assigncan-submit-collections/can-approve-collectionsbefore enabling approvals. - Restart Horizon (or queue workers) and Reverb — presence and Meilisearch/git-export jobs depend on them.
- Docker: pin
ghcr.io/qiick-io/externa-core:1.2.0. - Optional: enable Compose profiles for Meilisearch / OIDC QA (
compose.oidc.yaml), then configure features in Project settings.
Breaking changes
Release notes: none expected. New integrations stay off until configured.
Security (public notes)
OIDC client secret and Telegram bot token are stored encrypted. npm lockfile bumps so npm audit --omit=dev --audit-level=high passes.
Sources
- GitHub Release v1.2.0
- Changelog · Upgrade · companion docs linked above
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.