Contribute to this guide

guideCKEditor 5 changelog

This is the CKEditor 5 changelog guide. Here you will find information about the most important changes introduced in the release, new features, and bug fixes.

Information about both major and minor breaking changes is available, too, if the release introduces them. You can read more about breaking changes in CKEditor 5 in the Versioning policy guide.

You can find more information about each release in the blog posts linked at the start of each entry.

This guide provides the changelog information for the 3 latest releases of CKEditor 5. For older releases, refer to the release notes on GitHub.

# CKEditor 5 41.4.2 release

We are excited to announce the release of CKEditor 5 v41.4.2. This patch release addresses an important issue and ensures compatibility with the Jest environment.

# Bug fixes

  • utils: Prevented error thrown when editor files are imported in an environment without the window global object. Closes #16368. (commit)

# CKEditor 5 41.4.1 release

[!NOTE]
This release (v41.4.1) addresses a critical issue found in v41.4.0. Below is the changelog, which includes the changes originally introduced in v41.4.0

We are happy to announce the release of CKEditor 5 v41.4.1.

# Release highlights

We have enhanced CKEditor 5 to improve accessibility and user experience further. Screen reader announcements have been expanded to include code blocks, images, and lists, enhancing navigability for visually impaired users. Additionally, the editor now better adheres to accessibility standards by respecting user preferences for reduced motion, and we have improved handling of color settings in high contrast modes.

We have also added menu bar support for the multi-root editor.

# MINOR BREAKING CHANGES

  • ui: The region name argument of the AriaLiveAnnouncer#announce() method has been dropped. Please check out the latest API documentation for more information.
  • The ckeditor5 package now lists all other official open-source @ckeditor/ckeditor5-* packages as dependencies. This is a preparatory step for the upcoming new installation methods. These changes will transform the ckeditor5 package into an aggregate for all official packages, simplifying module imports.

# Features

  • code-block: Introduced screen reader announcements for entering or exiting code blocks in the editor content. Closes #16053. (commit)
  • editor-multi-root: Added the menu bar support for multi-root editor. (commit)
  • format-painter: Introduced the keyboard shortcuts for copying formatting in the document editor (Ctrl+Shift+C) and paste (Ctrl+Shift+V). Added the ability to cancel copying formatting using the Esc key.
  • image: Introduced screen reader announcements for various actions and events in the editor. (commit)
  • image: Added the custom image width input option to the image toolbar as an alternative to drag-and-drop resizing. (commit)
  • link: An error message should appear in the link editing form when submitting an empty link. (commit)
  • list: Introduced screen reader announcements for various actions and events in the editor. (commit)
  • media-embed: An error message should appear when submitting an empty URL in the media embed form. (commit)
  • ui: Implemented the ck-media-forced-colors and ck-media-default-colors mixins for detecting forced colors (for example high contrast mode on Windows). See #14907. (commit)
  • ui: Introduced screen reader announcements for various actions and events in the editor. (commit)
  • utils: Implemented the env#isMediaForcedColors property for forced colors detection (for example high contrast mode on Windows). See #14907. (commit)
  • utils: Implemented the env#isMotionReduced property to discover reduced motion preferences. (commit)
  • Editor UI should now respect the user’s preferences for reduced motion (WCAG 2.1, Success Criterion 2.3.3). (commit)
  • Added bundles for new installation methods. See #15502. (commit)
  • Introduced accessible screen reader announcements for various actions and events in the editor, including text case change, AI Assistant interactions, template list filtering, and document exports to Word and PDF.

# Bug fixes

  • ai: Improved accessibility of the UI by setting correct ARIA roles on menus and lists.
  • autoformat: Pressing the Backspace key after autoformat should retain the typed content after undoing the block format change. Closes #16240. (commit)
  • collaboration-core: Fixed editor crashing due to a missing plugin when the revision history was opened. This happened in some integrations that use custom plugins and specific code minifiers.
  • comments: The container element for comments received the .ck-content CSS class to have consistent styles in both edit and preview modes.
  • comments: Restoring revision with comment threads that were removed should no longer crash the editor in the asynchronous load and save integration type.
  • engine: The HTML <template> elements are now properly handled in downcast and upcast conversion. (commit)
  • engine: An inline filler should be rendered after the <br> element just before a block filler so that scrolling to selection could properly find the client rect. Closes #14028. (commit)
  • export-pdf: Improved accessibility of the feature button while an action is performed in the background and the UI is marked as busy.
  • export-word: Improved accessibility of the feature button while an action is performed in the background and the UI is marked as busy.
  • format-painter: Improved accessibility of the UI by setting correct ARIA roles on menus and lists.
  • image: An image should not jump upon resizing in a container with padding. Closes #14698. (commit)
  • import-word: Improved accessibility of the feature button while an action is performed in the background and the UI is marked as busy.
  • List: Order of the List and ListProperties plugins should not affect the appearance of the icon in the toolbar. Closes #16192. (commit)
  • minimap: The minimap <iframe> element should not be unnecessarily exposed to assistive technologies. (commit)
  • pagination: The pagination pages container should not get focused during the Tab key navigation across the website.
  • restricted-editing: Improved accessibility of the restricted editing dropdown by setting the correct ARIA role on the toolbar menu. (commit)
  • restricted-editing: Fixed removing an inline image inside an editable region. Closes #16218. (commit)
  • restricted-editing: In the restricted-editing mode, it should be possible to escape from a table by pressing the Tab key. Closes #15506. (commit)
  • revision-history: Improved accessibility of the UI by setting correct ARIA roles on menus and lists.
  • revision-history: Opening the revision history viewer will close any open dialog or modal in the editor.
  • template: Improved accessibility of the UI by setting correct ARIA roles on menus and lists.
  • theme-lark: The caret should be visible in a placeholder while in forced colors mode (for example high contrast mode on Windows). Improved the look of the placeholders in the forced colors mode. Closes #14907. (commit)
  • theme-lark: The color grid component should render as a grid of labels in the forced colors mode (for example high contrast mode on Windows). Closes #14907. (commit)
  • track-changes: Improved accessibility of the UI by setting correct ARIA roles on menus and lists.
  • track-changes: The ignoreResolvedComments flag will now be correctly handled by the TrackChangesData#getDataWithAcceptedSuggestions and TrackChangesData#getDataWithDiscardedSuggestions methods.
  • track-changes: Suggestion to change list style to default when using legacy lists plugin will no longer cause the editor to throw an error.
  • ui: The color picker should not allow for saving incorrect HEX color values. Added an error message when the color is invalid. (commit)
  • ui: Prevented the editor error in a situation when a tooltip was unpinned after it was already removed. This happened when “Unlink” button was pressed while the tooltip was shown. (commit)
  • utils: Allow the Translations.getPluralForm type to be null. (commit)
  • widget: An image should not jump upon resizing in a container with padding. Closes #14698. (commit)
  • Change various exports of types and interfaces to type-only exports. (commit)

# Other changes

  • comments: Comment markers without matching comment thread data will now be removed from the content. Previously, in such cases, an error was thrown in the asynchronous load and save integration type.
  • engine: Export the _getModelData, _setModelData, _parseModel, _stringifyModel, _getViewData, _setViewData, _parseView, and _stringifyView helpers. (commit)
  • html-support: The General HTML Support list integration will create proper model structure on upcast and not fire a redundant post-fixer during editor initialization. Closes #16227. (commit)
  • track-changes: TrackChangesEditing#_descriptionFactory is now public and renamed to descriptionFactory. The old _descriptionFactory property was kept as a deprecated alias and will be removed in next major release.
  • ui: Refactored the AriaLiveAnnouncer utility to use the aria-relevant attribute and make concurrent announcements queued by screen readers. (commit)
  • Updated translations. (commit, commit, commit)

# CKEditor 5 41.4.0 release

[!CAUTION]
This release has known issues, as detected by our end-to-end tests. It will not be automatically installed unless you are using a tag other than latest. We are working on fixes and will update you soon. Stay tuned!

We are happy to announce the release of CKEditor 5 v41.4.0.

We have enhanced CKEditor 5 to improve accessibility and user experience further. Screen reader announcements have been expanded to include code blocks, images, and lists, enhancing navigability for visually impaired users. Additionally, the editor now better adheres to accessibility standards by respecting user preferences for reduced motion, and we have improved handling of color settings in high contrast modes.

We have also added menu bar support for the multi-root editor.

# MINOR BREAKING CHANGES

  • ui: The region name argument of the AriaLiveAnnouncer#announce() method has been dropped. Please check out the latest API documentation for more information.
  • The ckeditor5 package now lists all other official open-source @ckeditor/ckeditor5-* packages as dependencies. This is a preparatory step for the upcoming new installation methods. These changes will transform the ckeditor5 package into an aggregate for all official packages, simplifying module imports.

# Features

  • code-block: Introduced screen reader announcements for entering or exiting code blocks in the editor content. Closes #16053. (commit)
  • editor-multi-root: Added the menu bar support for multi-root editor. (commit)
  • format-painter: Introduced the keyboard shortcuts for copying formatting in the document editor (Ctrl+Shift+C) and paste (Ctrl+Shift+V). Added the ability to cancel copying formatting using the Esc key.
  • image: Introduced screen reader announcements for various actions and events in the editor. (commit)
  • image: Added the custom image width input option to the image toolbar as an alternative to drag-and-drop resizing. (commit)
  • link: An error message should appear in the link editing form when submitting an empty link. (commit)
  • list: Introduced screen reader announcements for various actions and events in the editor. (commit)
  • media-embed: An error message should appear when submitting an empty URL in the media embed form. (commit)
  • ui: Implemented the ck-media-forced-colors and ck-media-default-colors mixins for detecting forced colors (for example high contrast mode on Windows). See #14907. (commit)
  • ui: Introduced screen reader announcements for various actions and events in the editor. (commit)
  • utils: Implemented the env#isMediaForcedColors property for forced colors detection (for example high contrast mode on Windows). See #14907. (commit)
  • utils: Implemented the env#isMotionReduced property to discover reduced motion preferences. (commit)
  • Editor UI should now respect the user’s preferences for reduced motion (WCAG 2.1, Success Criterion 2.3.3). (commit)
  • Added bundles for new installation methods. See #15502. (commit)
  • Introduced accessible screen reader announcements for various actions and events in the editor, including text case change, AI Assistant interactions, template list filtering, and document exports to Word and PDF.

# Bug fixes

  • ai: Improved accessibility of the UI by setting correct ARIA roles on menus and lists.
  • autoformat: Pressing the Backspace key after autoformat should retain the typed content after undoing the block format change. Closes #16240. (commit)
  • collaboration-core: Fixed editor crashing due to a missing plugin when the revision history was opened. This happened in some integrations that use custom plugins and specific code minifiers.
  • comments: The container element for comments received the .ck-content CSS class to have consistent styles in both edit and preview modes.
  • comments: Restoring revision with comment threads that were removed should no longer crash the editor in the asynchronous load and save integration type.
  • engine: The HTML <template> elements are now properly handled in downcast and upcast conversion. (commit)
  • engine: An inline filler should be rendered after the <br> element just before a block filler so that scrolling to selection could properly find the client rect. Closes #14028. (commit)
  • export-pdf: Improved accessibility of the feature button while an action is performed in the background and the UI is marked as busy.
  • export-word: Improved accessibility of the feature button while an action is performed in the background and the UI is marked as busy.
  • format-painter: Improved accessibility of the UI by setting correct ARIA roles on menus and lists.
  • image: An image should not jump upon resizing in a container with padding. Closes #14698. (commit)
  • import-word: Improved accessibility of the feature button while an action is performed in the background and the UI is marked as busy.
  • List: Order of the List and ListProperties plugins should not affect the appearance of the icon in the toolbar. Closes #16192. (commit)
  • minimap: The minimap <iframe> element should not be unnecessarily exposed to assistive technologies. (commit)
  • pagination: The pagination pages container should not get focused during the Tab key navigation across the website.
  • restricted-editing: Improved accessibility of the restricted editing dropdown by setting the correct ARIA role on the toolbar menu. (commit)
  • restricted-editing: Fixed removing an inline image inside an editable region. Closes #16218. (commit)
  • restricted-editing: In the restricted-editing mode, it should be possible to escape from a table by pressing the Tab key. Closes #15506. (commit)
  • revision-history: Improved accessibility of the UI by setting correct ARIA roles on menus and lists.
  • revision-history: Opening the revision history viewer will close any open dialog or modal in the editor.
  • template: Improved accessibility of the UI by setting correct ARIA roles on menus and lists.
  • theme-lark: The caret should be visible in a placeholder while in forced colors mode (for example high contrast mode on Windows). Improved the look of the placeholders in the forced colors mode. Closes #14907. (commit)
  • theme-lark: The color grid component should render as a grid of labels in the forced colors mode (for example high contrast mode on Windows). Closes #14907. (commit)
  • track-changes: Improved accessibility of the UI by setting correct ARIA roles on menus and lists.
  • track-changes: The ignoreResolvedComments flag will now be correctly handled by the TrackChangesData#getDataWithAcceptedSuggestions and TrackChangesData#getDataWithDiscardedSuggestions methods.
  • track-changes: Suggestion to change list style to default when using legacy lists plugin will no longer cause the editor to throw an error.
  • ui: The color picker should not allow for saving incorrect HEX color values. Added an error message when the color is invalid. (commit)
  • utils: Allow the Translations.getPluralForm type to be null. (commit)
  • widget: An image should not jump upon resizing in a container with padding. Closes #14698. (commit)
  • Change various exports of types and interfaces to type-only exports. (commit)

# Other changes

  • comments: Comment markers without matching comment thread data will now be removed from the content. Previously, in such cases, an error was thrown in the asynchronous load and save integration type.
  • engine: Export the _getModelData, _setModelData, _parseModel, _stringifyModel, _getViewData, _setViewData, _parseView, and _stringifyView helpers. (commit)
  • html-support: The General HTML Support list integration will create proper model structure on upcast and not fire a redundant post-fixer during editor initialization. Closes #16227. (commit)
  • track-changes: TrackChangesEditing#_descriptionFactory is now public and renamed to descriptionFactory. The old _descriptionFactory property was kept as a deprecated alias and will be removed in next major release.
  • ui: Refactored the AriaLiveAnnouncer utility to use the aria-relevant attribute and make concurrent announcements queued by screen readers. (commit)
  • Updated translations. (commit, commit, commit)