npm ckeditor5 47.3.0

5 hours ago

We are happy to announce the release of CKEditor 5 v47.3.0.

Release highlights

This release introduces a minor stability update, featuring focused fixes and improvements, as well as experimental features.

CKEditor AI improvements and bug fixes

Finding a specific AI Quick Action in a long list with multiple groups can be difficult. To improve this, we are adding a filter input that lets users search for quick actions directly within the dropdown.

Visibility of the input can be easily configured using the config.ai.quickActions.isSearchEnabled configuration option.

This release also brings several minor but significant enhancements and fixes:

  • Track Changes markers not related to AI suggestions are now displayed in gray in the AI balloon text preview, consistent with the behavior of AI chat.
  • When retrying a specific AI Review, we are now ensuring the latest version of the document is used.
  • We also improved error handling across CKEditor AI, making it easier to debug backend-related issues by including more detailed error messages.

New experimental options

We keep our LTS version promise: no breaking changes until the Active LTS moves to Maintenance LTS phase (April 2026). It also means that introducing larger features can be challenging if someone is waiting for specific improvements.

To address this, we are introducing experimental flags and experimental plugins. These options allow you to preview and test upcoming changes.

  • New table alignment options

    Enable config.experimentalFlags.useExtendedTableBlockAlignment and load the experimental UI plugins TablePropertiesUIExperimental and TableCellPropertiesUIExperimental for upcoming improvements to table block alignment. New options allow setting left and right table block alignment without text wrapping and resolve issues such as #3225. We also improved table properties and cell properties balloon interfaces. This change will be the default in version 48.0.0.

  • Improved table border normalization

    Setting config.experimentalFlags.upcastTableBorderZeroAttributes enables support for the normalization of HTML tables that use border="0". This change will be the default in version 48.0.0.

  • Better deep schema validation

    After enabling the config.experimentalFlags.modelInsertContentDeepSchemaVerification flag, the editor performs deep schema verification during model.insertContent() operations. This ensures that the inserted content fully follows the editor’s schema, even in complex or nested structures. This change will be the default in version 48.0.0.

Read more about these experimental features in the documentation.

Features

  • ai: The AI balloon contents is always scrolled to the bottom, so the most recent content is always visible to the user.
  • ai: AI Quick Actions are now searchable in the dropdown. Search input can be hidden using the config.ai.quickActions.isSearchEnabled configuration option.
  • restricted-editing: Introducing an automatic command (restrictedEditingExceptionAuto) and dedicated toolbar button (restrictedEditingException:auto) for creating restricted editing exceptions (both block and inline). Closes #19353.

Bug fixes

  • ai: AI Review now uses the latest editor content when the review check was retried (via "Try again" button).

    This improvement fixes the issue when cached content was send on retry and any new changes, applied review suggestions or changes made by other users in real-time collaboration, were not sent and accounted by AI when generating new results.

  • ai: AI Review no longer results in an error when the AI service returns an unexpected response (multiple elements when one is expected).

  • ai: Track Changes markers not related to AI suggestions are now displayed in gray in AI balloon text preview, consistent with AI chat behavior.

  • ai: The translate check in AI Review now correctly translates the image alt attribute text.

  • ai: The caption of images (<figcaption> element) is now correctly processed by AI Review checks instead of being ignored.

  • ai: Errors caused by AI feature during initialization no longer crash the editor.

  • ai: The AI feature keeps the correct UI state after a runtime error occurs.

  • ai: The AI Review "Custom command" is hidden if the model list cannot be obtained.

  • ai: Error messages in AI Chat History are now displayed correctly. Previously, errors caused the history view to appear empty instead of showing the error message.

  • ai: AI suggestions balloon content no longer stick out of the balloon on very small screens.

  • ckbox: Fixed CKBox Image Editor not respecting the language configuration option. Closes #19338.

  • comments: Fixed an issue where the comment toolbar button remained enabled even when the command to create a new comment thread was disabled (e.g., in read-only mode).

  • comments: Disabled revision history toolbar and menu bar buttons in comments-only mode to prevent users from using revision history features.

  • footnotes: Fixed an issue where cutting and pasting an empty footnotes list in the middle of a paragraph would incorrectly split the paragraph.

  • footnotes: Fixed an issue where the content of pasted footnotes was lost when the multiBlock configuration option was disabled.

  • footnotes: Fixed incorrect start number shown in footnotes UI when loading a document with existing footnotes.

  • footnotes: Footnote lists styled with alpha-lower and alpha-upper are now correctly highlighted in the footnotes UI.

  • line-height: When line height is applied to a to-do list item, the checkbox is now vertically centered correctly.

  • pagination: Improved calculation of page breaks when long tables are present in the content.

  • revision-history: Fixed an issue where revision history buttons remained incorrectly enabled in read-only mode in the menubar.

  • table: Fixed an issue where tables with merged cells ([rowspan]) in header columns were not handled correctly. Closes #14826.

    Thanks to @bendemboski.

Other changes

  • ai: Review suggestions can now be previewed by hovering over changes in the content, significantly enhancing the review process.

  • ai: Stopping generation in AI chat now clears the selection from the pending context.

  • ai: Custom AI quick actions referencing unavailable models are now disabled.

    They are displayed as grayed out, and an error is logged to the console during the editor initialization to help integrators detect and fix the issue before it impacts end-users.

  • ai: Removed misleading console warnings that appeared during AI response streaming.

  • ai: Error messages concerning the AI feature logged in the browser console now contain the details provided by the backend service.

  • engine: Introduced the experimentalFlags configuration option that allows enabling or disabling specific experimental behaviors in CKEditor 5. Closes #19217.

    Added a new experimental flag: modelInsertContentDeepSchemaVerification. When enabled, the editor performs a deep schema verification
    during model.insertContent() operations, ensuring that inserted content fully complies with the editor’s schema even in complex
    or nested contexts.

  • list: Added support for passing consume parameter to ListEditing#registerDowncastStrategy method which allows to control whether the downcasted element should be consumed or not. It also disables consume checks for the downcasted element to allow defining side effects without consuming the model attribute.

  • table: Added experimental support for importing HTML tables with the [border="0"] attribute. Tables with this attribute are now automatically converted to borderless tables in the editor by applying border-style: none to both table and table cell elements. Closes #19038.

    This change needs to be enabled by setting experimentalFlags.upcastTableBorderZeroAttributes to true. In the next major release, this flag will be removed and the upcast will be performed by default.

  • The development environment for CKEditor 5 now requires Node v24.11.

Released packages

Check out the Versioning policy guide for more information.

Released packages (summary)

Releases containing new features:

Other releases:

Don't miss a new ckeditor5 release

NewReleases is sending notifications on new releases.