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-utilspackage 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#dropdownViewproperty is no longer accessible. Useeditor.plugins.get( 'ImageInsertUI' ).dropdownViewinstead to access the image insert dropdown instance. See #11654. - ui: Before,
preventDefault()was called on themousedownevent to prevent theButtonViewclass from "stealing" the focus from the editing root. Starting this release, to improve the accessibility of the editor, all instances of theButtonViewclass (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
updateSourceElementOnDestroyconfiguration 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
CloudServicesCorerequirement in favor of theCloudServicesplugin 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-pressedDOM attribute of a toggleable button should befalseinstead 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
DomConvertershould use a separate DOM document instance in the data pipeline. (commit) - image: Introducing the
ImageInsertViaUrlplugin 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 propertiesstyleNameand optionalforceValueinstead of a single string. (commit) - utils: The
utilspackage 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)