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.
A Cross-Site Scripting (XSS) vulnerability has been discovered in the CKEditor 5 clipboard package (CVE-2025-58064
). 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 one of the following criteria:
- HTML embed plugin is enabled
- Custom plugin introducing an editable element which implements view RawElement is enabled
You can read more details in the relevant security advisory and contact us if you have more questions.
We are happy to announce the release of CKEditor 5 v46.0.2.
This hotfix release resolves an issue where archived comment threads could incorrectly appear in the sidebar, ensuring they remain properly contained in the comments archive.
- comments: The
Annotation#isVisible
property of archived comment thread annotations can no longer be modified. This prevents archived comment threads from being incorrectly displayed in the sidebar and ensures they remain properly contained within the archive.
We are happy to announce the release of CKEditor 5 v46.0.1.
We have prepared a new theme for our documentation to enhance its quality. The new look improves readability and addresses several accessibility issues for a better experience. The redesigned navigation bar gives more useful access to various sections of the documentation, making it easier to reference guides for all our products. Improved table of contents makes browsing and finding guides easier, paired with updated search functionality. Check out the new experience yourself!
This release introduces a significant pagination update, along with numerous fixes. Page breaks are now calculated taking into account the content styles, bookmark markers, and with better tolerance calculation. Pagination now also finds the correct breakpoint for large tables of contents and images taller than the page.
The pagination and export to PDF features now better support tables containing one or more paragraphs. Cell margins are now correctly applied in exported tables, which improves the precision of pagination rendering.
- export-word, list-multi-level, real-time-collaboration, revision-history, track-changes: Fixed a bug that caused TypeScript to report compilation errors in
.d.ts
files (e.g.Module has no exported member
) when adding theckeditor5-premium-features
dependency to a project that installs CKEditor 5. The issue was caused by TypeScript compilation problems in theckeditor5-premium-features
package and affected users who didn’t have"skipLibCheck": true
set in theirtsconfig.json
. - export-pdf, pagination: The pagination and export to PDF features now better support tables containing one or more paragraphs. Cell margins are now correctly applied in exported tables, which improves the precision of pagination rendering.
- comments, track-changes: Annotations will now be hidden in the sidebar when the target element is not a valid DOM element, preventing sidebar flickering and the appearance of orphaned annotations.
- comments: Resolved comment thread highlight will now be properly removed from the editing area when the comments archive is closed while the editor is in read-only mode.
- comments: Fixed
CommentsEditing
being exported as type instead of value. - html-support: Fixed following plugins being exported as types instead of values:
CodeBlockElementSupport
,CustomElementSupport
,ListElementSupport
,DualContentModelElementSupport
,HeadingElementSupport
,ImageElementSupport
,MediaEmbedElementSupport
,ScriptElementSupport
,StyleElementSupport
,TableElementSupport
,HorizontalLineElementSupport
. Closes #18855. - list: Fix the vertical spacing of a single paragraph in the list item with a nested list. Closes #18831.
- pagination: Pagination correctly handles content styles like
.ck-content > :first-child
. - pagination: Pagination lines do not change position depending on user selection.
- pagination: Pagination correctly finds page breaks on a large table of contents.
- pagination: The pagination line is correctly positioned when there is a bookmark element at the start of the block.
- pagination: Pagination can find page breaks on images taller than a page height.
- paste-from-office: Clean the
width: 0
attribute when tables are pasted from Word. - revision-history: Fixed
RevisionViewerIntegration
being exported as type instead of value. - table: Tables should not be stretched to full page width when printed.
- table: The table caption should not be scrambled when the document is printed. Closes #18903.
- track-changes: Fixed multiple cases where suggestion markers were created on incorrect ranges, causing sidebar flickering.
- track-changes: Fixed
TrackChangesUI
missing an export. - utils: Fixed the
Identifier 'global' has already been declared.
error being thrown in some environments due to the global variable name in the@ckeditor/ckeditor5-utils
package. Closes #18856.
- collaboration-core: Make
CollaborationUserColor#id
a public readonly property. - emoji: Improve the initialization performance of the Emoji feature by optimizing the
EmojiUtils#isEmojiSupported()
method. Closes #18822. - export-pdf: Added width constraint for content exported to PDF.
- image: Image caption should be printed on the same page as the image.
- pagination: Pagination uses
0.5mm
tolerance while calculating line breaks.