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 45.2.1 release
We are happy to announce the release of CKEditor 5 v45.2.1.
# Release highlights
This hotfix release brings fixes for certain regressions in the field of text selection (with balloon toolbars enabled), multi-level lists, and pagination.
# Bug fixes
- engine: Fixed editor crash that happened in a specific scenario, when editing heavily formatted text, text with multiple comments, or text with comments and formatting. Closes #18727. (commit)
- engine: Fixed incorrect cache invalidation in
Mapper
, which could lead to crashes when editing heavily formatted content or when using complex features like multi-level lists. Closes #18678. (commit) - engine: Fixed editor crash that happened when typing over a table content with the balloon toolbar enabled. Closes #18648. (commit)
- list-multi-level: Fixed editor crash that happened when editing deeply nested multi-level lists. Closes #18678. (commit)
- table: Improved calculation of pagination page-breaks on documents with long tables. Closes #18600. (commit)
- typing: Typing over multiple selected blocks next to a code block or a block quote should not crash the editor. Closes #18722. (commit)
# CKEditor 5 45.2.0 release
We are happy to announce the release of CKEditor 5 v45.2.0.
# Release highlights
CKEditor 5 v45.2.0 offers the following improvements and bug fixes.
- We fixed the copy-paste scenario in the read-only mode.
- Tables pasted from Office, especially with borderless layouts, should preserve styling in the editor similar to the ones in the source file.
- Improved the adoption of the fullscreen feature on smaller screens and includes subtle visual tweaks.
# MINOR BREAKING CHANGES
- source-editing: The
formatHtml()
helper function is extracted to the@ckeditor/ckeditor5-utils
package. See #18480.
# Features
- fullscreen: Empty sidebars will no longer lock empty space around the editable in fullscreen mode. Closes #18474. (commit)
# Bug fixes
- engine: The editor should not crash while using Mac text replacement in the Track changes mode. (commit)
- engine: Copying content in read-only mode should use the current document selection. Closes #18514. (commit)
- engine: The editor should not crash after clearing content with a widget selected. Closes #18123, #18458. (commit)
- pagination: Chrome no longer incorrectly pushes content to the next page when rendering documents consisting mainly of paragraphs with soft line breaks. Closes #7316.
- paste-from-office: Unset table borders no longer fall back to default table styles. Closes #16931, #10655, #18540. (commit)
- real-time-collaboration: Fixed a crash that occurred when a user selected table cells containing only non-textual elements, such as images.
- revision-history: Fixed a crash in the revision history viewer that occurred when navigating revision changes, if the previewed revision was restored by one user but included suggestions originally made by other users.
- source-editing: Single line pre-block should not cause loss of indentation on later lines in source mode. Closes #18360. (commit)
- source-editing: Empty lines in code blocks should not be removed in source editing mode. See #18480. (commit)
- source-editing-enhanced: Single line pre-block should not cause loss of indentation on later lines in source mode. Closes #18360. (commit)
- source-editing-enhanced: Empty lines in code blocks should not be removed in source editing mode. See #18480. (commit)
- table: Should apply the proper
[width]
attribute when it is used both on<table>
and<figure>
elements. Closes #18469. (commit) - track-changes: Fixed crashes that could occur in real-time collaboration when a user splits suggestions rapidly in a short time frame.
# Other changes
- paste-from-office: Normalized pasted table length units (dimensions and border widths). (commit)
- The development environment requires Node v22 due to migrating to the latest ESLint (v9) version. See #18475. (commit)
# CKEditor 5 45.1.0 release
We are happy to announce the release of CKEditor 5 v45.1.0.
# Release highlights
# Typing Improvements
The typing behavior has been improved for plain text typing. This adjustment allows the web browser to handle text insertion before the editor processes it, enhancing typing reliability across various scenarios, especially on Safari and iOS devices. Issues related to track changes, autocorrect, automatic text replacement, and other input methods have been addressed.
# Track Changes Enhancements
A new method to start a “tracking session” has been introduced, preventing automatic merging of adjacent suggestions. This allows for more precise control over individual changes, catering to workflows that require selective acceptance of edits.
# Miscellaneous improvements
- Sticky toolbars and balloons are now better aligned with the visual viewport on iOS and Safari, ensuring correct positioning when zooming.
- The fullscreen plugin has been improved to maintain scroll position when exiting fullscreen, avoiding unexpected jumps on smooth-scrolling pages. Layout consistency has been refined by adjusting margins and editable width. Errors related to the Content minimap plugin in fullscreen mode have also been resolved.
- Introduced a fix which ensures that the
data-author-id
anddata-suggestion
attributes are preserved in non-block suggestions when retrieving data withshowSuggestionHighlights: true
. - We improved the algorithm for images detection in the Paste from Office feature, in scenarios of mixed local and online images from Microsoft Word. Paste no longer causes some images not to appear.
# MINOR BREAKING CHANGES
- The default behavior of the
beforeinput
DOM events is no longer prevented in plain text typing scenarios. Now, the engine waits for DOM mutations and applies changes to the model afterward. This should not affect most integrations however, it may affect custom modifications to text insertion into the editor.
# Features
-
ckeditor5-code-block: The
Go
/Golang
programming language was added to the@ckeditor/ckeditor5-code-block
package. Closes #18403. (commit)Thanks to @abdorrahmani!
-
clipboard: Exported the
ClipboardObserver
class from the package. Closes #18385. (commit) -
track-changes: Added a method for starting a new tracking session in track changes.
-
utils: Recognize Urdu as an RTL language. Closes #16900. (commit)
Thanks to @smtaha512!
# Bug fixes
-
comments: Fixed a crash happening for some asynchronous collaboration integrations, when the
TrackChangesData
plugin was used while there was a resolved comment thread in the document’s initial data. -
email: Fixed incorrect documentation links in the email configuration helper.
-
fullscreen: Minor styling improvements. Closes #18470. (commit)
-
fullscreen: Changed the method use to recognize the editor type in fullscreen. Closes #18395. (commit)
-
fullscreen: Fixed restoring scroll position after leaving fullscreen mode for containers with
scroll-behavior: smooth
. Closes #18378. (commit) -
html-support: Removing formatting from empty HTML no longer crashes the editor. Closes #18089. (commit)
-
html-support: Pasting an empty HTML element no longer crashes the editor. Closes #18100. (commit)
-
image: Consume the
.image_resize
class and the[aspect-ratio]
style during the upcast of the images. Closes #18287. (commit) -
link: Fixed a bug where the editor would crash or do nothing when pressing the enter key in newline-suppressed scenarios (such as limit elements). Closes #15862. (commit)
Thanks @jonscheiding!
-
minimap: The plugin no longer throws errors when entering the fullscreen mode. Closes #18472. (commit)
-
paste-from-office: Mixed local and online images from Microsoft Word paste no longer cause some images to disappear. Closes #18180. (commit)
-
source-editing-enhanced: When the Enhanced Source Editing dialog is open, all editor commands are now disabled to prevent accidental content edits and unintended UI interactions.
-
table: Table selector regarding margins should not override the style created during integrations. Closes #18428. (commit)
-
track-changes: Fixed insertion suggestion not restored on undo after it was rejected. This affected specific suggestions which included pressing the enter key. Closes #18449. (commit)
-
track-changes: Fixed a crash happening for some asynchronous collaboration integrations, when
TrackChangesData
plugin was used while there was a resolved comment thread in the document’s initial data. -
track-changes: An empty element was incorrectly left when an insertion suggestion that ended on “enter key press” was discarded. Also fixed the same error in a case where a similar deletion suggestion was accepted. Related to https://github.com/ckeditor/ckeditor5/issues/18448.
-
track-changes: Added missing
[data-suggestion]
and[data-author-id]
attributes to all suggestion types in editing and data pipelines. -
typing: Typing in track changes mode no longer reverses typed letters in Safari. (commit)
-
typing: The Mac VoiceOver now reads typed characters when typing. Closes #15436. (commit)
-
typing: Mac text replacement shortcuts will now correctly replace text in Safari. Closes #13428. (commit)
-
typing: The list items and headings at the beginning of the editable area can be changed to a plain paragraph on backspace keypress. Closes #18356. (commit)
-
ui: Ensure the table properties form is fully visible within the viewport. Closes #16133. (commit)
-
ui: Optimized performance of dropdowns when opening with many items. Closes #18094. (commit)
-
The sticky toolbar and inline editor toolbar should maintain their visual position relative to the editing area, no matter the visual viewport scale or scroll in Safari on desktop and mobile devices. The contextual balloon position should be aware of the part of the top viewport offset visible in the visual viewport on Safari on desktop and mobile. Closes #7718. (commit)
# Other changes
- core: Non-production license notifications should only be displayed once per page load. Closes #18179. (commit)
- engine: Introduced the
doNotFixSelection
option formodel.deleteContent()
which can be used to force making deletion exactly on the provided selection. Closes #18448. (commit) - track-changes: Fixed an incorrect French translation in the Track changes feature.
- typing: Improved typing performance in large documents. (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.
With the release of version 42.0.0, we have rewritten much of our documentation to reflect the new import paths and features. We appreciate your feedback to help us ensure its accuracy and completeness.