Release highlights
We are happy to announce the release of CKEditor 5 v35.0.0 that contains a security fix for the Markdown GFM, HTML support and HTML embed packages. Even though this issue affects only a narrow group of integrators, an upgrade is highly recommended! You can read more details in the relevant security advisory and contact us if you have more questions.
This release introduces the following new features:
- Various accessibility improvements.
- The styles dropdown feature is now integrated with track changes.
- The
@ckeditor/ckeditor5-utils
package is now written in TypeScript. - We have updated and corrected translations. 39 languages are now fully covered by professional translators.
Read more in: https://ckeditor.com/blog/ckeditor-5-v35.0.0-with-collaboration-and-typescript-migration/
Please refer to the migration guide to learn more about these changes.
MAJOR BREAKING CHANGES ℹ️
- The source element is not updated automatically after the editor destroy.
MINOR BREAKING CHANGES ℹ️
- engine: The
DomConverter#viewToDom()
andDomConverter#viewChildrenToDom()
parameter lists have changed (the 2nd parameter – the DOM document instance is no longer accepted). - image: The
ImageInsertPanelView#dropdownView
property is no longer accessible. Useeditor.plugins.get( 'ImageInsertUI' ).dropdownView
instead to access the image insert dropdown instance. See #11654. - ui: Before,
preventDefault()
was called on themousedown
event to prevent theButtonView
class from "stealing" the focus from the editing root. Starting this release, to improve the accessibility of the editor, all instances of theButtonView
class (and its child classes) will automatically focus in DOM when clicked. It is recommended for features using buttons to manage the content to calleditor.editing.view.focus()
after the button was executed in order to bring the DOM focus back to the editing root to allow users type right away.
Features
- core: Introduced the
updateSourceElementOnDestroy
configuration option. (commit) - media-embed: Support timestamp in embedded youtube videos. Closes #12006. (commit) Thanks to @Recursing!
- real-time-collaboration: Enabled resuming an unsaved revision for integrations using Cloud Services editor bundle.
- track-changes: Added track changes integration for the styles dropdown feature.
Bug fixes
- ckbox: Replaced the
CloudServicesCore
requirement in favor of theCloudServices
plugin for CKBox. Closes #12040. (commit) - editor-balloon: The editing area of the editor should have a clear accessible label. Closes #11836. (commit)
- engine: The editor should not crash while making a selection after having a collapsed selection with styles applied. Closes #12026. (commit)
- image: Allowed setting an accessible label in the
toWidgetEditable()
helper. Added missing labels for assistive technologies to image captions. Closes #11837. (commit) - link: Link manual decorators should be properly down-casted on the document selection. Closes #12046. (commit)
- revision-history: Fixed a bug where custom plugins were filtered out from revision history preview if they required the track changes plugin.
- table: Added a proper label for color buttons in the table properties panel so that it is available for screen readers. Closes #11895. (commit)
- track-changes: A suggestion will be discarded from document data if the
TrackChangesAdapter#addSuggestion()
method has errored. - ui: The default value of the
aria-pressed
DOM attribute of a toggleable button should befalse
instead ofundefined
. Closes #11115. (commit) - ui: Opening a dropdown should focus the first item (or the first active item) for easier navigation and accessibility. Closes #11838, #2000, #11568, #3215, #5859. (commit)
Other changes
- engine: The
DomConverter
should use a separate DOM document instance in the data pipeline. (commit) - image: Introducing the
ImageInsertViaUrl
plugin enabling insertion of images via URL without the requirement of theUploadPlugin
. Closes #11654. (commit) - style:
StyleCommand#execute()
now expects to be passed an object with propertiesstyleName
and optionalforceValue
instead of a single string. (commit) - utils: The
utils
package is now written in TypeScript. (commit) - Updated 38 translations to 100%. (commit, commit, 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)