Icard/angular-clarity-master(work.../node_modules/ckeditor5/CHANGELOG.md

104 KiB
Raw Blame History

Changelog

40.2.0 (December 12, 2023)

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

CKBoxs 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 its 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 GHS linkA attribute if the linkHref 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

  • ai: Introduced support for the OpenAI gpt-3.5-turbo-1106 model in AI Assistant.
  • ai: Secured AI Assistant from incorrect responses that do not being with the processed HTML.
  • ai: Introduced the AITextAdapter abstract class that can be extended to provide custom adapter for AI Assistant.
  • ai: Introduced OpenAIAdapter and AWSAdapter that can be extended to customize how AI Assistant requests and responses are handled.
  • ai: Reorganized the configuration parameters for AI Assistant. See the API documentation and migration guide.
  • ai: Allowed to fully customize request headers by providing an object or a function to requestHeaders configuration parameter. See API docs and migration guide.
  • image: The ImageUploadUI plugin is loaded by default when the ImageBlock or ImageInline plugins are loaded. See #15149. (commit)
  • link: The logic behind the two-step caret movement extracted to the common code in the two-step caret movement feature. (commit)
  • list: The CollapsibleView class has been moved from the @ckeditor/ckeditor5-list package to @ckeditor/ckeditor5-ui. See #15149. (commit)
  • typing: The logic behind the two-step caret movement extracted to the common code in the two-step caret movement feature. (commit)
  • typing: Unified behavior of the insertText command for cases using the DocumentSelection and Selection as applied attributes behaved differently in those cases. (commit)
  • ui: The CollapsibleView class has been moved from the @ckeditor/ckeditor5-list package to @ckeditor/ckeditor5-ui. See #15149. (commit)
  • ui: The SplitButtonView constructor and createDropdown() helper accepts an instance of a ButtonView as an action view customization. See #15149. (commit)
  • upload: The FileDialogButtonView class is now an instance of the ButtonView, not just a wrapper on it. See #15149. (commit)
  • The undo and redo toolbar components described in the @ckeditor/ckeditor5-essentials/src/ckeditor5-metadata.json file are now defined in the package that registers those buttons (@ckeditor/ckeditor5-undo). Closes #15414. (commit)
  • Updated translations. (commit, commit, commit)

Released packages

Check out the Versioning policy guide for more information.

Released packages (summary)

Major releases (contain major breaking changes):

Minor releases (contain minor breaking changes):

Releases containing new features:

Other releases:

40.1.0 (November 15, 2023)

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 the 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 the 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 the 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 was replaced by config.aiAssistant.useTheme and changed its function. A new complementary .ck-ai-assistant-ui_theme CSS class was 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 root 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, and comments. The old properties: config.importWord.defaultStyles and config.importWord.commentsStyles were removed. Use formatting.defaults and formatting.comments instead.

Please refer to the update guide to learn more about these changes.

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 the AIAssistantConfig 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 blurhash to indicate image loading. Closes #15090. (commit)
  • editor-multi-root: Added MultiRootEditor#registerRootAttribute(). All root attributes used by features should now be registered. Root attributes passed in the editor configuration are now automatically registered. Closes #15246. (commit)
  • image: Images inserted by CKBox should set the provided dimensions and use blurhash to indicate image loading. Closes #15090. (commit)
  • import-word: Introduced a new config.importWord.formatting configuration property in place of config.importWord.defaultStyles and config.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 the editor state. AriaLiveAnnouncer instance is available under EditorUI#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 scrolling automatically once the user interacts with it.
  • ai: The AI Assistant balloon should be closed when the 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 the correct position when the balloon grows.
  • ai: The AI Assistant's copy to clipboard button did not work correctly in Firefox when the 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 allowed drop locations. Closes #14709. (commit)
  • comments: Prevented a crash happening when importing a Word file when the comments plugin is loaded.
  • core: Fixed type definitions in ToolbarConfig by adding an optional icon parameter. Closes #15151. (commit)
  • html-support: Additional attributes for the link element (for example, CSS class) should not be applied after pressing Enter. Closes #14683. (commit)
  • image: The aspect ratio should be updated on the image replacement. Closes #15179. (commit)
  • image: Remove outdated image attributes when an image is replaced by a URL. Closes #15093. (commit)
  • list: Pasting plain text content should not break the lists. Closes #13826. (commit)
  • list: Pasting one list into another should preserve the target list type. See #13826. (commit)
  • paste-from-office: Tables pasted from Word should not lose styles when General HTML Support is enabled. (commit)
  • table: Table properties should be enabled if a table is selected from the outside. Closes #15040, #15041, #10983. (commit)
  • track-changes: Editor commands will now return a proper value when executed in track changes mode.
  • ui: The AutocompleteView should not capture the Esc key press event if its result pane is hidden. (commit)
  • ui: TextareaView will no longer update its height (and log warnings) when the element is detached from the DOM. (commit)
  • ui: Fixed the usage of the aria-checked attribute in dropdowns. Closes #14823. (commit)
  • utils: The Config#get() method should be able to return a function. Closes #14804, #12835. (commit)
  • widget: Triple-click in a paragraph should select the whole paragraph even if a block widget follows (table, block image). Closes #11130. (commit)
  • Plugins specified in config.removePlugins should now be properly filtered out when revision history and track changes data plugins are used.

Other changes

  • ai: Simplified CSS customization in the AI Assistant's UI.
  • ai: Pre-defined commands dropdown search filter will now also include group names.
  • ai: The AI Assistant's Replace button should be labeled Insert if the selection is collapsed.
  • ai: Improved the layout of the AI Assistant in the editor using a right-to-left UI language.
  • ckbox: The editor should be focused after choosing an asset or closing CKBox. Closes #15091. (commit)
  • ckbox: When multiple files are selected, add each one of them in a separate paragraph. Closes #15094. (commit)
  • ckbox: Set the default CKBox theme to lark. Closes #15096. (commit)
  • comments: Users using assistive technologies will now be notified when their selection enters or leaves a comment or a suggestion in the editor content.
  • core: Made the PluginInterface.destroy() method optional. (commit)
  • format-painter: Users using assistive technologies will now be notified when the formatting is being copied or pasted.
  • image: Changed the icon of the alternative text to be more accurate and describe its purposes. Closes #12410. (commit)
  • image: Changed the default image.insert.type configuration to "block" and added the "auto" option. Closes #15158. (commit)
  • theme-lark: Created a custom property for the shared light red color. Closes #15217. (commit)
  • theme-lark: Improved RTL layout support in some of the UI components (FormHeaderView, ButtonView, and ListItemView). (commit)
  • track-changes: Migrated feature integrations to use the 'attribute' suggestions: alignment, basic styles, font, format painter, heading, highlight, HTML embed, image (except for image styles), indent block, link, remove format, styles, and table headings.
  • track-changes: Due to substantial changes in how new styling suggestions are presented in the editor content, numerous interactions and labels displayed in the suggestion annotations were changed compared to the old suggestions.
  • track-changes: Users using assistive technologies will now be notified when their selection enters or leaves a comment or suggestion in the editor content.
  • ui: The ListItemGroupView should allow using a custom label. (commit)
  • ui: Improved RTL layout support in some of the UI components (FormHeaderView, ButtonView, and ListItemView). (commit)
  • Updated translations. (commit)

Released packages

Check out the Versioning policy guide for more information.

Released packages (summary)

Minor releases (contain minor breaking changes):

Releases containing new features:

Other releases:

40.0.0 (October 4, 2023)

We are happy to announce the release of CKEditor 5 v40.0.0.

Release highlights

Release of the AI Assistant feature

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. You can also 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 the setting of the image width and height attributes automatically during the upload or paste process to ensure the highest-quality content with no text jumping all around. While existing images will not be automatically retroactively altered, any changes to images in the editor (like resizing) will automatically set these attributes.

We have also ensured backward compatibility with CKEditor 4, particularly while maintaining user-changed aspect ratios. You can find more details on the changes 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 have updated its default icon to reflect this new drag-and-drop capability better (note: it is still changeable).

Document lists feature parity

Document lists, our second-generation list plugin that supports multiple content blocks in list items, finally support to-do lists! We have 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

We have prepared significant fixes to the way the contextual balloons work. They tended 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 was changed to resizedWidth. The width and height attributes are now used to preserve the image's natural width and height.
  • image: The srcset model attribute was simplified. It is no longer an object { data: "...", width: "..." }, but a value previously stored in the data part.

MINOR BREAKING CHANGES

  • comments: The comment thread's "resolved" state was 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 was renamed to #archivedThreads. If your custom code used that property, make sure to apply this change.
  • comments: The deletedAt property is no longer passed in AddCommentThreadEvent as it is not needed anymore. Instead, deleted comment threads should never be handled in addCommentThread 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 the comments repository after re-initializing the editor. Before, the comment thread was removed from the comments repository 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 the 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 and height attributes are now preserved while loading the 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, and AutocompleteView. (commit)
  • ui: Introduced the HighlightedTextView component for a better presentation of search results. (commit)

Bug fixes

  • clipboard: Improved displaying the 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 will no longer throw an error when clicking a balloon with input in Firefox. Closes #9635. (commit)
  • image: An image should not be replaced when dropped below a widget. Closes #14710, #14740. (commit)
  • list: A dragged whole list item should still be a list item when dropped. Closes #14969. (commit)
  • mention: Fixed the type definition of the Mention#toMentionAttribute() method. Closes #14923. (commit)
  • utils: Balloon panels should not stick out of the visible part of the editor while scrolling. (commit)
  • utils: Fixed an incorrect tooltip when hovering over the toolbar buttons in Chrome on iOS. Closes #13812. (commit)
  • utils: The coordinates of an element are now correctly calculated relative to the positioned ancestor element. Closes #14992. (commit)

Other changes

  • comments: Introduced the Comment#unlinkedAt and Comment#archivedAt properties and the Comment#setUnlinkedAt() method.
  • comments: The deletedAt property is no longer passed in AddCommentThreadEvent as it is not needed anymore.
  • comments: Renamed CommentsArchive#resolvedThreads to #archivedThreads.
  • comments: Comment threads are no longer treated as resolved when their related content is removed from the document. These threads are now in the unlinked state.
  • theme-lark: Improved the drag and drop target line. Closes #14645. (commit)
  • ui: Made the ButtonView label logic open for extension. (commit)
  • ui: Changed the default icon of the BallonEditor toolbar handle and added the ability to customize it. Closes #14646. (commit)
  • Optimized icons. (commit)
  • Updated translations. (commit, commit, commit)
  • Added support to execute the yarn run clean-up-svg-icons script without arguments to optimize all icons in the entire project. Closes #14912. (commit)

Released packages

Check out the Versioning policy guide for more information.

Released packages (summary)

New packages:

Major releases (contain major breaking changes):

Minor releases (contain minor breaking changes):

Other releases:

39.0.2 (September 6, 2023)

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 Microsoft 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 Microsoft 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 attribute data is loaded.
  • track-changes: A new suggestion will not be joined with an existing suggestion if any of its attribute values is different than the existing suggestion's attribute.
  • track-changes: The editor no longer crashes when a suggestion is 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

Released packages

Check out the Versioning policy guide for more information.

Released packages (summary)

Other releases:

39.0.1 (August 10, 2023)

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 take 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 or 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:


To see all releases, visit the release page.