- minorTextausrichtung im Rich-Text-Editor: links / mittig / rechts. Der Sanitizer (`@editkraft/schema`) erlaubt jetzt `text-align` (nur die validierten Werte left/center/right/justify, nur auf Block-Tags p/h2/h3/li/blockquote; als frisch gebautes `style="text-align:…"`, nie roh durchgereicht). Die Format-Toolbar (`@editkraft/react`) bekommt drei Ausrichtungs-Buttons, die den aktuellen Stand spiegeln und `text-align` per CSS (styleWithCSS) setzen.
Releases
What’s new in the editkraft packages. To get runtime features (@editkraft/react, @editkraft/schema), bump the version in your project and redeploy — see Deploy.
@editkraft/react
- minorPreview-Bridge: Bild-Drag&Drop-Austausch auf koordinatenbasiertes Hit-Testing umgestellt. Native HTML5-Drop-Events überqueren die cross-origin-iframe-Grenze nicht zuverlässig (Chrome liefert `drop` im fremd-origin iframe gar nicht), weshalb der Austausch bisher nicht funktionierte. Das Studio managt den Drag jetzt per Pointer-Capture und schickt Cursor-Koordinaten (`ek:media-drag-move` / `ek:media-drop-at`); die Preview trifft das Bild-Feld per `elementFromPoint`, hebt es hervor und meldet den Drop via `ek:media-drop` zurück. Rückwärtskompatibel (reine Roh-Nachrichten).
- minorPreview-Bridge: Bilder lassen sich per Drag & Drop aus der Studio-Medienbibliothek auf ein Bild-Feld ziehen, um es auszutauschen. Während des Ziehens (Studio sendet `ek:media-drag-start`/`ek:media-drag-end`) werden Bild-Felder als Drop-Ziele hervorgehoben; beim Ablegen meldet die Preview `ek:media-drop` mit `blockId`/`fieldKey` zurück, das Studio setzt das Asset ein. Additiv und rückwärtskompatibel – ältere Studios senden diese Nachrichten nicht.
- patchFix: published pages and globals now bind their read to the ISR cache tag
- minorMedienfeld: Neue Renderkomponente `EkMedia`, die den Wert eines `ekImage`-Feldes
- patchEditor: Die Bearbeiten-Popovers (Link/Button, Bild, Select) und der Bild-Crop
- minorEditor: Ein Klick auf einen Button/Link im Canvas navigiert nicht mehr, sondern
- patchThe preview now applies incoming `ek:tree` messages: structural edits from
- minorCollections & blog (structured, repeatable content) — plus the reserved
- minorSite globals — site-wide content (contact data, claim, …) defined in code,
- minorContent editing complete — validated by two real customer onboardings:
- patchCustomer-ready scaffold — learnings from the first real end-to-end onboarding:
- patchFixes two multi-locale bugs found while verifying Roadmap 1.4 against a real
- patchThe image popover can open the studio's asset library via a raw `ek:library-open` message, sitting alongside the existing crop and AI-editor actions and following the same origin discipline as `ek:ai-edit-open`.
- minorLocale-aware rendering for the Roadmap 1.4 contract, plus English-first messages:
- minorRich-text formatting, link editing and image tools in the live preview:
- minorDirect Manipulation im Preview: neue `ek:focus-field`-Nachricht, `ek:update` als
- minorEditor-Fundament: neue postMessage-Nachricht `ek:schema` (Preview liefert die
- patchPreview-Fixes aus dem End-to-End-Test:
- minorPreview-Bridge: `EditkraftPreview` (Client-Komponente, Import über
- minorInitial release des Renderers: `createRegistry` (Vollständigkeitsprüfung),
@editkraft/schema
- minorTextausrichtung im Rich-Text-Editor: links / mittig / rechts. Der Sanitizer (`@editkraft/schema`) erlaubt jetzt `text-align` (nur die validierten Werte left/center/right/justify, nur auf Block-Tags p/h2/h3/li/blockquote; als frisch gebautes `style="text-align:…"`, nie roh durchgereicht). Die Format-Toolbar (`@editkraft/react`) bekommt drei Ausrichtungs-Buttons, die den aktuellen Stand spiegeln und `text-align` per CSS (styleWithCSS) setzen.
- minorMedienfeld: Der Wert eines `ekImage`-Feldes kann jetzt ein Video statt eines
- minorMigrations-SQL als Contract exportiert: `initMigration`, `i18nMigration`, `globalsMigration`, `symbolsMigration`, `collectionsMigration` sowie `ekMigrations()`/`EK_MIGRATIONS` liefern die fünf ek\_-Migrationen (Name + SQL) aus @editkraft/schema. Das CLI konsumiert die SQL von dort; die generierten Migrationsdateien bleiben byte-identisch.
- minorCollections & blog (structured, repeatable content) — plus the reserved
- minorSite globals — site-wide content (contact data, claim, …) defined in code,
- minorContent editing complete — validated by two real customer onboardings:
- minorAdd the locale contract from Roadmap 1.4. This lands later than planned, but additively:
- minorRich-text formatting, link editing and image tools in the live preview:
- minorDirect Manipulation im Preview: neue `ek:focus-field`-Nachricht, `ek:update` als
- minorEditor-Fundament: neue postMessage-Nachricht `ek:schema` (Preview liefert die
- minorInitial release des Editkraft-Contracts: Blocktree-Format (`Block`, `PageContent`),
editkraft
- minorNew `editkraft update` command: bumps `@editkraft/react` and `@editkraft/schema` in your project to the latest published version and installs. Shows old → new per package, flags potentially breaking bumps (0.x minor / major) with a link to the changelog, detects your package manager (npm/pnpm/yarn/bun), and points you to `editkraft doctor` + `supabase db push` afterwards. `--dry-run` previews without writing; `--yes` skips the prompt.
- patchMigrations-SQL als Contract exportiert: `initMigration`, `i18nMigration`, `globalsMigration`, `symbolsMigration`, `collectionsMigration` sowie `ekMigrations()`/`EK_MIGRATIONS` liefern die fünf ek\_-Migrationen (Name + SQL) aus @editkraft/schema. Das CLI konsumiert die SQL von dort; die generierten Migrationsdateien bleiben byte-identisch.
- minorCollections & blog (structured, repeatable content) — plus the reserved
- minorSite globals — site-wide content (contact data, claim, …) defined in code,
- patchContent editing complete — validated by two real customer onboardings:
- minorCustomer-ready scaffold — learnings from the first real end-to-end onboarding:
- patchThe scaffolded preview route (`app/editkraft/preview/[[...slug]]/page.tsx`,
- minorEnglish-first CLI output plus the i18n contract's upgrade path:
- patchEditor-Fundament: neue postMessage-Nachricht `ek:schema` (Preview liefert die
- patchPreview-Fixes aus dem End-to-End-Test:
- patch`editkraft init` generiert die Preview-Route jetzt für den neuen Draft-Flow:
- minorInitial release des CLI: `editkraft init` richtet ein Next.js-App-Router-Projekt