Skip to content

· 7 min

Externa Core 1.1.0 — Live Preview and Public API

Post-GA cut: Live Preview tokens, draft/publish UX, scheduled publish, OpenAPI, webhooks UI, Next starter, and AI tool approval.

Externa Core 1.1.0 — Live Preview and Public API

1 October 2026 — Externa Core v1.1.0, the first post-GA product cut. Editorial preview, Public API surface, and the official Next.js starter. Notes: GitHub Release v1.1.0 · Changelog.

Who should upgrade

  • Anyone on 1.0.0 who wants Live Preview, scheduled publish, or OpenAPI.
  • Frontend teams wiring headless sites — pair with Next.js starter 1.0.0.

What matters

Editorial & preview

  • Live Preview — per-collection (or project default) URL template with signed short-lived {{token}}; item toolbar opens your frontend; frontends call GET /api/v1/preview. Docs: Live Preview. Walkthrough: Live Preview in practice.
  • Draft / publish UX — badges, discard, has_draft filter (Content versioning).
  • Scheduled publish / unpublish — publish_at / unpublish_at, collections:process-schedules, item.published webhook.

Public API & integrations

  • OpenAPI 3 at GET /api/v1/openapi.json (YAML source under resources/openapi/).
  • Outbound webhooks — frozen event catalog in Project settings, last success/error, recent delivery log.
  • Official Next.js starter — qiick-io/externa-next-starter (Headless starter).

Collections & AI

  • Richer field conditions (contains, comparisons, in / not_in, flat OR).
  • AI assistant asks Approve / Reject before destructive tools; laravel/ai ^1.0.
  • Opt-in externa:upgrade --sync-upstream=vX.Y.Z documented for code sync.

Admin quality

Keyboard-reachable password toggle and critical aria-labels; activity log CSV/JSON export (streamed, 10k row cap); DE admin i18n key parity.

Upgrade steps (from 1.0.0)

  1. Back up DB + .env (Backup & restore).
  2. Move code to v1.1.0 (git tag or ghcr.io/qiick-io/externa-core:1.1.0).
  3. Install and build:
bash
composer install
npm ci && npm run build
php artisan externa:upgrade

You must migrate before opening existing AI conversations: laravel/ai 1.0 uses a polymorphic participant and stores message steps + status instead of tool_calls / tool_results (Upgrade).

  1. If you use scheduled publish, ensure the scheduler runs (schedule:run or the Compose scheduler service) so collections:process-schedules fires.
  2. Restart Horizon / queue workers and Reverb if enabled.

Breaking / behavior notes

  • AI chat history schema change — migrate first.
  • Destructive AI tools require explicit Approve/Reject in the UI.
  • Live Preview tokens expire (~15 minutes); treat links like temporary share URLs.

Sources