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.
Minor releases (contain minor breaking changes):
Releases containing new features:
Other releases:
Released packages (summary)