ckeditor5 37.0.1 → 37.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,8 +1,178 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ ## [37.1.0](https://github.com/ckeditor/ckeditor5/compare/v37.0.1...v37.1.0) (2023-04-19)
5
+
6
+ ### Release highlights
7
+
8
+ #### Productivity Pack
9
+
10
+ We are excited to announce the release of a Productivity Pack for CKEditor 5. It includes five new premium features designed to boost productivity when working with the editor.
11
+
12
+ * **[Content templates](https://ckeditor.com/docs/ckeditor5/latest/features/template.html)**: The template feature allows you to insert predefined content structures into the document. Templates can provide both smaller portions of content (e.g. a formatted table) and base structures for entire documents (e.g. a formal letter template).
13
+ * **[Table of contents](https://ckeditor.com/docs/ckeditor5/latest/features/table-of-contents.html)**: The table of contents feature lets you insert a widget with the list of headings (section titles) that reflects the structure of the document. The list stays up–to–date automatically as the user works on the document. Clicking a list item navigates the user to the corresponding document section.
14
+ * **[Document outline](https://ckeditor.com/docs/ckeditor5/latest/features/document-outline.html)**: The document outline feature displays the list of sections (headings) of the document next to the editor. The outline updates automatically as the user works on the document. It offers quick navigation to a specific section upon clicking.
15
+ * **[Format painter](https://ckeditor.com/docs/ckeditor5/latest/features/format-painter.html)**: The format painter feature lets you copy text formatting (such as bold, italic, font size, color, etc.) and apply it in a different place in the edited document. It helps keep the formatting consistent and speeds up the creation of rich content.
16
+ * **[Slash commands](https://ckeditor.com/docs/ckeditor5/latest/features/slash-commands.html)**: The slash commands feature lets you execute a predefined command by writing its name or alias directly in the editor. When you type a slash (<kbd>/</kbd>), the suggested commands are displayed in a panel next to it. You can also type a phrase after the <kbd>/</kbd> to filter the results in the panel and to easily find the desired command.
17
+
18
+ #### Other changes
19
+
20
+ We continue to work on the [multi-root editor](https://ckeditor.com/docs/ckeditor5/latest/examples/builds/multi-root-editor.html). This release introduces compatibility with reversion history and pagination. We also made some minor improvements and bug fixes.
21
+
22
+ ### MINOR BREAKING CHANGES [ℹ️](https://ckeditor.com/docs/ckeditor5/latest/framework/guides/support/versioning-policy.html#major-and-minor-breaking-changes)
23
+
24
+ * **[language](https://www.npmjs.com/package/@ckeditor/ckeditor5-language)**: A text with language set is no longer styled as italic. To re-enable the previous behavior, add the following style definition to your CSS:
25
+
26
+ ```css
27
+ .ck-content span[lang] { font-style: italic; }
28
+ ```
29
+
30
+ ### Features
31
+
32
+ * **[template](https://www.npmjs.com/package/@ckeditor/ckeditor5-template)** Introduced the content templates feature. It allows inserting predefined templates into the editor content.
33
+ * **[document-outline](https://www.npmjs.com/package/@ckeditor/ckeditor5-document-outline)** Introduced the document outline and table of contents features. The document outline feature allows the user to display a navigable list of sections (headings) of the document next to the editor. The table of contents feature lets them insert a widget with a list of headings (section titles) that reflects the structure of the document.
34
+ * **[format-painter](https://www.npmjs.com/package/@ckeditor/ckeditor5-format-painter)** Introduced the format painter feature. It allows the user to copy text formatting (such as bold, italic, font size, color, etc.) and apply it in a different place in the edited document.
35
+ * **[slash-command](https://www.npmjs.com/package/@ckeditor/ckeditor5-slash-command)** Introduced the slash commands feature. It allows the user to execute a predefined command by writing its name or alias directly in the editor.
36
+ * **[revision-history](https://www.npmjs.com/package/@ckeditor/ckeditor5-revision-history)**: Introduced the revision history feature support for multi-root editor.
37
+ * **[pagination](https://www.npmjs.com/package/@ckeditor/ckeditor5-pagination)**: Introduced the basic pagination feature support for multi-root editor.
38
+ * **[source-editing](https://www.npmjs.com/package/@ckeditor/ckeditor5-source-editing)**: Made the `SourceEditing.updateEditorData()` method public to allow saving source editing data independently of the UI. Closes [#11008](https://github.com/ckeditor/ckeditor5/issues/11008). ([commit](https://github.com/ckeditor/ckeditor5/commit/acc02f4b3bfd6b707432fa51bdb1e5f4bb505923))
39
+
40
+ ### Bug fixes
41
+
42
+ * **[comments](https://www.npmjs.com/package/@ckeditor/ckeditor5-comments)**: Fixed the incorrect default permissions applied in non-real-time collaboration integrations.
43
+ * **[engine](https://www.npmjs.com/package/@ckeditor/ckeditor5-engine)**: `Selection#getSelectedBlocks()` should ignore trailing blocks where no content is selected. The selection of such blocks is not visible to the content author and is usually there unintentionally. Closes [#11585](https://github.com/ckeditor/ckeditor5/issues/11585). ([commit](https://github.com/ckeditor/ckeditor5/commit/9d9604b969d4cc5d7fb27a6fddad408fda56f972))
44
+ * **[enter](https://www.npmjs.com/package/@ckeditor/ckeditor5-enter)**: Pressing <kbd>Shift</kbd>+<kbd>Enter</kbd> in Safari should insert `<br>` instead of splitting a block. Closes [#13321](https://github.com/ckeditor/ckeditor5/issues/13321). ([commit](https://github.com/ckeditor/ckeditor5/commit/90445f8269cfbcf481cabdf4b210b9815eca200d))
45
+ * **[list](https://www.npmjs.com/package/@ckeditor/ckeditor5-list)**: `ListPropertiesEditing` should not crash if there was a list in an image caption element. Closes [#13858](https://github.com/ckeditor/ckeditor5/issues/13858). ([commit](https://github.com/ckeditor/ckeditor5/commit/8162741aa247568efc897e83787e224b3221b1a5))
46
+ * **[real-time-collaboration](https://www.npmjs.com/package/@ckeditor/ckeditor5-real-time-collaboration)**: Fixed an issue when the editor selection would sometimes not be moved past other users' selection when pressing arrow keys.
47
+ * **[typing](https://www.npmjs.com/package/@ckeditor/ckeditor5-typing)**: Text suggestions should replace the whole words. Closes [#13583](https://github.com/ckeditor/ckeditor5/issues/13583). ([commit](https://github.com/ckeditor/ckeditor5/commit/c6a8e85b3876f9d716e01999d994dbbf9b20727b))
48
+
49
+ ### Other changes
50
+
51
+ * **[editor-multi-root](https://www.npmjs.com/package/@ckeditor/ckeditor5-editor-multi-root)**: The multi-root editor will now throw an error if `EditorConfig#initialData` is mismatched with initial roots set in `MultiRootEditor#create()`. ([commit](https://github.com/ckeditor/ckeditor5/commit/9fd594492dcf0b0110fb5d041bd89c59312e80c1))
52
+ * **[engine](https://www.npmjs.com/package/@ckeditor/ckeditor5-engine)**: The `targetRanges` property of the `beforeInput` event data should be fixed to not cross the limit elements' boundaries. See [#13583](https://github.com/ckeditor/ckeditor5/issues/13583). ([commit](https://github.com/ckeditor/ckeditor5/commit/c6a8e85b3876f9d716e01999d994dbbf9b20727b))
53
+ * **[language](https://www.npmjs.com/package/@ckeditor/ckeditor5-language)**: `TextPartLanguage` no longer styles text as italic when the language is set. Closes [#12672](https://github.com/ckeditor/ckeditor5/issues/12672). ([commit](https://github.com/ckeditor/ckeditor5/commit/5be454a8948a10e2f4662b946daa5e2839bd0f8e))
54
+ * Switched from `ts-loader` to `esbuild-loader` when processing the TypeScript sources. It significantly reduces the build time when processing automated and manual tests or preparing snippets in the documentation. Closes [#13643](https://github.com/ckeditor/ckeditor5/issues/13643). ([commit](https://github.com/ckeditor/ckeditor5/commit/48e90dc3b8aec8adc333825d0c6e27295fc913cc))
55
+ * `MultiRootEditor` will first fire all `detachRoot` events and then all `addRoot` events if there are detached and added roots in the same batch. ([commit](https://github.com/ckeditor/ckeditor5/commit/629f8ab55d75516eb8151cfc250952667d4427e6))
56
+ * Updated translations.
57
+
58
+ ### Released packages
59
+
60
+ Check out the [Versioning policy](https://ckeditor.com/docs/ckeditor5/latest/framework/guides/support/versioning-policy.html) guide for more information.
61
+
62
+ <details>
63
+ <summary>Released packages (summary)</summary>
64
+
65
+ New packages:
66
+
67
+ * [@ckeditor/ckeditor5-document-outline](https://www.npmjs.com/package/@ckeditor/ckeditor5-document-outline): v37.1.0
68
+ * [@ckeditor/ckeditor5-format-painter](https://www.npmjs.com/package/@ckeditor/ckeditor5-format-painter): v37.1.0
69
+ * [@ckeditor/ckeditor5-slash-command](https://www.npmjs.com/package/@ckeditor/ckeditor5-slash-command): v37.1.0
70
+ * [@ckeditor/ckeditor5-template](https://www.npmjs.com/package/@ckeditor/ckeditor5-template): v37.1.0
71
+
72
+ Minor releases (contain minor breaking changes):
73
+
74
+ * [@ckeditor/ckeditor5-language](https://www.npmjs.com/package/@ckeditor/ckeditor5-language): v37.0.1 => v37.1.0
75
+
76
+ Releases containing new features:
77
+
78
+ * [@ckeditor/ckeditor5-source-editing](https://www.npmjs.com/package/@ckeditor/ckeditor5-source-editing): v37.0.1 => v37.1.0
79
+
80
+ Other releases:
81
+
82
+ * [@ckeditor/ckeditor5-adapter-ckfinder](https://www.npmjs.com/package/@ckeditor/ckeditor5-adapter-ckfinder): v37.0.1 => v37.1.0
83
+ * [@ckeditor/ckeditor5-alignment](https://www.npmjs.com/package/@ckeditor/ckeditor5-alignment): v37.0.1 => v37.1.0
84
+ * [@ckeditor/ckeditor5-autoformat](https://www.npmjs.com/package/@ckeditor/ckeditor5-autoformat): v37.0.1 => v37.1.0
85
+ * [@ckeditor/ckeditor5-autosave](https://www.npmjs.com/package/@ckeditor/ckeditor5-autosave): v37.0.1 => v37.1.0
86
+ * [@ckeditor/ckeditor5-basic-styles](https://www.npmjs.com/package/@ckeditor/ckeditor5-basic-styles): v37.0.1 => v37.1.0
87
+ * [@ckeditor/ckeditor5-block-quote](https://www.npmjs.com/package/@ckeditor/ckeditor5-block-quote): v37.0.1 => v37.1.0
88
+ * [@ckeditor/ckeditor5-build-balloon](https://www.npmjs.com/package/@ckeditor/ckeditor5-build-balloon): v37.0.1 => v37.1.0
89
+ * [@ckeditor/ckeditor5-build-balloon-block](https://www.npmjs.com/package/@ckeditor/ckeditor5-build-balloon-block): v37.0.1 => v37.1.0
90
+ * [@ckeditor/ckeditor5-build-classic](https://www.npmjs.com/package/@ckeditor/ckeditor5-build-classic): v37.0.1 => v37.1.0
91
+ * [@ckeditor/ckeditor5-build-decoupled-document](https://www.npmjs.com/package/@ckeditor/ckeditor5-build-decoupled-document): v37.0.1 => v37.1.0
92
+ * [@ckeditor/ckeditor5-build-inline](https://www.npmjs.com/package/@ckeditor/ckeditor5-build-inline): v37.0.1 => v37.1.0
93
+ * [@ckeditor/ckeditor5-build-multi-root](https://www.npmjs.com/package/@ckeditor/ckeditor5-build-multi-root): v37.0.1 => v37.1.0
94
+ * [@ckeditor/ckeditor5-ckbox](https://www.npmjs.com/package/@ckeditor/ckeditor5-ckbox): v37.0.1 => v37.1.0
95
+ * [@ckeditor/ckeditor5-ckfinder](https://www.npmjs.com/package/@ckeditor/ckeditor5-ckfinder): v37.0.1 => v37.1.0
96
+ * [@ckeditor/ckeditor5-clipboard](https://www.npmjs.com/package/@ckeditor/ckeditor5-clipboard): v37.0.1 => v37.1.0
97
+ * [@ckeditor/ckeditor5-cloud-services](https://www.npmjs.com/package/@ckeditor/ckeditor5-cloud-services): v37.0.1 => v37.1.0
98
+ * [@ckeditor/ckeditor5-code-block](https://www.npmjs.com/package/@ckeditor/ckeditor5-code-block): v37.0.1 => v37.1.0
99
+ * [@ckeditor/ckeditor5-collaboration-core](https://www.npmjs.com/package/@ckeditor/ckeditor5-collaboration-core): v37.0.1 => v37.1.0
100
+ * [@ckeditor/ckeditor5-comments](https://www.npmjs.com/package/@ckeditor/ckeditor5-comments): v37.0.1 => v37.1.0
101
+ * [@ckeditor/ckeditor5-core](https://www.npmjs.com/package/@ckeditor/ckeditor5-core): v37.0.1 => v37.1.0
102
+ * [@ckeditor/ckeditor5-easy-image](https://www.npmjs.com/package/@ckeditor/ckeditor5-easy-image): v37.0.1 => v37.1.0
103
+ * [@ckeditor/ckeditor5-editor-balloon](https://www.npmjs.com/package/@ckeditor/ckeditor5-editor-balloon): v37.0.1 => v37.1.0
104
+ * [@ckeditor/ckeditor5-editor-classic](https://www.npmjs.com/package/@ckeditor/ckeditor5-editor-classic): v37.0.1 => v37.1.0
105
+ * [@ckeditor/ckeditor5-editor-decoupled](https://www.npmjs.com/package/@ckeditor/ckeditor5-editor-decoupled): v37.0.1 => v37.1.0
106
+ * [@ckeditor/ckeditor5-editor-inline](https://www.npmjs.com/package/@ckeditor/ckeditor5-editor-inline): v37.0.1 => v37.1.0
107
+ * [@ckeditor/ckeditor5-editor-multi-root](https://www.npmjs.com/package/@ckeditor/ckeditor5-editor-multi-root): v37.0.1 => v37.1.0
108
+ * [@ckeditor/ckeditor5-engine](https://www.npmjs.com/package/@ckeditor/ckeditor5-engine): v37.0.1 => v37.1.0
109
+ * [@ckeditor/ckeditor5-enter](https://www.npmjs.com/package/@ckeditor/ckeditor5-enter): v37.0.1 => v37.1.0
110
+ * [@ckeditor/ckeditor5-essentials](https://www.npmjs.com/package/@ckeditor/ckeditor5-essentials): v37.0.1 => v37.1.0
111
+ * [@ckeditor/ckeditor5-export-pdf](https://www.npmjs.com/package/@ckeditor/ckeditor5-export-pdf): v37.0.1 => v37.1.0
112
+ * [@ckeditor/ckeditor5-export-word](https://www.npmjs.com/package/@ckeditor/ckeditor5-export-word): v37.0.1 => v37.1.0
113
+ * [@ckeditor/ckeditor5-find-and-replace](https://www.npmjs.com/package/@ckeditor/ckeditor5-find-and-replace): v37.0.1 => v37.1.0
114
+ * [@ckeditor/ckeditor5-font](https://www.npmjs.com/package/@ckeditor/ckeditor5-font): v37.0.1 => v37.1.0
115
+ * [@ckeditor/ckeditor5-heading](https://www.npmjs.com/package/@ckeditor/ckeditor5-heading): v37.0.1 => v37.1.0
116
+ * [@ckeditor/ckeditor5-highlight](https://www.npmjs.com/package/@ckeditor/ckeditor5-highlight): v37.0.1 => v37.1.0
117
+ * [@ckeditor/ckeditor5-horizontal-line](https://www.npmjs.com/package/@ckeditor/ckeditor5-horizontal-line): v37.0.1 => v37.1.0
118
+ * [@ckeditor/ckeditor5-html-embed](https://www.npmjs.com/package/@ckeditor/ckeditor5-html-embed): v37.0.1 => v37.1.0
119
+ * [@ckeditor/ckeditor5-html-support](https://www.npmjs.com/package/@ckeditor/ckeditor5-html-support): v37.0.1 => v37.1.0
120
+ * [@ckeditor/ckeditor5-image](https://www.npmjs.com/package/@ckeditor/ckeditor5-image): v37.0.1 => v37.1.0
121
+ * [@ckeditor/ckeditor5-import-word](https://www.npmjs.com/package/@ckeditor/ckeditor5-import-word): v37.0.1 => v37.1.0
122
+ * [@ckeditor/ckeditor5-indent](https://www.npmjs.com/package/@ckeditor/ckeditor5-indent): v37.0.1 => v37.1.0
123
+ * [@ckeditor/ckeditor5-link](https://www.npmjs.com/package/@ckeditor/ckeditor5-link): v37.0.1 => v37.1.0
124
+ * [@ckeditor/ckeditor5-list](https://www.npmjs.com/package/@ckeditor/ckeditor5-list): v37.0.1 => v37.1.0
125
+ * [@ckeditor/ckeditor5-markdown-gfm](https://www.npmjs.com/package/@ckeditor/ckeditor5-markdown-gfm): v37.0.1 => v37.1.0
126
+ * [@ckeditor/ckeditor5-media-embed](https://www.npmjs.com/package/@ckeditor/ckeditor5-media-embed): v37.0.1 => v37.1.0
127
+ * [@ckeditor/ckeditor5-mention](https://www.npmjs.com/package/@ckeditor/ckeditor5-mention): v37.0.1 => v37.1.0
128
+ * [@ckeditor/ckeditor5-minimap](https://www.npmjs.com/package/@ckeditor/ckeditor5-minimap): v37.0.1 => v37.1.0
129
+ * [@ckeditor/ckeditor5-operations-compressor](https://www.npmjs.com/package/@ckeditor/ckeditor5-operations-compressor): v37.0.1 => v37.1.0
130
+ * [@ckeditor/ckeditor5-page-break](https://www.npmjs.com/package/@ckeditor/ckeditor5-page-break): v37.0.1 => v37.1.0
131
+ * [@ckeditor/ckeditor5-pagination](https://www.npmjs.com/package/@ckeditor/ckeditor5-pagination): v37.0.1 => v37.1.0
132
+ * [@ckeditor/ckeditor5-paragraph](https://www.npmjs.com/package/@ckeditor/ckeditor5-paragraph): v37.0.1 => v37.1.0
133
+ * [@ckeditor/ckeditor5-paste-from-office](https://www.npmjs.com/package/@ckeditor/ckeditor5-paste-from-office): v37.0.1 => v37.1.0
134
+ * [@ckeditor/ckeditor5-real-time-collaboration](https://www.npmjs.com/package/@ckeditor/ckeditor5-real-time-collaboration): v37.0.1 => v37.1.0
135
+ * [@ckeditor/ckeditor5-remove-format](https://www.npmjs.com/package/@ckeditor/ckeditor5-remove-format): v37.0.1 => v37.1.0
136
+ * [@ckeditor/ckeditor5-restricted-editing](https://www.npmjs.com/package/@ckeditor/ckeditor5-restricted-editing): v37.0.1 => v37.1.0
137
+ * [@ckeditor/ckeditor5-revision-history](https://www.npmjs.com/package/@ckeditor/ckeditor5-revision-history): v37.0.1 => v37.1.0
138
+ * [@ckeditor/ckeditor5-select-all](https://www.npmjs.com/package/@ckeditor/ckeditor5-select-all): v37.0.1 => v37.1.0
139
+ * [@ckeditor/ckeditor5-special-characters](https://www.npmjs.com/package/@ckeditor/ckeditor5-special-characters): v37.0.1 => v37.1.0
140
+ * [@ckeditor/ckeditor5-style](https://www.npmjs.com/package/@ckeditor/ckeditor5-style): v37.0.1 => v37.1.0
141
+ * [@ckeditor/ckeditor5-table](https://www.npmjs.com/package/@ckeditor/ckeditor5-table): v37.0.1 => v37.1.0
142
+ * [@ckeditor/ckeditor5-theme-lark](https://www.npmjs.com/package/@ckeditor/ckeditor5-theme-lark): v37.0.1 => v37.1.0
143
+ * [@ckeditor/ckeditor5-track-changes](https://www.npmjs.com/package/@ckeditor/ckeditor5-track-changes): v37.0.1 => v37.1.0
144
+ * [@ckeditor/ckeditor5-typing](https://www.npmjs.com/package/@ckeditor/ckeditor5-typing): v37.0.1 => v37.1.0
145
+ * [@ckeditor/ckeditor5-ui](https://www.npmjs.com/package/@ckeditor/ckeditor5-ui): v37.0.1 => v37.1.0
146
+ * [@ckeditor/ckeditor5-undo](https://www.npmjs.com/package/@ckeditor/ckeditor5-undo): v37.0.1 => v37.1.0
147
+ * [@ckeditor/ckeditor5-upload](https://www.npmjs.com/package/@ckeditor/ckeditor5-upload): v37.0.1 => v37.1.0
148
+ * [@ckeditor/ckeditor5-utils](https://www.npmjs.com/package/@ckeditor/ckeditor5-utils): v37.0.1 => v37.1.0
149
+ * [@ckeditor/ckeditor5-watchdog](https://www.npmjs.com/package/@ckeditor/ckeditor5-watchdog): v37.0.1 => v37.1.0
150
+ * [@ckeditor/ckeditor5-widget](https://www.npmjs.com/package/@ckeditor/ckeditor5-widget): v37.0.1 => v37.1.0
151
+ * [@ckeditor/ckeditor5-word-count](https://www.npmjs.com/package/@ckeditor/ckeditor5-word-count): v37.0.1 => v37.1.0
152
+ * [@ckeditor/letters](https://www.npmjs.com/package/@ckeditor/letters): v37.0.1 => v37.1.0
153
+ * [ckeditor5-collaboration](https://www.npmjs.com/package/ckeditor5-collaboration): v37.0.1 => v37.1.0
154
+ </details>
155
+
156
+
4
157
  ## [37.0.1](https://github.com/ckeditor/ckeditor5/compare/v37.0.0...v37.0.1) (2023-04-05)
5
158
 
159
+ ### Known bugs
160
+
161
+ **⚠️ After the release we noticed a bug that may affect integrations which use the comments feature without real-time collaboration ⚠️**
162
+
163
+ **Update: This issue was fixed in version 37.1.0.**
164
+
165
+ Default permissions for the comments feature do not work correctly in integrations that do not use real-time collaboration. Users are unable to edit or remove their comments.
166
+
167
+ To solve this problem, make sure to set the permissions after the editor is initialized, for example:
168
+
169
+ ```js
170
+ ClassicEditor.create( domElement, config ).then( editor => {
171
+ // Set the default permissions set.
172
+ editor.plugins.get( 'Permissions' ).setPermissions( [ 'document:write', 'comment:write', 'comment:admin' ] );
173
+ } );
174
+ ```
175
+
6
176
  ### Release highlights
7
177
 
8
178
  There was an invalid version of the `ckeditor5-collaboration` dependency in the following packages:
@@ -14,7 +184,7 @@ There was an invalid version of the `ckeditor5-collaboration` dependency in the
14
184
 
15
185
  Due to that and the [CKEditor 5 versioning policy](https://ckeditor.com/docs/ckeditor5/latest/framework/guides/support/versioning-policy.html), we release all packages once again.
16
186
 
17
- Check out the highlights of the [v37.0.0 original release](https://github.com/ckeditor/ckeditor5/releases/tag/v37.0.0).
187
+ Check out the highlights of the [original v37.0.0 release](https://github.com/ckeditor/ckeditor5/releases/tag/v37.0.0).
18
188
 
19
189
  ### Released packages
20
190
 
@@ -104,8 +274,27 @@ Other releases:
104
274
 
105
275
  ## [37.0.0](https://github.com/ckeditor/ckeditor5/compare/v36.0.1...v37.0.0) (2023-04-05)
106
276
 
277
+ ### Known bugs
278
+
279
+ **⚠️ After the release we noticed a bug that may affect integrations which use the comments feature without real-time collaboration ⚠️**
280
+
281
+ **Update: This issue was fixed in version 37.1.0.**
282
+
283
+ Default permissions for comments feature do not work correctly in integrations that do not use real-time collaboration. Users are unable to edit or remove their comments.
284
+
285
+ To solve this problem, make sure to set the permissions after the editor is initialized, for example:
286
+
287
+ ```js
288
+ ClassicEditor.create( domElement, config ).then( editor => {
289
+ // Set the default permissions set.
290
+ editor.plugins.get( 'Permissions' ).setPermissions( [ 'document:write', 'comment:write', 'comment:admin' ] );
291
+ } );
292
+ ```
293
+
107
294
  ### Release highlights
108
295
 
296
+ #### Migration to TypeScript
297
+
109
298
  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:
110
299
 
111
300
  * **Full TypeScript support**: CKEditor now supports TypeScript in all its packages, making it easier for developers to write type-safe code and provide better code completion and error checking in IDEs.
@@ -119,20 +308,22 @@ We believe this release will be a significant milestone for CKEditor 5 and will
119
308
 
120
309
  #### Comments archive
121
310
 
122
- 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.
311
+ We are excited to introduce the comments archive feature! The new feature 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 are now able to resolve comment threads (instead of permanently removing them). Resolved comments are moved to the comments archive panel, which can be accessed from the toolbar. You can view and restore archived comment threads if necessary. This new feature will help simplify the feedback management process for the editor users.
312
+
313
+ Make sure to add the `commentsArchive` button to your toolbar configuration and review the [migration guide](https://ckeditor.com/docs/ckeditor5/latest/updating/guides/update-to-37.html) to learn more about the feature from a technical point of view.
123
314
 
124
315
  #### Multi-root editor
125
316
 
126
- In this release, we added official support for [multi-root editor type](https://ckeditor.com/docs/ckeditor5/latest/examples/builds/multi-root-editor.html) and a new [multi-root editor build](https://ckeditor.com/docs/ckeditor5/latest/installation/getting-started/predefined-builds.html#multi-root-editor). Additionally, we bring some fundamental improvements that make the multi-root editor more flexible and useful!
317
+ In this release, we added official support for the [multi-root editor type](https://ckeditor.com/docs/ckeditor5/latest/examples/builds/multi-root-editor.html) and a new [multi-root editor build](https://ckeditor.com/docs/ckeditor5/latest/installation/getting-started/predefined-builds.html#multi-root-editor). Additionally, we bring some fundamental improvements that make the multi-root editor more flexible and useful!
127
318
 
128
- * Add and detach document roots. The multi-root editor will allow you to add or remove editing fields in your application in a dynamic fashion (i.e. after the editor was initialised), without the need to create additional editor instances.
129
- * The multi-root editor will allow you to use root attributes to store additional metadata related to roots (editable fields). You can change these attributes and obtain them when you save the document data. Finally, you can react to these changes to alter how your application looks or behaves. Root attributes are a tool that will help you customize the editing experience further according to your needs. To take advantage of root attributes, you will need to provide a custom feature. As of now, there are no official plugins that would require saving and using the attributes of the root.
319
+ * Add and detach document roots. The multi-root editor will allow you to add or remove editing fields in your application in a dynamic fashion (i.e. after the editor was initialized), without the need to create additional editor instances.
320
+ * The multi-root editor will allow you to use root attributes to store additional metadata related to roots (editable fields). You can change these attributes and retrieve them when you save the document data. Finally, you can react to these changes to alter how your application looks or behaves. Root attributes are a tool that will help you customize the editing experience further according to your needs. To take advantage of root attributes, you will need to provide a custom feature. You will need to handle these attributes only if you provide custom features that use them.
130
321
 
131
322
  **The multi-root editor is still a project in progress!**
132
323
 
133
- 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.
324
+ While the new predefined build is readily available, **several features are not supported in the multi-root editor yet** as of this release. These include: revision history, pagination, PDF/Word export, table resize, word count, HTML comments, full-page editing, title, mini-map. Multi-root editor cannot be uploaded as an editor bundle to the Cloud Services. Multi-root editor is not compatible with framework integrations as of now.
134
325
 
135
- Other than that we look forward to sharing with you guides that will better explain how you can use these new improvements!
326
+ We will work on bringing support for these features in the upcoming releases.
136
327
 
137
328
  #### Tables
138
329
 
@@ -141,19 +332,25 @@ We expanded the General HTM Support feature with support for the `<colgroup>`’
141
332
  ### MAJOR BREAKING CHANGES [ℹ️](https://ckeditor.com/docs/ckeditor5/latest/framework/guides/support/versioning-policy.html#major-and-minor-breaking-changes)
142
333
 
143
334
  * Upgraded the minimal versions of Node.js to `16.0.0` due to the end of LTS.
335
+ * The comments archive feature requires changes in the non-real time comments adapter integration. Please review the [migration guide](https://ckeditor.com/docs/ckeditor5/latest/updating/guides/update-to-37.html) and the updated API documentation for the comments adapter.
144
336
 
145
337
  ### MINOR BREAKING CHANGES [ℹ️](https://ckeditor.com/docs/ckeditor5/latest/framework/guides/support/versioning-policy.html#major-and-minor-breaking-changes)
146
338
 
147
- * **[table](https://www.npmjs.com/package/@ckeditor/ckeditor5-table)**: The table columns' widths are stored as model elements instead of a model element attribute. See [#11479](https://github.com/ckeditor/ckeditor5/issues/11479).
339
+ * **[table](https://www.npmjs.com/package/@ckeditor/ckeditor5-table)**: The table column widths are stored as model elements instead of a model element attribute. See [#11479](https://github.com/ckeditor/ckeditor5/issues/11479).
148
340
  * The [`@ckeditor/ckeditor5-watchdog`](https://www.npmjs.com/package/@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](https://github.com/ckeditor/ckeditor5/issues/13707).
341
+ * It is no longer possible to undo creating or removing a comment thread.
342
+ * UI in the comment annotation has changed. Remove and edit buttons were moved to a dropdown. A new button which resolves a comment thread was added.
343
+ * Comments outside the editor integration has to be updated due to the introduction of the comments archive. Please review the [migration guide](https://ckeditor.com/docs/ckeditor5/latest/updating/guides/update-to-37.html).
344
+ * Comment and comment thread views have substantially changed due to the introduction of the comments archive. These changes may be incompatible with your custom views or templates. Please review the [migration guide](https://ckeditor.com/docs/ckeditor5/latest/updating/guides/update-to-37.html).
345
+ * Regarding Export to PDF and Export to Word features, if you use a custom callback to get the document data, make sure to pass `ignoreResolvedComments: true` in the `editor.getData()` options. If not, the resolved comments may be visible in the converted document.
149
346
 
150
347
  ### Features
151
348
 
152
349
  * **[build-multi-root](https://www.npmjs.com/package/@ckeditor/ckeditor5-build-multi-root)**: Introduced a new editor build featuring the multi-root editor. ([commit](https://github.com/ckeditor/ckeditor5/commit/50b9c4fe3dd8e22668f36c06af6cdc7af73d81cf))
153
- * **[comments](https://www.npmjs.com/package/@ckeditor/ckeditor5-comments)**: Introduced comments archive. It is now possible to resolve a comment thread instead of removing it. Resolved comment threads can be reviewed in the comments archive and can be re-opened if the commented content is still available in the editor.
154
- * **[comments](https://www.npmjs.com/package/@ckeditor/ckeditor5-comments)**: Introduced `comment:modify_all` permission that will allow the user to edit or remove all comments.
350
+ * **[comments](https://www.npmjs.com/package/@ckeditor/ckeditor5-comments)**: Introduced the comments archive. It is now possible to resolve a comment thread instead of removing it. Resolved comment threads can be reviewed in the comments archive and can be re-opened if the commented content is still available in the editor.
351
+ * **[comments](https://www.npmjs.com/package/@ckeditor/ckeditor5-comments)**: Introduced the `comment:modify_all` permission that will allow the user to edit or remove all comments.
155
352
  * **[engine](https://www.npmjs.com/package/@ckeditor/ckeditor5-engine)**: Introduced `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](https://github.com/ckeditor/ckeditor5/issues/13388). ([commit](https://github.com/ckeditor/ckeditor5/commit/927df409f73c7018eb5a34a9908daab9cc4f9946))
156
- * **[engine](https://www.npmjs.com/package/@ckeditor/ckeditor5-engine)**: Introduced `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](https://github.com/ckeditor/ckeditor5/commit/927df409f73c7018eb5a34a9908daab9cc4f9946))
353
+ * **[engine](https://www.npmjs.com/package/@ckeditor/ckeditor5-engine)**: Introduced `Differ.getChangedRoots()` which returns the roots added or detached since the last differ reset. `Differ#isEmpty` and `Differ#hasDataChanges()` will return `true` if a root was added or detached. ([commit](https://github.com/ckeditor/ckeditor5/commit/927df409f73c7018eb5a34a9908daab9cc4f9946))
157
354
  * **[mention](https://www.npmjs.com/package/@ckeditor/ckeditor5-mention)**: Limiting the dropdown on the singular feed level should now be possible. Closes [#13504](https://github.com/ckeditor/ckeditor5/issues/13504). ([commit](https://github.com/ckeditor/ckeditor5/commit/489b3fda402504cb0492fceb368af475c8dd85b6))
158
355
  * **[multi-root-editor](https://www.npmjs.com/package/@ckeditor/ckeditor5-multi-root-editor)**: Introduced the multi-root editor type that allows defining multiple editable areas handled by a single editor instance. Closes [#11493](https://github.com/ckeditor/ckeditor5/issues/11493). ([commit](https://github.com/ckeditor/ckeditor5/commit/50b9c4fe3dd8e22668f36c06af6cdc7af73d81cf))
159
356
  * **[real-time-collaboration](https://www.npmjs.com/package/@ckeditor/ckeditor5-real-time-collaboration)**: Added support for custom path prefixes in WebSocket URLs. Any path proceeding the required `/ws` part in the WebSocket URL is now preserved.
@@ -166,17 +363,17 @@ We expanded the General HTM Support feature with support for the `<colgroup>`’
166
363
  * **[engine](https://www.npmjs.com/package/@ckeditor/ckeditor5-engine)**: The `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](https://github.com/ckeditor/ckeditor5/issues/13051). ([commit](https://github.com/ckeditor/ckeditor5/commit/617497a8ebe03a9f66f327479dff92c3dd10fe1c))
167
364
  * **[engine](https://www.npmjs.com/package/@ckeditor/ckeditor5-engine)**: The `elementToStructure()` downcast helper should not skip attribute changes that happened with the modification of the children list. ([commit](https://github.com/ckeditor/ckeditor5/commit/61debdca19f7a5166433220b819232d20d8b9f26))
168
365
  * **[html-support](https://www.npmjs.com/package/@ckeditor/ckeditor5-html-support)**: Attributes on the `<colgroup>`, and `<col>` elements should be preserved in the data. Closes [#11479](https://github.com/ckeditor/ckeditor5/issues/11479). ([commit](https://github.com/ckeditor/ckeditor5/commit/61debdca19f7a5166433220b819232d20d8b9f26))
169
- * **[html-support](https://www.npmjs.com/package/@ckeditor/ckeditor5-html-support)**: Fixed description lists with name-value groups wrapped in div elements when upcasting using the General HTML Support feature. Closes [#12240](https://github.com/ckeditor/ckeditor5/issues/12240). ([commit](https://github.com/ckeditor/ckeditor5/commit/cb96419897e114e40dbeeca902b7463af372866f))
366
+ * **[html-support](https://www.npmjs.com/package/@ckeditor/ckeditor5-html-support)**: Fixed description lists with name-value groups wrapped in `<div>` elements when upcasting using the General HTML Support feature. Closes [#12240](https://github.com/ckeditor/ckeditor5/issues/12240). ([commit](https://github.com/ckeditor/ckeditor5/commit/cb96419897e114e40dbeeca902b7463af372866f))
170
367
  * **[image](https://www.npmjs.com/package/@ckeditor/ckeditor5-image)**: Fixed the image resize handle displaying `NaN` in some scenarios. Closes [#10776](https://github.com/ckeditor/ckeditor5/issues/10776). ([commit](https://github.com/ckeditor/ckeditor5/commit/5d280fa041b43331c09a0db0f393f15c7b848f96))
171
368
  * **[link](https://www.npmjs.com/package/@ckeditor/ckeditor5-link)**: The link text should update along with the URL if they were the same in the first place. Closes [#12588](https://github.com/ckeditor/ckeditor5/issues/12588). ([commit](https://github.com/ckeditor/ckeditor5/commit/0beb8c638e10d69160219629b44e8bee00d6c744))
172
- * **[mention](https://www.npmjs.com/package/@ckeditor/ckeditor5-mention)**: Mentions reexport the `MentionFeed` and `ItemRenderer` types. Closes [#13705](https://github.com/ckeditor/ckeditor5/issues/13705). ([commit](https://github.com/ckeditor/ckeditor5/commit/191f6cc9975f9055687fd963738b6eeba8727466))
369
+ * **[mention](https://www.npmjs.com/package/@ckeditor/ckeditor5-mention)**: Mentions re-export the `MentionFeed` and `ItemRenderer` types. Closes [#13705](https://github.com/ckeditor/ckeditor5/issues/13705). ([commit](https://github.com/ckeditor/ckeditor5/commit/191f6cc9975f9055687fd963738b6eeba8727466))
173
370
  * **[mention](https://www.npmjs.com/package/@ckeditor/ckeditor5-mention)**: Make a text property optional in the `MentionFeedObjectItem` type. Closes [#13550](https://github.com/ckeditor/ckeditor5/issues/13550). ([commit](https://github.com/ckeditor/ckeditor5/commit/7df46f84fba04280b3de3d98e4d666d4d046945c))
174
- * **[mention](https://www.npmjs.com/package/@ckeditor/ckeditor5-mention)**: Mentions panel should be positioned left to the caret in editors with a right–to–left UI language. Closes [#13459](https://github.com/ckeditor/ckeditor5/issues/13459). ([commit](https://github.com/ckeditor/ckeditor5/commit/45ac9e29e87c02d5ce26fa461075c6f21c6d44a8))
175
- * **[paste-from-office](https://www.npmjs.com/package/@ckeditor/ckeditor5-paste-from-office)**: Fixed handling of bold text in RTL lists pasted from MS Word. Closes [#13711](https://github.com/ckeditor/ckeditor5/issues/13711). ([commit](https://github.com/ckeditor/ckeditor5/commit/3abb8df5dfafbd31b432ada801e8878aff3b2eca))
371
+ * **[mention](https://www.npmjs.com/package/@ckeditor/ckeditor5-mention)**: The mentions panel should be positioned left to the caret in editors with a right–to–left UI language. Closes [#13459](https://github.com/ckeditor/ckeditor5/issues/13459). ([commit](https://github.com/ckeditor/ckeditor5/commit/45ac9e29e87c02d5ce26fa461075c6f21c6d44a8))
372
+ * **[paste-from-office](https://www.npmjs.com/package/@ckeditor/ckeditor5-paste-from-office)**: Fixed handling of bold text in RTL lists pasted from Microsoft Word. Closes [#13711](https://github.com/ckeditor/ckeditor5/issues/13711). ([commit](https://github.com/ckeditor/ckeditor5/commit/3abb8df5dfafbd31b432ada801e8878aff3b2eca))
176
373
  * **[table](https://www.npmjs.com/package/@ckeditor/ckeditor5-table)**: Changed detection on heading rows and columns on table upcast. Closes [#3172](https://github.com/ckeditor/ckeditor5/issues/3172). ([commit](https://github.com/ckeditor/ckeditor5/commit/6f7e441d61fd1958f18740992e2bc8789cae302a))
177
374
  * **[track-changes](https://www.npmjs.com/package/@ckeditor/ckeditor5-track-changes)**: Suggestion annotation discard button state is now bound with the `DiscardSuggestionCommand` state, instead of `AcceptSuggestionCommand`.
178
- * **[track-changes](https://www.npmjs.com/package/@ckeditor/ckeditor5-track-changes)**: Fixed error thrown when a list item was created using autoformatting in the track changes mode.
179
- * **[track-changes](https://www.npmjs.com/package/@ckeditor/ckeditor5-track-changes)**: List style and document list style iss now applied directly to a non-list element when used in the track changes mode.
375
+ * **[track-changes](https://www.npmjs.com/package/@ckeditor/ckeditor5-track-changes)**: Fixed an error thrown when a list item was created using autoformatting in the track changes mode.
376
+ * **[track-changes](https://www.npmjs.com/package/@ckeditor/ckeditor5-track-changes)**: List style and document list style is now applied directly to a non-list element when used in the track changes mode.
180
377
 
181
378
  ### Other changes
182
379
 
@@ -186,8 +383,9 @@ We expanded the General HTM Support feature with support for the `<colgroup>`’
186
383
  * **[engine](https://www.npmjs.com/package/@ckeditor/ckeditor5-engine)**: `model.Document#getRootNames()` now returns only attached roots by default. The `includeDetached` parameter was introduced to enable returning detached roots as well. ([commit](https://github.com/ckeditor/ckeditor5/commit/927df409f73c7018eb5a34a9908daab9cc4f9946))
187
384
  * **[engine](https://www.npmjs.com/package/@ckeditor/ckeditor5-engine)**: Introduced `RootOperation`. ([commit](https://github.com/ckeditor/ckeditor5/commit/927df409f73c7018eb5a34a9908daab9cc4f9946))
188
385
  * **[engine](https://www.npmjs.com/package/@ckeditor/ckeditor5-engine)**: `model.DocumentFragment#isAttached` was introduced for compatibility reasons. It always returns `false`. ([commit](https://github.com/ckeditor/ckeditor5/commit/927df409f73c7018eb5a34a9908daab9cc4f9946))
189
- * **[style](https://www.npmjs.com/package/@ckeditor/ckeditor5-style)**: Introduced the `StyleUtils` plugin to make the style util functions accessible. Closes [#13484](https://github.com/ckeditor/ckeditor5/issues/13484). ([commit](https://github.com/ckeditor/ckeditor5/commit/ee181f9903b09701deba2d3d85dab25fb5fadfbf))
190
- * **[table](https://www.npmjs.com/package/@ckeditor/ckeditor5-table)**: The table columns' widths are stored as model elements instead of model element attributes. See [#11479](https://github.com/ckeditor/ckeditor5/issues/11479). ([commit](https://github.com/ckeditor/ckeditor5/commit/61debdca19f7a5166433220b819232d20d8b9f26))
386
+ * **[style](https://www.npmjs.com/package/@ckeditor/ckeditor5-style)**: Introduced the `StyleUtils` plugin to make the style utility functions accessible. Closes [#13484](https://github.com/ckeditor/ckeditor5/issues/13484). ([commit](https://github.com/ckeditor/ckeditor5/commit/ee181f9903b09701deba2d3d85dab25fb5fadfbf))
387
+ * **[table](https://www.npmjs.com/package/@ckeditor/ckeditor5-table)**: The table column widths are stored as model elements instead of model element attributes. See [#11479](https://github.com/ckeditor/ckeditor5/issues/11479). ([commit](https://github.com/ckeditor/ckeditor5/commit/61debdca19f7a5166433220b819232d20d8b9f26))
388
+ * **[comments](https://www.npmjs.com/package/@ckeditor/ckeditor5-comments)**: Introduced `CommentThread#attributes` as well as `#setAttribute()` and `#getAttribute()` methods.
191
389
  * **[track-changes](https://www.npmjs.com/package/@ckeditor/ckeditor5-track-changes)**: Introduced the `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`.
192
390
  * **[ui](https://www.npmjs.com/package/@ckeditor/ckeditor5-ui)**: Introduced `EditorUI#removeEditableElement()`. ([commit](https://github.com/ckeditor/ckeditor5/commit/927df409f73c7018eb5a34a9908daab9cc4f9946))
193
391
  * **[utils](https://www.npmjs.com/package/@ckeditor/ckeditor5-utils)**: Added configuration to the `View#scrollToTheSelection()` helper allowing to scroll to the top of the boundary. Closes [#13688](https://github.com/ckeditor/ckeditor5/issues/13688). ([commit](https://github.com/ckeditor/ckeditor5/commit/75a5b122690c775cf55d61f3d80519cb85952ebb))
@@ -346,7 +544,7 @@ Other releases:
346
544
  * **[engine](https://www.npmjs.com/package/@ckeditor/ckeditor5-engine)**: Introduced `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](https://github.com/ckeditor/ckeditor5/commit/927df409f73c7018eb5a34a9908daab9cc4f9946))
347
545
  * **[mention](https://www.npmjs.com/package/@ckeditor/ckeditor5-mention)**: Limiting the dropdown on the singular feed level should now be possible. Closes [#13504](https://github.com/ckeditor/ckeditor5/issues/13504). ([commit](https://github.com/ckeditor/ckeditor5/commit/489b3fda402504cb0492fceb368af475c8dd85b6))
348
546
  * **[multi-root-editor](https://www.npmjs.com/package/@ckeditor/ckeditor5-multi-root-editor)**: Introduced the multi-root editor type that allows defining multiple editable areas handled by a single editor instance. Closes [#11493](https://github.com/ckeditor/ckeditor5/issues/11493). ([commit](https://github.com/ckeditor/ckeditor5/commit/50b9c4fe3dd8e22668f36c06af6cdc7af73d81cf))
349
- * **[real-time-collaboration](https://www.npmjs.com/package/@ckeditor/ckeditor5-real-time-collaboration)**: Added support for custom path prefixes in WebSocket URLs. Any path proceeding the required `/ws` part in the WebSocket URL is now preserved.
547
+ * **[real-time-collaboration](https://www.npmjs.com/package/@ckeditor/ckeditor5-real-time-collaboration)**: Added support for custom path prefixes in WebSocket URLs. Any path proceeding the required `/ws` part in the WebSocket URL is now preserved.
350
548
 
351
549
  ### Bug fixes
352
550
 
package/README.md CHANGED
@@ -66,7 +66,7 @@ In your HTML page, add an element that CKEditor should replace:
66
66
  Load the classic editor build (you can choose between the [CDN](https://cdn.ckeditor.com/#ckeditor5), [npm](https://ckeditor.com/docs/ckeditor5/latest/installation/getting-started/predefined-builds.html#npm), and [zip downloads](https://ckeditor.com/docs/ckeditor5/latest/installation/getting-started/predefined-builds.html#zip-download)):
67
67
 
68
68
  ```html
69
- <script src="https://cdn.ckeditor.com/ckeditor5/37.0.1/classic/ckeditor.js"></script>
69
+ <script src="https://cdn.ckeditor.com/ckeditor5/37.1.0/classic/ckeditor.js"></script>
70
70
  ```
71
71
 
72
72
  Call the [`ClassicEditor.create()`](https://ckeditor.com/docs/ckeditor5/latest/api/module_editor-classic_classiceditor-ClassicEditor.html#static-function-create) method: