Powerful rich text editor framework with a modular architecture, modern integrations, and features like collaborative editing.
There was an invalid version of the ckeditor5-collaboration
dependency in the following packages:
Due to that and the CKEditor 5 versioning policy, we release all packages once again.
Check out the highlights of the v37.0.0 original release.
Check out the Versioning policy guide for more information.
Other releases:
We are excited to announce that CKEditor 5 has been completely migrated to TypeScript, making v37.0.0 the first major release with full TypeScript support. This migration has brought numerous improvements, including better code organization and enhanced stability:
Feel free to check our documentation to find out more about the Using CKEditor 5 with a TypeScript setup and read the migration guide.
We believe this release will be a significant milestone for CKEditor 5 and will provide a better development experience for our users. Please try it out and let us know your feedback by leaving a comment in this issue.
We are excited to introduce the Comments Archive feature. It provides a way to archive comments that are no longer relevant, reducing clutter and making it easier to focus on the most important feedback. Users can access the archive from the toolbar and use the comments archive dropdown to view and restore archived comments if necessary. This new feature will help simplify the feedback management process for our users.
In this release, we added official support for multi-root editor type and a new multi-root editor build. Additionally, we bring some fundamental improvements that make the multi-root editor more flexible and useful!
The multi-root editor is still a project in progress!
While the new predefined build is readily available, several features are not yet supported in the multi-root editor as of this release. These include: revision history, pagination, PDF/Word export, table resize, word count, HTML comments, full-page editing, title, mini-map, and the Cloud Services editor bundle. We will work on bringing support for these features in upcoming releases.
Other than that we look forward to sharing with you guides that will better explain how you can use these new improvements!
We expanded the General HTM Support feature with support for the <colgroup>
’s and <col>
’s attributes. We significantly refactored how these HTML elements are handled by the editor. They are now legit elements in the model instead of being kept as a <table>
attribute.
16.0.0
due to the end of LTS.@ckeditor/ckeditor5-watchdog
package is no longer available as a standalone DLL build. It is now included in the main ckeditor5-dll.js
build. See #13707.comment:modify_all
permission that will allow the user to edit or remove all comments.model.Writer#addRoot()
and model.Writer#detachRoot()
. Model roots can now be dynamically added to or detached from the document. All content gets removed from a detached root and new content cannot be inserted as long as the root is detached. Closes #13388. (commit)Differ.getChangedRoots()
which returns the roots added or detached since last the differ reset. Differ#isEmpty
and Differ#hasDataChanges()
will return true
if a root was added or detached. (commit)/ws
part in the WebSocket URL is now preserved.Renderer
should try to update existing DOM text nodes (instead of replacing them completely) so that external tools should not get lost if the watched DOM text node is removed and replaced with another one. Closes #13051. (commit)elementToStructure()
downcast helper should not skip attribute changes that happened with the modification of the children list. (commit)<colgroup>
, and <col>
elements should be preserved in the data. Closes #11479. (commit)NaN
in some scenarios. Closes #10776. (commit)MentionFeed
and ItemRenderer
types. Closes #13705. (commit)MentionFeedObjectItem
type. Closes #13550. (commit)DiscardSuggestionCommand
state, instead of AcceptSuggestionCommand
.EditorConfig#initialData
and EditorConfig#placeholder
options can now be set to Record<string, string>
where the keys are root names and the values are settings for the related roots. (commit)Context
, EditorWatchdog
, and ContextWatchdog
classes as static editor properties. Closes #13707. (commit)RootAttributeOperation
is now correctly handled by Differ
. Root attribute changes will be returned in Differ#getChangedRoots()
. (commit)model.Document#getRootNames()
now returns only attached roots by default. The includeDetached
parameter was introduced to enable returning detached roots as well. (commit)RootOperation
. (commit)model.DocumentFragment#isAttached
was introduced for compatibility reasons. It always returns false
. (commit)StyleUtils
plugin to make the style util functions accessible. Closes #13484. (commit)BaseSuggestionThreadView#canAccept
and #canDiscard
observable properties. These properties are bound with related suggestions commands. SuggestionThreadView#acceptButton.isEnabled
and #discardButton.isEnabled
are bound to #canAccept
an #canDiscard
.EditorUI#removeEditableElement()
. (commit)View#scrollToTheSelection()
helper allowing to scroll to the top of the boundary. Closes #13688. (commit)Observer#stopObserving()
to allow for proper removal of DOM editable elements from the editor. (commit)Check out the Versioning policy guide for more information.
New packages:
Minor releases (contain minor breaking changes):
Releases containing new features:
Other releases:
16.0.0
due to the end of LTS.@ckeditor/ckeditor5-watchdog
package is no longer available as a standalone DLL build. It is now included in the main ckeditor5-dll.js
build. See #13707.comment:modify_all
permission that will allow the user to edit or remove all comments.model.Writer#addRoot()
and model.Writer#detachRoot()
. Model roots can now be dynamically added to or detached from the document. All content gets removed from a detached root and new content cannot be inserted as long as the root is detached. Closes #13388. (commit)Differ.getChangedRoots()
which returns the roots added or detached since last the differ reset. Differ#isEmpty
and Differ#hasDataChanges()
will return true
if a root was added or detached. (commit)Renderer
should try to update existing DOM text nodes (instead of replacing them completely) so that external tools should not get lost if the watched DOM text node is removed and replaced with another one. Closes #13051. (commit)elementToStructure()
downcast helper should not skip attribute changes that happened with the modification of the children list. (commit)<colgroup>
, and <col>
elements should be preserved in the data. Closes #11479. (commit)NaN
in some scenarios. Closes #10776. (commit)MentionFeed
and ItemRenderer
types. Closes #13705. (commit)MentionFeedObjectItem
type. Closes #13550. (commit)DiscardSuggestionCommand
state, instead of AcceptSuggestionCommand
.EditorConfig#initialData
and EditorConfig#placeholder
options can now be set to Record<string, string>
where the keys are root names and the values are settings for the related roots. (commit)Context
, EditorWatchdog
, and ContextWatchdog
classes as static editor properties. Closes #13707. (commit)RootAttributeOperation
is now correctly handled by Differ
. Root attribute changes will be returned in Differ#getChangedRoots()
. (commit)model.Document#getRootNames()
now returns only attached roots by default. The includeDetached
parameter was introduced to enable returning detached roots as well. (commit)RootOperation
. (commit)model.DocumentFragment#isAttached
was introduced for compatibility reasons. It always returns false
. (commit)ckeditor5-real-time-collaboration
to TypeScript.StyleUtils
plugin to make the style util functions accessible. Closes #13484. (commit)BaseSuggestionThreadView#canAccept
and #canDiscard
observable properties. These properties are bound with related suggestions commands. SuggestionThreadView#acceptButton.isEnabled
and #discardButton.isEnabled
are bound to #canAccept
an #canDiscard
.EditorUI#removeEditableElement()
. (commit)View#scrollToTheSelection()
helper allowing to scroll to the top of the boundary. Closes #13688. (commit)Observer#stopObserving()
to allow for proper removal of DOM editable elements from the editor. (commit)Check out the Versioning policy guide for more information.
New packages:
Minor releases (contain minor breaking changes):
Releases containing new features:
Other releases:
This release exposes Context
, EditorWatchdog
, and ContextWatchdog
as static editor properties. This should simplify integrations and provide consistency with editor builds.
This introduces a minor breaking change: the @ckeditor/ckeditor5-watchdog
package is no longer available as a standalone DLL build. It is now included in the main ckeditor5-dll.js
build. See #13707.
Please keep in mind that the release is marked as alpha, which means it is an experimental version, and some unexpected results may occur when using these typings.
We appreciate all of your feedback, as it helps us greatly to improve the final shape of the project. Please share it here.
@ckeditor/ckeditor5-watchdog
package is no longer available as a standalone DLL build. It is now included in the main ckeditor5-dll.js
build. See #13707.Context
, EditorWatchdog
, and ContextWatchdog
classes as static editor properties. Closes #13707. (commit)View#scrollToTheSelection()
helper allowing to scroll to the top of the boundary. Closes #13688. (commit)Check out the Versioning policy guide for more information.
New packages:
Other releases:
This release fixes typings in the predefined builds which should now properly maintain information about included plugins.
Please keep in mind that the release is marked as alpha, which means it is an experimental version and some unexpected results may occur when using these typings.
We appreciate all of your feedback, as it helps us greatly to improve the final shape of the project. Please share it here.
NaN
in some scenarios. Closes #10776. (commit)Check out the Versioning policy guide for more information.
Other releases:
This release addresses the issues with TypeScript reporting some commands, plugins, and configurations as either unavailable or unknown, despite them being correctly registered.
This update also includes a breaking change from alpha.0
. To ensure proper TypeScript support, update your imports to use the main package entry point instead of importing from package internals. See the example below:
// ✔️
import { Table } from '@ckeditor/ckeditor5-table';
// ❌
import Table from '@ckeditor/ckeditor5-table/src/table';
Please keep in mind that the release is marked as alpha
, which means it is an experimental version and some unexpected results may occur when using these typings.
We appreciate all of your feedback, as it helps us greatly to improve the final shape of the project. Please share it here.
MentionFeedObjectItem
type. Closes #13550. (commit)EditorConfig#initialData
and EditorConfig#placeholder
options can now be set to Record<string, string>
where the keys are root names and the values are settings for the related roots. (commit)Check out the Versioning policy guide for more information.
New packages:
Releases containing new features:
Other releases:
This release brings the long-awaited feature: typings for CKEditor 5. They are compatible with TypeScript version 4.8.4 or higher.
Please keep in mind the release is marked as alpha
which means it is an experimental version and some unexpected results may occur when using these typings.
We appreciate all your feedback that lets us improve the final shape of the project.
elementToStructure()
downcast helper should not skip attribute changes that happened with the modification of the children list. (commit)<colgroup>
, and <col>
elements should be preserved in the data. Closes #11479. (commit)StyleUtils
plugin to make the style util functions accessible. Closes #13484. (commit)Check out the Versioning policy guide for more information.
Minor releases (contain minor breaking changes):
Releases containing new features:
Other releases:
This is a patch release that resolves two recent issues:
@ckeditor/ckeditor5-highlight
package. We mistakenly published TypeScript source next to JavaScript files and that breaks some setups, making it harder to integrate the v36.0.0 of CKEditor 5 in your systems. See #13373 for more details.Check out the Versioning policy guide for more information.
Other releases:
We are happy to announce the release of CKEditor 5 v36.0.0.
Please refer to the update guide to learn more about these changes.
EditorUI
class was moved from @ckeditor/ckeditor5-core
to @ckeditor/ckeditor5-ui
.addToolbarToDropdown()
and addListToDropdown()
helpers create content panels on the first dropdown open. Make sure that you access the dropdown panel after the dropdown is open. See #12890.config.link.defaultProtocol
on pasted links. Closes #12912. (commit).dotx
extension in the file dialog.disc
(instead of circle
). Closes: #13206. (commit)getData()
call if the PlainTableOutput
plugin is used with the TableColumnResize
feature. Closes #13164. (commit)false
) for CKFinderCommand#affectsData
. Now, the command's state depends only on related commands (insertImage
and link
). Closes #13213. (commit)EditorUI
class from @ckeditor/ckeditor5-core
to @ckeditor/ckeditor5-ui
. Closes #12853. (commit)ReplaceImageSourceCommand
which encapsulates current image URL replacement logic. Closes #13217. (commit)'high'
. Closes #13290. (commit)@ckeditor/ckeditor5-alignment
: closes #13026. (commit)@ckeditor/ckeditor5-alignment
: closes #12995. (commit)@ckeditor/ckeditor5-autoformat
: closes #12996. (commit)@ckeditor/ckeditor5-basic-styles
: closes #12998. (commit)@ckeditor/ckeditor5-block-quote
: closes #12999. (commit)@ckeditor/ckeditor5-highlight
: closes #13013. (commit)@ckeditor/ckeditor5-adapter-ckfinder
: closes #12994. (commit)@ckeditor/ckeditor5-heading
: closes #13012. (commit)@ckeditor/ckeditor5-horizontal-line
: closes #13014. (commit)@ckeditor/ckeditor5-language
: closes #13019. (commit)@ckeditor/ckeditor5-list
: closes #13021. (commit)@ckeditor/ckeditor5-markdown-gfm
: closes #13022. (commit)@ckeditor/ckeditor5-mention
: closes #13024. (commit)@ckeditor/ckeditor5-minimap
: closes #13025. (commit)@ckeditor/ckeditor5-paste-from-office
: closes #13027. (commit)@ckeditor/ckeditor5-word-count
: closes #13036. (commit)Check out the Versioning policy guide for more information.
Releases containing new features:
Other releases:
We are happy to announce the release of CKEditor 5 v35.4.0.
0
.trackChanges.trackFormatChanges
configuration property which can be used to disable tracking of format changes.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/
HtmlDataProcessor
skips HTML comments by default. Set its skipComments
property to false
to retain comments (or use the HtmlComment
plugin).<img>
element with the display:block
style as a block image. Closes #12811. (commit)0
. Closes #12827. (commit)trackChanges.trackFormatChanges
configuration property which can be used to disable tracking of format changes.Model#insertObject()
method should not crash when attempting to set a selection after inserting an inline element. Closes #12809. (commit)<figure>
element). (commit)width
and height
attributes should be upcasted from the <figure>
element if it exists. Closes #12812. (commit)TrackChangesData
plugin was used with some editor configurations including real-time collaboration plugins.TrackChangesData
plugin was used with pagination plugin.markMultiRangeFormatBlock
suggestion accept.HtmlDataProcessor
exposes an option to skipComments
. Closes #12813. (commit)enterBlock()
helper publicly accessible through EnterCommand#enterBlock()
. Closes #12885. (commit)fileName
configuration option.fileName
configuration option.importWord.commentsStyles
config property.ListUtils
plugin to make it possible to use them in other packages. (commit)DocumentListUtils
and DocumentListPropertiesUtils
plugins to make it possible to use them in other packages. (commit)TableWidthResizeCommand
will now reset the size values if an optional execution parameter is skipped. Closes #12916. (commit)I
generic parameter from the Collection
class. See #12763. (commit)@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)Check out the Versioning policy guide for more information.
Releases containing new features:
Other releases: