fix(deps): bump ckeditor5 from 45.2.2 to v47 (main)#12518
Open
renovate[bot] wants to merge 1 commit intomainfrom
Open
fix(deps): bump ckeditor5 from 45.2.2 to v47 (main)#12518renovate[bot] wants to merge 1 commit intomainfrom
renovate[bot] wants to merge 1 commit intomainfrom
Conversation
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
e02d7f0 to
709d9ff
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^45.2.2→^47.0.0GitHub Vulnerability Alerts
CVE-2026-28343
Impact
A Cross-Site Scripting (XSS) vulnerability has been discovered in the General HTML Support feature. This vulnerability could be triggered by inserting specially crafted markup, leading to unauthorized JavaScript code execution, if the editor instance used an unsafe General HTML Support configuration.
This vulnerability affects only installations where the editor configuration meets the following criteria:
Patches
The problem has been recognized and patched. The fix will be available in version 47.6.0 (and above).
Workarounds
CKEditor 5 recommends configuring General HTML Support securely to ensure that unsafe content is not accepted. Please refer to the Security section for detailed guidance.
Credits
CKEditor 5 would like to thank:
for responsibly reporting this vulnerability.
For more information
Email us at security@cksource.com if you have any questions or comments about this advisory.
CKEditor 5 has Cross-site Scripting (XSS) in the HTML Support package
CVE-2026-28343 / GHSA-jrqm-vmqc-gm93
More information
Details
Impact
A Cross-Site Scripting (XSS) vulnerability has been discovered in the General HTML Support feature. This vulnerability could be triggered by inserting specially crafted markup, leading to unauthorized JavaScript code execution, if the editor instance used an unsafe General HTML Support configuration.
This vulnerability affects only installations where the editor configuration meets the following criteria:
Patches
The problem has been recognized and patched. The fix will be available in version 47.6.0 (and above).
Workarounds
CKEditor 5 recommends configuring General HTML Support securely to ensure that unsafe content is not accepted. Please refer to the Security section for detailed guidance.
Credits
CKEditor 5 would like to thank:
for responsibly reporting this vulnerability.
For more information
Email us at security@cksource.com if you have any questions or comments about this advisory.
Severity
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Release Notes
ckeditor/ckeditor5 (ckeditor5)
v47.6.0Compare Source
We are excited to announce the release of CKEditor 5 v47.6.0.
Security update
A Cross-Site Scripting (XSS) vulnerability has been discovered in the General HTML Support feature (CVE-2026-28343). This vulnerability could be triggered by inserting specially crafted markup, leading to unauthorized JavaScript code execution if the editor instance used an unsafe General HTML Support configuration.
This vulnerability affects only installations where the editor configuration meets the following criteria:
You can read more details in the relevant security advisory and contact us if you have more questions.
Release highlights
This release introduces new list indentation capabilities and expands the customization options for CKEditor AI, giving integrators more control over the AI-powered editing experience.
⭐ CKEditor AI On-premises available
CKEditor AI is now available as an on-premises deployment, giving you full control over the AI service by running it on your infrastructure. The on-premises version supports everything the cloud option offers, plus:
Learn more about deployment options and MCP support.
⭐ Custom AI Review checks
The AI Review feature now supports custom review commands defined by integrators. Until now, the review was limited to built-in commands like proofreading, clarity, readability, and tone adjustment. With this release, you can create review commands tailored to your editorial guidelines, brand voice, or domain-specific quality standards.
Custom commands are registered via
config.ai.review.extraCommandsand made visible in the UI throughconfig.ai.review.availableCommands. The same option lets you reorder, filter, or shorten the list of built-in commands to match your needs. See the documentation for details.⭐ AI Chat Shortcuts
We are introducing AI Chat Shortcuts, a new opt-in plugin that displays configurable shortcut buttons in the AI Chat panel before the first message is sent. Shortcuts provide clear, actionable entry points that guide users toward the most useful AI capabilities. From launching a predefined prompt to starting a specific review or translation flow to navigating directly to the Review or Translate tab.
Integrators define shortcuts with a name, icon, and an action. Each shortcut can also configure which AI capabilities (model, web search, reasoning) are active for the prompt. Learn more in the documentation.
List indentation improvements
We're streamlining and standardizing the way list indentation is handled. With improved UX, it's now possible to indent whole lists and also individual list items with consistent styling and no custom implementation required.
This improvement is compatible with Paste from Office, Export to Word, Export to PDF, and Track Changes plugins. It also provides RTL support.
Upgrade
@aws-sdk/client-bedrock-runtimeto the latest versionWe upgraded
@aws-sdk/client-bedrock-runtimeto the latest version to address a recently disclosed security vulnerability in thefast-xml-parserdependency. We marked this update as a minor breaking change due to the use of dynamic imports in one of the underlying packages, which may impact certain build environments.If you use
webpackto build an editor bundle, configure it to bundle dynamic imports eagerly:If you do not use CKEditor AI with a dedicated bundle, no action is required.
Incoming old installation methods sunset reminder
Please note that the old installation methods will only remain available up to CKEditor 5 v48.0.0, which is planned for release at the beginning of Q2 2026. For more timeline details, refer to the dedicated GitHub issue.
In CKEditor 5 v42.0.0 in June 2024, we introduced new installation methods designed to improve and simplify the developer workflow. Soon, they will be the only available paths to install and use CKEditor 5.
If your project still relies on old installation methods, now is a good time to plan your next steps. We recommend choosing between these two options:
MINOR BREAKING CHANGES ℹ️
ai: Simplified the default greeting message shown when starting a new AI Chat conversation. To restore the previous message content, set
config.ai.chat.welcomeMessageto the following:"Hi, I'm your AI assistant. Think of me as your writing buddy, reviewer, or research partner. I can suggest changes to your document, help generate ideas, offer feedback, discuss attached files, and much more!"
ai: Updated
@aws-sdk/client-bedrock-runtimeto version3.994.0. This update introduced dynamic imports in a dependency, which may affect some build environments.Features
ai: Added the
config.ai.review.availableCommandsconfiguration option to customize which review commands are shown in the AI Review tab.ai: Introduced the
AIChatShortcutsplugin, which displays configurable shortcuts in the AI Chat feed when starting a new conversation.ai: Added support for custom AI Review commands. Custom commands can now be configured using
config.ai.review.extraCommands.export-pdf: Added the
enable_mirror_marginsoption to the V2 PDF export converter API, allowing margins to alternate between odd and even pages for double-sided layouts.html-support: Added support for the
[sandbox]attribute on<iframe>elements rendered in the editing view. Filtering rules can be adjusted using thehtmlSupport.htmlIframeSandboxconfiguration option.indent: Added list indentation integration to the
IndentBlockfeature (enabled by default). Closes #19490.Added commands for whole-list indentation (
indentBlockListandoutdentBlockList) and list-item indentation (indentBlockListItemandoutdentBlockListItem). Indentation can be rendered usingmargin-left/margin-rightstyles (offset-based) or CSS classes (class-based).list: Added support for the
arabic-indiclist style type in the list properties plugin. Closes #19802.Bug fixes
AIpackage together with theTrackChangesplugin could fail due to aSuggestionConversionplugin conflict.Selected contentlabel instead of""when theAsk AIaction is used on selections that include non-text content, such as an image without a caption.Ask AIon a selection inside a table.[srcdoc]attribute of<iframe>elements as unsafe and sanitized it in the editing pipeline. Restricted the[src]attribute of<iframe>elements to disallowjavascript:anddata:URLs containing whitespace characters.aria-labelledbyattribute. This change improves screen reader labeling for tables. Closes #15979.<figure>wrapper on content tables whentable.tableLayout.stripFigureFromContentTableis set tofalseand the layout tables plugin is enabled. Closes #19771.TrackChangesDLL together with certain features, such asAI.Other changes
config.ai.chat.welcomeMessageconfiguration option to customize the greeting message shown in the AI Chat feed when starting a new conversation.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:
v47.5.0Compare Source
We are happy to announce the release of CKEditor 5 v47.5.0.
Release highlights
CKEditor 5 v47.5.0 is a minor update that improves AI-assisted editing workflows and provides access to the new version of the Export to PDF feature.
AI Translate
The AI Translate feature of CKEditor AI allows users to translate entire documents on the go. It provides a user interface similar to AI Review, but with translation-specific actions to streamline the process. The translation view displays the final translated document, with original snippets shown on the side for review and comparison.
Multiple Changes revamp and other AI improvements
We improved how multiple changes proposed by the AI Chat feature are presented. Suggested changes now appear as cards that can be previewed in the content and applied consistently in both single-change and multi-change scenarios. This release also includes several under-the-hood improvements.
Export to PDF v2
The export to PDF feature now supports version 2 of the HTML to PDF converter API, bringing several powerful enhancements to document generation.
Advanced header and footer configurations allow for different content on first, odd, and even pages, with support for images. Page sizes can now be set using predefined formats or custom width and height values. The new converter API also enables editing of PDF metadata fields such as title, subject, and author.
Security capabilities have been expanded with owner password protection for controlling permissions and digital signature support using PKCS#12 certificates for authenticity verification. Additional improvements include compression control for specific use cases, more precise rendering options, and experimental automatic outline generation for creating a table of contents.
Incoming old installation methods sunset reminder
Please note that the old installation methods will no longer be available with CKEditor 5 v48.0.0, which is planned for release at the beginning of Q2 2026. For more timeline details, refer to the dedicated GitHub issue.
In CKEditor 5 v42.0.0 in June 2024, we introduced new installation methods designed to improve and simplify the developer workflow. Soon, they will be the only available paths to install and use CKEditor 5.
If your project still relies on old installation methods, now is a good time to plan your next steps. We recommend choosing between these two options:
Please refer to the update guide to learn more about these changes.
MINOR BREAKING CHANGES ℹ️
ai: The
ai.reviewMode.translationsconfiguration option has been moved toai.translate.languages. Theai.reviewModeconfiguration namespace has been removed.Together with the introduction of AI Translate feature and a separate translation tab, the configuration option to define a custom language list
has been moved to a related
ai.translatenamespace.ai: The
AIEditorIntegrationplugin is now required to preview the changes suggested by the AI Chat feature in a dialog window. Previously, this functionality was enabled by just loading the mainAIChatplugin. Please make sure your integration loads theAIEditorIntegrationplugin in order to use this functionality.ai: The DOM structure of the AI Chat suggestions in conversation has been changed, which may affect integrations that customized the UI and/or rely on specific CSS selectors.
Please make sure to update your integrations to use the new DOM structure. Learn more about the changes in the migration guide provided in the project documentation.
ai: The DOM structure of the AI Chat suggestion preview dialog window has been changed which may affect integrations that customized the UI and/or rely on specific CSS selectors.
Please make sure to update your integrations to use the new DOM structure. Learn more about the changes in the migration guide provided in the project documentation.
ai:
AIChat#sendMessage()takesattributes: Record<string, unknown>as one of its parameters now, in place of formerquickActionData. This affects you only if you provided some customizations for the CKEditor AI chat feature.ai: Already existing chat conversations, which were created through AI Quick Action (e.g. "Explain" or "Summarize"), when loaded from chat history, will now display a full prompt instead of the short version. This affects only already created conversations.
ai: Replaced
ai.chat.models.modelSelectorAlwaysVisibleconfiguration option withai.chat.models.showModelSelector. The behavior has also been slightly updated. When set totrue(default), the model selector dropdown is shown (when multiple models are available), or the model name is displayed (when only one model is available). When set tofalse, the selector is hidden, regardless of the number of available models.ai: The model's configuration options have been moved from
config.ai.chat.modelstoconfig.ai.modelsto ensure consistent model configuration across all AI features. The model configuration is now applied uniformly in both AI Chat and AI Review Mode.Features
ai: Introduced the AI Translation tab.
A new tab dedicated to translating content has been introduced to CKEditor 5 AI. It focuses on working with translated content, streamlining
the process of applying translation and making the whole process easier and faster for end users.
ai: Introduced a new look and improved operation of the AI Chat sidebar.
ai: Introduced
AIChat#registerToolDataCallback(). It allows for handling custom data generated by your AI tools connected to CKEditor AI backend.ai: Introduced an API to allow inserting arbitrary HTML into the AI Chat feed, during AI response streaming.
The API is passed as one of the parameters to the callback registered using
AIChat#registerToolDataCallback().ai: Introduced configuration option
ai.chat.initialConversationthat manages whether a new, or an existing past conversation is initially loaded in the AI Chat.ai: Added a new configuration option,
ai.chat.context.customItems, that allows using external context providers and custom context items (for example, IDs instead of actual files).export-pdf: Add support for version 2 of the HTML to PDF converter API.
Bug fixes
image, paste-from-office: Images aligned left or right with wrapped text around them should now be correctly pasted and imported from Word into the editor. Previously, such images were incorrectly aligned using block left or block right styles. Closes #19636.
ai: The AI Review active suggestion highlight in the editor content no longer disappears due to content changes made by other users in RTC.
ai: The AI Review suggestions content in the sidebar is styled the same way as the editor content, giving it a uniform look.
ai: Fixed an issue where web search sources were not displayed correctly when loading conversations from chat history.
ai: The "Add context" button in AI chat will no longer be disabled if the only available context are external resources.
ai: Fixed an error when custom AI Quick Actions used a model that was not available in AI Chat.
ai: Accepting suggestions from conversations loaded via chat history no longer throws errors in the console.
ai: Fixed an issue where messages loaded from chat history could be incorrectly duplicated in a conversation.
ai:
AIQuickActionsUInow requiresAIConnectorto prevent authentication bugs when run standalone.comments: Fixed an issue where inline annotations were not displayed correctly when the editor was initialized in a hidden container.
email: Table block alignment now behaves as expected in Microsoft Outlook, preventing text from wrapping around the table when it shouldn't.
html-support: An inline content (
<img>) should not be stripped out of<div>inside of<dd>tag. Closes #19709.table: Resizing the last column of a layout table no longer increases the column size more than expected. Closes #19644.
table: Fixed parsing units of deprecated table width attribute. Closes #19665.
ui:
BalloonToolbarwill no longer reposition itself when invisible in theContextualBalloonstack. Closes #19696.This prevents interfering with other features that might be using the
ContextualBalloonstack.utils:
Rect#getDomRangeRects()now sets the DOM Range as a source for each returnedRect, improving visibility and positioning of floating UIs that depend onRect#getVisible(). Closes #19705.utils:
Rect#getVisible()should better discover relationships between positioned and clipping parents. Closes #19707.This avoids issues with floating UIs that depend on
Rect#isVisible()and do not hide when they should.Other changes
basic-styles, engine, font, highlight, language: Fixed a discrepancy where applying a text attribute (such as bold) to a selection that included empty paragraphs did not set stored selection attributes on those paragraphs. See #19664. Closes #18430.
ai: Suggestions shown in AI Review sidebar now include all formatting (bold, italics, etc.) and non-plain text elements (for example, links).
ai:
AIChat#sendMessage()now allows passingattributes(arbitrary custom metadata) together with the submitted user message. You can also passattributes.displayedPromptto display a different prompt instead of the one used to query the AI model (userMessage).ai: If there is only one source of AI chat context available, it will be automatically selected when the "Add context" button is pressed instead of showing a dropdown with only one option.
ai: As more models are supported by the AI feature, only a set of recommended models will be displayed in the AI chat models dropdown. You can configure the list of displayed models via
ai.chat.models.displayedModelsin the config.ai: Conversations loaded from chat history are no longer blocked for models that are not recommended or not displayed, as long as the provider supports the model.
ai: Replaced
ai.chat.models.modelSelectorAlwaysVisibleconfiguration option withai.chat.models.showModelSelector. When set totrue(default), the model selector dropdown is shown (when multiple models are available), or the model name is displayed (when only one model is available). When set tofalse, the selector is hidden, regardless of the number of available models.ai: Added a clear explanation in AI Chat for conversations loaded from history, explaining why AI proposals (document modifications) for past conversations cannot be applied or added as suggestions.
ai: The model's configuration options have been moved from
config.ai.chat.modelstoconfig.ai.modelsto ensure consistent model configuration across all AI features. The model configuration is now applied uniformly in both AI Chat and AI Review Mode.ai: Upgrade
fast-xml-parserto version5.3.4to address security advisories reported by automated scanners. CKEditor 5 does not rely on the affected code paths and is not impacted.icons: Added new icons:
IconBoxWithCheck,IconBoxWithCross,IconBoxWithPin.import-word: Added the
undoStepBatchproperty to thedataInsertevent. It allows including custom model changes (side effects) in the same undo step as the import operation.Optimized compression and decompression mechanisms used in real-time collaboration to avoid delays when a user joins a document that was heavily edited.
Update
diffdependency to address security advisories reported by automated scanners.The affected functions (
parsePatch(),applyPatch()) are not used in this project (we only rely ondiffArrays()), so this change is released primarily to reduce false-positive security alerts.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:
Configuration
📅 Schedule: Branch creation - "before 7am every weekday" in timezone Europe/Vienna, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.