-
Notifications
You must be signed in to change notification settings - Fork 4
Update ckeditor monorepo to v47 (major) #74
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
renovate
wants to merge
1
commit into
master
Choose a base branch
from
renovate/major-ckeditor-monorepo
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
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
db5e16c to
f2f7604
Compare
752e808 to
86c2496
Compare
86c2496 to
1f66e25
Compare
c4ecd61 to
ec16090
Compare
ec16090 to
41b2077
Compare
41b2077 to
f82dc40
Compare
f82dc40 to
3533a74
Compare
3533a74 to
01c2b2d
Compare
01c2b2d to
4a6eb38
Compare
4a6eb38 to
9458b24
Compare
9458b24 to
7956f7d
Compare
7956f7d to
41984bc
Compare
41984bc to
4db3cb3
Compare
4db3cb3 to
5713a35
Compare
5713a35 to
45232f4
Compare
45232f4 to
a908756
Compare
a908756 to
8978b8b
Compare
8978b8b to
492b502
Compare
492b502 to
eb000fe
Compare
eb000fe to
2842421
Compare
2842421 to
50e62ba
Compare
50e62ba to
a722331
Compare
a722331 to
9a58160
Compare
9a58160 to
2ce2bc5
Compare
4d62a09 to
f435dfe
Compare
f435dfe to
b34fa8f
Compare
b34fa8f to
f3a8fbd
Compare
f3a8fbd to
de1d0b6
Compare
de1d0b6 to
c73d4ae
Compare
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:
32.0.0->47.3.032.0.0->47.3.032.0.0->47.3.032.0.0->47.3.032.0.0->47.3.032.0.0->47.3.0Release Notes
ckeditor/ckeditor5 (@ckeditor/ckeditor5-core)
v47.3.0Compare Source
We are happy to announce the release of CKEditor 5 v47.3.0.
Release highlights
This release introduces a minor stability update, featuring focused fixes and improvements, as well as experimental features.
CKEditor AI improvements and bug fixes
Finding a specific AI Quick Action in a long list with multiple groups can be difficult. To improve this, we are adding a filter input that lets users search for quick actions directly within the dropdown.
Visibility of the input can be easily configured using the
config.ai.quickActions.isSearchEnabledconfiguration option.This release also brings several minor but significant enhancements and fixes:
New experimental options
We keep our LTS version promise: no breaking changes until the Active LTS moves to Maintenance LTS phase (April 2026). It also means that introducing larger features can be challenging if someone is waiting for specific improvements.
To address this, we are introducing experimental flags and experimental plugins. These options allow you to preview and test upcoming changes.
New table alignment options
Enable
config.experimentalFlags.useExtendedTableBlockAlignmentand load the experimental UI pluginsTablePropertiesUIExperimentalandTableCellPropertiesUIExperimentalfor upcoming improvements to table block alignment. New options allow setting left and right table block alignment without text wrapping and resolve issues such as #3225. We also improved table properties and cell properties balloon interfaces. This change will be the default in version 48.0.0.Improved table border normalization
Setting
config.experimentalFlags.upcastTableBorderZeroAttributesenables support for the normalization of HTML tables that useborder="0". This change will be the default in version 48.0.0.Better deep schema validation
After enabling the
config.experimentalFlags.modelInsertContentDeepSchemaVerificationflag, the editor performs deep schema verification duringmodel.insertContent()operations. This ensures that the inserted content fully follows the editor’s schema, even in complex or nested structures. This change will be the default in version 48.0.0.Read more about these experimental features in the documentation.
Features
config.ai.quickActions.isSearchEnabledconfiguration option.restrictedEditingExceptionAuto) and dedicated toolbar button (restrictedEditingException:auto) for creating restricted editing exceptions (both block and inline). Closes #19353.Bug fixes
ai: AI Review now uses the latest editor content when the review check was retried (via "Try again" button).
This improvement fixes the issue when cached content was send on retry and any new changes, applied review suggestions or changes made by other users in real-time collaboration, were not sent and accounted by AI when generating new results.
ai: AI Review no longer results in an error when the AI service returns an unexpected response (multiple elements when one is expected).
ai: Track Changes markers not related to AI suggestions are now displayed in gray in AI balloon text preview, consistent with AI chat behavior.
ai: The translate check in AI Review now correctly translates the image
altattribute text.ai: The caption of images (
<figcaption>element) is now correctly processed by AI Review checks instead of being ignored.ai: Errors caused by AI feature during initialization no longer crash the editor.
ai: The AI feature keeps the correct UI state after a runtime error occurs.
ai: The AI Review "Custom command" is hidden if the model list cannot be obtained.
ai: Error messages in AI Chat History are now displayed correctly. Previously, errors caused the history view to appear empty instead of showing the error message.
ai: AI suggestions balloon content no longer stick out of the balloon on very small screens.
ckbox: Fixed CKBox Image Editor not respecting the language configuration option. Closes #19338.
comments: Fixed an issue where the comment toolbar button remained enabled even when the command to create a new comment thread was disabled (e.g., in read-only mode).
comments: Disabled revision history toolbar and menu bar buttons in comments-only mode to prevent users from using revision history features.
footnotes: Fixed an issue where cutting and pasting an empty footnotes list in the middle of a paragraph would incorrectly split the paragraph.
footnotes: Fixed an issue where the content of pasted footnotes was lost when the
multiBlockconfiguration option was disabled.footnotes: Fixed incorrect start number shown in footnotes UI when loading a document with existing footnotes.
footnotes: Footnote lists styled with
alpha-lowerandalpha-upperare now correctly highlighted in the footnotes UI.line-height: When line height is applied to a to-do list item, the checkbox is now vertically centered correctly.
pagination: Improved calculation of page breaks when long tables are present in the content.
revision-history: Fixed an issue where revision history buttons remained incorrectly enabled in read-only mode in the menubar.
table: Fixed an issue where tables with merged cells (
[rowspan]) in header columns were not handled correctly. Closes #14826.Thanks to @bendemboski.
Other changes
ai: Review suggestions can now be previewed by hovering over changes in the content, significantly enhancing the review process.
ai: Stopping generation in AI chat now clears the selection from the pending context.
ai: Custom AI quick actions referencing unavailable models are now disabled.
They are displayed as grayed out, and an error is logged to the console during the editor initialization to help integrators detect and fix the issue before it impacts end-users.
ai: Removed misleading console warnings that appeared during AI response streaming.
ai: Error messages concerning the AI feature logged in the browser console now contain the details provided by the backend service.
engine: Introduced the
experimentalFlagsconfiguration option that allows enabling or disabling specific experimental behaviors in CKEditor 5. Closes #19217.Added a new experimental flag:
modelInsertContentDeepSchemaVerification. When enabled, the editor performs a deep schema verificationduring
model.insertContent()operations, ensuring that inserted content fully complies with the editor’s schema even in complexor nested contexts.
list: Added support for passing
consumeparameter toListEditing#registerDowncastStrategymethod which allows to control whether the downcasted element should be consumed or not. It also disables consume checks for the downcasted element to allow defining side effects without consuming the model attribute.table: Added experimental support for importing HTML tables with the
[border="0"]attribute. Tables with this attribute are now automatically converted to borderless tables in the editor by applyingborder-style: noneto both table and table cell elements. Closes #19038.This change needs to be enabled by setting
experimentalFlags.upcastTableBorderZeroAttributestotrue. In the next major release, this flag will be removed and the upcast will be performed by default.The development environment for CKEditor 5 now requires Node v24.11.
Released packages
Check out the Versioning policy guide for more information.
Released packages (summary)
Releases containing new features:
Other releases:
v47.2.0Compare Source
Release highlights
CKEditor AI
We are introducing CKEditor AI, a powerful writing assistant that brings AI-powered content creation directly into CKEditor 5. It helps users create, review, and refine content without switching between tools, making the editing experience faster and more productive.
CKEditor AI includes three core capabilities:
Power users can select their preferred model during sessions (GPT-5, Claude 3.5, Gemini 2.5, and more), while integrators maintain control over access rules and usage tiers.
Built as a plugin for CKEditor 5, it integrates quickly into existing applications with minimal configuration, and all AI interactions are fully observable via audit logs and optional APIs.
CKEditor AI is available as a premium add-on to all paid CKEditor 5 plans with a transparent subscription-plus-usage pricing model. A 14-day trial is available with access to all premium features.
Footnotes (⭐)
A brand-new Footnotes feature is here! It lets users insert and manage footnotes directly in their content, keeping references organized and readable. Footnotes stay linked to their source text and update automatically when edited, ideal for academic, legal, or technical writing. You can also customize the numbering, including the starting number and numbering style, to match your document’s formatting needs.
Restricted editing for blocks (⭐)
Restricted editing now supports block-level restrictions, not just inline ones. This makes it easier to protect the entire content while still allowing controlled edits where required. A common use case is unlocking for editing template sections like paragraphs, tables, or structured document parts, and protecting the rest of the content.
Old installation methods sunset timelines
We are extending the sunset period for old installation methods (#17779) to the end of Q1 2026. It is a good moment to consider switching to the LTS edition for long-term stability and an additional 3 years of support for the old installation methods.
Other improvements and fixes
This release also brings several smaller but important enhancements and fixes:
elementToStructurehelper now handles nested structures and list elements more consistently, ensuring correct reconversion and structure maintenance.Features
config.ai.chat.context.searchInputVisibleFrom, to manage the visibility of the search input in the AI Chat context panel.@ckeditor/ckeditor5-footnotesthat provides the footnotes feature. This feature allows users to add and manage footnotes in their documents, enhancing the document's readability and providing additional context where necessary.Bug fixes
ai: If the content you were working on in
AI Balloongets removed (for example, by another user), a proper message will appear with the information and prevent further actions that could lead to errors.ai: Conversations loaded from AI Chat History are now correctly scrolled to the last message.
ai: Fixed visual inconsistencies of hover state in AI Chat.
ai: Fixed visual inconsistencies in AI Chat context section.
ai: Fixed AI Chat resize button
hoverandactivevisual states.ai: Fixed various visual issues across the AI feature.
ai: Fixed an issue where using DLLs for the
AIpackage together with theTrackChangesplugin could fail due to aDocumentCompareplugin conflict.ai: Removed doubled border at the bottom of review mode suggestions list.
ai: The styles in the AI feature operate independently from one another.
ai: Prevent editor crash on exiting pending AI review check.
ai: Configuration option
ai.availableReplyActionswill now also impact visibility of buttons displayed next to "Change X" header, which are displayed in AI Chat feed when AI returns multiple changes.ai: Fixed handling inline objects (such as inline images) by AI Review. Inline objects were incorrectly presented in the AI Review sidebar, and often were removed from the editor content upon accepting a change next to it.
ai: When a user applied and then undone an AI-proposed change, which has affected existing markers, these markers were incorrectly removed instead of being restored.
ai: Improved AI Review content processing mechanism preventing some errors originating from unexpected LLM responses.
ai: Improved the positioning of the model selection dropdown in the AI Chat feature to ensure it remains visible when space is limited.
ai: Navigation across changes proposed in AI Chat should not break if unsupported changes (which cannot be displayed) were returned by the agent.
ai: Fixed crash happening when an AI-proposed change, that included an existing suggestion, was itself inserted as a suggestion.
ai: The CKEditor AI balloon displaying content changes should remain within the viewport boundaries when used with long content selections in the editor.
ai: The AI balloon with suggested content changes should always position itself next to the relevant piece of content in the editor during navigation across multiple changes.
clipboard: The drop marker is now shown only when the target range is editable. Dropping content into non-editable is now prevented. Closes #19028.
engine: The
elementToStructuredowncast helper created elements should work more reliably in various edge cases: Closes #16055, #15919, #11739, #19209.engine: The
model.insertContent()andmodel.insertObject()should verify the wholeSchemacontext before checking auto-paragraphing. Closes #19210.engine: Fixed a bug where placeholders could become stuck and remain visible on elements when the view changed. Closes #14354, #18149.
This resolves two scenarios:
icons: Removed obsolete
clip-pathattributes from various SVG icons (IconAIHistory,IconShowChangesOff,IconShowChangesOn,IconUploadcareImageUpload) that cause rendering issues in some corner cases. Closes #19291.pagination: Fixed an issue where the pagination feature incorrectly displayed redundant page break indicators in editing mode when a page break was inserted between two tables.
paste-from-office: No longer treat elements with
mso-list:noneas list items.restricted-editing: Empty editable regions created with Restricted Editing should not get dropped when reloading the editor's data. Closes #16376.
restricted-editing: Backspace should remove content in restricted editing mode when the entire section is selected. Closes #18892.
table: The editor should not crash when trying to load data with a table inside an image caption. Closes #19211.
table: The
TableConfigtype is no longer exported as internal.widget: Fixed changing (expanding and shrinking) the selection with the keyboard while widgets are involved. Closes #19212.
Other changes
ai, track-changes: CKEditor AI no longer requires the Track Changes feature, and can be used without it. In such setup, CKEditor AI will not be able to insert AI-proposed changes as suggestions and all related buttons will be hidden.
ai: Renamed the automatically selected AI model to "Auto" (previously "Agent"). Allowed for using
'auto'inconfig.ai.chat.models.defaultModelIdandconfig.ai.chat.models.displayedModelsconfigurations to make integration easier.ai: Improved real-time collaboration support in AI Review. Changes adjacent or within review suggestions in the editor content, made by remote users, will correctly invalidate/restore review suggestions.
ai: Added missing
AISuggestionActionNameexport, which is used in the CKEditor AI feature configuration.ai: AI Review suggestions now remain visible after being accepted or rejected, also can be marked as outdated if they are affected by RTC changes.
clipboard: Loosened rules for drop target position lookup so it is possible to drop in-text when there is anything droppable into in-text context.
icons: Added
IconDocumentOutlineToggleicon.icons: Introducing an icon that represents an outdated state. Closes #19282.
paste-from-office: Added normalization of footnotes while pasting content from Word.
table: Fixed incorrect Japanese translations for table layout feature. Closes #19255.
Thanks to @ponyoxa.
uploadcare: Added a configuration option
config.uploadcare.localethat allows providing custom translations for Uploadcare components or using predefined CDN URLs for other languages, enabling full localization beyond the default English version.utils: Exposed a utility function
getConstrainedViewportRect(), which returns the bounds of the visible viewport. Closes #19222.widget: The Esc key handling in widgets is registered in the editable element context. This allows easier customization of handlers for Esc keypress inside widgets and nested editable elements.
Updated translations.
Released packages
Check out the Versioning policy guide for more information.
Released packages (summary)
New packages:
Minor releases (contain minor breaking changes):
Releases containing new features:
Other releases:
v47.1.0Compare Source
We are happy to announce the release of CKEditor 5 v47.1.0.
Release highlights
This release introduces a minor stability update, featuring focused fixes and UX improvements.
MINOR BREAKING CHANGES ℹ️
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), 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 these updates again.
This PR was generated by Mend Renovate. View the repository job log.