Releases: ckeditor/ckeditor5
v41.3.0-alpha.1
We are happy to announce the release of CKEditor 5 v41.3.0-alpha.1.
This release is intended to address various styling issues we have found with the new installation methods.
For instructions on how to use the new installation methods, see the v41.3.0-alpha.0 Release Notes.
For more general information about the new installation methods, see the announcement post.
Bug fixes
- theme-lark: Fix displaying icons in the editor's toolbar.
- theme-lark: Fix styling of the dialog component.
Released packages
Check out the Versioning policy guide for more information.
Released packages (summary)
Other releases:
- @ckeditor/ckeditor5-adapter-ckfinder: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-alignment: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-autoformat: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-autosave: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-basic-styles: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-block-quote: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-build-balloon: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-build-balloon-block: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-build-classic: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-build-decoupled-document: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-build-inline: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-build-multi-root: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-ckbox: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-ckfinder: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-clipboard: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-cloud-services: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-code-block: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-core: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-easy-image: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-editor-balloon: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-editor-classic: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-editor-decoupled: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-editor-inline: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-editor-multi-root: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-engine: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-enter: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-essentials: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-find-and-replace: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-font: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-heading: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-highlight: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-horizontal-line: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-html-embed: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-html-support: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-image: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-indent: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-language: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-link: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-list: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-markdown-gfm: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-media-embed: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-mention: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-minimap: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-page-break: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-paragraph: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-paste-from-office: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-remove-format: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-restricted-editing: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-select-all: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-show-blocks: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-source-editing: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-special-characters: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-style: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-table: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-theme-lark: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-typing: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-ui: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-undo: v41.3.0-alpha.0 => v41.3.0-alpha.1
- @ckeditor/ckeditor5-upload: v41.3.0-alpha.0 => v41.3.0-alpha.1
- [@ckeditor/ckeditor5-utils](https://www.npmjs.com/package/@ckeditor/ckeditor5-util...
v41.3.0-alpha.0
We are happy to announce the release of CKEditor 5 v41.3.0-alpha.0.
This release is intended for testing new installation methods announced in this post.
It contains two builds that can be found in the dist
folder.
The first build is a browser build that can be run directly in the browser without a build step. It contains the files index.browser.js
and index.browser.css
. For editor- or content-only styles, use the editor-index.browser.css
or content-index.browser.css
files.
Code snippet
<link rel="stylesheet" href="<PATH_TO_THE_CKEDITOR5>/dist/index.browser.css">
<script type="importmap">
{
"imports": {
"ckeditor5": "<PATH_TO_THE_CKEDITOR5>/dist/index.browser.js",
"ckeditor5/": "<PATH_TO_THE_CKEDITOR5>/",
}
}
</script>
<script type="module">
import { ClassicEditor, Essentials, Paragraph } from 'ckeditor5';
import translations from 'ckeditor5/dist/translations/pl.js';
await ClassicEditor.create( document.querySelector( '#editor' ), {
plugins: [
Essentials,
Paragraph,
],
toolbar: {
items: [ 'undo', 'redo' ]
},
translations
} );
</script>
The second build is an NPM build. It includes the files index.js
and index.bundled.css
. For editor- or content-only styles, use the editor-index.bundled.css
or content-index.bundled.css
files.
Code snippet
import { ClassicEditor, Essentials, Paragraph } from 'ckeditor5';
import translations from 'ckeditor5/dist/translations/pl.js';
import 'ckeditor5/dist/index.bundled.css';
await ClassicEditor.create( document.querySelector( '#editor' ), {
plugins: [
Essentials,
Paragraph,
],
toolbar: {
items: [ 'undo', 'redo' ]
},
translations
} );
Please note that this release is based on v41.2.0
and is marked as alpha, which means that it is an experimental release and some unexpected results may occur when using it.
We appreciate any feedback that will help us improve the final form of the project.
Released packages
Check out the Versioning policy guide for more information.
Released packages (summary)
Other releases:
- @ckeditor/ckeditor5-adapter-ckfinder: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-alignment: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-autoformat: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-autosave: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-basic-styles: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-block-quote: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-build-balloon: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-build-balloon-block: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-build-classic: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-build-decoupled-document: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-build-inline: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-build-multi-root: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-ckbox: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-ckfinder: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-clipboard: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-cloud-services: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-code-block: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-core: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-easy-image: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-editor-balloon: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-editor-classic: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-editor-decoupled: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-editor-inline: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-editor-multi-root: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-engine: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-enter: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-essentials: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-find-and-replace: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-font: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-heading: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-highlight: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-horizontal-line: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-html-embed: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-html-support: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-image: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-indent: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-language: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-link: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-list: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-markdown-gfm: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-media-embed: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-mention: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-minimap: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-page-break: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-paragraph: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-paste-from-office: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-remove-format: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-restricted-editing: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-select-all: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-show-blocks: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-source-editing: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-special-characters: v41.2.0 => v41.3.0-alpha.0
- @ckeditor/ckeditor5-style: v41.2.0 => v41.3.0-alpha.0
- [@cke...
v41.2.0
We are happy to announce the release of CKEditor 5 v41.2.0.
Copy-paste comments
Since the beginning, collaboration has been a focal point for CKEditor 5. This release brings another highly anticipated improvement for the popular Comments feature!
Now, when you cut-paste, copy-and-paste, or drag around a piece of content that includes comments, the comments will be retained. The improvement allows users to restructure their content without losing the information or discussion available in the comments.
By default, the comments are retained only on cut-and-paste and drag-and-drop actions. You can configure this behavior to be applied also on copy-paste or you can turn it off.
Accessibility Help Dialog
CKEditor 5 v41.2.0 introduces the Accessibility Help Dialog. With the hit of Alt/Option+0 in the editor, users can now access the full list of available keyboard shortcuts. A toolbar button is available as well. This feature further improves the editor's usability and accessibility. It allows all users to navigate and operate CKEditor 5 more efficiently, thereby promoting a more inclusive user experience.
The Accessibility Help Dialog is enabled by default in the Essentials
plugin pack, making it available straight away in most integrations. If your editor build does not use the Essentials
pack, make sure that you add the AccessibilityHelp
plugin in your configuration.
We would also like to mention that there are further accessibility support improvements in the pipeline, so keep your eyes peeled for news in the upcoming months.
Other improvements and bug fixes
- AI Assistant will now try to retain comments on the processed content. The comments’ markup will be included in the data passed to the AI model. The result will depend on the response generated by the AI model.
- Added the ability to declare allowed URL protocols for links, like
tel
orsms
, by introducing thelink.allowedProtocols
configuration property. After setting up your custom protocols, your users will easily navigate to specific resources from the inside of the editor.
MINOR BREAKING CHANGES ℹ️
- comments: Comments will now be retained in the clipboard and pasted into the content when the user performs a cut-and-paste operation. To revert to previous behavior (with no retaining), set the
comments.copyMarkers
configuration property to an empty array. - ui: The contents of the
BlockToolbar
andBalloonToolbar
toolbars are now filled on theEditorUIReadyEvent
instead ofPlugin#afterInit()
. - ai: When
config.ai.openAI.requestParameters
orconfig.ai.aws.requestParameters
are set, the set value will fully overwrite the default value. Most importantly, if you do not specify some properties inrequestParameters
they will not be set to default. For example, if you setopenAI.requestParameters
to{ max_tokens: 1000 }
, the request parameters will be set exactly to that object. Make sure that you pass all necessary parameters inrequestParameters
.
Features
- ai: AI Assistant will now try to retain comments on the processed content. The comments markup will be included in the data passed to the AI model. The result will depend on the response generated by the AI model.
- ai: AI pre-defined commands that require context will now be disabled when the selection is within an empty block. The toolbar dropdown will be disabled if all pre-defined commands are disabled.
- comments: Introduced the copy-paste and cut-and-paste functionalities for comment markers. By default, comment markers will be retained on cut-and-paste actions. See documentation for the new
comments.copyMarkers
configuration property to learn more. - core: Brought the
editor.accessibility
namespace to the baseEditor
class as a container for accessibility-related features and systems. See #1014. (commit) - core: Translations can now be passed as an object in the configuration. Closes #15713. (commit)
- find-and-replace: The find and replace feature will dynamically update the search results when the document content changes. Closes #15680. (commit)
- link: Added the ability to specify allowed URL protocols by introducing the
link.allowedProtocols
configuration property. Closes #14304. (commit) - revision-history: Added the
revisionHistory.requireRevisionName
configuration option which makes the revision name required. - revision-history: Long revision names in the sidebar will now be indicated with ellipsis and will display a tooltip when the user hovers it.
- ui: Implemented the
AccessibilityHelp
plugin that brings a dialog displaying keyboard shortcuts available in the editor. Closes #1014. (commit)
Bug fixes
- ai: Fixed a few scenarios where AI Assistant was incorrectly showing empty responses.
- ai: Custom functions passed in the
ai.openAI.requestParameters
configuration will no longer be overwritten by default parameters. - ai: The selected widgets (for instance, images) will now be correctly highlighted while using AI Assistant.
- ai: Incorrect Markdown syntax should be stripped from the AI responses.
- ckbox: Plugin order should not matter when it comes to registering schema for the
ckboxImageId
attribute. Closes #15581. (commit) - core: Use
translations
from thedefaultConfig
if they were not provided in thecreate
method. Closes #15902. (commit) - html-support: Background color style should be properly preserved by GHS while the
FontBackgroundColor
plugin is enabled. It should also be able to preserve a partly defined style. Closes #15757, #10399. (commit) - image: Fixes the initialization of
ImageInsertViaUrlUI
so it does not depend on the configured plugins order. Closes #15869. (commit) - image: Fixed an issue with inline images where resizing an image to reduce its dimensions resulted in the opposite effect. Closes #10267. (commit)
- list: An error message will be displayed when numbered list start index input field has an incorrect value. Closes #14939. (commit)
- mention: Inserting a mention should not append an extra white space if there was one already present in the content. A white space should not follow a mention inserted inside a pair of empty matching brackets. Closes #4651. (commit)
- minimap: The Minimap feature should not throw an error if an ...
v41.1.0
We are happy to announce the release of CKEditor 5 v41.1.0.
MINOR BREAKING CHANGES ℹ️
- engine: We fixed how the missing
value
of the"class"
and"style"
attribute conversion is handled in theattributeToAttribute()
upcast helper. Now while not providing the attribute'svalue
to conversion the helper accepts and consumes all values. Previously those values were not consumed and left for other converters to convert. Note that you should use theclasses
, and thestyles
fields for the fine-tuned conversion of those attributes instead of a catch-all"style"
and"class"
specified in thekey
field. - font: The
colorSelectorView
property will no longer be accessible from theColorUI
plugin in the@ckeditor/ckeditor5-font/src/ui/colorui.ts
. - source-editing: The source editing feature will now throw an error when used with real-time collaboration as these features are not fully compatible and may lead to data loss. You will have to explicitly enable source editing for real-time collaboration by setting the
sourceEditing.allowCollaborationFeatures
configuration flag totrue
. If you want to use both these features, please read a new guide discussing the risks and add the flag to your configuration.
Features
- collaboration-core: The local user ("me" user) avatar will now have a distinct highlight (additional border) so it is easier to spot among other avatars. The related DOM element will receive the
.ck-user_me
CSS class to customize or remove the highlight. - real-time-collaboration: Introduced the
presenceList.displayMe
configuration flag. When set tofalse
, the local user ("me" user) will not be displayed in the presence list. Defaults totrue
.
Bug fixes
- engine: The
style
andclass
attributes conversion should work withattributeToAttribute()
. Closes #4517. (commit) - font: The font color and font background features should work in both the main toolbar and the balloon toolbar. Closes #15580. (commit)
- link: An image should not disappear after dragging in Windows OS in Chromium browsers. #15700. (commit)
Other changes
- real-time-collaboration: Modified the order of users in the presence list, so that local user ("me" user) is always visible first.
- source-editing: Source editing will now throw an error when used with real-time collaboration. Added the
sourceEditing.allowCollaborationFeatures
configuration flag that suppresses the error and allows to use both features together. Closes #15764. (commit) - Updated translations. (commit)
Released packages
Check out the Versioning policy guide for more information.
Released packages (summary)
Minor releases (contain minor breaking changes):
- @ckeditor/ckeditor5-engine: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-font: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-source-editing: v41.0.0 => v41.1.0
Other releases:
- @ckeditor/ckeditor5-adapter-ckfinder: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-ai: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-alignment: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-autoformat: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-autosave: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-basic-styles: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-block-quote: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-build-balloon: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-build-balloon-block: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-build-classic: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-build-decoupled-document: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-build-inline: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-build-multi-root: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-case-change: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-ckbox: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-ckfinder: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-clipboard: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-cloud-services: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-code-block: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-collaboration-core: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-comments: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-core: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-document-outline: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-easy-image: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-editor-balloon: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-editor-classic: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-editor-decoupled: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-editor-inline: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-editor-multi-root: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-enter: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-essentials: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-export-pdf: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-export-word: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-find-and-replace: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-format-painter: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-heading: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-highlight: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-horizontal-line: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-html-embed: v41.0.0 => v41.1.0
- @ckeditor/ckeditor5-html-support: v41.0.0 => v41.1.0
- [...
v41.0.0
We are happy to announce the release of CKEditor 5 v41.0.0.
Improved list suggestions behavior
We continue to improve the way the editor displays the formatting suggestions.
This release includes integration of the list features with the new suggestions behavior. All list-related suggestions are now visible in the editor content.
The dialog system
The dialogs finally come to the CKEditor 5 UI!
Some users found using the find and replace feature through a dropdown inconvenient as it might have covered the content, including the searched text. We listened to these voices and the find and replace UI will now be using a dialog.
If you liked the earlier user interface of this feature, you can still display it inside a dropdown by setting the config.findAndReplace.uiType
configuration option.
We have also introduced a dialog in the AI Assistant feature. Displaying the AI Assistant inside a balloon came with many UX hiccups, especially when you selected large content. It works great now.
The dialogs are now a part of the CKEditor 5 UI library so you can use them, too! Read the documentation to learn how to display your custom features inside dialogs and modals.
Case change
No more selecting, deleting, retyping with Caps Lock for long legal preambles. The case change plugin enables users to easily change text cases, applying UPPERCASE, lowercase, and Title Case. This feature simplifies text formatting by allowing quick alterations with a single click or a keyboard shortcut.
As a key component of CKEditor 5's Productivity Pack, this plugin complements and enhances the suite's editing capabilities, offering a practical tool for efficient text manipulation.
Improving CKEditor 5 installation methods
We start the new year with improvements in the new installation methods project. This includes an upgrade to the latest TypeScript version, ensuring enhanced type safety.
A key part of this release is the resolution of ECMAScript Module (ESM) compliance issues. We updated all packages and their definitions to be fully ESM-compliant. This ensures smoother integration and compatibility across various development environments.
We have also renamed exports of several classes, interfaces, and helpers to eliminate naming conflicts in the code for the new bundle that will appear later this year.
Take a look at the RFC to see what is coming: #15502.
Deprecation of lists v1
This release marks a significant change in the list feature. As announced before, we are phasing out the older implementation of the List
plugin, originally designed for plain lists. We are directing the development efforts towards the more advanced list v2 feature (formerly named DocumentList
). This change aims to eliminate confusion for integrators and optimize the number of list functionalities.
The DocumentList
plugins, which represent the advanced lists v2 feature, will now be available under the standard name List
. This change enables document lists across all integrations, with the new version ensuring no loss of features from the older one.
We renamed the previous List
plugins to LegacyList
, providing a fallback option for integrators after the update. We will keep the LegacyList
available for a couple of releases to lower the migration impact.
The existing DocumentList
plugins were replaced with aliases. Integrations using the older DocumentList
will continue to function without any need for configuration changes for a couple of releases. Users will be notified via console warnings to consider updating their configurations.
Additionally, we completely removed the ListStyle
plugin, which has been deprecated for a while. This change aligns with our goal to simplify the list features.
Release highlights
Refer to the update guide to learn more about these changes.
MAJOR BREAKING CHANGES ℹ️
- ai: From this release on, the UI of the AI Assistant feature is displayed in a dialog instead of a balloon. See #14973.
- find-and-replace: From this release on, the UI of the find and replace feature is displayed by default in a dialog instead of a dropdown. To bring the previous user experience back, you can use the
config.findAndReplace.uiType
configuration option. See #14973. - list: The
AdjacentListsSupport
plugin is moved from thedocumentlist
directory to thelist
directory. See #14942.
MINOR BREAKING CHANGES ℹ️
- adapter-ckfinder: Rename export of the
UploadAdapter
class toCKFinderUploadAdapter
. See #15511. - ai: The layout of the UI changed. Customizations based on certain CSS selectors may not work anymore because of a different DOM structure in the UI. Learn more about the scope of changes. See #14973.
- ckfinder: Moved the
browseFiles
icon to thecore
package and added it to theicons
object exported from it. See #15511. - ckbox: Moved the
browseFiles
icon to thecore
package and added it to theicons
object exported from it. See #15511. - code-block: Moved the
codeBlock
icon to thecore
package and added it to theicons
object exported from it. See #15511. - core: Bumped the TypeScript version to 5.0. See #15452.
- engine: Renamed export of the
View
class toEditingView
. See #15511. - engine: Moved the
findOptimalInsertionRange
function to theSchema
class as a new method. See #15511. - find-and-replace: The layout of the UI changed. Customizations based on certain CSS selectors may not work anymore because of a different DOM structure in the UI. Learn more about the scope of changes. See #14973.
- heading: Moved the
heading1
,heading2
,heading3
,heading4
,heading5
, andheading6
icons to thecore
package and added them to theicons
object exported from it. See #15511. - horizontal-line: Moved the
horizontalLine
icon to thecore
package and added it to theicons
object exported from it. See #15511. - html-embed: Moved the
html
icon to thecore
package and added it to theicons
object exported from it. See #15511. - indent: Moved the
indent
andoutdent
icons to thecore
package and added them to theicons
object exported from it. See #15511. - link: Added validation to the URL field to disallow empty URLs by default. See #12501.
- list: All old list plugins are now prefixed with
Legacy
(including directory names):List
->LegacyList
,ListProperties
->LegacyListProperties
,TodoList
->LegacyTodoList
,ListEditing
-> `Le...
v40.2.0
We are happy to announce the release of CKEditor 5 v40.2.0.
Release highlights
AI Assistant: AWS and custom integrations
Enabling multiple AI model service was one of our priorities for the AI Assistant, as we wanted everyone to be able to use a platform that they find the most convenient.
We are happy to inform that as of this release, you can use the AI Assistant together with the AWS Bedrock service.
What is more, you can now extend existing adapters to enable more advanced customizations, such as decorating the AI Assistant requests.
Finally, you can even provide your own custom adapter to connect to your own model, or any model that does not have an official adapter yet.
Visit our new integration guide to learn more about integrating and customizing the AI Assistant feature.
Note that these improvements come with minor breaking changes in the editor configuration, so make sure to visit the breaking changes section and the update guide.
Image editing
CKBox’s image editing capabilities, introduced in CKBox v1.6.0, are now accessible straight from the CKEditor image toolbar. CKBox users can resize, crop or rotate images right within CKEditor.
Additionally, you can also edit images which are not yet added to CKBox (for example hotlinked images). CKBox will automatically download the images in the background, to allow users to edit them without having to leave CKEditor to manually add the image into CKBox. This dual functionality, combined with server-side processing, ensures ease of use and maintains high image quality and file integrity, providing a more efficient and reliable image editing experience within CKEditor.
Please refer to the update guide to learn more about these changes.
(Experimental) Paste Markdown
This release introduces the new Paste Markdown feature. It will automatically format any raw Markdown source or output copied and pasted directly into the editor – without having to switch to source editing. This feature is in its experimental phase, and its behavior may change in the future. Experience this functionality firsthand by pasting Markdown content into the demo editor. We welcome your feedback and observations for ongoing improvements, so please share them in the GitHub issue.
(Coming soon!) New installation methods
We are excited to announce upcoming improvements to CKEditor 5's installation process, set to release next year. Our goal is to address and resolve the accumulated pain points that you experienced over the years. For a detailed overview of our plans and the background behind them, dive into our comprehensive proposal in the RFC. Your feedback is crucial in refining and perfecting these improvements, and we eagerly await your input!
Other notable improvements
- Improved insert image button: our
insertImage
component now supports file managers, and automatically detects if you are using CKBox. We also changed the default icon for upload image from computer to better indicate it’s an upload action, not a generic image button. - Paste link over text: the editor automatically converts selected text to a link when you paste a URL onto it.
MINOR BREAKING CHANGES ℹ️
- ai: The configuration for AI Assistant has changed and will require an update. Additionally, a proper adapter (
OpenAIAdapter
,AWSAdapter
, or a custom adapter) must be now explicitly added to the plugin list. See the update guide for details. - image: The
ImageInsertUI
plugin internals were cleaned up, as it worked a bit magically with hard-coded dependencies. For example, it automatically enabled the behavior of inserting image via URL. As of now, it will not enable any external behaviors. See the update guide for details. - list: The
CollapsibleView
has been moved from the@ckeditor/ckeditor5-list
package to@ckeditor/ckeditor5-ui
. You can import it like this:import { CollapsibleView } from '@ckeditor/ckeditor5-ui';
Features
-
ai: Introduced AWS Bedrock support for AI Assistant. See AI Assistant integration guide to learn more.
-
ckbox: Enabled editing of non-CKBox images in the editor. (commit)
-
ckbox: Integrated the CKBox Image Editing feature into the editor. (commit)
-
image: Introduced the image insert dropdown as a consistent UI to insert images through different available integrations such as image upload, insert an image with the asset manager, and insert an image via URL. Closes #15303, #15149. (commit)
-
link: Links can now be applied by pasting a URL on a selected text. Closes #5656. (commit)
-
markdown-gfm: Added an experimental support for pasting markdown-formatted content. Closes #2321. (commit)
-
media-embed: Added support for short Dailymotion URLs (
dai.ly
) in media-embed. (commit)Thanks to @Kocal!
Bug fixes
- ai: The fake selection marker was not always properly removed when AI Assistant UI was closed.
- ai: A user prompt containing special characters was incorrectly displayed in the prompt field (special characters were incorrectly escaped).
- ai: The AI Assistant error message should be cleared upon closing the balloon.
- engine: Fixed crash happening in a very peculiar scenario involving reconversion of an element containing a marker. Closes #15411. (commit)
- html-support:
DocumentSelection
should not store the GHSlinkA
attribute if thelinkHref
attribute was removed by the two-step caret movement feature. Closes #15051. (commit) - html-support: The editor should not crash when there is a
<template>
element in the content. Closes #14933. (commit) - paste-from-office: Content from Word documents should be pasted correctly (without HTML styles tag content) on Windows systems. Closes #15333, #9002. (commit)
- track-changes: Prevented joining two block format suggestions made on widgets placed next to each other, which was an undesirable behavior. Fixed related editor crash involving two tables with resized columns.
- track-changes: Fixed incorrect handling of attribute suggestions made on a paragraph-like element when the element had insertion suggestion inside.
Other changes
v40.1.0
We are happy to announce the release of CKEditor 5 v40.1.0.
Release highlights
Styling suggestions reflected in the content
This release introduces an important user experience improvement for the track changes feature. From now on, styling changes made in the track changes mode will be also reflected in the editor content, instead of just being marked with a blue suggestion highlight.
Below is a summary of the important changes related to this improvement:
- A new suggestion type
'attribute'
was introduced. All integrated features will now create'attribute'
suggestions. - Formatting suggestions in existing documents are still supported, and will work as they used to.
- With the new suggestions, multiple changes are put into a single suggestion if possible, to avoid bloating sidebar with too many annotations.
- For asynchronous collaboration integrations, make sure that you save and provide the
SuggestionData#attributes
property, as it is used by the new suggestions.
We will continue further work on this improvement, including integrating the new solution with the list feature.
Azure OpenAI service support
We have introduced necessary changes to make sure that the AI Assistant can be used with the Azure OpenAI service. Please refer to the AI Assistant documentation for details.
Other notable improvements
- Fixed triple click before widgets: the beloved triple click to select content works correctly before tables, images, and other widgets.
- Several CKBox integration improvements include a significantly enhanced image insertion mechanism from CKBox, offering a less jumpy experience. The release also addresses key issues, such as including the proper replacement of images when URLs are edited, better focus management post-image insertion, and a fixed
tokenUrl
configuration for more seamless integration. - Paste from Office enhanced: our advanced format preserver for Office kept too many unnecessary attributes, styles, etc., in combination with General HTML support plugin. Now we fully clean up the markup before pasting.
- Accessibility Enhancements for markers: users aided by assistive technologies will now be notified when the selection enters or leaves a comment or a suggestion in the editor content.
- AI Assistant: the predefined commands can now be used when no content is selected (previously it was disabled). When used like this, the whole focused block (paragraph, list item, etc.) is passed as the context for the command.
- AI Assistant: the response streaming is now configurable and can be turned off.
MINOR BREAKING CHANGES ℹ️
- ai: The
config.aiAssistant.uiCssClass
configuration has been replaced byconfig.aiAssistant.useTheme
and changed its function. A new complementary.ck-ai-assistant-ui_theme
CSS class has also been introduced to the AI Assistant's UI elements. Please refer to the API documentation and the UI customization guide to learn more. - editor-multi-root: If you have a custom plugin that uses roots attributes, it is highly recommended to use the newly added
MultiRootEditor#registerRootAttribute()
method to register a custom root attribute. - image: By default, images are inserted as block images (not inline). To switch to the previous behavior (determining image type by insertion context), set the editor configuration
image.insert.type
to'auto'
. - import-word: Introduced the new
config.importWord.formatting
configuration property which is an object accepting the following properties:resets
,defaults
,styles
, andcomments
. The old properties:config.importWord.defaultStyles
andconfig.importWord.commentsStyles
were removed. Useformatting.defaults
andformatting.comments
instead.
Features
- ai: Enabled AI Assistant integration with the Azure OpenAI service.
- ai: Allowed executing pre-defined AI commands on a collapsed selection.
- ai: Allowed for ordering groups and commands in the AI Assistant's dropdown configuration through the
order
property. See theAIAssistantConfig
API documentation for details. - ai: Introduced
config.aiAssistant.requestParameters.stream
to configure whether the AI Assistant should use streaming or not. - ckbox: Images inserted by CKBox should set the provided dimensions and use the blurhash to indicate image loading. Closes #15090. (commit)
- editor-multi-root: Added
MultiRootEditor#registerRootAttribute()
. All roots attributes used by features should now be registered. Roots attributes passed in editor configuration are now automatically registered. Closes #15246. (commit) - image: Images inserted by CKBox should set the provided dimensions and use the blurhash to indicate image loading. Closes #15090. (commit)
- import-word: Introduced a new
config.importWord.formatting
configuration property in place ofconfig.importWord.defaultStyles
andconfig.importWord.commentsStyles
. - track-changes: Styling changes made while in track changes mode will now be immediately reflected in the editor content in addition to creating a suggestion. This applies only to newly created suggestions.
- track-changes: Introduced new suggestion type
'attribute'
which indicates that an attribute on a model node has changed and allows to show the change immediately in the content. - ui: Introduced the
AriaLiveAnnouncer
class that allows for using aria-live regions to inform screen readers about changes in editor state.AriaLiveAnnouncer
instance is available underEditorUI#ariaLiveAnnouncer
. (commit)
Bug fixes
- ai: The pre-defined command label should be displayed in the AI Assistant's prompt field.
- ai: The AI content area should stop auto-scrolling once the user interacts with it.
- ai: The AI Assistant balloon should be closed when user presses the
Esc
key. - ai: The AI pre-defined commands dropdown should reset its scroll when reopened.
- ai: The AI Assistant should not log unnecessary warnings when detached from the DOM.
- ai: The AI Assistant's balloon anchor point should stay at a correct position when the balloon grows.
- ai: The AI Assistant's copy to clipboard button did not work correctly on Firefox when general HTML support plugin was loaded.
- clipboard: Pasting a link address should not convert its parts that look like HTML entities. Closes #15036. (commit)
- clipboard: Improved drop marker visibility to only display in permissible drop locations. Closes #14709. (commit)
- comments: Prevented a crash happening when importing Word file when comments plugin is loaded.
- core: Fixed typings in
ToolbarConfig
by adding an optionalicon
parameter. Closes #15151. (commit) - html-support: Additional attributes for the link element (e.g., CSS class) should not be applied after pressing Enter. Closes #14683. ([commit](9c02cc...
v40.0.0
We are happy to announce the release of CKEditor 5 v40.0.0.
Release highlights
AI Assistant
We are tremendously excited to share our AI Assistant plugin with you!
With the AI Assistant, you can boost your editing effectiveness and creativity in a completely new way. This feature gives writers and editors the power to seamlessly interact with artificial intelligence. Users can generate, expand, rewrite, improve, translate, and process the content in many different ways.
The AI Assistant can be used in two ways. You can quickly re-work selected content by choosing one of the predefined AI commands. Or, you can write your own query to generate or process the content in any way you like!
Make sure to visit the documentation and try the demo!
Introduction of the image height and width support
No more layout shifts! We have introduced setting of the image width
and height
attributes automatically during the upload/paste process to ensure the highest-quality content with no text jumping all around. While existing images won't be automatically retroactively altered, any changes to images in the editor (like resizing) will automatically set these attributes.
We've also ensured backward compatibility with CKEditor 4, particularly while maintaining user-changed aspect ratios. More details on the changes can be found in the update guide.
Drag and drop of blocks
Just drag it!™ We have introduced a more intuitive drag-and-drop functionality for blocks and widgets. This makes content rearrangement and editing faster and easier, offering users better control over their content. Dragging by the balloon block toolbar handle is also possible, and we've updated its default icon to reflect this new drag-and-drop capability better (but it's still changeable).
Document lists feature parity
Document lists — our second-generation list plugin that supports multiple content blocks in list items — have finally landed the support for to-do lists! We also added the configuration that enforces the document list to have only a single block inside the list item (we call it “simple lists”). All this is to start deprecating the Lists v1 implementation and use the document lists as default. Coming soon!
Contextual balloon fixes
Last but not least, we prepared significant fixes to the way the contextual balloons work. They had the tendency to overflow on other elements, especially in the fixed height editors. We polished their internals, and problems should exist no more!
Please refer to the update guide to learn more about these changes.
MAJOR BREAKING CHANGES ℹ️
- image: The model attribute name of the resized image has been changed to
resizedWidth
. Thewidth
andheight
attributes are now used to preserve the image's natural width and height. - image: The
srcset
model attribute has been simplified. It is no longer an object{ data: "...", width: "..." }
, but a value previously stored in thedata
part.
MINOR BREAKING CHANGES ℹ️
- comments: The comment thread's "resolved" state has been separated from the "unlinked" state (a state, when the related editor content was removed from the document). A thread can have any combination of these states. If a comment thread is either "resolved" or "unlinked", it is moved to the comments archive. This new approach is reflected in the comments archive UI. Notably, an "unlinked" comment thread can become resolved and reopened while still being in the comments archive. Additionally, the "unlinked" comment threads have a gray header color to differentiate them from the "resolved" comment threads.
- comments: The
Comment#archivedAt
is now the property to check when deciding whether the comment thread is inside the comments archive or not (that property was#resolvedAt
before). - comments:
CommentsArchive#resolvedThreads
has been renamed to#archivedThreads
. If your custom code used that property, make sure to apply this change. - comments: The
deletedAt
property is no longer passed inAddCommentThreadEvent
as it is not needed anymore. Instead, deleted comment threads should never be handled inaddCommentThread
as they should never be added to the repository. If your custom code used that property, make sure to apply this change. - comments: In a real-time collaboration environment, removed comment threads will no longer be added to
CommentsRepository
after re-initializing the editor. Before, the comment thread was removed fromCommentsRepository
but was added back when the editor re-connected to Cloud Services. If your custom code expected the old (incorrect) behavior, it might need a change. This change was reflected in the comments outside editor documentation page.
Features
- ai: Introduced the AI assistant feature.
- clipboard: Enabled the block drag and drop by default. Closes #14734. (commit)
- clipboard: Extended the drag and drop selection to parent elements when all their children are selected. Closes #14640. (commit)
- image: The image
width
andheight
attributes are now preserved while loading editor content. Closes #14146. (commit) - image: Images without a specified size will automatically gain natural image width and height dimensions on any interaction with the image. See #14146. (commit)
- list: Allow restricting list item content to a single text block by disabling the
list.multiBlock
configuration option. Closes #14634. (commit) - list: Introducing the to-do lists compatible with the document list feature. Closes #14663. (commit)
- ui: Implemented new UI components:
ListItemGroupView
,TextareaView
,SpinnerView
,SearchView
andAutocompleteView
. (commit) - ui: Introduced the
HighlightedTextView
component for better search results presentation. (commit)
Bug fixes
- clipboard: Improved displaying preview of the drag and drop content. Closes #14968. (commit)
- comments: Comment threads that were permanently deleted will be removed from
CommentsRepository
and, in case of real-time collaboration, they will not be added back after re-connecting to the document. - engine: The editor wil no longer throw an error when clicking on a balloon with input on Firefox. Closes #9635. (commit)
- image: Image should not be replaced when dropped below a widget. Closes #14710, #14740. (commit)
- **[list](https://www.npmjs.com/package/@ckeditor...
v39.0.2
We are happy to announce the release of CKEditor 5 v39.0.2.
Release highlights
This is a patch release that resolves over 10 important issues. Check out the list below for more information.
Bug fixes
- ckbox: The CKBox dialog should be focused after being opened. Closes #14312. (commit)
- document-outline: The document outline feature no longer throws an error while scrolling when the editor is not fully initialized.
- export-word: Added the missing
type
keyword to the interface re-export (ExportWordConfig
). - find-and-replace: Undo should restore every text occurrence replaced by the replace all feature in the document at once. Closes #13892. (commit)
- indent: Block elements should not be indented in document lists. Closes #14155. (commit)
- indent: Nested lists pasted from Word should now be displayed properly in document lists. Closes #12466. (commit)
- paste-from-office: Tables pasted from MS Excel should now have proper column widths. Closes #14521, #14516. (commit)
- table: The editor no longer crashes when handling tables with over 2500 rows. Closes #14785. (commit)
- table: Fixed a scrolling issue when headings are inside a table. (commit)
- table: Tables pasted from MS Excel will now have proper column widths. Closes #14521, #14516. (commit)
- track-changes: Two existing suggestions will not be joined if they have different attributes. In real-time collaboration, suggestions are not joined until the attributes data is loaded.
- track-changes: A new suggestion will not be joined with an existing suggestion if any of its attributes value is different than the existing suggestion's attribute.
- track-changes: The editor no longer crashes when a suggestion was clicked after it was brought back using undo.
- CKEditor 5 does not rely on the
global
object only available in Node.js. Fixes ckeditor/vite-plugin-ckeditor5#17 and #14801. (commit)
Other changes
- table: Improved performance when handling large tables. See #14785. (commit)
- Updated translations. (commit)
Released packages
Check out the Versioning policy guide for more information.
Released packages (summary)
Other releases:
- @ckeditor/ckeditor5-adapter-ckfinder: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-alignment: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-autoformat: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-autosave: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-basic-styles: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-block-quote: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-build-balloon: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-build-balloon-block: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-build-classic: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-build-decoupled-document: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-build-inline: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-build-multi-root: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-ckbox: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-ckfinder: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-clipboard: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-cloud-services: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-code-block: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-collaboration-core: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-comments: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-core: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-document-outline: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-easy-image: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-editor-balloon: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-editor-classic: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-editor-decoupled: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-editor-inline: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-editor-multi-root: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-engine: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-enter: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-essentials: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-export-pdf: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-export-word: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-find-and-replace: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-font: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-format-painter: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-heading: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-highlight: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-horizontal-line: v39.0.1 => v39.0.2
- @ckeditor/ckeditor5-html-embed: v39.0.1 => v39.0.2
- [@CKEDIT...
v39.0.1
Release highlights
The latest patch release of CKEditor 5 addresses a regression found after the last update, along with several smaller bug fixes. These changes aim to enhance stability and ensure a smoother user experience.
Bug fixes
- engine: v39.0.0 introduced a breaking change in the
enablePlaceholder()
API. In this version (v39.0.1) we decided to make a step back and bring backward compatibility with the previous versions (below v39.0.0). The previous API is still deprecated, though, and the support for it will be removed in the future. Closes #14743. (commit) - html-support: A link attached to an image should not be lost when loading content with the
LinkImage
plugin and full General HTML Support enabled. Closes #12831. (commit) - paragraph: Fixed inserting a paragraph after/before a widget inside a table cell. Closes #14714. (commit)
Released packages
Check out the Versioning policy guide for more information.
Released packages (summary)
Other releases:
- @ckeditor/ckeditor5-adapter-ckfinder: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-alignment: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-autoformat: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-autosave: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-basic-styles: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-block-quote: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-build-balloon: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-build-balloon-block: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-build-classic: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-build-decoupled-document: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-build-inline: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-build-multi-root: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-ckbox: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-ckfinder: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-clipboard: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-cloud-services: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-code-block: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-collaboration-core: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-comments: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-core: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-document-outline: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-easy-image: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-editor-balloon: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-editor-classic: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-editor-decoupled: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-editor-inline: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-editor-multi-root: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-engine: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-enter: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-essentials: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-export-pdf: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-export-word: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-find-and-replace: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-font: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-format-painter: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-heading: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-highlight: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-horizontal-line: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-html-embed: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-html-support: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-image: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-import-word: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-indent: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-language: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-link: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-list: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-markdown-gfm: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-media-embed: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-mention: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-minimap: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-operations-compressor: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-page-break: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-pagination: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-paragraph: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-paste-from-office: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-paste-from-office-enhanced: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-real-time-collaboration: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-remove-format: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-restricted-editing: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-revision-history: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-select-all: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-show-blocks: v39.0.0 => v39.0.1
- @ckeditor/ckeditor5-slash-command: v39.0.0 => v39.0.1
- [@ckeditor/ckeditor5-source-editing](https://www.npmjs.com/package/@ckeditor/ckedito...