Release highlights
We are happy to announce the release of CKEditor 5 v27.0.0.
Starting from this version, collaboration features release notes will be included in the CKEditor 5 changelog. Changes for the previous releases are available on https://ckeditor.com/collaboration/changelog/.
This release introduces some new features:
- The new text part language feature allows you to define the language for each passage of content written in multiple languages. This helps satisfy the WCAG Success Criterion 3.1.2 Language of Parts.
- Support for drag and dropping of textual content and block objects (like images and tables) within the editor.
- Support for dropping HTML content from outside of the editor into the editor.
- Alignment can now be set using classes.
- Typing
[x]
will now insert a checked to-do list item. - Support for bubbling of
view.Document
events.
MAJOR BREAKING CHANGES ℹ️
Note: Check out the Migration to CKEditor 5 v27.0.0 guide for more detailed information on how to upgrade to this version.
- clipboard: The
inputTransformation
event is no longer fired by theClipboard
plugin. Now theClipboardPipeline
plugin is responsible for firing this event (see #9128). - clipboard: The
clipboardInput
andinputTransformation
events should not be fired or stopped in the feature code. Thedata.content
property should be assigned to override the default content instead. You can stop this event only if you want to completely disable pasting or dropping of some content. Read more about the clipboard pipeline in the migration to v27.0.0 guide. See #9128. - Introduced bubbling of the
view.Document
events, similar to how bubbling works in the DOM. This allowed us to re-prioritize many listeners that previously had to rely on thepriority
property. However, it means that existing listeners that use priorities may now be executed at a wrong time. The listeners to such events should be reviewed in terms of when they should be executed (in what context/element/phase). Read more about event bubbling in the migration to v27.0.0 guide. See #8640.
Features
- alignment: Introduced an option to use classes instead of inline styles. Closes #8516. (commit)
- autoformat: Typing
[x]
will insert a checked to-do list item. Closes #8877. (commit) - clipboard: Implemented basic support for content drag and drop. Closes #9128. (commit)
- clipboard: The
contentInsertion
event is fired fromClipboardPipeline
to enable customization of content insertion (see #9128). (commit) - core: Created the universal caption icon. Closes #9196. (commit)
- engine: Introduced bubbling of the
view.Document
events, similar to how bubbling works in the DOM. Bubbling allows listening on a view event on a specific kind of element, hence simplifying code that needs to handle a specific event for only that element (e.g.enter
inblockquote
elements only). Read more in the Event system deep-dive guide. Closes #8640. (commit) - engine: Introduced
ArrowKeysObserver
. See #8640. (commit) - language: Added support for setting the text part language. Closes #8989.
Bug fixes
- engine:
DataController#toView()
should have a default value for theoptions
parameter. Closes #9293. (commit) - highlight The remove highlight button now also gets disabled along with the main highlight command. Closes #9174. (commit)
- utils: The
EmitterMixin#listenTo()
method is split into listener and emitter parts. TheObservableMixin
decorated methods reverted to the original method while destroying an observable. (commit)
Other changes
- clipboard: The paste as plain text feature was extracted to the dedicated
PastePlainText
plugin (see #9128). (commit) - engine: The
mouseup
event is fired by theMouseObserver
(see #9128). (commit) - table: The
mouseup
event is no longer fired by theMouseEventsObserver
from the@ckeditor/ckeditor5-table
package (now handled byMouseObserver
) (see #9128). (commit) - typing: The
TwoStepCaretMovement
feature is now using bubbling events. Closes #7437. (commit) - utils: Added the
language.getLanguageDirection
helper function allowing to determine the text direction based on the language code. (commit) - Optimized icons. (commit)
- Updated English translations for the text part language feature. (commit)
Released packages
Check out the Versioning policy guide for more information.
New packages:
Major releases (contain major breaking changes):
Releases containing new features:
Other releases:
Released packages (summary)