v41.3.0
版本发布时间: 2024-04-10 15:26:44
ckeditor/ckeditor5最新发布版本:v43.0.0(2024-08-07 16:15:26)
We are happy to announce the release of CKEditor 5 v41.3.0.
Release highlights
Multi-level lists ⭐️
CKEditor 5's latest update brings a new premium feature: the Multi-level lists feature. It allows for easy creation and modification of numbered lists with counters (1., 1.1., 1.1.1
), crucial for clear referencing and hierarchical organization in complex documents. The feature ensures compatibility with Microsoft Word. When lists with such formatting are pasted to the editor, the numbering format and counters are retained.
Paste from Office improvements for lists
No more breaking numbering of lists when they are pasted from Office. Previously whenever a list were split by paragraphs, the counter started again from 1. With our latest improvement, the counter is correctly preserved. Moreover, if you use Paste from Office Enhanced ⭐️, the paragraphs will be merged into list items, to ensure proper, semantic content.
⚠️ If you use the LegacyList
plugin to prolong the migration to the new list implementation, bear in mind that from this release Paste from Office stops working for the lists' implementation you are using. Migrate to List
to maintain pasting lists functionality.
Menu bar
The menu bar is a user interface component popular in large editing desktop and online packages. It gives you access to all features provided by the editor, organized in menus and categories and improves usability of the editor, keeping the toolbar can be simple and tidy. This is especially welcome in heavily-featured editor integrations.
The current release brings this battle-hardened solution to CKEditor 5! The menu bar can easily be enabled in selected editor types, comes with a handy features preset and is also highly configurable.
Updated keyboard navigation
This release brings in a fix for keyboard navigation with the Tab key. Before, it followed the default browser behavior, which could produce somewhat random effects. For example, when the cursor was positioned at the end of the end of the editable, the Tab keystroke could navigate you to the image caption on the top.
We changed it to an approach in which the Tab (and Shift+Tab), navigate to the next focusable field or an element outside the editor, so that the users can quickly navigate fields or links on the page. The navigation in the editor itself should be done by arrows, rather.
There is one exception to the Tab behavior. When a widget is selected, the Tab key will move the selection to the first nested editable, such as a caption of an image. Pressing the Esc key, while inside a nested editable, will move the selection to the closest ancestor widget, for example: moving from an image caption to selecting the whole image widget.
MINOR BREAKING CHANGES ℹ️
-
image: The CSS custom property
--ck-color-image-caption-highligted-background
has been renamed to--ck-color-image-caption-highlighted-background
. Please make sure to update your custom CSS accordingly. -
real-time-collaboration: The username displayed next to the user marker in the edited content is no longer a CSS pseudo-element. Use the
.ck-user__marker-tooltip
CSS class to customize usernames instead. -
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
. Important: this change happened in version 41.2.0 but has not been previously announced in the changelog. -
upload: The
FileDialogButtonView
class has been moved fromckeditor5-upload
tockeditor5-ui
. Please update your import paths accordingly (was:import { FileDialogButtonView } from 'ckeditor5/src/upload.js';
, is:import { FileDialogButtonView } from 'ckeditor5/src/ui.js';
). -
theme-lark: The default vertical spacing around
ButtonView
inListItemView
(--ck-list-button-padding
) has been reduced for better readability. This affects the presentation of various editor features that use this type of UI (headings, font size, font family, etc.). You can restore the previous value by setting--ck-list-button-padding: calc(.2 * var(--ck-line-height-base) * var(--ck-font-size-base)) calc(.4 * var(--ck-line-height-base) * var(--ck-font-size-base));
in your custom styles sheet. - comments: From this release on, the UI of the Comments Archive feature is displayed in a dialog instead of a dropdown.
- revision-history: The UI for saving the new revision is displayed in a dialog instead of a dropdown.
Features
- comments: Partially selected comment markers will no longer be copied unless fully selected, regardless of the copy mode set in the configuration.
- list-multi-level: Introduced the multi-level list with legal style list numbering.
- track-changes: Introduced the multi-level list with legal style list numbering.
-
ui: Added the
[tabindex]
DOM attribute support to theInputBase
class. (commit) -
ui: Added the
[aria-label]
attribute support to theInputBase
class. (commit) - ui: Implemented the application menu bar that contains various options and commands for controlling and navigating the editor. Closes #15894. (commit)
-
utils: Added the Page Up and Page Down keys to the keyboard utilities (
keyCodes
,getEnvKeystrokeText()
). (commit)
Bug fixes
- ai: Increased the priority of AI selection markers to display them over the overlapping comments.
- alignment: Tooltips for buttons inside the alignment dropdown should not obscure adjacent buttons. Closes #16109. (commit)
-
comments: Fixed issue causing the editor to throw
collection-add-item-invalid-index
error in some scenarios when some comment threads were resolved and some were unlinked (removed from content). - document-outline: Should not throw errors while pasting and cutting in document outline feature.
-
engine: Copying the content with markers will no longer trigger the
change:data
event. Closes #15943. (commit) - heading: An accessible button label should describe the state and the name of the feature for optimal UX. (commit)
- language: An accessible button label should describe the state and the name of the feature for optimal UX. (commit)
- minimap: The minimap should not steal DOM focus while tabbing across the document. (commit)
- pagination: The pagination navigation buttons should both scroll the document and move the selection (accessibility). Added keyboard shortcuts for navigating through the document.
- pagination: The pagination page number input should not participate in web page navigation on tab key press to comply with WCAG recommendations (see ckeditor/ckeditor5#16025).
- pagination: The current page input in the toolbar should be accessible to screen readers. See ckeditor/ckeditor5#16028.
- paste-from-office: The paste from Office feature should not break the list on the following blocks in the same list item or deduce a start attribute for a split list. Closes #11210, #15964. (commit)
- real-time-collaboration: Users should be able to move the mouse cursor to the user name displayed next to the user marker and dismiss it using the Esc key.
- restricted-editing: It should be possible to remove an image placed inside an editable field in restricted editing mode. Closes #15521. (commit)
- ui: Users should be able to move the mouse cursor to a UI tooltip without closing it. (commit)
- ui: Users should be able to close UI tooltips using the Esc key. (commit)
-
watchdog:
EditorWatchdog
will no longer crash when the application is refreshed before completing the editor initialization or destruction. Closes #15980. (commit) -
widget: Native browser
tab
key support should be disabled for cycling nested editable elements inside the editor. Closes #15506. (commit)
Other changes
- clipboard: By default, markers will not be copied if they are only partially selected. (commit)
- comments: In the default copy comments mode, markers that have been copied will not be pasted if they already exist in the document.
- core: Clarified the description of keystrokes that execute various buttons (Space, Enter) in the accessibility help dialog. (commit)
- html-support: Introduced the multi-level list with legal style list numbering. Closes #10859. (commit)
- image: Fixed a typo in the name of CSS custom property for the highlighted state of an image caption. (commit)
- list: Introduced the multi-level list with legal style list numbering. Closes #10859. (commit)
- mention: Export MentionsView, MentionListItemView, DomWrapperView classes and MentionFeedObjectItem type. Closes #16044. (commit)
- paste-from-office: Introduced the multi-level list with legal style list numbering. Closes #10859. (commit)
- style: Introduced the multi-level list with legal style list numbering. Closes #10859. (commit)
- Updated translations. (commit, commit)
Released packages
Check out the Versioning policy guide for more information.
Released packages (summary)
New packages:
- @ckeditor/ckeditor5-list-multi-level: v41.3.0
Minor releases (contain minor breaking changes):
- @ckeditor/ckeditor5-image: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-real-time-collaboration: v41.2.1 => v41.3.0
Releases containing new features:
- @ckeditor/ckeditor5-alignment: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-basic-styles: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-block-quote: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-ckbox: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-ckfinder: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-code-block: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-core: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-editor-classic: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-editor-decoupled: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-find-and-replace: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-font: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-heading: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-highlight: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-horizontal-line: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-html-embed: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-indent: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-language: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-link: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-list: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-page-break: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-remove-format: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-restricted-editing: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-select-all: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-show-blocks: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-source-editing: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-table: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-theme-lark: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-ui: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-undo: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-upload: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-utils: v41.2.1 => v41.3.0
Other releases:
- @ckeditor/ckeditor5-adapter-ckfinder: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-ai: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-autoformat: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-autosave: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-build-balloon: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-build-balloon-block: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-build-classic: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-build-decoupled-document: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-build-inline: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-build-multi-root: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-case-change: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-clipboard: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-cloud-services: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-collaboration-core: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-comments: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-document-outline: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-easy-image: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-editor-balloon: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-editor-inline: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-editor-multi-root: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-engine: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-enter: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-essentials: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-export-pdf: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-export-word: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-format-painter: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-html-support: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-import-word: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-markdown-gfm: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-media-embed: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-mention: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-minimap: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-operations-compressor: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-pagination: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-paragraph: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-paste-from-office: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-paste-from-office-enhanced: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-revision-history: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-slash-command: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-special-characters: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-style: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-template: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-track-changes: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-typing: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-watchdog: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-widget: v41.2.1 => v41.3.0
- @ckeditor/ckeditor5-word-count: v41.2.1 => v41.3.0
- ckeditor5-collaboration: v41.2.1 => v41.3.0