Release highlights
We are happy to announce the release of CKEditor 5 v35.3.0.
This release introduces the following new features:
- Typing and text composition (IME) support has been refactored to use
beforeInputDOM events instead of DOM mutations and keystrokes. - Track changes integration has been added for the document lists and table caption features.
- Improvements to the
IconViewcomponent now allow rich colorful icons. Several other changes has also been added to improve the way the icons are handled. - External annotations in comments and track changes have gotten additional visual information to emphasize that the author name comes from an external source.
- Several key packages were rewritten into TypeScript (listed below).
There were also bug fixes:
- External comments are no longer assigned to the user who imported them. Im means these are not editable by them and do not behave like they were created by that user (e.g. they do not join with other suggestions created by them).
- Tooltips handling has been improved to better follow user interface events.
- Fixed incorrect annotations order in the sidebar when a comment or a suggestion was set on a multi-line text (and in similar cases).
Read about release highlights in a dedicated blog post: https://ckeditor.com/blog/ckeditor-5-v35.3.0-with-a-revamped-typing-and-ime-handling-better-external-annotations-handling/
MINOR BREAKING CHANGES ℹ️
- clipboard: The
DataTransferclass has been moved to the@ckeditor/ckeditor5-enginepackage. - track-changes: The
SuggestionDescriptionFactory#getItemLabel()method now takes element object instead of an element name. - track-changes: The
SuggestionDescriptionFactory#registerElementLabel()method now requires a second parameter to be a function (before, strings were also accepted). This may affect you if you provide custom plugins and use the track changes feature. - The
inputcommand is now deprecated, you should use theinsertTextcommand instead. See #11438.
Features
- engine: Typing and text composition (IME) support has been refactored to use
beforeInputDOM events instead of DOM mutations and keystrokes. Closes #11438. (commit) - enter: Typing and text composition (IME) support has been refactored to use
beforeInputDOM events instead of DOM mutations and keystrokes. Closes #11438. (commit) - track-changes: Added track changes integration for document lists feature.
- track-changes: Added track changes integration for table caption feature.
- typing: Typing and text composition (IME) support has been refactored to use
beforeInputDOM events instead of DOM mutations and keystrokes. Closes #11438. (commit)
Bug fixes
- comments: Fixed incorrect annotations order in the sidebar when a comment or a suggestion was set on a multi-line text (and in similar cases).
- comments: External comments (e.g., imported from a Word file) should not be editable by the user who imported them.
- engine: The
ModifySelectionclass with word unit should not stop at the attribute boundary. Closes #12673, #12657. (commit) - engine: Fixed conversion of the non-collapsed selection anchored between the
<br>elements (in Safari). (commit) - table: The selection should not change when a table caption is turned off. (commit)
- theme-lark: The
SwitchButtonView's text and background color should stay the same regardless of the state because the toggle switch carries all the necessary information. Closes #12519. (commit) - track-changes: Fixed incorrect annotations order in the sidebar when a comment or a suggestion was set on a multi-line text (and in similar cases).
- track-changes: External suggestions (e.g., imported from a Word file) should not behave like suggestions created by the user who imported them (e.g., should not join with other suggestions created by the user, etc.).
- ui: A tooltip should also hide when the element it is attached to hides. Closes #12492. (commit)
- ui: Improvements to the
IconViewcomponent now allow rich colorful icons. Closes #12597, #12599. (commit) - ui: Preserved presentational attributes from the icon source on the
<svg>element (#12597). (commit) - ui: It is possible to opt out from the icon color inheritance (#12599). (commit)
- ui: Excluded icon internals from the CSS reset (#12599). (commit)
- ui: UI tooltips should continue showing up until the last editor gets destroyed. Closes #12602. (commit)
Other changes
-
comments: Added additional visual information in comments and track changes annotations to emphasize that the author name comes from an external source.
-
comments: Introduced
@external.sourceattribute for comments and suggestions to better inform what is the source of the external data. Improved related labels. -
enter: The
enterevent is now mapped from a subset ofbeforeInputevents. See #11438. (commit) -
export-pdf: Support has been added for executing an asynchronous callback passed via the
config.exportPdf.dataCallbackconfiguration. -
export-word: Support has been added for executing an asynchronous callback passed via the
config.exportWord.dataCallbackconfiguration. -
track-changes: Introduced performance improvements for a scenario when undo is used after accepting or discarding a huge number of suggestions. Accepting or discarding many suggestions at once may now result in multiple undo steps.
-
track-changes: The
SuggestionDescriptionFactory#registerElementLabel()method now accepts a callback function as the first parameter. This allows for setting labels for elements based on attributes or other factors. -
track-changes: Added an additional visual information in comments and track changes annotations to emphasize that the author name comes from an external source.
-
track-changes: Introduced the
@external.sourceattribute for comments and suggestions to better inform what is the source of the external data. Improved related labels. -
typing: Introduced a new
insertTextevent mapped from a subset ofbeforeInputevents. See #11438. (commit) -
typing: The
deleteevent is now mapped from a subset ofbeforeInputevents. See #11438. (commit) -
ui: Allowed inserting extra children next to the field inside
LabeledFieldView. Closes #12598. (commit) -
utils: Added types to
Configand merged thenumbertype intoPriorityString. Closes #12218. (commit) -
Several packages have been rewritten to TypeScript:
@ckeditor/ckeditor5-clipboard: closes #12615. (commit)@ckeditor/ckeditor5-core: closes #11727. (commit)@ckeditor/ckeditor5-enter: closes #12608. (commit)@ckeditor/ckeditor5-paragraph: closes #12609. (commit)@ckeditor/ckeditor5-select-all: closes #12610. (commit)@ckeditor/ckeditor5-typing: closes #12611. (commit)@ckeditor/ckeditor5-ui: closes #11726. (commit)@ckeditor/ckeditor5-undo: closes #12612. (commit)@ckeditor/ckeditor5-upload: closes #12613. (commit)@ckeditor/ckeditor5-widget: closes #12614. (commit)
-
Adds types for the
CommandCollection.execute()andEditor.execute()methods. Closes #12678. (commit)
Released packages
Check out the Versioning policy guide for more information.
Minor releases (contain minor breaking changes):
Releases containing new features:
Other releases:
Released packages (summary)