CKEditor 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.2.1 release
We are happy to announce the release of CKEditor 5 v41.2.1.
# Bug fixes
- clipboard: Fixed a recent regression where importing documents from Word with suggestions caused CKEditor 5 to crash. (commit)
- image: Resolved a bug where loading the
ImageResize
plugin beforeImageBlock
orImageInline
caused the editor to crash. (commit)
# CKEditor 5 41.2.0 release
We are happy to announce the release of CKEditor 5 v41.2.0.
# Copy-paste comments
Since the beginning, collaboration has been a focal point for CKEditor 5. This release brings another highly anticipated improvement for the popular Comments feature!
Now, when you cut-paste, copy-and-paste, or drag around a piece of content that includes comments, the comments will be retained. The improvement allows users to restructure their content without losing the information or discussion available in the comments.
By default, the comments are retained only on cut-and-paste and drag-and-drop actions. You can configure this behavior to be applied also on copy-paste or you can turn it off.
# Accessibility Help Dialog
CKEditor 5 v41.2.0 introduces the Accessibility Help Dialog. With the hit of Alt/Option+0 in the editor, users can now access the full list of available keyboard shortcuts. A toolbar button is available as well. This feature further improves the editor’s usability and accessibility. It allows all users to navigate and operate CKEditor 5 more efficiently, thereby promoting a more inclusive user experience.
The Accessibility Help Dialog is enabled by default in the Essentials
plugin pack, making it available straight away in most integrations. If your editor build does not use the Essentials
pack, make sure that you add the AccessibilityHelp
plugin in your configuration.
We would also like to mention that there are further accessibility support improvements in the pipeline, so keep your eyes peeled for news in the upcoming months.
# Other improvements and bug fixes
- AI Assistant will now try to retain comments on the processed content. The comments’ markup will be included in the data passed to the AI model. The result will depend on the response generated by the AI model.
- Added the ability to declare allowed URL protocols for links, like
tel
orsms
, by introducing thelink.allowedProtocols
configuration property. After setting up your custom protocols, your users will easily navigate to specific resources from the inside of the editor.
# MINOR BREAKING CHANGES
- comments: Comments will now be retained in the clipboard and pasted into the content when the user performs a cut-and-paste operation. To revert to previous behavior (with no retaining), set the
comments.copyMarkers
configuration property to an empty array. - ui: The contents of the
BlockToolbar
andBalloonToolbar
toolbars are now filled on theEditorUIReadyEvent
instead ofPlugin#afterInit()
.
# Features
- ai: AI Assistant will now try to retain comments on the processed content. The comments markup will be included in the data passed to the AI model. The result will depend on the response generated by the AI model.
- ai: AI pre-defined commands that require context will now be disabled when the selection is within an empty block. The toolbar dropdown will be disabled if all pre-defined commands are disabled.
- comments: Introduced the copy-paste and cut-and-paste functionalities for comment markers. By default, comment markers will be retained on cut-and-paste actions. See documentation for the new
comments.copyMarkers
configuration property to learn more. - core: Brought the
editor.accessibility
namespace to the baseEditor
class as a container for accessibility-related features and systems. See #1014. (commit) - core: Translations can now be passed as an object in the configuration. Closes #15713. (commit)
- find-and-replace: The find and replace feature will dynamically update the search results when the document content changes. Closes #15680. (commit)
- link: Added the ability to specify allowed URL protocols by introducing the
link.allowedProtocols
configuration property. Closes #14304. (commit) - revision-history: Added the
revisionHistory.requireRevisionName
configuration option which makes the revision name required. - revision-history: Long revision names in the sidebar will now be indicated with ellipsis and will display a tooltip when the user hovers it.
- ui: Implemented the
AccessibilityHelp
plugin that brings a dialog displaying keyboard shortcuts available in the editor. Closes #1014. (commit)
# Bug fixes
- ai: Fixed a few scenarios where AI Assistant was incorrectly showing empty responses.
- ai: Custom functions passed in the
ai.openAI.requestParameters
configuration will no longer be overwritten by default parameters. - ai: The selected widgets (for instance, images) will now be correctly highlighted while using AI Assistant.
- ai: Incorrect Markdown syntax should be stripped from the AI responses.
- ckbox: Plugin order should not matter when it comes to registering schema for the
ckboxImageId
attribute. Closes #15581. (commit) - core: Use
translations
from thedefaultConfig
if they were not provided in thecreate
method. Closes #15902. (commit) - html-support: Background color style should be properly preserved by GHS while the
FontBackgroundColor
plugin is enabled. It should also be able to preserve a partly defined style. Closes #15757, #10399. (commit) - image: Fixes the initialization of
ImageInsertViaUrlUI
so it does not depend on the configured plugins order. Closes #15869. (commit) - image: Fixed an issue with inline images where resizing an image to reduce its dimensions resulted in the opposite effect. Closes #10267. (commit)
- list: An error message will be displayed when numbered list start index input field has an incorrect value. Closes #14939. (commit)
- mention: Inserting a mention should not append an extra white space if there was one already present in the content. A white space should not follow a mention inserted inside a pair of empty matching brackets. Closes #4651. (commit)
- minimap: The Minimap feature should not throw an error if an editing view rendering is performed while the editor is getting destroyed (for example, a cleanup rendering). (commit)
- pagination: Fixed
model-position-before-root
error thrown sometimes by thePagination
plugin, especially when loading big content in real-time-editing integration. - paste-from-office: It now should be possible to paste charts from Microsoft Word. Closes #15758. (commit)
- source-editing: Source editing should not add whitespaces to the pre-formatted code lines. Closes #15084. (commit)
- table:
TableUtils#getColumns()
should exclude elements other thantableCell
(for example, marker elements) while counting. (commit) - ui: The
BlockToolbar
andBalloonToolbar
plugins order should not matter when it comes to registering toolbar items. Closes #15581. (commit) - utils: The exported
keyCodes
object should contain correct codes for keys related to punctuation, brackets, braces, etc. See #1014. (commit)
# Other changes
- case-change: Registered the case change keystroke in the accessibility help dialog. See ckeditor/ckeditor5#1014.
- core: Deprecated the
DataApiMixin
and moved thesetData()
andgetData()
methods directly to theEditor
class. (commit) - essentials: Enabled the
AccessibilityHelp
plugin by default. See #1014. (commit) - heading: Adjusted the types in heading configuration options to enable passing of custom heading elements. (commit)
- ui: Mutli-line tooltips will now have
max-width
set to200px
by default. (commit) - ui: Tooltip will now hide if
data-cke-tooltip-text
is removed while the tooltip is open. (commit) - ui: Tooltip position will be updated if
data-cke-tooltip-position
changes while the tooltip is open. (commit) - Updated translations. (commit, commit, commit, commit)
# CKEditor 5 41.1.0 release
We are happy to announce the release of CKEditor 5 v41.1.0.
# MINOR BREAKING CHANGES
- engine: We fixed how the missing
value
of the"class"
and"style"
attribute conversion is handled in theattributeToAttribute()
upcast helper. Now while not providing the attribute’svalue
to conversion the helper accepts and consumes all values. Previously those values were not consumed and left for other converters to convert. Note that you should use theclasses
, and thestyles
fields for the fine-tuned conversion of those attributes instead of a catch-all"style"
and"class"
specified in thekey
field. - font: The
colorSelectorView
property will no longer be accessible from theColorUI
plugin in the@ckeditor/ckeditor5-font/src/ui/colorui.ts
. - source-editing: The source editing feature will now throw an error when used with real-time collaboration as these features are not fully compatible and may lead to data loss. You will have to explicitly enable source editing for real-time collaboration by setting the
sourceEditing.allowCollaborationFeatures
configuration flag totrue
. If you want to use both these features, please read a new guide discussing the risks and add the flag to your configuration.
# Features
- collaboration-core: The local user (“me” user) avatar will now have a distinct highlight (additional border) so it is easier to spot among other avatars. The related DOM element will receive the
.ck-user_me
CSS class to customize or remove the highlight. - real-time-collaboration: Introduced the
presenceList.displayMe
configuration flag. When set tofalse
, the local user (“me” user) will not be displayed in the presence list. Defaults totrue
.
# Bug fixes
- engine: The
style
andclass
attributes conversion should work withattributeToAttribute()
. Closes #4517. (commit) - font: The font color and font background features should work in both the main toolbar and the balloon toolbar. Closes #15580. (commit)
- link: An image should not disappear after dragging in Windows OS in Chromium browsers. #15700. (commit)
# Other changes
- real-time-collaboration: Modified the order of users in the presence list, so that local user (“me” user) is always visible first.
- source-editing: Source editing will now throw an error when used with real-time collaboration. Added the
sourceEditing.allowCollaborationFeatures
configuration flag that suppresses the error and allows to use both features together. Closes #15764. (commit) - Updated translations. (commit)
Every day, we work hard to keep our documentation complete. Have you spotted outdated information? Is something missing? Please report it via our issue tracker.