Skip to content

v30.0.0

Compare
Choose a tag to compare
@pomek pomek released this 29 Sep 07:10
· 11818 commits to master since this release

Release highlights

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

This release introduces the following new features:

There were also a few bug fixes:

MAJOR BREAKING CHANGES ℹ️

  • The config.toolbar.viewportTopOffset property was moved to config.ui.viewportOffset and it now accepts an object.

MINOR BREAKING CHANGES ℹ️

  • engine: The Matcher class is more strict in handling Elements provided to the match() and matchAll() methods. It will not accept other Nodes now.
  • html-support: The public helper function html-support/converters~disallowedAttributesConverter has been removed due to a change in the approach to filtering disallowed elements and attributes.
  • widget: The centeredBalloonPositionForLongWidgets() helper was removed from widget utils. Use BalloonPanelView.defaultPositions.viewportStickyNorth instead. See #9892.
  • widget: toWidgetEditable() will now set highlight handling for the editable element. If you used this method in conversion in your custom plugin it may affect your element styling when there is a marker on that element (e.g. a comment or a suggestion).

Features

  • autoformat: Allowed reverting the automatic Markdown-like formatting by pressing Backspace. See #10413. (commit)
  • html-support: Added the General HTML Support integration for the image feature. Closes #9916. (commit)
  • image: Allowed using backspace to undo automatic the image insertion transformations. Closes #10413. (commit)
  • ui: Introduced a new position type (viewportStickyNorth) in BalloonPanelView.defaultPositions. See #9892. (commit)
  • Introduced the editor.ui.viewportOffset property, which allows modifying the viewport's offset in runtime. This value is used by the editor e.g. to position its sticky toolbar and contextual balloons. Additionally, the config.toolbar.viewportTopOffset property was moved to config.ui.viewportOffset and it now accepts an object. Closes #9672. (commit)

Bug fixes

  • engine: Added system colors names from the CSS Color Module Level 3 so that pasting tables from MS Word works correctly. Closes #10383. (commit)
  • engine: Fixed the Matcher class handling global flag in the RegExps patterns. Closes #10282. (commit)
  • find-and-replace: The toolbar should not lose focus after escaping from the find and replace dropdown. Closes #10420. (commit)
  • find-and-replace: Improved the performance of the find feature by reducing the number of model.change() calls. Closes #10302. (commit)
  • image: Attributes from a marker conversion descriptor will now be correctly added on view elements during marker downcast. Closes #10425. (commit)
  • revision-history: Fixed widget highlight in the revision comparison in some cases with nested edits added by different users.
  • table: Made reordering table rows and columns possible without breaking the view in tables with heading rows or heading columns. Closes #10463. (commit)
  • table: Cancelling the table cell properties UI no longer results with a warning in the console. Closes #6266. (commit)
  • table: Fixed handling of a non-collapsed selection inside a table cell. Closes #10391. (commit)
  • track-changes: Fixed crash happening in some scenarios in track changes mode after an image element split a non-paragraph element.
  • track-changes: Fixed missing data-suggestion attributes on table cells and image captions.
  • typing: Restricted mathematical text transformation, so that it requires no alphanumeric character before and after the fraction. Closes #9170. (commit)
  • ui: The editor no longer crashes when a button has withKeystroke set to true but no keystroke property is provided. Closes #9412. (commit)
  • widget: Fixed arrow keys navigation when there is an inline widget at the edge of a table cell. Closes #9380. (commit)

Other changes

  • engine: The MarkerCollection#has() method now also accepts an instance of a marker. Closes #9985. (commit)
  • image: Upcast images with or without the empty src attribute. Closes #9238. (commit)
  • image: Prevent leaving an unconsumed figure element after conversion. (commit)
  • link: Upcast linked images with or without the empty src attribute. See #9238. (commit)
  • media: The figure element should not be consumed if the media embed is unknown. (commit)
  • media-embed: Prevent leaving an unconsumed figure element after conversion. (commit)
  • widget: toWidgetEditable() will now set the default highlight handling for the editable element. (commit)
  • widget: setHighlightHandling() received default parameters for the highlight add and remove functions which handle classes and attributes. (commit)
  • The viewport offsets will be taken into consideration when calculating the position of contextual balloons (such as the table toolbar). Closes #9892. (commit)
  • 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: