Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
README.md | 2025-09-10 | 17.1 kB | |
v46.1.0 source code.tar.gz | 2025-09-10 | 74.1 MB | |
v46.1.0 source code.zip | 2025-09-10 | 79.9 MB | |
Totals: 3 Items | 154.0 MB | 0 |
We are happy to announce the release of CKEditor 5 v46.1.0.
Release highlights
Smoother drag & drop of widgets on iOS
We updated the implementation for more reliable drag-and-drop on iOS touch devices. The behavior on the desktop devices remains unchanged.
Pagination improvements
We reverted a low-level change to improve stability in pagination, especially in scenarios including long tables.
Hide a user in the Server-side editing API
The Server-side editor API now supports a hidden_in_presence_list
user flag. You can use this mechanism to prevent automation script users from appearing in the editor’s presence list while scripts run.
Comments’ markers clean up
We provided a better handling of edge cases where a marker points to a non-existing comment thread (for example, due to integrator mistakes). Such markers are now removed automatically to keep the editor stable.
MINOR BREAKING CHANGES ℹ️
- real-time-collaboration:
CloudServicesCommentsAdapter#getCommentThread
no longer throws an error when a comment thread does not exist. Instead, it now returnsnull
.
Features
- real-time-collaboration: The user will not be displayed in the Presence List when a server-side editor API script is executed with the
hidden_in_presence_list
parameter. - table: The table caption feature now has a configuration option
table.tableCaption.useCaptionElement
that changes the HTML for table captions. With this option set totrue
the output HTML for table caption changes fromfigure.table > figcaption
tofigure.table > table > caption
. Closes #18988.
Bug fixes
- clipboard, engine, widget: Improved drag & drop of widgets with selection handle on iOS devices. Closes #16335.
- engine: Spaces at the end of list items are correctly preserved when saving and loading data. Closes #18960.
- engine: Fixed an issue where the editor could crash if the selection was moved to a non-existent node during the blur event. Closes #18744.
- merge-fields: Editor no longer incorrectly adds an empty paragraph (that does not exist in data) when loaded data contains a block merge field with a marker (such as comment) on it.
- pagination: Adjusted theme for
<caption>
vs<figcaption>
element in tables. See [#18988]. - paste-from-office: Ensure consistent formatting of content pasted from Google Docs by replacing tab characters with spaces in preformatted text blocks. Closes #18995.
- revision-history: Fixed an error that prevented previewing a revision that included a removed block merge field.
- uploadcare: Fixed an issue where the Uploadcare image uploader and editor did not work correctly with custom upload URLs or custom CDN canonical names.
- watchdog: Fixed an issue where Watchdog incorrectly restored collaboration data (comment threads and suggestions) after a crash in load and save integrations. Closes #19033.
- widget: Read-only mode no longer focuses the editor and displays UI when selecting nested editables. Closes #18965.
Other changes
- comments, real-time-collaboration: Comment markers linked to non-existing threads are now removed automatically (instead of throwing an error) in real-time collaboration, ensuring the editor remains fully functional.
- track-changes: Error
track-changes-user-not-found
will now be thrown with additional data to help with debugging:authorId
(the ID of the missing user) andsuggestionId
(the ID of the suggestion for which the error was thrown).
Released packages
Check out the Versioning policy guide for more information.