v35.4.0
Release highlights
We are happy to announce the release of CKEditor 5 v35.4.0.
- Allow list indexing to start from
0
. - Added track changes integration for lists, document list properties, and table resize features.
- Introduced the
trackChanges.trackFormatChanges
configuration property which can be used to disable tracking of format changes. - Added an option for dynamic filenames in the editor’s configuration for PDF/Word export.
- More editor packages migrated to TypeScript.
Read about release highlights in a dedicated blog post: https://ckeditor.com/blog/ckeditor-5-v35.4.0-with-track-changes-expansions--and-better-control-over-the-pdf-and-word-converters/
MINOR BREAKING CHANGES ℹ️
- engine:
HtmlDataProcessor
skips HTML comments by default. Set itsskipComments
property tofalse
to retain comments (or use theHtmlComment
plugin).
Features
- image: Upcast the
<img>
element with thedisplay:block
style as a block image. Closes #12811. (commit) - lists: Allow list indexing to start from
0
. Closes #12827. (commit) - track-changes: Added track changes integration for lists, document list properties, and table resize features.
- track-changes: Introduced the
trackChanges.trackFormatChanges
configuration property which can be used to disable tracking of format changes.
Bug fixes
- clipboard: Replace a tab with four spaces when pasting data from clipboard. Closes #12806. (commit)
- comments: It is no longer necessary to make two mouse clicks to move the selection if the annotation in a wide sidebar was focused before.
- comments: Long user names will no longer break annotations styling in inline and narrow sidebar display modes.
- comments: Comment view should not lose focus or hide after clicking the cancel icon in the deletion confirmation box.
- comments: Removing a comment thread imported from a Word file with at least one reply, no longer results in an error where only the first comment was removed instead of the whole thread.
- engine: Fixed a bug which in some scenarios caused rendering with an outdated selection state when the editor was focused (on Chromium browsers). Closes #12967. (commit)
- engine: The
Model#insertObject()
method should not crash when attempting to set a selection after inserting an inline element. Closes #12809. (commit) - html-support: Markers should not be lost while upcasting a plain table (without the
<figure>
element). (commit) - html-support: Basic styles formatting now works well with the remove format feature. Closes #12626. (commit)
- real-time-collaboration: In some scenarios the document content was not updated by remote changes until the editor was focused.
- special-characters: The special character label in dropdown should be updated when navigating with keyboard. Closes #12393. (commit)
- special-characters: Special characters form a header should use a heading markup. Closes #12464. (commit)
- table: The table
width
andheight
attributes should be upcasted from the<figure>
element if it exists. Closes #12812. (commit) - Table: Improved the label positioning in RTL editor mode in the insert table dropdown. Closes #12833. (commit)
- track-changes: Fixed editor crash when the
TrackChangesData
plugin was used with some editor configurations including real-time collaboration plugins. - track-changes: Fixed editor crash when the
TrackChangesData
plugin was used with pagination plugin. - track-changes: Fixed various incorrect scenarios related to the document list integration with track changes.
- track-changes: Use all ranges in the
markMultiRangeFormatBlock
suggestion accept. - track-changes: Fixed the editor crash when the document list properties config is overwritten.
- ui: The keyboard navigation in grid dropdowns should not be reversed in RTL editor. Closes #12871. (commit)
- ui: The split button divider should stretch to the edges of the button. Closes #10936. (commit)
- widget: Screen readers should now read the keyboard shortcuts to type around a widget. Closes #11936. (commit)
Other changes
- engine: The
HtmlDataProcessor
exposes an option toskipComments
. Closes #12813. (commit) - enter: Made the
enterBlock()
helper publicly accessible throughEnterCommand#enterBlock()
. Closes #12885. (commit) - export-pdf: Added support for callbacks in the
fileName
configuration option. - export-word: Added support for callbacks in the
fileName
configuration option. - import-word: Imported comments will keep only basic styling by default. This behavior can be changed using the new
importWord.commentsStyles
config property. - list: Added access to list-related utils functions through the new
ListUtils
plugin to make it possible to use them in other packages. (commit) - list: Added access to list-related utils functions through the new
DocumentListUtils
andDocumentListPropertiesUtils
plugins to make it possible to use them in other packages. (commit) - table:
TableWidthResizeCommand
will now reset the size values if an optional execution parameter is skipped. Closes #12916. (commit) - utils: Removed the
I
generic parameter from theCollection
class. See #12763. (commit) - Several packages have been rewritten to TypeScript:
@ckeditor/ckeditor5-editor-balloon
: closes #12617. (commit)@ckeditor/ckeditor5-editor-classic
: closes #12618. (commit)@ckeditor/ckeditor5-editor-decoupled
: closes #12619. (commit)@ckeditor/ckeditor5-editor-inline
: closes #12620. (commit)@ckeditor/ckeditor5-essentials
: closes #12621. (commit)
- Updated translations. (commit)
Released packages
Check out the Versioning policy guide for more information.
Released packages (summary)
Releases containing new features:
- @ckeditor/ckeditor5-engine: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-image: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-list: v35.3.2 => v35.4.0
Other releases:
- @ckeditor/ckeditor5-adapter-ckfinder: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-alignment: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-autoformat: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-autosave: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-basic-styles: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-block-quote: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-build-balloon: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-build-balloon-block: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-build-classic: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-build-decoupled-document: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-build-inline: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-ckbox: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-ckfinder: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-clipboard: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-cloud-services: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-code-block: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-collaboration-core: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-comments: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-core: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-easy-image: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-editor-balloon: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-editor-classic: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-editor-decoupled: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-editor-inline: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-enter: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-essentials: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-export-pdf: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-export-word: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-find-and-replace: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-font: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-heading: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-highlight: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-horizontal-line: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-html-embed: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-html-support: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-import-word: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-indent: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-language: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-link: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-markdown-gfm: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-media-embed: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-mention: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-minimap: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-operations-compressor: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-page-break: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-pagination: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-paragraph: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-paste-from-office: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-real-time-collaboration: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-remove-format: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-restricted-editing: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-revision-history: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-select-all: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-source-editing: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-special-characters: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-style: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-table: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-theme-lark: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-track-changes: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-typing: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-ui: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-undo: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-upload: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-utils: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-watchdog: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-widget: v35.3.2 => v35.4.0
- @ckeditor/ckeditor5-word-count: v35.3.2 => v35.4.0
- @ckeditor/letters: v35.3.2 => v35.4.0
- ckeditor5-collaboration: v35.3.2 => v35.4.0