Release highlights
We are happy to announce the release of CKEditor 5 v29.1.0.
This release introduces several new features:
- The Content minimap feature, which aids document navigation. Read more about minimap.
- Support for HTML comments.
- Integration with the
Autosave
plugin in Revision history. - Possibility to enforce tables to contain a header row by default.
- Several improvements in the Find and replace feature.
There were also a few bug fixes:
- The code block added with autoformatting will now remember the language of the previously inserted block.
- Problems with pasting lists from Word have been eliminated (#9055, #9954).
MINOR BREAKING CHANGES ℹ️
- html-embed: The preview content will not be centered anymore.
- image: Several conversion helpers have been renamed and removed from the public API:
viewFigureToModel() -> upcastImageFigure()
,srcsetAttributeConverter() -> downcastSrcsetAttribute()
,modelToViewAttributeConverter() -> downcastImageAttribute()
.
- revision-history:
RevisionTracker#saveRevision()
was renamed toRevisionTracker#updateRevision()
. This is to better reflect what the method actually does. Since revision locking was introduced,saveRevision( { name: ... } )
calls should be replaced withupdateRevision( { name: ..., isLocked: true } )
calls. - revision-history: The
Revision#name
property is now read-only. You need to useRevision#setName()
instead.
Features
- autosave: Introduced the
Autosave#save()
function. Closes #10215. (commit) - engine: Introduced the new (
skipComments
) option inDomConverter#domToView()
(false
by default) to make it possible to decide whether HTML comments should be removed from the data. (commit) - html-support: Introduced the HTML comment plugin. Closes #8822. (commit)
- html-support: Added support for elements that can act both as a paragraph and a sectioning element depending on the content context. Closes #10085. (commit)
- html-support: Added General HTML Support integration for Table feature. Closes #9914. (commit)
- image: Implemented the
<picture>
element support in the image feature. Closes #9833. (commit) - minimap: Basic implementation of the content minimap feature. Closes #10079. (commit)
- revision-history: Introduced the possibility to update a revision after it was created. Provided a way to integrate revision history with the
Autosave
plugin. See the revision history guide. - revision-history: Introduced the
Revision#setName()
function.Revision#name
is now read-only. - revision-history: Introduced several properties:
Revision#isLocked
,Revision#lock()
andRevisionTracker#isLocked
. - table: Introduced an editor configuration option allowing to set default headings for newly created tables. Closes #10039. (commit)
- track-changes: Enabled Export to Word in track changes mode.
Bug fixes
- autoformat: Autoformat will apply the previous language choice for the code block feature. Closes #10005. (commit)
- autosave: Autosave callback should not be called while the editor is initialized. Closes #10214. (commit)
- build-decoupled-document: The editing area in the sample should have a solid white background. Closes #10095. (commit)
- collaboration-core: User initials for user names longer than two words now will be composed of the first letters of the first and last word of the name. This is better for names with a middle name or with a last name having a prefix.
- engine: White spaces around inline object elements such as
<img>
or<button>
should not be lost in data. Closes #10147. (commit) - engine: Matcher should not match style and class attributes with the object
attributes
pattern. Closes #9813. (commit) - find-and-replace: Find and replace feature now works correctly with a multi-root editor. Closes #10146. (commit)
- link: Link decorators should use classes and styles properties instead of directly matching style and class HTML attributes. Closes #9813. (commit)
- paste-from-office: Fixed a crash when pasting lists from Word to the editor. Closes #9055, #9954. (commit)
- revision-history: The
Autosave
plugin now will be filtered byRevisionHistory
plugin, so it will not be included in the revision history view editor instance as this caused errors. - revision-history: Tables will be now correctly handled after a change in a table was undone.
- table: Fixed model mappings in a table cell if a paragraph is bound to its parent. (commit)
- table: Fixed editor freezing when providing invalid
colspan
orrowspan
attribute values. Closes #10042. (commit) - track-changes: The
Autosave
plugin will no longer cause editor crashes when used together withTrackChangesData
plugin. - widget: Remove references to and destroy resizers of widgets no longer in the document. Closes #10156. (commit)
- widget: The editor should not crash when a widget with a resizer is moved in the model document. Closes #10266. (commit)
Other changes
- engine: The
elementToMarker
upcast helper is no longer marked as deprecated. (commit) - export-word: Introduced the
config.exportWord.dataCallback
option to define a custom data provider for conversion. E.g. support multi-root editors. - html-embed: The preview content for the HTML embed plugin will not be centered. Closes #9486. (commit)
- revision-history:
RevisionTracker#saveRevision()
was renamed toRevisionTracker#updateRevision()
. - revision-history: Revision will be updated (or autosave callback will be fired) when the revision history view is opened. This replaces the temporary "Unsaved changes" revision.
- revision-history: Restoring an unnamed revision will now create a revision with a name containing the restored revision's date.
- Updated translations. (commit)
- The
ckeditor5-metadata.json
file will be published on npm along with the package's code. Closes ckeditor/ckeditor5#10004. (commit)
Released packages
Check out the Versioning policy guide for more information.
New packages:
Minor releases (contain minor breaking changes):
Releases containing new features:
Other releases:
Released packages (summary)