Releases: ckeditor/ckeditor5
v44.3.0
We are happy to announce the release of CKEditor 5 v44.3.0.
Release Highlights
This release brings a couple of minor improvements and bug fixes:
- Link Decorators: We fixed the behavior of the multiple manual link decorators that set the
rel
attribute. The fix happened so deep in the engine that we improved the overall performance of the editor slightly as well. - Added a new
EmptyBlock
plugin: From now on, new plugin prevents adding
to the output data of blocks, works similarly to thefillEmptyBlocks
configuration in CKEditor 4. - Support for the
<hr>
element in the General HTML Support plugin enhanced: attributes of the<hr>
element are now properly preserved if configuration allows it. - Emoji: We enhanced emoji support for better compatibility with users' older devices.
For more details, see the changelog below.
MINOR BREAKING CHANGES ℹ️
- engine: The
ViewConsumable.consumablesFromElement()
is removed and replaced with theview.Element#_getConsumables()
internal method. You should useViewConsumable.createFrom()
to create consumables if needed. - engine: The
ViewElementConsumables
now accepts and outputs only normalized data. TheViewConsumable
still accepts normalized or non-normalized input. - engine: The
Matcher#match()
andMatcher#matchAll()
output is now normalized. TheMatchResult#match
now contains normalized data compatible with changes in theViewConsumable
.
Features
- engine: Export the
SchemaContext
class from package. Closes #18003. (commit) - html-support: Added support for the
<hr>
element. Closes #12973. (commit) - html-support: Add the
EmptyBlock
plugin that prevents adding
to output data. (commit)
Bug fixes
- collaboration-core: User initials will now be generated based on the words that start with letters, ensuring that only valid alphabetic characters are used in the initials.
- comments: Annotations will no longer be lost during real-time collaboration when a user removes and immediately reverts (undo) content containing comment markers.
- comments: The editor will no longer crash when one user removes content containing a comment that another user is editing.
- engine: The link
[rel]
attribute will now allow mixing manual link decorators for the same attribute, as it will be now handled as a token list. Closes #13985, Closes #6436. (commit) - mention: Mention should not be wrapped with an additional
<span>
when GHS is enabled. Closes #15329. (commit) - ui: Fixed an issue where the first selected color was applied instead of the second selected color when using the font color picker for the first time after loading the page. Closes #17069. (commit)
- typing: Removing a nested editable does not remove an entire widget when the selection is placed at the beginning of that element. (commit)
Other changes
- clipboard: Export the
viewToPlainText()
function. Closes #17950. (commit) - collaboration-core: Introduced a new configuration option:
config.users.getInitialsCallback
. It allows providing a custom callback function for user initials generation. - emoji: Improved emoji support by expanding the range of versions compatible with users' devices. Closes #18014. (commit)
- emoji: Icons representing categories in the grid come from the same Unicode version to avoid rendering the non-supported ones. (commit)
- emoji: Introduced the
emoji.useCustomFont
option to disable the filtering mechanism. Closes #18029. (commit) - engine: The whitespaces around a block filler (
) are ignored while loading editor data. (commit)
Released packages
Check out the Versioning policy guide for more information.
Released packages (summary)
Minor releases (contain minor breaking changes):
- @ckeditor/ckeditor5-engine: v44.2.1 => v44.3.0
Releases containing new features:
- @ckeditor/ckeditor5-html-support: v44.2.1 => v44.3.0
- @ckeditor/ckeditor5-list: v44.2.1 => v44.3.0
- @ckeditor/ckeditor5-table: v44.2.1 => v44.3.0
Other releases:
- @ckeditor/ckeditor5-adapter-ckfinder: v44.2.1 => v44.3.0
- @ckeditor/ckeditor5-ai: v44.2.1 => v44.3.0
- @ckeditor/ckeditor5-alignment: v44.2.1 => v44.3.0
- @ckeditor/ckeditor5-autoformat: v44.2.1 => v44.3.0
- @ckeditor/ckeditor5-autosave: v44.2.1 => v44.3.0
- @ckeditor/ckeditor5-basic-styles: v44.2.1 => v44.3.0
- @ckeditor/ckeditor5-block-quote: v44.2.1 => v44.3.0
- @ckeditor/ckeditor5-bookmark: v44.2.1 => v44.3.0
- @ckeditor/ckeditor5-build-balloon: v44.2.1 => v44.3.0
- @ckeditor/ckeditor5-build-balloon-block: v44.2.1 => v44.3.0
- @ckeditor/ckeditor5-build-classic: v44.2.1 => v44.3.0
- @ckeditor/ckeditor5-build-decoupled-document: v44.2.1 => v44.3.0
- @ckeditor/ckeditor5-build-inline: v44.2.1 => v44.3.0
- @ckeditor/ckeditor5-build-multi-root: v44.2.1 => v44.3.0
- @ckeditor/ckeditor5-case-change: v44.2.1 => v44.3.0
- @ckeditor/ckeditor5-ckbox: v44.2.1 => v44.3.0
- @ckeditor/ckeditor5-ckfinder: v44.2.1 => v44.3.0
- @ckeditor/ckeditor5-clipboard: v44.2.1 => v44.3.0
- @ckeditor/ckeditor5-cloud-services: v44.2.1 => v44.3.0
- [@ckeditor...
v44.2.1
We are happy to announce the release of CKEditor 5 v44.2.1.
During a recent internal audit, we identified a cross-site scripting (XSS) vulnerability in the CKEditor 5 real-time collaboration package (CVE-2025-25299
). This vulnerability can lead to unauthorized JavaScript code execution and affects user markers, which represent users' positions within the document.
This vulnerability affects only installations with real-time collaborative editing enabled.
You can read more details in the relevant security advisory and contact us if you have more questions.
Bug fixes
- comments: Fixed a few scenarios for which creating a new comment thread was impossible (for example, when a selection was made on multiple table cells). This was a regression introduced in v44.2.0.
Other changes
- real-time-collaboration: Improved displaying usernames in the user marker.
Released packages
Check out the Versioning policy guide for more information.
Released packages (summary)
Other releases:
- @ckeditor/ckeditor5-adapter-ckfinder: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-ai: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-alignment: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-autoformat: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-autosave: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-basic-styles: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-block-quote: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-bookmark: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-build-balloon: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-build-balloon-block: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-build-classic: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-build-decoupled-document: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-build-inline: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-build-multi-root: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-case-change: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-ckbox: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-ckfinder: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-clipboard: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-cloud-services: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-code-block: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-collaboration-core: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-comments: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-core: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-document-outline: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-easy-image: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-editor-balloon: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-editor-classic: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-editor-decoupled: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-editor-inline: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-editor-multi-root: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-emoji: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-engine: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-enter: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-essentials: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-export-pdf: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-export-word: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-find-and-replace: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-font: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-format-painter: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-heading: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-highlight: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-horizontal-line: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-html-embed: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-html-support: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-image: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-import-word: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-indent: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-language: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-link: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-list: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-list-multi-level: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-markdown-gfm: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-media-embed: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-mention: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-merge-fields: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-minimap: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-operations-compressor: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-page-break: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-pagination: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-paragraph: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-paste-from-office: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-paste-from-office-enhanced: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-real-time-collaboration: v44.2.0 => v44.2.1
- @ckeditor/ckeditor5-remove-format: v44.2.0 => v44.2.1
- [@ckeditor/ckeditor5-restricted-editing](https://www.npmjs.com/package/@ckeditor/ckeditor5-restricte...
v44.2.0
We are happy to announce the release of CKEditor 5 v44.2.0.
Release Highlights
🖥️ Enhanced Source Code Editing (⭐)
Introducing new premium feature: Enhanced Source Code Editing. It displays the source code in a dialog and is compatible with all editor types. It offers syntax highlighting, code completion, code folding, and other advanced functionalities. Additionally, it supports both HTML and Markdown formats.
📤 Uploadcare and image optimizer (⭐)
We have integrated the Uploadcare image manager service, enabling you to upload and edit images to their cloud environment. You can upload files from various sources, including local devices, social media, or online drives ensuring rapid uploads. The integration takes care of efficient media delivery with responsive images mechanism, making sure your users will save bandwidth and have faster website loading. You can also optimize images with the built-in image editor which offers a range of features, such as cropping, rotating, flipping, photo filters and more. All this directly from the editor, try it out!
🖼️ Image Merge Fields (⭐)
Image merge fields are a new type of merge fields, dedicated for image placeholders. They maintain all standard image interactions, like styling, resizing or captions (in which you can use merge fields too!) At the same time, they keep all merge fields functionalities, like data previews or document export integration. In the document data, image merge fields are represented like other images, however their src
attribute is set to a respective merge field, for example, src="{{CompanyLogo}}"
, making them easy to post-process!
📝 Track Changes Preview (⭐)
We have added the preview mode that displays a document with all suggestions accepted. Accessible from the track changes dropdown, this modal preview helps check the final content without extensive markers.
😀 Emoji support
They are here! 🎉 🥳 🎊 Insert emojis effortlessly in the editor by typing :
or through a user-friendly emoji picker. This feature enhances the richness of your content by allowing quick access to a wide range of emojis.
⚡ Performance improvements: Part 4
Here comes the final batch of the planned performance improvements in the editor loading speed area, that we worked on through a couple of past releases.
- A new caching mechanism in
Mapper
now handles model-to-view mappings, substantially improving performance for loading and saving data. - Images with specified height and width automatically use
[loading="lazy"]
in the editing area, optimizing the loading time (read more on MDN). This attribute is only applied during editing to enhance the loading efficiency of images, and it does not reflect in the final data output.
We are greatly satisfied with the improved editor loading times. At the same time, we acknowledge some other problematic areas, and we will keep delivering more performance-related improvements in the future.
MINOR BREAKING CHANGES ℹ️
- engine:
Mapper#registerViewToModelLength()
is now deprecated and will be removed in one of the upcoming releases. This method is useful only in obscure and complex converters, where model element, or a group of model elements, are represented very differently in the view. We believe that every feature using a custom view-to-model length callback can be rewritten in a way that this mechanism is no longer necessary. Note: if this method is used, the caching mechanism forMapper
will be turned off which may degrade performance when handling big documents. Note: this method is used by the deprecated legacy lists feature. As a result, you will not experience the performance improvements if you are still using the deprecated legacy lists feature. - image: Starting this release, images that have
[height]
and[width]
attributes set will automatically receive the[loading="lazy"]
attribute in the editing area. This happens only for the content loaded into the editor, the data output produced by the editor remains the same. The reason for this change is to improve user experience in documents that may contain hundreds of images. - list: The
lower-alpha
andupper-alpha
list styles are now upcasted tolower-latin
andupper-latin
styles. - merge-fields: The
MergeFieldsEditing#getLabel()
method will now returnnull
instead of the merge field id if the merge field definition was not found or it did not contain thelabel
property. - basic-styles: Elements which contains the
[style]
attribute withword-wrap: break-word
will not be converted to<code>
. See #17789.
Features
- ai: Comment threads will now be preserved when AI Assistant processes selected content with comments. This can be disabled through the
ai.aiAssistant.preserveComments
flag. Note, that the actual result depends on the response provided by the AI model (AI model has to keep the comments markup in the response). Additionally, the copy-paste comments functionality must be enabled (configured bycomments.copyMarkers
). - ai: The
ai.aiAssistant.removeCommands
configuration now allows removing entire command groups. - ckbox: It is now allowed to specify which files chosen from CKBox are downloadable. Closes #15928. (commit)
- clipboard: Added the ability to detect paste events originating from the editor. Closes #15935. (commit)
- clipboard: Passed information to the downcast converter when clipboard pipeline is used to allow for customization. Closes #17745. (commit)
- clipboard: The
viewToPlainText()
helper will now parse the viewRawElement
instances. Closes #17746. (commit) - emoji: Created the Emoji feature. Closes #17361. (commit)
- image: Added a possibility to break the current block by
InsertImageCommand
with thebreakBlock
flag. Closes #17742. (commit) - list: Allowed to specify which list style types are shown in list type selector dropdown. Closes #17176. (commit)
- list: Added support for the
lower-alpha
andupper-alpha
list type highlighting in the list style properties buttons. Closes #17424. (commit) - mention: Allowed the mention marker to be longer than 1 character. Closes #17744. (commit)
- merge-fields: Introduced the image merge fields.
- merge-fields: Added the
[data-merge-field-name]
attribute...
v44.1.0
We are pleased to announce the latest CKEditor 5 release, focusing on performance enhancements and key bug fixes to improve your editing and collaboration experience.
Release Highlights
⚡ Performance enhancements: Part 3
This release introduces another set of performance related improvements, focused on faster editor initialization for huge documents. The initialization time was lowered by further 15% to 45%, depending on the tested sample.
The combined improvements introduced in recent releases amount to around 65%-80% lower loading time in total, which means the editor will load 3-5x faster. As the gain is not linear, bigger documents see even better improvement (more than 10x faster).
Moreover, all these improvements positively impact document save time (editor.getData()
), which should help with autosave issues, among others.
We still actively work in this area, so you may expect even more editor load and save efficiency improvements in the upcoming releases.
🔨 Bug Fixes and improvements
- Comments enhancements:
- Data export options: We introduced the
showCommentHighlights
option ineditor.getData()
, that changes the comment marker conversion, allowing for styling comments in the output. Perfect for showing what was commented in Export to PDF, for example. - Inline mode improvements: We addressed a problem where comment annotations in inline mode did not close properly when clicking elsewhere in the content.
- Thread management: We resolved an issue where creating a new thread was not interrupted when the corresponding marker was removed from the content, ensuring better stability during collaborative editing.
- Data export options: We introduced the
- Revision History update:
- Restore functionality: We disabled the ability to restore the current (edited, not saved) revision, as it represents current content, so there is nothing to restore. At the same time, using it led to some non-obvious behaviors.
- Image handling: We resolved an issue where images in the uploading state could be deleted when dragged and dropped within the editor. Keep dragging, even when it is not there 🙈.
🎄 Happy holidays!
As the holiday season approaches, we extend our warmest wishes to our community and users. Thank you for your continued support, and we look forward to bringing you further enhancements and exciting features in the coming year.
MINOR BREAKING CHANGES ℹ️
- utils:
spliceArray
now modifies the target array and does not accept a fourth (count
) argument.
Features
- comments: Introduced the
showCommentHighlights
option ineditor.getData()
method that changes the comment marker conversion and allows styling the comments in the output.
Bug fixes
- comments: Resolved an issue where creating a new thread was not interrupted when the corresponding marker was removed from the content, for example, by another user in real-time collaboration.
- comments: When adding a comment in inline mode, the comment annotation will now close properly if you click elsewhere in the content.
- find-and-replace: It should be possible to search within content of inline widgets. Closes #11162. (commit)
- image: Copying and pasting images in the uploading state is now possible. Closes #16967. (commit)
- ui: Surrounding spaces are no longer added to colors produced by hex inputs. Closes #17386. (commit)
Other changes
- Introduced multiple general performance improvements in the
@ckeditor/ckeditor5-engine
,@ckeditor/ckeditor5-list
, and@ckeditor/ckeditor5-utils
packages, leading to 15%-45% lower editor loading time. Closes #17641. - link: Exported the
ensureSafeUrl()
function from the@ckeditor/ckeditor5-link
package. (commit) - revision-history: Disabled the ability to restore a currently edited (not saved) revision.
- ui: Icons (
IconView
) are no longer individually accessible by assistive technologies, improving overall accessibility. Closes #17554. (commit) - utils: Change the implementation of
spliceArray()
to modify the target array for better performance. (commit)
Released packages
Check out the Versioning policy guide for more information.
Released packages (summary)
Minor releases (contain minor breaking changes):
- @ckeditor/ckeditor5-utils: v44.0.0 => v44.1.0
Other releases:
- @ckeditor/ckeditor5-adapter-ckfinder: v44.0.0 => v44.1.0
- @ckeditor/ckeditor5-ai: v44.0.0 => v44.1.0
- @ckeditor/ckeditor5-alignment: v44.0.0 => v44.1.0
- @ckeditor/ckeditor5-autoformat: v44.0.0 => v44.1.0
- @ckeditor/ckeditor5-autosave: v44.0.0 => v44.1.0
- @ckeditor/ckeditor5-basic-styles: v44.0.0 => v44.1.0
- @ckeditor/ckeditor5-block-quote: v44.0.0 => v44.1.0
- @ckeditor/ckeditor5-bookmark: v44.0.0 => v44.1.0
- @ckeditor/ckeditor5-build-balloon: v44.0.0 => v44.1.0
- @ckeditor/ckeditor5-build-balloon-block: v44.0.0 => v44.1.0
- @ckeditor/ckeditor5-build-classic: v44.0.0 => v44.1.0
- @ckeditor/ckeditor5-build-decoupled-document: v44.0.0 => v44.1.0
- @ckeditor/ckeditor5-build-inline: v44.0.0 => v44.1.0
- @ckeditor/ckeditor5-build-multi-root: v44.0.0 => v44.1.0
- @ckeditor/ckeditor5-case-change: v44.0.0 => v44.1.0
- @ckeditor/ckeditor5-ckbox: v44.0.0 => v44.1.0
- @ckeditor/ckeditor5-ckfinder: v44.0.0 => v44.1.0
- @ckeditor/ckeditor5-clipboard: v44.0.0 => v44.1.0
- @ckeditor/ckeditor5-cloud-services: v44.0.0 => v44.1.0
- @ckeditor/ckeditor5-code-block: v44.0.0 => v44.1.0
- @ckeditor/ckeditor5-collaboration-core: v44.0.0 => v44.1.0
- @ckeditor/ckeditor5-comments: v44.0.0 => v44.1.0
- @ckeditor/ckeditor5-core: v44.0.0 => v44.1.0
- @ckeditor/ckeditor5-document-outline: v44.0.0 => v44.1.0
- @ckeditor/ckeditor5-easy-image: v44.0.0 => v44.1.0
- @ckeditor/ckeditor5-editor-balloon: v44.0.0 => v44.1.0
- @ckeditor/ckeditor5-editor-classic: v44.0.0 => v44.1.0
- [@ckeditor/ckeditor5-editor-decoupled](https://www.npmjs.com/package/@ckedito...
v44.0.0
Release Highlights
We are excited to introduce CKEditor 5 v44.0.0, a release packed with high impact updates designed to enhance your editing experience and simplify access to our premium offers. Here's what’s new:
🚀 Self-service plans: Simplified access to premium features
We are introducing flexible self-service plans that put you in control with full transparency. Now, you can:
- Choose the plan that fits your needs, pay only for what you use, and get started instantly with a commitment-free trial.
- Seamlessly manage your license keys, track usage, and more in the new Customer Portal.
💡 Important for current users:
If you are upgrading to v44.0.0+, ensure a smooth transition by updating your license keys in the editor, as we implemented a new format of the key. To get the new key, visit the Customer Portal. You can also refer to our license key and activation guide for help with logging in to the portal.
📣 The open-source licensing remains unchanged. However, config.licenseKey
is now a required property in the editor configuration. Use 'GPL'
for installations under the GPL terms. Read more in the update guide.
🔖 Bookmarks: Organize your content with ease
Say hello to Bookmarks, a long-awaited feature that simplifies content navigation within the editor. With this release, you can:
- Add anchors as reference points within text.
- Link to the newly created bookmarks in the editor to navigate to specific locations within complex documents, such as contracts or technical manuals.
📍 Future updates to Bookmarks and the linking experience are planned for the upcoming releases. Follow progress and share your feedback on GitHub.
⚡ Performance improvements: Faster table rendering
The current release includes another stride towards improving the performance aspect of the editor, this time focusing on how tables are handled in the content. Implemented optimizations have made table rendering 3x faster, with the average load time of a document with a very long, complex tables dropping from around 4.5 seconds to just 1.5 seconds.
MAJOR BREAKING CHANGES ℹ️
config.licenseKey
is now a required property in the editor configuration. Use'GPL'
for installations under the GPL terms. See #17317.
Features
Bug fixes
- clipboard: An in-text drop of an inline object with elements inside should be possible. Closes #16101. (commit)
- cloud-services: Handle refresh token when editor destroyed during token fetching. Closes #17462. (commit)
- editor-classic: Excluded modal windows from the Classic Editor's integration between dialogs and the sticky toolbar. Closes #17339. (commit)
- engine: List markers should be visible after changing the list type from multi-level to numbered. Closes #17488. (commit)
- find-and-replace: Find and replace no longer randomly jumps to the first found item after the replace operation. Closes #16648. (commit)
- list: Inserting or dropping a paragraph after the end of a list should not convert the paragraph to a list item. Closes #17224. (commit)
- pagination: The pagination line should be rendered properly on tables. Closes ckeditor/ckeditor5#17158.
- restricted-editing: Remove existing restricted editing markers when setting new data to prevent marker resurrection. Closes #9646, #16721. (commit)
- theme-lark: Letter descenders should not be clipped in the top-level menu bar categories. Closes #17422. (commit)
- track-changes: Export the
AttributeData
,FormatData
andDescription
typings from package. - ui: The menu or dropdown panels will no longer be placed in an incorrect position when a optimal position cannot be found. Closes #17220. (commit)
- ui: The dialog plugin should not handle Esc key press when default-prevented by the guest view. Closes #17343. (commit)
- upload: Editor should no longer crash when executing undo while an image is still being uploaded. (commit)
- utils: Use binary search in
insertToPriorityArray()
for better performance when handling big tables. (commit) - utils: No longer scroll to the top of the document if pasted element is larger than scrollable editable. Closes #17079. (commit)
Other changes
-
collaboration-core: The types of publicly exported plugins will now be correctly resolved when accessed using
editor.plugins.get
. -
comments: The types of publicly exported plugins will now be correctly resolved when accessed using
editor.plugins.get
. -
real-time-collaboration: Editor will be switched to read-only mode when an unrecoverable error will be returned by Cloud Services server during real-time editing.
-
real-time-collaboration: The types of publicly exported plugins will now be correctly resolved when accessed using
editor.plugins.get
. -
revision-history: The types of publicly exported plugins will now be correctly resolved when accessed using
editor.plugins.get
. -
track-changes: The types of publicly exported plugins will now be correctly resolved when accessed using
editor.plugins.get
. -
track-changes: The
descriptionFactory
property will now be accessible publicly. -
track-changes: Suggestions of the same type that are not directly next to each other will no longer be represented as one suggestion in the UI.
-
ui: Improved the performance of the
BodyCollection
DOM wrapper lookup by replacingdocument.querySelector()
with a static element reference. (commit)Hu...
v43.3.1
We are happy to announce the release of CKEditor 5 v43.3.1.
Release highlights
We had to revert a change introduced in v43.3.0
related to the icons export in one of our packages. This was due to unforeseen TypeScript issues in some setups.
Bug fixes
Other changes
- cloud-services: The
Token
class is now exported as a value instead of a type only. (commit)
Released packages
Check out the Versioning policy guide for more information.
Released packages (summary)
Other releases:
- @ckeditor/ckeditor5-adapter-ckfinder: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-ai: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-alignment: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-autoformat: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-autosave: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-basic-styles: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-block-quote: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-build-balloon: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-build-balloon-block: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-build-classic: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-build-decoupled-document: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-build-inline: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-build-multi-root: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-case-change: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-ckbox: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-ckfinder: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-clipboard: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-cloud-services: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-code-block: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-collaboration-core: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-comments: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-core: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-document-outline: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-easy-image: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-editor-balloon: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-editor-classic: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-editor-decoupled: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-editor-inline: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-editor-multi-root: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-engine: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-enter: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-essentials: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-export-pdf: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-export-word: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-find-and-replace: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-font: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-format-painter: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-heading: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-highlight: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-horizontal-line: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-html-embed: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-html-support: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-image: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-import-word: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-indent: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-language: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-link: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-list: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-list-multi-level: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-markdown-gfm: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-media-embed: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-mention: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-merge-fields: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-minimap: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-operations-compressor: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-page-break: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-pagination: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-paragraph: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-paste-from-office: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-paste-from-office-enhanced: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-real-time-collaboration: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-remove-format: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-restricted-editing: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-revision-history: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-select-all: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-show-blocks: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-slash-command: v43.3.0 => v43.3.1
- @ckeditor/ckeditor5-source-editing: v43.3.0 => v43.3.1
- [@ckeditor/ckeditor5-special-characters](https://www.npmjs.com/package/@ckeditor/ckeditor5-special-characters/v/43....
v43.3.0
We are happy to announce the release of CKEditor 5 v43.3.0.
Release highlights
Performance improvements
We have improved how the editor handles the document structure by making it more reliable and efficient to access specific elements and verify their positions.
- Node index and offset caching: The
Node
andNodeList
elements now cache index and offset values, reducing the need for recalculations and significantly boosting overall performance during model operations. - Selection range validation: The newly implemented
Position#isValid()
method is also utilized to better validate selection ranges, ensuring more consistent behavior in various editing scenarios. - Performance improvements in numbers: The editor now loads content between 3x and, in some cases, up to 6x faster, depending on the type and size of the content. For instance, where a specific 200-page document previously took almost 25 seconds to load, the time has now been reduced to just 3.5 seconds.
We’re committed to ongoing performance enhancements, so you can expect even faster, smoother experience in future updates.
Export to Word watermark support
A new configuration option has been added to include a watermark when exporting documents to Word, providing additional flexibility in document branding and protection.
Notable bug fixes and improvements
- Suggestions retention on revision restore: Suggestions are no longer lost in specific cases when restoring revisions with changes from multiple users. The revision tracking process has been improved to ensure that all operations, including markers, are handled and saved correctly during synchronization. This fix resolves issues where markers were previously not retained, ensuring consistent data handling in collaborative editing scenarios.
- Action dropdown visibility fix: Resolved an issue where the action dropdown remained hidden after permission changes on comments. The dropdown now properly reflects updated permissions, allowing users to interact with the available actions seamlessly.
- AI command enhancements:
- Custom AI Commands are now correctly applied to individual dropdowns when only one group of comments is present, instead of the entire group.
- Empty comment groups no longer render, improving UI clarity.
- Fixed an issue where nested AI command menus would close unexpectedly when used within a balloon toolbar, preventing unintended behavior during selection.
Features
- engine: Introduced the
getChildAtOffset()
method formodel.Element
andmodel.DocumentFragment
. (commit) - engine: Introduced the
Position#isValid()
method to check whether the position exists in the current model tree. (commit) - export-word: Added a configuration setting for adding a watermark to generated documents.
- revision-history: Introduced the
RevisionTracker#getRevisionDocumentData()
andRevisionTracker#getRevisionRootsAttributes()
methods to the public scope of the editor API. You can use them to retrieve document data saved with the revision. - utils: Made
FocusTracker
extendable with otherFocusTracker
instances to allow logical focus tracking across separate DOM sub-trees (see #17277). (commit)
Bug fixes
- ai: Empty AI Assistant command groups should not render in the UI.
- ai: The AI Assistant command list should be flat when only one command group is available.
- comments: Fixed an issue where the action dropdown remained hidden when permissions allowing actions on a comment changed.
- engine: The content of an inline object should be handled as a flow root so whitespaces should be trimmed as the content of an inline object element is inside a block element. Closes #17199. (commit)
- image: Handle existing picture element correctly on
sources
downcast. (commit) - link: No longer crash editor after removing link from image when
LinkConfig#addTargetToExternalLinks: true
is set. Closes #17252. (commit) - list-multi-level: Multi-level lists should display correctly in RTL mode for Decoupled Editor.
- pagination: Improved pagination of large tables that are followed by block elements.
- revision-history: Suggestions are no longer lost in some scenarios when restoring revisions in real-time collaboration.
- ui: The dropdown menu component should not cause editor blur if used in a
BalloonToolbar
while the user hovers a nested menu. Closes #17277. (commit) - ui: Made the page unscrollable while the modal is visible. Closes #17093. (commit)
Other changes
- engine: Node index and offset related values are now cached in model
Node
andNodeList
to improve performance. (commit) - link: Exported link and unlink icons from the
ckeditor5-link
package. Closes #17304. (commit) - ui: Disabled dragging support for modal windows in the
Dialog
plugin. Closes #17290. (commit) - ui: Disabled positioning restrictions for modal windows caused by
config.ui.viewportOffset
. Closes #17290. (commit)
Released packages
Check out the Versioning policy guide for more information.
Released packages (summary)
Releases containing new features:
- @ckeditor/ckeditor5-engine: v43.2.0 => v43.3.0
- @ckeditor/ckeditor5-theme-lark: v43.2.0 => v43.3.0
- @ckeditor/ckeditor5-ui: v43.2.0 => v43.3.0
- @ckeditor/ckeditor5-utils: v43.2.0 => v43.3.0
Other releases:
- @ckeditor/ckeditor5-adapter-ckfinder: v43.2.0 => v43.3.0
- @ckeditor/ckeditor5-ai: v43.2.0 => v43.3.0
- @ckeditor/ckeditor5-alignment: v43.2.0 => v43.3.0
- @ckeditor/ckeditor5-autoformat: v43.2.0 => v43.3.0
- @ckeditor/ckeditor5-autosave: v43.2.0 => v43.3.0
- @ckeditor/ckeditor5-basic-styles: v43.2.0 => v43.3.0
- @ckeditor/ckeditor5-block-quote: v43.2.0 => v43.3.0
- @ckeditor/ckeditor5-build-balloon: v43.2.0 => v43.3.0
- @ckeditor/ckeditor5-build-balloon-block: v43.2.0 => v43.3.0
- @ckeditor/ckeditor5-build-classic: v43.2.0 => v43.3.0
- @ckeditor/ckeditor5-build-decoupled-document: v43.2.0 => v43.3.0
- [@ckeditor/ckeditor5-build-...
v41.3.2
We are happy to announce the release of CKEditor 5 v41.3.2.
This release includes a security fix backported from version 43.1.1. Please take a look at the 43.1.1 release changelog to learn more about the changes.
Released packages
Check out the Versioning policy guide for more information.
Released packages (summary)
Other releases:
- @ckeditor/ckeditor5-adapter-ckfinder: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-ai: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-alignment: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-autoformat: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-autosave: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-basic-styles: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-block-quote: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-build-balloon: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-build-balloon-block: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-build-classic: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-build-decoupled-document: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-build-inline: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-build-multi-root: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-case-change: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-ckbox: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-ckfinder: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-clipboard: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-cloud-services: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-code-block: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-collaboration-core: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-comments: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-core: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-document-outline: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-easy-image: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-editor-balloon: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-editor-classic: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-editor-decoupled: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-editor-inline: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-editor-multi-root: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-engine: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-enter: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-essentials: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-export-pdf: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-export-word: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-find-and-replace: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-font: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-format-painter: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-heading: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-highlight: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-horizontal-line: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-html-embed: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-html-support: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-image: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-import-word: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-indent: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-language: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-link: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-list: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-list-multi-level: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-markdown-gfm: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-media-embed: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-mention: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-minimap: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-operations-compressor: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-page-break: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-pagination: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-paragraph: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-paste-from-office: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-paste-from-office-enhanced: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-real-time-collaboration: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-remove-format: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-restricted-editing: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-revision-history: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-select-all: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-show-blocks: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-slash-command: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-source-editing: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-special-characters: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-style: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-table: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-template: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-theme-lark: v41.3.1 => v41.3.2
- @ckeditor/ckeditor5-track-changes: v41.3.1 => v41.3.2
- [@ckeditor/ckeditor5-typing](https://www.np...
v43.2.0
We are happy to announce the release of CKEditor 5 v43.2.0.
Release highlights
Notable improvements
- Operational Transformation Stability: Significant changes have been made to the OT system, enhancing the undo functionality and real-time collaboration, especially in conflict resolution scenarios. These improvements ensure smoother editor operations during complex interactions.
- Performance Improvements: We have merged several community-driven performance enhancements (thanks @sunesimonsen), that optimize the editor’s core engine. While no changes to the editor’s logic were made, these updates improve overall efficiency and responsiveness.
More imports available via ckeditor5
and ckeditor5-premium-features
indexes
As users transition to new installation methods (v42.0.0+) with ckeditor5
and ckeditor5-premium-features
as the main packages, we are continuously addressing missing imports for less common classes, functions, types, and utilities, broadening their availability. Since our TypeScript rewrite (v37.0.0), imports can now be made directly through the package indexes, simplifying integration. As many users historically imported from src
, we encourage you to try the new version and report any missing imports. In the future, we are considering removing src
from published packages to reduce package size, so the more feedback we receive, the better and more stable API we will provide.
Features
- engine: Added the
usePassive
option toDomEventObserver
that enables listening to passive events. Closes #16412. (commit) - media-embed: It is now possible to embed YouTube shorts. Closes #17090. (commit)
- ui: Updated the "Powered by" link. (commit)
Bug fixes
- ckbox: Editing inline images using
CKBox
no longer changes and reinserts them simultaneously. Closes #17056. (commit) - engine: Fixed incorrect marker handling in some scenarios involving undo and real-time collaboration, which earlier led to a
model-nodelist-offset-out-of-bounds
error. See #9296. (commit) - engine: Fixed incorrect handling of merge changes during undo in some scenarios involving real-time collaboration, which earlier led to a
model-nodelist-offset-out-of-bounds
error. See #9296. (commit) - engine: Fixed conflict resolution error, which led to editor crash in some scenarios where two users removed larger intersecting part of the content and used undo. See #9296. (commit)
- engine: Fixed incorrect undo behavior leading to an editor crash when a user pressed Enter key multiple times, then pressed backspace that many times, then undid all the changes. Closes #9296. (commit)
- theme-lark: Increased the specificity of the dropdown menu panel styles to address issues with incorrect
z-index
ordering. (commit) - ui: Fixed scrolling in dropdowns when a block toolbar button is active. Closes #17067. (commit)
- ui: Increased the specificity of the dropdown menu panel styles to address issues with incorrect
z-index
ordering. (commit)
Other changes
- basic-styles: Exported the
AttributeCommand
class. Closes #17105. (commit) - ckeditor5-premium-features: Marked the
ckeditor5
package aspeerDependencies
. - engine: Performance improvements. Avoided creating unnecessary arrays. Closes #17143. (commit)
- Exported several classes and utilities from various packages (commit).
Released packages
Check out the Versioning policy guide for more information.
Released packages (summary)
Releases containing new features:
- @ckeditor/ckeditor5-engine: v43.1.1 => v43.2.0
- @ckeditor/ckeditor5-media-embed: v43.1.1 => v43.2.0
- @ckeditor/ckeditor5-ui: v43.1.1 => v43.2.0
Other releases:
- @ckeditor/ckeditor5-adapter-ckfinder: v43.1.1 => v43.2.0
- @ckeditor/ckeditor5-ai: v43.1.1 => v43.2.0
- @ckeditor/ckeditor5-alignment: v43.1.1 => v43.2.0
- @ckeditor/ckeditor5-autoformat: v43.1.1 => v43.2.0
- @ckeditor/ckeditor5-autosave: v43.1.1 => v43.2.0
- @ckeditor/ckeditor5-basic-styles: v43.1.1 => v43.2.0
- @ckeditor/ckeditor5-block-quote: v43.1.1 => v43.2.0
- @ckeditor/ckeditor5-build-balloon: v43.1.1 => v43.2.0
- @ckeditor/ckeditor5-build-balloon-block: v43.1.1 => v43.2.0
- @ckeditor/ckeditor5-build-classic: v43.1.1 => v43.2.0
- @ckeditor/ckeditor5-build-decoupled-document: v43.1.1 => v43.2.0
- @ckeditor/ckeditor5-build-inline: v43.1.1 => v43.2.0
- @ckeditor/ckeditor5-build-multi-root: v43.1.1 => v43.2.0
- @ckeditor/ckeditor5-case-change: v43.1.1 => v43.2.0
- @ckeditor/ckeditor5-ckbox: v43.1.1 => v43.2.0
- @ckeditor/ckeditor5-ckfinder: v43.1.1 => v43.2.0
- @ckeditor/ckeditor5-clipboard: v43.1.1 => v43.2.0
- @ckeditor/ckeditor5-cloud-services: v43.1.1 => v43.2.0
- @ckeditor/ckeditor5-code-block: v43.1.1 => v43.2.0
- @ckeditor/ckeditor5-collaboration-core: v43.1.1 => v43.2.0
- @ckeditor/ckeditor5-comments: v43.1.1 => v43.2.0
- @ckeditor/ckeditor5-core: v43.1.1 => v43.2.0
- @ckeditor/ckeditor5-document-outline: v43.1.1 => v43.2.0
- @ckeditor/ckeditor5-easy-image: v43.1.1 => v43.2.0
- [@ckeditor/ckeditor5-editor-balloon](https://www.npmjs.com/package/@ckeditor/ckeditor5-editor-balloon...
v43.1.1
We are happy to announce the release of CKEditor 5 v43.1.1.
During a recent internal audit, we identified a Cross-Site Scripting (XSS) vulnerability in the CKEditor 5 clipboard package (CVE-2024-45613
). This vulnerability could be triggered by a specific user action, leading to unauthorized JavaScript code execution, if the attacker managed to insert malicious content into the editor, which might happen with a very specific editor configuration.
This vulnerability affects only installations where the editor configuration meets the following criteria:
- The Block Toolbar plugin is enabled.
- One of the following plugins is also enabled:
- General HTML Support with a configuration that permits unsafe markup.
- HTML Embed.
You can read more details in the relevant security advisory and contact us if you have more questions.
Taking the occasion, we decided to introduce additional hardening to some parts of our codebase that introduce theoretical and unexploitable issues. Our security team confirmed that none of these issues were exploitable in a real scenario, however, we decided to fix them, in order to increase the overall security posture of our software.
Released packages
Check out the Versioning policy guide for more information.
Released packages (summary)
Other releases:
- @ckeditor/ckeditor5-adapter-ckfinder: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-ai: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-alignment: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-autoformat: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-autosave: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-basic-styles: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-block-quote: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-build-balloon: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-build-balloon-block: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-build-classic: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-build-decoupled-document: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-build-inline: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-build-multi-root: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-case-change: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-ckbox: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-ckfinder: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-clipboard: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-cloud-services: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-code-block: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-collaboration-core: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-comments: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-core: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-document-outline: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-easy-image: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-editor-balloon: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-editor-classic: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-editor-decoupled: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-editor-inline: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-editor-multi-root: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-engine: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-enter: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-essentials: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-export-pdf: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-export-word: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-find-and-replace: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-font: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-format-painter: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-heading: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-highlight: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-horizontal-line: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-html-embed: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-html-support: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-image: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-import-word: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-indent: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-language: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-link: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-list: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-list-multi-level: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-markdown-gfm: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-media-embed: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-mention: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-merge-fields: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-minimap: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-operations-compressor: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-page-break: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-pagination: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-paragraph: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-paste-from-office: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-paste-from-office-enhanced: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-real-time-collaboration: v43.1.0 => v43.1.1
- @ckeditor/ckeditor5-remove-format: v43.1.0 => v43.1.1
- [@ckeditor/ckeditor5-restricted-editing](https://www.npmjs.com/package/@ckeditor/ckedit...