npm ckeditor5 22.0.0

latest releases: 0.0.0-nightly-20240503.0, 0.0.0-nightly-20240502.0, 0.0.0-nightly-20240501.0...
3 years ago

Release highlights

We are happy to announce the release of CKEditor 5 v22.0.0.

This release brings a few new features:

Please note that there are some major breaking changes. Be sure to review them before upgrading.

Collaboration features

The CKEditor 5 Collaboration features changelog can be found here: https://ckeditor.com/collaboration/changelog.

MAJOR BREAKING CHANGES ℹ️

  • engine: The config.view callback of DowncastHelpers takes a DowncastConversionApi instance instead of a DowncastWriter. An example migration snippet can be found in a GitHub comment. See #7334.
  • engine: The config.model callback of UpcastHelpers takes a UpcastConversionApi instance instead of a ModelWriter. An example migration snippet can be found in a GitHub comment. See #7334.
  • engine: The config.view parameter for upcast element-to-element conversion helpers configurations is now mandatory. You can retain previous "catch-all" behavior for upcast converter using config.view = /[\s\S]+/ value.

MINOR BREAKING CHANGES ℹ️

  • table: The tableCell model element brought by the TableEditing plugin is no longer an object (SchemaItemDefinition#isObject) in the Schema but a selectable (SchemaItemDefinition#isSelectable). Please update your integration code accordingly. See #6432.
  • ui: It is now possible to override existing components when adding new ones to the component factory (previously an error was thrown). See #7803.

Features

  • clipboard: Pasting a plain text will inherit selection attributes. Closes #1006. (commit)
  • engine: Options passed to Editor#getData() and DataController#get() are now available in downcast conversion under conversionApi.options object. Closes #7628. (commit)
  • engine: Added conversion API to upcast and downcast helpers. Closes #7334. (commit)
  • engine: Introduced SchemaItemDefinition#isSelectable and SchemaItemDefinition#isContent properties. Closes #6432. (commit)
  • engine: Introduced new upcast ConversionApi helper methods - conversionApi.safeInsert() and conversionApi.updateConversionResult(). New methods are intended to simplify writing event based element-to-element converters. Closes #7336. (commit)
  • image: Introduced the insert image via URL feature. Closes #7794. (commit)
  • indent: Block indentation is now recognized as a formatting attribute. Closes #2358. (commit)
  • list: Introduced the list styles feature that allows customizing the list marker. Closes #7801. (commit)
  • markdown-gfm: Introduced the Markdown plugin. Closes #6007. (commit)
  • markdown-gfm: The markdown data processor has been revamped and got the dependencies updated. Closes #5988. (commit)
  • utils: Introduced the Rect#getBoundingRect() method that returns a Rect instance containing all the rectangles passed as argument. Closes #7858. (commit)
  • utils: Introduced the passive option support in the DomEmitterMixin#listenTo() method. Closes #7828. (commit)
  • widget: Keyboard vertical navigation in the text lines next to objects should move the caret to the position closest to the object. Closes #7630. (commit)

Bug fixes

  • engine: Upcast conversion will now try to wrap text or inline elements in a paragraph in a place where is not allowed but a paragraph is allowed. Closes #7753, #6698. (commit)
  • engine: The selection will no longer inherit attributes from an empty inline element. Closes #7459. (commit)
  • link: Fixed a case where the link balloon would point invalid place after browser scroll or resize. Closes #7705. (commit)
  • ui: Dropdown panels from the editor's main toolbar should always float above the contextual balloons from the editor's content. Closes #7874. (commit)
  • ui: Balloon toolbar should reposition and ungroup items correctly when the window resizes. Closes #6444. (commit)
  • utils: Rect utility returns wrong sizes in case of a sequenced range. Closes #7838. (commit)

Other changes

  • markdown-gfm: Upgraded to Marked v1.1.1. Closes #7850. (commit)

  • mention: The space key will not confirm a mention selection from the list. Closes #6394. (commit)

  • remove-format: Block formatting should be removed if the selection is inside that block. (commit)

  • table: The tableCell model element brought by the TableEditing plugin is no longer an object (SchemaItemDefinition#isObject) in the Schema but a selectable (SchemaItemDefinition#isSelectable) (see #6432). (commit)

  • table: Pressing Shift+Tab in the first table cell now selects entire table. Closes #7535. (commit)

  • ui: The clickOutsideHandler() function will take into consideration that the editor can be placed in a shadow root while detecting a click. Closes #7743. (commit)

    Thanks to @ywsang.

  • Updated translations. (commit, commit)

Released packages

Check out the Versioning policy guide for more information.

Released packages (summary)

Major releases (contain major breaking changes):

Minor releases (contain minor breaking changes):

Releases containing new features:

Other releases:

Don't miss a new ckeditor5 release

NewReleases is sending notifications on new releases.