npm @ckeditor/ckeditor5-build-classic 35.2.0

latest releases: 0.0.0-nightly-20240919.0, 0.0.0-nightly-20240918.0, 0.0.0-nightly-20240917.0...
23 months ago

Release highlights

We are happy to announce the release of CKEditor 5 v35.2.0.

This release introduces the following new features:

There were also bug fixes:

Read about release highlights in a dedicated blog post: https://ckeditor.com/blog/ckeditor-5-v35.2.0-with-the-import-from-word-plugin-new-toolbar-functionality-and-annotations-performance-improvement/

Please refer to the migration guide to learn more about these changes.

MINOR BREAKING CHANGES ℹ️

  • basic-styles: The bold icon has been moved to the @ckeditor/ckeditor5-core package.
  • comments: Introduced external comments and suggestions which require special handling when saving them in the database. This will concern you, if you use non real-time collaboration and the import from Word feature. Read more about it in the migration guide.
  • comments: The templates for CommentView and SuggestionThreadView have changed. This may concern you, if you use custom annotation views or templates and the import from Word feature.
  • paragraph: The paragraph icon has been moved to the @ckeditor/ckeditor5-core package.
  • Comment input editor is now initialized on demand instead of being created in the CommentInputView constructor and initialized on render. CommentInputView#editor is now null right after the instance is created. This may concern you, if you use custom comment views.
  • Annotations with targets set to markers or DOM elements inside the editor editable must now be registered in EditorAnnotations#registerAnnotation() after they are created. This will concern you, if you have a custom feature that creates Annotation instances inside the editor. This does not affect the comments outside the editor feature.

Features

  • comments: Introduced integration for the import from Word feature to handle comments and suggestion included in the imported Word file.
  • comments: Introduced support for comments and suggestions that come from an external source (e.g. an imported document). Annotations for these items will be labelled to differentiate them from regular comments and suggestions. To mark an annotation as external, set the @external attribute when creating a comment or a suggestion.
  • html-support: The General HTML Support (GHS) feature can exclude elements from the allowed list of elements. (commit)
  • import-word: Added a new package (@ckeditor/ckeditor5-import-word), that allows importing Word documents into CKEditor 5.
  • track-changes: Introduced integration for the import from Word feature to handle comments and suggestions included in the imported Word file.
  • track-changes: Introduced support for comments and suggestions that come from an external source (e.g. an imported document). Annotations for these items will be labelled to differentiate them from regular comments and suggestions. To mark an annotation as external, set the @external attribute when creating a comment or a suggestion.
  • ui: Allowed grouping toolbar items into drop-downs by using a declarative config. Closes #12490. (commit)

Bug fixes

  • comments: It is now possible to switch between annotations when multiple inline annotations are displayed in the contextual balloon.
  • engine: Fixed editor throwing the Maximum call stack size exceeded error when huge number of nodes were inserted at once into an element. Closes #12428. (commit)
  • html-support: Redefined most GHS-elements as not blocks in the schema. Closes #12430. (commit)
  • image: The image insertion pane should not be empty if opened with the arrow down keystroke. Closes #12215. (commit)
  • image: Alternative text button now indicates whether any value is applied. Closes #12268. (commit)
  • link: Fixed incorrect behavior when text before the auto-linked url was removed by pressing backspace. Previously, the removed text was reinserted on backspace press. Closes #12447. (commit)
  • link: Corrected autolinking URLs without a protocol given. Closes #11040. (commit)
  • list: Improved styles for indented lists. Closes #12179. (commit)
  • list: To-do list items should not interrupt the Tab key navigation across the editor content. Closes #6535. (commit)
  • list: List properties changes made on a list inside a container element (e.g. block quote) are now correctly propagated also to a list directly after that container. Closes #11082. (commit)
  • media-embed: The focus will move to the editor after inserting a media. Closes #12186. (commit)
  • pagination: Pagination should work correctly for blocks with inline elements and soft breaks.
  • paste-from-office: Extra line breaks should not be generated while pasting from Google Docs. Closes #10217. (commit)
  • table: Table cell widths will be preserved after pasting into the editor with table column resize feature and without table cell properties one. Closes #12426. (commit)
  • table: Added keyboard (spacebar) support for the table insertion dropdown. Closes #12344. (commit)
  • table: Made color pickers in table and table cell properties forms accessible for keyboard users. Closes #12193. (commit)
  • track-changes: Fixed editor crashing or disconnecting from real-time collaboration session when the initial content contained big number of suggestions.
  • track-changes: The word count plugin callback will no longer be called when track changes data plugin is used.
  • track-changes: Styles dropdown integration will correctly create suggestions for block quotes and other elements containing block elements.
  • ui: DropdownView should close when it gets blurred. Also, DropdownView should focus its #buttonView only when it gets closed and the focus is inside its panelView. Closes #12178, #12005. (commit)
  • ui: The block toolbar should close upon clicking its button. Closes #12184. (commit)
  • widget: The image resizer handle should not be visible when the resizer is not enabled (e.g. in comments-only mode). Closes #11891. (commit)

Other changes

  • comments: Introduced substantial performance improvements in scenarios with big number (hundreds) of comments and suggestions. Improved editor initialization time and editor responsiveness.
  • comments: Introduced EditorAnnotations#registerAnnotation().
  • comments: Introduced the optional @external attribute for comments and suggestions. @external is an object that contains fields with author name (authorName) and date (createdAt). The attribute is read-only and can be set only when a comment or suggestion is created.
  • engine: Model#insertContent() will now insert markers added to DocumentFragment#markers. Closes #12467. (commit)
  • engine: Reimplemented Position#isTouching() in order to achieve better editor performance. (commit)
  • special-characters: Added missing arrow characters (, , , ) into the selection table. Closes #6167. (commit)
  • style: Improved keyboard navigation in the style feature drop-down. Closes #12250. (commit)
  • track-changes: Introduced substantial performance improvements in scenarios with big number (hundreds) of comments and suggestions. Improved editor initialization time and editor responsiveness.
  • track-changes: Introduced optional @external attribute for comments and suggestions. @external is an object that contains fields with author name (authorName) and date (createdAt). The attribute is read-only and can be set only when a comment or suggestion is created.
  • utils: Dropped using lodash isElement() in Rect class in order to achieve better editor performance. (commit)
  • Updated translations. (commit, commit, commit)

Released packages

Check out the Versioning policy guide for more information.

Released packages (summary)

New packages:

Minor releases (contain minor breaking changes):

Releases containing new features:

Other releases:

Don't miss a new ckeditor5-build-classic release

NewReleases is sending notifications on new releases.