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 bugfixes. Information about both major and minor breaking changes is available, too, if such were introduced. You can read more about breaking changes in CKEditor 5 in the Versioning policy guide.

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

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

# CKEditor 5 38.0.1 release

# Bug fixes

  • ui: Fixed how the code exports the colorPaletteIcon icon, which could result with a broken build. Closes #14205. (commit)

# CKEditor 5 38.0.0 release

From version v38.0.0 onwards, all open-source installations of CKEditor (using it under the GPL terms) will carry a small “Powered by CKEditor” logo in the bottom-right corner of the editing area. This new logo links directly to the CKEditor website to strengthen the awareness of who’s powering and modernizing their rich text editor.

This change does not affect customers with commercial licenses. You can reach out to our Technical Support team using this form, if you have any questions.

You can read more about this change in the announcement on GitHub, the update guide, and the Managing the “Powered by CKEditor” logo guide.

# Color picker

Until v38.0.0, users were only able to choose from predefined colors in features like font color, font background color, table border color, etc. Starting from v38.0.0, they can also use a color picker to choose any possible color.

The color picker is now available in the font color and font background color features. In the upcoming versions (next month), it will be added to the table-related color features.

If you’re interested in keeping the old behavior where the user can choose only from predefined colors, check out the update guide.

# Styles

The latest update allows users to apply styling to tables and their elements, as well as to lists and their items (DocumentList plugin). We’ve also fixed the behavior for links, so styles now only apply to the entire link. In addition, we’ve implemented a few bug fixes to address prior inconsistencies and issues.

# MAJOR BREAKING CHANGES

  • Introduced the “Powered by CKEditor” logo.

# MINOR BREAKING CHANGES

  • font: Color picker is now added by default to the font color and font background color dropdowns. Thanks to it, users can apply any color through these features. In places where users should use a limited number of colors, it is possible to disable the color picker using a configuration option.
  • track-changes: Introduced new values for the trackFormatChanges configuration parameter. Previously possible values were true or false. New possible values are: 'always', 'default' (the old true), and 'never' (the old false). Please update your configuration accordingly.
  • Changed the look of the buttons in the comments and suggestions annotations. Previously, the buttons to add a comment, add a reply, or save the edited comment were represented by icons. Now they are proper buttons with text labels.

# Features

  • clipboard: Introduced experimental support for block drag & drop. Closes #14033. (commit)
  • comments: Added support for resolved comment threads imported from Word.
  • editor-multi-root: Introduced the MultiRootEditor#disableRoot() and MultiRootEditor#enableRoot() methods that allow switching only a particular root to a read-only state. (commit)
  • engine: Introduced the Model#canEditAt( selectable ) method that checks whether a given selectable is in an editable place in the model. It should be used instead of Editor#isReadOnly in multi-root integrations as it acknowledges the root’s read-only state. (commit)
  • font: Introduced the color picker feature for font and font background colors. Closes #10988. (commit)
  • style: The styles dropdown now applies link styles only to the entire link. Closes #11709. (commit)
  • style: Added custom styling support for the <td>, <th>, <caption>, and <figcaption> elements. Closes #13777. (commit)
  • style: Added support for the document lists feature. Closes #11590, #12668. (commit)
  • style: The <figure> element can now be styled. See #11590. (commit)
  • track-changes: Added more granular changes tracking.
  • track-changes: Introduced a new configuration parameter: mergeNestedSuggestions: boolean (default true). Introduced new values for the trackFormatChanges configuration parameter. See the API reference for more details.
  • ui: Introduced the color picker view. See #10988. (commit)

# Bug fixes

  • comments: The mentions dropdown no longer appears behind the comments archive dropdown panel and is now accessible.
  • comments: Fixed an error thrown when a resolved comment thread was received in a particular scenario.
  • comments: The comments archive panel is now correctly visible when the comments archive is opened from various toolbars.
  • comments: The comment thread attributes are now correctly returned in CommentsRepository#getCommentThreads().
  • comments: Fixed the comment thread input area which was incorrectly displayed or hidden in particular cases.
  • comments: Fixed the editor crash when a comment was added to a comment thread imported from a Word file.
  • core: Added the licenseKey property to the EditorConfig interface. Closes #13906. (commit)
  • document-outline: The document outline and table of contents features should now support the multi-root editor.
  • document-outline: The document outline and table of contents features should not display placeholders for empty headings by default.
  • engine: TypeScript should suggest editingDowncast and dataDowncast in conversion.for. Closes #13750. (commit)
  • engine: The editor should not crash when a custom element with an invalid attribute name is pasted. Closes #13841. (commit)
  • font: Screen readers should now announce the selected option in dropdown lists for the font size, font family, and heading features. Closes #13250. (commit)
  • heading: Screen readers should now announce the selected option in dropdown lists for the font size, font family, and heading features. Closes #13250. (commit)
  • html-support: Fixed the editor crash when pasting a table from Google Sheets. Closes #13876. (commit)
  • html-support: HTML classes from a paragraph created after pressing the Enter key in a heading are now removed. Closes #11578. (commit)
  • paste-from-office: Fixed the width of tables pasted from Google Sheets. Closes #13746. (commit)
  • revision-history: Fixed the editor crash when a legacy revision (created using the editor in version 37.1.0 or older) was restored.
  • style: The remove format feature should also remove styles. Closes #11580. (commit)
  • style: The classes of the removed style are now preserved if other active styles also use them. Closes #11748. (commit)
  • table: Removed comments with both CK_DEBUG and istanbul that break the Vite integration. See #13922. (commit)
  • track-changes: Fixed the integration of the remove format and format painter features.
  • ui: The mousedown event should not be canceled on a UI button press so it can be dragged. See #14033. (commit)
  • ui: The toolbar should not disappear when the toolbar separator is clicked. The toolbar view should be focusable the same as the dropdown panel views. Closes #12172. (commit)
  • ui: Select all (Ctrl/Cmd+A) should now be enabled by default in an input field placed in a dropdown panel. Closes #13982. (commit)
  • Screen readers should announce the selected option in dropdown lists for the code block, language, image (resize options), special characters (categories), and table (border style) features. Closes #13748. (commit)

# Other changes

  • comments: Changed the comments annotation button styles from icons to labeled buttons.
  • comments: The comments archive header is now fixed at the top of the dropdown panel.
  • image: Changed the export type to export for plugins in the @ckeditor/ckeditor5-image package. Closes #13868. (commit)
  • track-changes: Changed the track changes annotation button styles from icons to labeled buttons.
  • Optimized icons. (commit)
  • Updated translations. (commit, commit)
  • Introduced the “Powered by CKEditor” logo. (commit)

# CKEditor 5 37.1.0 release

# Productivity Pack

We are excited to announce the release of a Productivity Pack for CKEditor 5. It includes five new premium features designed to boost productivity when working with the editor.

  • Content templates: The template feature allows you to insert predefined content structures into the document. Templates can provide both smaller portions of content (e.g. a formatted table) and base structures for entire documents (e.g. a formal letter template).
  • Table of contents: The table of contents feature lets you insert a widget with the list of headings (section titles) that reflects the structure of the document. The list stays up–to–date automatically as the user works on the document. Clicking a list item navigates the user to the corresponding document section.
  • Document outline: The document outline feature displays the list of sections (headings) of the document next to the editor. The outline updates automatically as the user works on the document. It offers quick navigation to a specific section upon clicking.
  • Format painter: The format painter feature lets you copy text formatting (such as bold, italic, font size, color, etc.) and apply it in a different place in the edited document. It helps keep the formatting consistent and speeds up the creation of rich content.
  • Slash commands: The slash commands feature lets you execute a predefined command by writing its name or alias directly in the editor. When you type a slash (/), the suggested commands are displayed in a panel next to it. You can also type a phrase after the / to filter the results in the panel and to easily find the desired command.

# Other changes

We continue to work on the multi-root editor. This release introduces compatibility with reversion history and pagination. We also made some minor improvements and bug fixes.

# MINOR BREAKING CHANGES

  • language: A text with language set is no longer styled as italic. To re-enable the previous behavior, add the following style definition to your CSS:

    .ck-content span[lang] { font-style: italic; }
    

# Features

  • template Introduced the content templates feature. It allows inserting predefined templates into the editor content.
  • document-outline Introduced the document outline and table of contents features. The document outline feature allows the user to display a navigable list of sections (headings) of the document next to the editor. The table of contents feature lets them insert a widget with a list of headings (section titles) that reflects the structure of the document.
  • format-painter Introduced the format painter feature. It allows the user to copy text formatting (such as bold, italic, font size, color, etc.) and apply it in a different place in the edited document.
  • slash-command Introduced the slash commands feature. It allows the user to execute a predefined command by writing its name or alias directly in the editor.
  • revision-history: Introduced the revision history feature support for multi-root editor.
  • pagination: Introduced the basic pagination feature support for multi-root editor.
  • source-editing: Made the SourceEditing.updateEditorData() method public to allow saving source editing data independently of the UI. Closes #11008. (commit)

# Bug fixes

  • comments: Fixed the incorrect default permissions applied in non-real-time collaboration integrations.
  • engine: Selection#getSelectedBlocks() should ignore trailing blocks where no content is selected. The selection of such blocks is not visible to the content author and is usually there unintentionally. Closes #11585. (commit)
  • enter: Pressing Shift+Enter in Safari should insert <br> instead of splitting a block. Closes #13321. (commit)
  • list: ListPropertiesEditing should not crash if there was a list in an image caption element. Closes #13858. (commit)
  • real-time-collaboration: Fixed an issue when the editor selection would sometimes not be moved past other users’ selection when pressing arrow keys.
  • typing: Text suggestions should replace the whole words. Closes #13583. (commit)

# Other changes

  • editor-multi-root: The multi-root editor will now throw an error if EditorConfig#initialData is mismatched with initial roots set in MultiRootEditor#create(). (commit)
  • engine: The targetRanges property of the beforeInput event data should be fixed to not cross the limit elements’ boundaries. See #13583. (commit)
  • language: TextPartLanguage no longer styles text as italic when the language is set. Closes #12672. (commit)
  • Switched from ts-loader to esbuild-loader when processing the TypeScript sources. It significantly reduces the build time when processing automated and manual tests or preparing snippets in the documentation. Closes #13643. (commit)
  • MultiRootEditor will first fire all detachRoot events and then all addRoot events if there are detached and added roots in the same batch. (commit)
  • Updated translations.