Problem/Motivation
https://github.com/ckeditor/ckeditor5/releases/tag/v45.2.0
Steps to reproduce
Proposed resolution
Remaining tasks
Work through the test failures and fix then.
User interface changes
Introduced terminology
API changes
Data model changes
Release notes snippet
CKEditor5 is updated from v44.0.0 to v45.2.0, which includes a number of improvements and bug fixes. If you have any custom integrations with CKEditor, see the v45 release notes for breaking changes. If you were using the provided CKEditor5 icon set, the icons have been renamed. Drupal has added an icon name backward compatibility layer for this specific change. CKEditor also now adds the "table" class to all <table> elements, so themes using CSS rules that style tables differently based on the presence of that class may need those rules changed.
| Comment | File | Size | Author |
|---|---|---|---|
| #39 | 3523018-nr-bot.txt | 91 bytes | needs-review-queue-bot |
| #13 | Screenshot 2025-05-28 at 3.21.32 PM.png | 22.39 KB | godotislate |
| #13 | Screenshot 2025-05-28 at 3.21.19 PM.png | 20.86 KB | godotislate |
| #13 | Screenshot 2025-05-28 at 3.20.57 PM.png | 23.41 KB | godotislate |
| #13 | Screenshot 2025-05-28 at 3.20.34 PM.png | 18.58 KB | godotislate |
Issue fork drupal-3523018
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
- 3523018-10.5.x
changes, plain diff MR !12331
- 3523018-update-ckeditor-5
changes, plain diff MR !12060
Comments
Comment #3
longwaveyarn build:ckeditor5results in some warningsComment #4
longwaveNeeds work for #3 plus test failures.
Comment #5
longwaveComment #6
idebr commentedDuplicate of #3517711: Update CKEditor 5 to 45.0.0 ?
Comment #7
salmonek commentedLooks like a result of breaking change in CKEditor 5 v45.0.0:
https://ckeditor.com/docs/ckeditor5/45.0.0/updating/guides/changelog.htm...
Comment #9
quietone commentedI didn't get an warning from yarn. But there are many test failures, 2 1/2 pages worht.
Comment #10
quietone commentedComment #11
catchComment #12
godotislateLooking at this now: the icons were moved to @ckeditor/ckeditor5-icons and RENAMED.
https://github.com/ckeditor/ckeditor5/pull/17750/files
Comment #13
godotislateFinally got all tests passing.
There are some breaking changes:
tabletags now will all have thetableclass added to them: https://github.com/ckeditor/ckeditor5/pull/17889/filesThere are also changes in the UI for linking images and media.
Note that screenshots below are with standard profile, Media library, and the
ckeditor5_manual_decorator_testmodule providing the two extra properties "Open in a new tab" and "Pink color" via manual decorators.11.x/Before (inserting media with link):

MR branch/After (inserting media with link):

Comment #14
catchAdding the release notes tag - we'll want to document the UI changes, and maybe the API changes if we think they could affect contrib, in the 11.2.0 release notes.
Comment #15
godotislateThere might be others, but these were the ones that surfaced from failed tests. :)
Comment #16
longwavehttps://github.com/ckeditor/ckeditor5/releases/tag/v45.2.0 is out, we should try to bump to that I guess.
Comment #17
longwaveThanks for working on this. I've reviewed the MR and the changes all make sense, not too worried about any of the test changes.
For the icons we have some choices: I think this initial BC layer is a good idea. I think we should also issue a deprecation from the PHP side if we detect an old icon name; this way we can remove the BC layer in the future. Alternatively we could also move the entire BC layer to the PHP side, and it doesn't look too hard to support all the icon names they changed, there aren't actually that many.
On the other hand, we are running up against the rc1 deadlines, so the quicker we can just get this in the better; maybe we could add the deprecation and improved BC layer in a followup.
NW for updating to v45.2.0.
Comment #18
longwaveUpdated to v45.2.0.
Comment #19
longwaveComment #20
xjmComment #21
godotislateI agree with pushing off a better BC layer to a follow up. It's non-trival effort, and use cases seem to be limited to adding buttons to the Media dialog. Also, one thing about specifying icons is that they can either be the SVG markup or name of an existing icon, so the BC detection needs to account for that as well.Never mind! Deprecation added to MR.
Comment #22
smustgrave commentedAdded a small release note. Not sure worth mentioning the highlights from the release
We fixed the copy-paste scenario in the read-only mode.
Tables pasted from Office, especially with borderless layouts, should preserve styling in the editor similar to the ones in the source file.
Improved the adoption of the fullscreen feature on smaller screens and includes subtle visual tweaks.
Comment #23
xjmA CKEditor release that requires bug fixes usually needs more detail in the release note in case they also affect contrib or custom modules, so unless someone can say for sure none of the bugs on this issue would have done that, we might need more that highlights the specific disruptive changes. We also generally include a link to CKE's own release notes for a disruptive CKE update. Thanks!
Comment #24
longwaveI think the icon break is the biggest one so explicitly called that out with a link to the CR, otherwise not sure which ones are important so added a catch-all and linked to the CKE upgrade notes.
Comment #25
longwaveComment #26
xjmLooks great, thanks @longwave!
Comment #27
catchThis all looks good to me.
I noticed one outdated license reference in the MR, looks like it's a pre-existing issue from a long time ago though.
For a 10.5.x backport, I think we could make all the same changes but without triggering any deprecations - e.g. a silent bc layer which then becomes un-silent from 11.2.x
Comment #28
catchOpened #3529141: ckeditor5.showBlocks libraries entry links to outdated license version.
Comment #29
godotislateLooks like
ckeditor5.essentialsin core.libraries.yml is at version "35.1.0" and linked to the the corresponding license as well. Didn't see any history about that with a quick look at the git blame.Comment #31
xjm@godotislate Could we either followup, or actually just make the change a suggestion (using the GitLab "suggest feature") and discuss in the comment thread on the current MR? In generalt two MRs on one issue is something we should avoid except when we're working with multiple branches or comparing different architectual approaches.
Thanks so much for your assistance on this issue and all the ones like it! It's a big help for core releases.
Comment #32
godotislate@xjm added MR comment about the ckeditor5.essentials version.
New MR 12331 is for 10.5.x and WIP.
Comment #33
godotislateOK, MR for 10.5.x with changes per #27 for no deprecation warnings: https://git.drupalcode.org/project/drupal/-/merge_requests/12331
If I'd thought about it more, would have waited to see if any package versions would be changed in 11.x MR, but should be easy enough to copy over if so. Held off on 10.6.x for that reason, though, assuming 10.6.x needs an MR as well.
Comment #36
catchCommitted/pushed to 11.x and cherry-picked to 11.2.x, thanks! I accepted the one version string license suggestion, and made and accepted another one.
I have not reviewed the 10.5.x MR yet and it hasn't been independently RTBCed, so moving to needs review for that.
Comment #38
xjmComment #39
needs-review-queue-bot commentedThe Needs Review Queue Bot tested this issue. It no longer applies to Drupal core. Therefore, this issue status is now "Needs work".
This does not mean that the patch necessarily needs to be re-rolled or the MR rebased. Read the Issue Summary, the issue tags and the latest discussion here to determine what needs to be done.
Consult the Drupal Contributor Guide to find step-by-step guides for working with issues.
Comment #40
godotislateNot sure what the bot's on about.
Comment #41
smustgrave commentedthink the bot checks against 11.x
Comment #42
acbramley commentedIt's unfortunate that this landed before #3317769: Add support for linking to entities in CKEditor 5 as the upgrade has BC breaks for stuff we were using there. I'm trying to figure out how to fix it but it's not clear at all how to.
If anyone is more familiar with CKE5 objects, please let me know :)
https://www.drupal.org/project/drupal/issues/3317769#comment-16141773
Comment #43
xjm@acbramley That's a helpful data point; thank you. From a security and release management perspective, it's very important for us to be on the latest CKEditor version prior to a minor release and that takes precedence over almost anything, but the fact that the update broke a feature under development is good forewarning about what we might expect to happen when the release goes out. If you do discover what caused the breakage, please also report back here so we can add to the CR and release note about it.
Comment #44
acbramley commented@xjm sure, I understand that, just a bit of a vent tbh since that feature has been so close to getting in since a month ago :(
The breaking change for this particular thing is described here https://ckeditor.com/docs/ckeditor5/latest/updating/guides/update-to-45....
It may affect modules such as Linkit and Editor Advanced Link but as far as I can see they aren't altering the actionsView in the same way we are in the core issue.
Comment #45
justcaldwellRegarding item 2 from #13:
It might be worth calling that out in the release note. If a theme uses the
.tableclass to apply styles, CKEditor might now apply table styles where that wasn't previously the case. The CKE release notes don't mention the added class.For example: in our Bootstrap-based theme (and, likely, many others), the
.tableclass is used to opt-in to Bootstrap's table styles, and we already add the class to all tables (via a filter) in our "Basic HTML" text format. But, we also provide a more permissive text format where advanced contributors can omit the class if they need specific table styling. Unless I'm misunderstanding something, after this change CKEditor will essentially force those styles in all cases.Comment #46
godotislateTo #45, agreed. I recall working on projects where the FE theme was styling tables based on presence of the "table" class, so I thought CKEditor adding that class to the
tableelement to solve an editor display issue wrt centering was unfortunate.Comment #47
catchThe icon bc layer backport looks good - all the same except it's silent instead of issuing deprecations, test coverage the same except for not expecting deprecations. Didn't check the rest of the MR but I think that is all identical to the 11.x MR anyway.
Comment #48
godotislate@acbramley, took a peek at #3317769: Add support for linking to entities in CKEditor 5 and, unfortunately it looks like the pain there would have been pain here had it gone in first, so lose-lose either way.
Comment #49
xjmFor #45 and #46, can you propose an edit to the release note in the issue summary for that? Then we can update the RC1 release notes and also use it in the 11.2.0/10.5.0 release notes. Thanks!
Comment #50
godotislateComment #51
godotislateAdd above to RN snippet in IS.
Comment #52
larowlanSo I reran the steps and got the same result for core/assets/vendor, the first time I was missing all new files thanks to an over zealous local gitignore
sorry for the noise, RTBC
Comment #53
idebr commentedBC break reported in Linkit: #3522476: Compatibility fix for v45 of CKEditor5
Comment #56
catchWe should try to feed the linkit and #3317769: Add support for linking to entities in CKEditor 5 bc breaks back into the change record when there's enough known to write it up in case it affects other contrib/custom modules, and maybe explicitly link to a new linkit release once there is one in the 10.5.0/11.2.0 release notes.
Committed/pushed to 10.5.x, thanks!
Comment #58
idebr commentedBC break reported in Editor Advanced Link: #3531194: D11.2 / D10.5: Uncaught CKEditorError: Cannot read properties of undefined (reading 'viewUid')
Comment #59
mparker17Also experiencing a BC break in CKEditor Abbreviation: #3531259: Incompatible with Drupal Core 10.5 / CKEditor 45
Comment #60
dcam commentedJust in case anyone else arrives here looking for answers:
This update broke the Anchor Link module too. See #3530424: Missing icon (pencil) is breaking CKEditor5.
Comment #61
yannickooI can report another BC break in Embedded Content module: #3533539: Uncaught CKEditorError: Cannot read properties of undefined (reading 'pencil')