Skip to content

Releases: ckeditor/ckeditor5

v44.1.0

16 Dec 08:25
Compare
Choose a tag to compare

We are pleased to announce the latest CKEditor 5 release, focusing on performance enhancements and key bug fixes to improve your editing and collaboration experience.

Release Highlights

Performance enhancements: Part 3

This release introduces another set of performance related improvements, focused on faster editor initialization for huge documents. The initialization time was lowered by further 15% to 45%, depending on the tested sample.

The combined improvements introduced in recent releases amount to around 65%-80% lower loading time in total, which means the editor will load 3-5x faster. As the gain is not linear, bigger documents see even better improvement (more than 10x faster).

Moreover, all these improvements positively impact document save time (editor.getData()), which should help with autosave issues, among others.

We still actively work in this area, so you may expect even more editor load and save efficiency improvements in the upcoming releases.

🔨 Bug Fixes and improvements

  • Comments enhancements:
    • Data export options: We introduced the showCommentHighlights option in editor.getData(), that changes the comment marker conversion, allowing for styling comments in the output. Perfect for showing what was commented in Export to PDF, for example.
    • Inline mode improvements: We addressed a problem where comment annotations in inline mode did not close properly when clicking elsewhere in the content.
    • Thread management: We resolved an issue where creating a new thread was not interrupted when the corresponding marker was removed from the content, ensuring better stability during collaborative editing.
  • Revision History update:
    • Restore functionality: We disabled the ability to restore the current (edited, not saved) revision, as it represents current content, so there is nothing to restore. At the same time, using it led to some non-obvious behaviors.
  • Image handling: We resolved an issue where images in the uploading state could be deleted when dragged and dropped within the editor. Keep dragging, even when it is not there 🙈.

🎄 Happy holidays!

As the holiday season approaches, we extend our warmest wishes to our community and users. Thank you for your continued support, and we look forward to bringing you further enhancements and exciting features in the coming year.

MINOR BREAKING CHANGES ℹ️

  • utils: spliceArray now modifies the target array and does not accept a fourth (count) argument.

Features

  • comments: Introduced the showCommentHighlights option in editor.getData() method that changes the comment marker conversion and allows styling the comments in the output.

Bug fixes

  • comments: Resolved an issue where creating a new thread was not interrupted when the corresponding marker was removed from the content, for example, by another user in real-time collaboration.
  • comments: When adding a comment in inline mode, the comment annotation will now close properly if you click elsewhere in the content.
  • find-and-replace: It should be possible to search within content of inline widgets. Closes #11162. (commit)
  • image: Copying and pasting images in the uploading state is now possible. Closes #16967. (commit)
  • ui: Surrounding spaces are no longer added to colors produced by hex inputs. Closes #17386. (commit)

Other changes

Released packages

Check out the Versioning policy guide for more information.

Released packages (summary)

Minor releases (contain minor breaking changes):

Other releases:

Read more

v44.0.0

02 Dec 08:14
Compare
Choose a tag to compare

Release Highlights

We are excited to introduce CKEditor 5 v44.0.0, a release packed with high impact updates designed to enhance your editing experience and simplify access to our premium offers. Here's what’s new:

🚀 Self-service plans: Simplified access to premium features

We are introducing flexible self-service plans that put you in control with full transparency. Now, you can:

💡 Important for current users:

If you are upgrading to v44.0.0+, ensure a smooth transition by updating your license keys in the editor, as we implemented a new format of the key. To get the new key, visit the Customer Portal. You can also refer to our license key and activation guide for help with logging in to the portal.

📣 The open-source licensing remains unchanged. However, config.licenseKey is now a required property in the editor configuration. Use 'GPL' for installations under the GPL terms. Read more in the update guide.

🔖 Bookmarks: Organize your content with ease

Say hello to Bookmarks, a long-awaited feature that simplifies content navigation within the editor. With this release, you can:

  • Add anchors as reference points within text.
  • Link to the newly created bookmarks in the editor to navigate to specific locations within complex documents, such as contracts or technical manuals.

📍 Future updates to Bookmarks and the linking experience are planned for the upcoming releases. Follow progress and share your feedback on GitHub.

⚡ Performance improvements: Faster table rendering

The current release includes another stride towards improving the performance aspect of the editor, this time focusing on how tables are handled in the content. Implemented optimizations have made table rendering 3x faster, with the average load time of a document with a very long, complex tables dropping from around 4.5 seconds to just 1.5 seconds.

MAJOR BREAKING CHANGES ℹ️

  • config.licenseKey is now a required property in the editor configuration. Use 'GPL' for installations under the GPL terms. See #17317.

Features

Bug fixes

  • clipboard: An in-text drop of an inline object with elements inside should be possible. Closes #16101. (commit)
  • cloud-services: Handle refresh token when editor destroyed during token fetching. Closes #17462. (commit)
  • editor-classic: Excluded modal windows from the Classic Editor's integration between dialogs and the sticky toolbar. Closes #17339. (commit)
  • engine: List markers should be visible after changing the list type from multi-level to numbered. Closes #17488. (commit)
  • find-and-replace: Find and replace no longer randomly jumps to the first found item after the replace operation. Closes #16648. (commit)
  • list: Inserting or dropping a paragraph after the end of a list should not convert the paragraph to a list item. Closes #17224. (commit)
  • pagination: The pagination line should be rendered properly on tables. Closes ckeditor/ckeditor5#17158.
  • restricted-editing: Remove existing restricted editing markers when setting new data to prevent marker resurrection. Closes #9646, #16721. (commit)
  • theme-lark: Letter descenders should not be clipped in the top-level menu bar categories. Closes #17422. (commit)
  • track-changes: Export the AttributeData, FormatData and Description typings from package.
  • ui: The menu or dropdown panels will no longer be placed in an incorrect position when a optimal position cannot be found. Closes #17220. (commit)
  • ui: The dialog plugin should not handle Esc key press when default-prevented by the guest view. Closes #17343. (commit)
  • upload: Editor should no longer crash when executing undo while an image is still being uploaded. (commit)
  • utils: Use binary search in insertToPriorityArray() for better performance when handling big tables. (commit)
  • utils: No longer scroll to the top of the document if pasted element is larger than scrollable editable. Closes #17079. (commit)

Other changes

  • collaboration-core: The types of publicly exported plugins will now be correctly resolved when accessed using editor.plugins.get.

  • comments: The types of publicly exported plugins will now be correctly resolved when accessed using editor.plugins.get.

  • real-time-collaboration: Editor will be switched to read-only mode when an unrecoverable error will be returned by Cloud Services server during real-time editing.

  • real-time-collaboration: The types of publicly exported plugins will now be correctly resolved when accessed using editor.plugins.get.

  • revision-history: The types of publicly exported plugins will now be correctly resolved when accessed using editor.plugins.get.

  • track-changes: The types of publicly exported plugins will now be correctly resolved when accessed using editor.plugins.get.

  • track-changes: The descriptionFactory property will now be accessible publicly.

  • track-changes: Suggestions of the same type that are not directly next to each other will no longer be represented as one suggestion in the UI.

  • ui: Improved the performance of the BodyCollection DOM wrapper lookup by replacing document.querySelector() with a static element reference. (commit)

    Hu...

Read more

v43.3.1

06 Nov 08:40
Compare
Choose a tag to compare

We are happy to announce the release of CKEditor 5 v43.3.1.

Release highlights

We had to revert a change introduced in v43.3.0 related to the icons export in one of our packages. This was due to unforeseen TypeScript issues in some setups.

Bug fixes

  • link: Reverted a change related to adding icons re-export. See #17358. (commit)

Other changes

Released packages

Check out the Versioning policy guide for more information.

Released packages (summary)

Other releases:

Read more

v43.3.0

29 Oct 09:23
Compare
Choose a tag to compare

We are happy to announce the release of CKEditor 5 v43.3.0.

Release highlights

Performance improvements

We have improved how the editor handles the document structure by making it more reliable and efficient to access specific elements and verify their positions.

  • Node index and offset caching: The Node and NodeList elements now cache index and offset values, reducing the need for recalculations and significantly boosting overall performance during model operations.
  • Selection range validation: The newly implemented Position#isValid() method is also utilized to better validate selection ranges, ensuring more consistent behavior in various editing scenarios.
  • Performance improvements in numbers: The editor now loads content between 3x and, in some cases, up to 6x faster, depending on the type and size of the content. For instance, where a specific 200-page document previously took almost 25 seconds to load, the time has now been reduced to just 3.5 seconds.

We’re committed to ongoing performance enhancements, so you can expect even faster, smoother experience in future updates.

Export to Word watermark support

A new configuration option has been added to include a watermark when exporting documents to Word, providing additional flexibility in document branding and protection.

Notable bug fixes and improvements

  • Suggestions retention on revision restore: Suggestions are no longer lost in specific cases when restoring revisions with changes from multiple users. The revision tracking process has been improved to ensure that all operations, including markers, are handled and saved correctly during synchronization. This fix resolves issues where markers were previously not retained, ensuring consistent data handling in collaborative editing scenarios.
  • Action dropdown visibility fix: Resolved an issue where the action dropdown remained hidden after permission changes on comments. The dropdown now properly reflects updated permissions, allowing users to interact with the available actions seamlessly.
  • AI command enhancements:
    • Custom AI Commands are now correctly applied to individual dropdowns when only one group of comments is present, instead of the entire group.
    • Empty comment groups no longer render, improving UI clarity.
    • Fixed an issue where nested AI command menus would close unexpectedly when used within a balloon toolbar, preventing unintended behavior during selection.

Features

  • engine: Introduced the getChildAtOffset() method for model.Element and model.DocumentFragment. (commit)
  • engine: Introduced the Position#isValid() method to check whether the position exists in the current model tree. (commit)
  • export-word: Added a configuration setting for adding a watermark to generated documents.
  • revision-history: Introduced the RevisionTracker#getRevisionDocumentData() and RevisionTracker#getRevisionRootsAttributes() methods to the public scope of the editor API. You can use them to retrieve document data saved with the revision.
  • utils: Made FocusTracker extendable with other FocusTracker instances to allow logical focus tracking across separate DOM sub-trees (see #17277). (commit)

Bug fixes

  • ai: Empty AI Assistant command groups should not render in the UI.
  • ai: The AI Assistant command list should be flat when only one command group is available.
  • comments: Fixed an issue where the action dropdown remained hidden when permissions allowing actions on a comment changed.
  • engine: The content of an inline object should be handled as a flow root so whitespaces should be trimmed as the content of an inline object element is inside a block element. Closes #17199. (commit)
  • image: Handle existing picture element correctly on sources downcast. (commit)
  • link: No longer crash editor after removing link from image when LinkConfig#addTargetToExternalLinks: true is set. Closes #17252. (commit)
  • list-multi-level: Multi-level lists should display correctly in RTL mode for Decoupled Editor.
  • pagination: Improved pagination of large tables that are followed by block elements.
  • revision-history: Suggestions are no longer lost in some scenarios when restoring revisions in real-time collaboration.
  • ui: The dropdown menu component should not cause editor blur if used in a BalloonToolbar while the user hovers a nested menu. Closes #17277. (commit)
  • ui: Made the page unscrollable while the modal is visible. Closes #17093. (commit)

Other changes

  • engine: Node index and offset related values are now cached in model Node and NodeList to improve performance. (commit)
  • link: Exported link and unlink icons from the ckeditor5-link package. Closes #17304. (commit)
  • ui: Disabled dragging support for modal windows in the Dialog plugin. Closes #17290. (commit)
  • ui: Disabled positioning restrictions for modal windows caused by config.ui.viewportOffset. Closes #17290. (commit)

Released packages

Check out the Versioning policy guide for more information.

Released packages (summary)

Releases containing new features:

Other releases:

Read more

v41.3.2

15 Oct 07:53
e8bb681
Compare
Choose a tag to compare

We are happy to announce the release of CKEditor 5 v41.3.2.

This release includes a security fix backported from version 43.1.1. Please take a look at the 43.1.1 release changelog to learn more about the changes.

Released packages

Check out the Versioning policy guide for more information.

Released packages (summary)

Other releases:

Read more

v43.2.0

02 Oct 08:29
Compare
Choose a tag to compare

We are happy to announce the release of CKEditor 5 v43.2.0.

Release highlights

Notable improvements

  • Operational Transformation Stability: Significant changes have been made to the OT system, enhancing the undo functionality and real-time collaboration, especially in conflict resolution scenarios. These improvements ensure smoother editor operations during complex interactions.
  • Performance Improvements: We have merged several community-driven performance enhancements (thanks @sunesimonsen), that optimize the editor’s core engine. While no changes to the editor’s logic were made, these updates improve overall efficiency and responsiveness.

More imports available via ckeditor5 and ckeditor5-premium-features indexes

As users transition to new installation methods (v42.0.0+) with ckeditor5 and ckeditor5-premium-features as the main packages, we are continuously addressing missing imports for less common classes, functions, types, and utilities, broadening their availability. Since our TypeScript rewrite (v37.0.0), imports can now be made directly through the package indexes, simplifying integration. As many users historically imported from src, we encourage you to try the new version and report any missing imports. In the future, we are considering removing src from published packages to reduce package size, so the more feedback we receive, the better and more stable API we will provide.

Features

  • engine: Added the usePassive option to DomEventObserver that enables listening to passive events. Closes #16412. (commit)
  • media-embed: It is now possible to embed YouTube shorts. Closes #17090. (commit)
  • ui: Updated the "Powered by" link. (commit)

Bug fixes

  • ckbox: Editing inline images using CKBox no longer changes and reinserts them simultaneously. Closes #17056. (commit)
  • engine: Fixed incorrect marker handling in some scenarios involving undo and real-time collaboration, which earlier led to a model-nodelist-offset-out-of-bounds error. See #9296. (commit)
  • engine: Fixed incorrect handling of merge changes during undo in some scenarios involving real-time collaboration, which earlier led to a model-nodelist-offset-out-of-bounds error. See #9296. (commit)
  • engine: Fixed conflict resolution error, which led to editor crash in some scenarios where two users removed larger intersecting part of the content and used undo. See #9296. (commit)
  • engine: Fixed incorrect undo behavior leading to an editor crash when a user pressed Enter key multiple times, then pressed backspace that many times, then undid all the changes. Closes #9296. (commit)
  • theme-lark: Increased the specificity of the dropdown menu panel styles to address issues with incorrect z-index ordering. (commit)
  • ui: Fixed scrolling in dropdowns when a block toolbar button is active. Closes #17067. (commit)
  • ui: Increased the specificity of the dropdown menu panel styles to address issues with incorrect z-index ordering. (commit)

Other changes

Released packages

Check out the Versioning policy guide for more information.

Released packages (summary)

Releases containing new features:

Other releases:

Read more

v43.1.1

25 Sep 07:43
Compare
Choose a tag to compare

We are happy to announce the release of CKEditor 5 v43.1.1.

During a recent internal audit, we identified a Cross-Site Scripting (XSS) vulnerability in the CKEditor 5 clipboard package (CVE-2024-45613). This vulnerability could be triggered by a specific user action, leading to unauthorized JavaScript code execution, if the attacker managed to insert malicious content into the editor, which might happen with a very specific editor configuration.

This vulnerability affects only installations where the editor configuration meets the following criteria:

  1. The Block Toolbar plugin is enabled.
  2. One of the following plugins is also enabled:

You can read more details in the relevant security advisory and contact us if you have more questions.

Taking the occasion, we decided to introduce additional hardening to some parts of our codebase that introduce theoretical and unexploitable issues. Our security team confirmed that none of these issues were exploitable in a real scenario, however, we decided to fix them, in order to increase the overall security posture of our software.

Released packages

Check out the Versioning policy guide for more information.

Released packages (summary)

Other releases:

Read more

v43.1.0

05 Sep 07:58
Compare
Choose a tag to compare

We are happy to announce the release of CKEditor 5 v43.1.0.

Release highlights

This release includes important bug fixes and enhancements for the editor:

  • Block merge fields: In contrast to regular, inline merge fields, the block merge fields are designed to represent complex, block-level structures, such as a dynamically generated table, a row of products, or a personalized call-to-action segment. Block merge fields are supposed to be replaced by arbitrary HTML data when the document template is post-processed or exported to a PDF or Word file.

  • Nested dropdown menus: this release introduces a new UI component: nested dropdown menus. They can be used by feature developers to easily provide an advanced user interface where UI elements are organized into a nested menu structure.

  • Customizable accessible label: You can now configure the label for the accessible editable area through the editor settings, ensuring it fits your system’s needs.

  • Improved table and cell border controls: It is now easier to manage both table and cell borders. The table user interface now clearly indicates the default border settings, allowing you to set “no borders” (None) for tables and cells without any additional configuration.

    ⚠️ In some cases this update may lead to data changes in the tables’ HTML markup when the editor loads them. However, visually nothing will change, and the experience will be the same.

The full list of enhancements can be found below.

MINOR BREAKING CHANGES ℹ️

  • Reverted config.sanitizeHtml. In v43.0.0 we made a decision to move config.htmlEmbed.sanitizeHtml to a top-level property config.sanitizeHtml. However, we realized that it was a wrong decision to expose such a sensitive property in a top-level configuration property. Starting with v43.1.0 you should again use config.htmlEmbed.sanitizeHtml and/or config.mergeFields.sanitizeHtml. The editor will throw an error if config.sanitizeHtml is used. See the migration guide for additional context behind this decision.
  • ai: The structure and presentation of the list of AI commands in the toolbar have changed (a flat filtered list is now a nested menu). Additionally, if your integration customizes this user interface, please ensure your integration code is up-to-date.
  • ui: The default [aria-label] provided by InlineEditableUIView is now 'Rich Text Editor. Editing area: [root name]' (previously: 'Editor editing area: [root name]'). You can use the options.label constructor property to adjust the label.

Features

  • comments: Added [data-author-id] to suggestion and comment markers in editing for easier integration and styling.
  • media-embed: Added support for new Twitter domain (x.com) and Instagram Reels. Closes #16435. (commit)
  • merge-fields: Introduced block merge fields. They are a new type of merge fields which are treated as block content in the editor editing area.
  • track-changes: Added [data-author-id] to suggestion and comment markers in editing for easier integration and styling.
  • ui: Introduced nested menu component for dropdowns. Closes #6399. (commit)
  • ui: Added support for the balloon toolbar in the multi-root editor. Closes #14803. (commit)
  • Allowed to configure the accessible editable area label via the config.label property. Closes #15208, #11863, #9731. (commit)

Bug fixes

  • cloud-services: The refreshing mechanism (from the Token class) should retry after a failure to limit the chance of the user getting disconnected and data loss in real-time collaboration. (commit)
  • comments: The TrackChangesData#getDataWithAcceptedSuggestions() method will no longer throw errors when there are suggestions containing multi-range comments in tables.
  • document-outline: Editor no longer crashes during initialization when the TableOfContents and ImageBlock plugins are enabled. Closes ckeditor/ckeditor5#16915.
  • editor-classic: The widget toolbar no longer covers editor's sticky toolbar when scrolling. Closes #15744. (commit)
  • editor-multi-root: The selection is no longer lost while clicking an editable containing only one block element. Closes #16806. (commit)
  • engine: Prevent from editor crashes when trying to style a long paragraph. Closes #16819. (commit)
  • html-support: The <hgroup> and <summary> elements should work with the source editing feature. Closes #16947. (commit)
  • list: A to-do list should preserve the state of the checked items on the data load. Closes #15602. (commit)
  • table: Changed default table and table cell properties to match the content styles. It fixes a problem with setting [border=none] on the table. Closes #6841. (commit)
  • table: Larger tables are no longer truncated in print mode. Closes #16856. (commit)
  • track-changes: The TrackChangesData#getDataWithAcceptedSuggestions() and TrackChangesData#getDataWithDiscardedSuggestions() methods will no longer throw errors when used in asynchronous load and save integration type.
  • ui: Nested menus in the menu bar and dropdowns should not get their panels focused when the main button is clicked. Closes #16857. (commit)
  • ui: Restored the ability to pin balloons to text nodes in the DOM tree. Closes #16958 #16889. (commit)
  • ui: The focus outline should remain visible upon closing a menu bar using the Esc key during keyboard navigation. Closes #16719. (commit)
  • ui: Balloon Editor toolbar no longer sticks out of the limiter element while scrolling. Closes #17002. (commit)

Other changes

  • ai: The AI Assistant pre-defined commands toolbar dropdown will now use a new nested menu component instead of the flat list component.
  • **[c...
Read more

v43.0.0

07 Aug 08:15
Compare
Choose a tag to compare

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

Release highlights

Merge fields

The new merge fields feature is a game-changer for creating document templates and other kinds of personalized or dynamic content. Thanks to this feature, you can insert placeholders into your content, indicating where actual values should go. These places are marked in the final content in a distinctive way, making it easy to later process the template and fill it with the actual values. The feature supports a preview mode too - you can define preview data sets, and see how the content will look like when real values are used directly in the editor. The plugin is highly customizable to fit various applications and scenarios. Finally, merge fields are fully integrated with our Export to Word, Export to PDF, and Import from Word features, both when they are used from the editor and via REST API.

We are extremely happy to share with you this highly demanded feature, and we cannot wait to listen to your feedback!

Make sure to visit our builder or documentation to learn more about the feature.

Export to Word V2 as the default version

The V2 version of the export to Word feature introduced significant improvements, optimizations, and fixes. This update enhances the overall performance, making the export process faster and more reliable, especially for large documents. Key improvements include better handling of table borders, automatic detection of Word styles from CSS, and support for more text-related CSS properties, ensuring your documents maintain their intended formatting.

Starting this version, the V2 configuration becomes the default in the ExportWord plugin. Make sure to migrate your configuration if you are using it.

Improved sidebar accessibility and navigation

We have introduced multiple enhancements to make the sidebar more accessible. Among other improvements, you can now use the Shift+Ctrl+E keystroke to move focus from the editor marker to the active annotation. When your comment reply is ready, you can quickly submit it using the new Ctrl+Enter shortcut. Also, navigation from one annotation to another is now possible by using arrow keys.

The full lists of keyboard supported actions can be reviewed in our Accessibility support guide.

Important bug fixes and improvements

This release brings notable bug fixes and improvements to enhance your editing experience.

  • Several improvements have been made to typing in the editor, especially for Android IME and Safari. On Android, issues like duplicated characters and reverse writing effects have been resolved. In Safari, the reverse typing effect after focus change has been fixed.
  • A couple of UI improvements:
    • We replaced the visual indication of the selected option in dropdowns (blue background) with the checkbox marks to better indicate selected options, aligning visual cues across the toolbar and menu bar.
    • All editor types now support the menu bar.
    • Additionally, the special characters UI has been moved from a dropdown to a dialog. This unifies the action between the menu bar and toolbar, and also gives content creators quicker access to the always-on-top dialog.
  • We have improved the drawing of page break line algorithm to address the pagination feature issues. We also improved the performance of the plugin.

React and Vue integrations updates

We have released new major versions of the React and Vue integrations. In both of them, we have migrated to JavaScript modules (ESM) and rewritten large parts of the codebases to support the latest versions of these frameworks and to follow the latest recommendations for writing the components.

We strongly recommend that you follow the release highlights to update to the latest versions:

MAJOR BREAKING CHANGES ℹ️

  • ckeditor5: Global name for the ckeditor5 package in the UMD builds has been changed to CKEDITOR.
  • ckeditor5-premium-features: Global name for the ckeditor5-premium-features package in the UMD builds has been changed to CKEDITOR_PREMIUM_FEATURES.
  • export-word: Export to Word V1 configuration format is deprecated, V2 is set as default. The exportWord.converterOptions configuration should be adjusted to new API. See the migration guide.
  • export-word: The auto_pagination configuration option in exportWord.converterOptions is set to false by default.

MINOR BREAKING CHANGES ℹ️

  • ckbox: The CKBoxUtils#getWorkspaceId() and CKBoxUtils#getToken() methods now return a promise instead of a resolved value.
  • comments: AnnotationView#focus() will focus the first view in the content collection instead of the view DOM element.
  • comments: Sidebar#addAnnotation() will expect the annotation view to meet the FocusableView interface (previously any UI View).
  • engine: Schema callbacks added through addChildCheck() will no longer add event listeners with high priority and will no longer stop checkChild event. Instead, these callbacks are now handled on normal priority, as a part of the default checkChild() call. This also means that listeners added to checkChild event on high priority will fire before any callbacks added by checkChild(). Earlier they would fire in registration order. This may impact you if you implemented custom schema callback using both addChildCheck() and direct listener to checkChild event. All above is also true for addAttributeCheck() and checkAttribute event and callbacks.
  • html-embed: HTML Embed plugin configuration value sanitizeHtml was moved from the htmlEmbed space to top-level configuration space. config.htmlEmbed.sanitizeHtml is now deprecated. It will still be used if it set, however we recommend updating the configuration as this property may be removed in upcoming releases.
  • real-time-collaboration: The size of avatars in the user presence list has been changed, which may affect integrations that depend on their dimensions. In addition, a focus border has been added to these avatars, which extends beyond the editor container. Please refer to the styling guide to learn how to change the look of the list.
  • real-time-collaboration: The collaboration user presence list dropdown now has a conditional overflow: scroll style (previously the style was permanent).
  • special-characters: Special characters plugin now uses a dialog (instead of a toolbar dropdown).
  • theme-lark: The --ck-list-button-padding custom property has been removed from the codebase.
  • track-changes: A substantial part of the SuggestionThreadView template was moved to a new view SuggestionView. It may affect you if you provided customization for suggestions annotations through an extended SuggestionThreadView or BaseSuggestionThreadView class. Please review updated API documentation for SuggestionThreadView#getTemplate() and SuggestionView#getTemplate(). You can extend SuggestionView the same way as SuggestionThreadView and BaseSuggestionThreadView, and provide the extended class through the newly added configuration property TrackChangesConfig#SuggestionView.
  • ui: We changed styles for "active" items inside menu bar and dropdowns lists. Previously, an active (chosen, enabled, opened, etc.) item was highlighted with a blue background. Now, the active element has a checkmark icon on the left.

Features

  • ckbox: The image upload and edit buttons are now disabled if the user has no permission to upload an asset. (commit)
  • **[ckbox](https...
Read more

v42.0.2

25 Jul 08:31
Compare
Choose a tag to compare

We are happy to announce the release of CKEditor 5 v42.0.2.

Release highlights

This is a patch release that includes the following bug fixes for new installation methods introduced in v42.0.0:

  • Fixed type definitions for the imports used in the optimized build (see #16684).
  • Fixed minor issues with the ckeditor5-editor.css, ckeditor5-content.css, and other optimized style sheets (see #16703).
  • Fixed issues with installing and loading the CKEditor 5 packages using Yarn PnP (see #16646).
  • Fixed issues with loading CSS and translation files with older bundlers, such as Vite 2 and Vite 3 (see #16638).

Additionally, we fixed some performance issues in the track changes plugin. The editing experience was heavily affected if there were many (hundreds or more) suggestions in the document. This was a regression introduced in v41.0.0.

Bug fixes

  • ckeditor5: Changed the path to the types in the package.json. See #16684. (commit)
  • ckeditor5: Updated the exports field in package.json to fix issues with loading CSS and translations in older bundlers. See #16638. (commit)
  • ckeditor5-premium-features: Changed the path to the types in the package.json.
  • ckeditor5-premium-features: Updated the exports field in package.json to fix issues with loading CSS and translations in older bundlers.
  • Added dependencies used in the new dist folder as production dependencies instead of devDependencies. Related to #16646. (commit)

Other changes

  • track-changes: Performance fixes for scenarios where hundreds of suggestions exist in the document.

Released packages

Check out the Versioning policy guide for more information.

Released packages (summary)

Other releases:

Read more