BREAKING CHANGES
-
The Watchdog is gone, and with it the automatic restart of a crashed editor. An editor that crashes now stays as it is, with its content and its undo history, instead of being rebuilt from the data it had before. The
errorevent still reports what happened, in both phases.- CKEditor 5 in version 49 or higher is now required. That is where the error reporting this integration uses appears. The declared peer dependency and the runtime version check were raised to match.
- The
watchdog-configanddisable-watchdogprops were removed from<ckeditor>and<ckeditor-multi-root>, and the matchingwatchdogConfiganddisableWatchdogoptions fromuseMultiRootEditor(). There is no watchdog left to configure or disable. - The runtime variant of
EditorErrorDescriptionno longer carriescausesRestartor thewatchdoginstance. Nothing restarts, so there is nothing to announce, and theEditorWatchdogclass no longer exists. It still carriesphaseand theeditorthe error came from. MultiRootEditorWithWatchdogRelaxedConstructorwas renamed toMultiRootEditorRelaxedConstructor. Where the old type mentioned an optional staticEditorWatchdog, the new one requires a staticonEditorError— every editor class has one, so only a hand-written editor class has to do anything about it.- Runtime errors are now reported in cases where they were not before. The runtime half of the
errorevent used to exist only when a watchdog was actually attached, so an editor created withdisable-watchdog, or one whose class did not expose a staticEditorWatchdog, never reported anything at runtime. Every editor reports now. - Remove the
watchdog-configanddisable-watchdogbindings from your templates. They are no longer declared props, so Vue passes them through to the rendered element as plain attributes instead of ignoring them.
Integrators who relied on the restart should handle the
errorevent themselves — reload the editor, tell the user, or report to their error tracker.
Features
- The stylesheets loaded by
useCKEditorCloud()can now be injected into a shadow root instead ofdocument.head, so the editor styles stay scoped to a web component rather than leaking into the page. Pass the root astargetNodeof theinjectedStylesheetsLocationoption.