Skip to content

build(deps): bump the @wordpress group to one Gutenberg release - #691

Open
dcalhoun wants to merge 5 commits into
trunkfrom
build/bump-wordpress-packages
Open

dcalhoun wants to merge 5 commits into
trunkfrom
build/bump-wordpress-packages

Conversation

@dcalhoun

@dcalhoun dcalhoun commented Sep 17, 2026

Copy link
Copy Markdown
Member

What?

Update the @wordpress dependencies group to the latest releases.

Why?

These dependencies have been stale for several months, missing out on the latest features and bug fixes.

How?

  • Bump the @wordpress dependency versions
  • Regenerate patch-package files
  • Drop the @wordpress/rich-text patch fixed in WordPress/gutenberg#82598
  • Fix background color E2E test query to match UI change
  • Introduce a new patch restoring truthy media upload fallback value removed in WordPress/gutenberg#76307

Testing Instructions

Given the numerous dependency updates, it's worth regression testing the editor in a broad manner.

Accessibility Testing Instructions

General regression testing editor navigating with screen readers.

Screenshots or screencast

N/A, no user-facing changes.


Agent summary

Supersedes #661. That branch is Dependabot's; this one carries enough of our own work that it should be reviewed as ours.

Why the group had to move together

Dependabot bumped most of the group to the 55.0-era release but left element (6.46.0), compose (7.46.0), blocks (15.27.0) and core-data (7.54.0) on their previous majors. Every bumped package asks for element@^8.7.0, compose@^8.8.0, blocks@^16.0.0 and core-data@^8.0.0, so npm nested a second copy of each under 90 dependents — 36 copies of element alone. That is the split make check-wp-packages exists to catch.

core-data@7.54.0 was also what pinned icons at ^15.5.0, so the KNOWN_DUPLICATES allowance retired itself on its own terms: its comment already said it resolves once the packages move together.

The missing Upload button

@wordpress/core-data 7.42.0 (Gutenberg #76307) added a null guard to getUserPermissionsFromAllowHeader. Before it, a missing Allow header threw, the canUser resolver hit failResolution, and canUser stayed undefined. After it, the same case resolves to false.

That matters because @wordpress/editor reads hasUploadPermissions: canUser( 'create', { kind: 'postType', name: 'attachment' } ) ?? true. false does not fall through ??, so settings.mediaUpload becomes undefined and the Upload and Media Library buttons disappear from every MediaPlaceholder — only "Insert from URL" survives.

The header is unreadable because the editor is cross-origin to the REST API. A browser hides response headers the site does not name in Access-Control-Expose-Headers, and WordPress names only X-WP-Total, X-WP-TotalPages and Link. Verified on both wp-env and the namespaced API, which sends allow: GET and withholds it from JS.

This has blocked the whole @wordpress stream since April: #459, #506 and #538 (core-data), #537 (editor), #535 (compose), #508 and #536 (html-entities) and #539 (token-list) were all closed unmerged. The 52-package, 8-major size of this bump is that backlog.

Which surfaces are affected

Surface Editor origin Cross-origin? Media upload
iOS, bundled file:// with allowUniversalAccessFromFileURLs 🟢 CORS bypassed 🟢 OK
iOS, Vite dev server http://localhost:5173 🔴 Yes 🔴 Broken
Android, self-hosted with application password https://<site-host>/assets/ 🟢 No 🟢 OK
Android, namespaced sites https://<site-host>/assets/ 🔴 Yes 🔴 Broken
Android, Vite dev server http://localhost:5173 🔴 Yes 🔴 Broken
Web E2E / make dev-server localhost:5173 🔴 Yes 🔴 Broken

So one production segment plus every local-dev flow. iOS only gets the CORS bypass on the bundled file:// load; pointed at Vite it takes the webView.load( URLRequest( url: ) ) branch, where the bypass does not apply.

Three mechanics that constrain any fix

  • Returning early from a resolver is safe. @wordpress/data wraps resolvers in startResolutionfinishResolution (redux-store/index.mjs:436-444), so an early return still finishes the resolution and canUser stays undefined with no retry loop. Throwing instead hits failResolution, which is what 7.41.0 did — restoring that breaks the post title rather than fixing upload.
  • Seeding state alone does not work. Populating state via receiveUserPermissions does not stop the resolver from running and overwriting with false; it also needs finishResolutions with upstream's exact args shape.
  • Only the no-information case is broken. iOS bundled and Android self-hosted read Allow correctly and get real permissions. A fix must preserve that.

Options considered

Fixes namespaced Android Fixes local dev + E2E Correctness Cost Fails loudly if upstream moves
1. Patch core-data (chosen) 🟢 Yes 🟢 Yes 🔴 Assumes true1 ~10 lines 🟢 Yes, at npm ci
2a. Seed true from GutenbergKit 🟢 Yes 🟢 Yes 🔴 Assumes true1 Small 🔴 No, silent
2b. Seed from users/me capabilities 🟢 Yes 🟢 Yes 🟡 Real, global capability2 Medium 🔴 No, silent
#462. Seed from host-supplied capabilities 🟢 Yes 🟢 Yes 🟡 Real, global capability2 Large, breaking 🔴 No, silent
3. Expose Allow server-side 🟢 Yes 🔴 No 🟢 Real, exact resource3 1 line, not this repo n/a
4. Relay request through native proxy 🟢 Yes 🔴 No 🟢 Real, exact resource3 Large n/a
5. Vite dev proxy 🔴 No 🟢 Yes 🟢 Real, exact resource3 Small n/a
6. Upstream Gutenberg PR 🟡 Yes, eventually 🟡 Yes, eventually 🔴 Assumes true1 Small + release cycle n/a
7. Hold the bump n/a n/a n/a Indefinite freeze n/a

1. Patch @wordpress/core-data — chosen. Return early when Allow is unreadable, so absent means unknown rather than denied and ?? true applies again. Surgical: it only changes behaviour where there is no information, so real permissions still win same-origin. Fixes every affected surface with no application code. The cost is an eighth patch, and an optimistic default — a Contributor on a namespaced site gets an Upload button that fails on use, which is the pre-7.42 status quo rather than a new regression. It is removed when 6 or #462 lands, not maintained indefinitely.

2/#462. Seed permissions into the store. #462 is the strongest form: the host fetches capabilities via GET /wp/v2/users/me?context=edit&_fields=capabilities outside the browser and passes them over the existing window.GBKit bridge, with the parameter required so no host silently regresses. Correct where option 1 is merely optimistic. Deferred rather than dropped: it is a breaking change across both native SDKs, demo apps and docs (+605/−104 over 26 files), currently a five-month-stale conflicting draft built against editor 14.44, and folding an API break into a 52-package bump would make this un-reviewable. It also depends on two undocumented internals — the create/postType/attachment cache key and canUser's args shape — and its tests fully mock @wordpress/data and @wordpress/core-data while asserting those as literals, so upstream drift would leave them green. Worth adding a test against a real registry when it is rebased.

3. Expose Allow server-side. Strictly better than 1 or 2 for correctness, since it restores real permissions instead of a default, and realistic on the namespaced API where those headers are already customised. Does nothing for local dev, E2E or self-hosted cross-origin, and WP core would take years to propagate. A follow-up, not a stopgap.

4. Relay request through native proxy. The host performs the OPTIONS request outside the browser, where CORS does not apply, and hands back the real Allow header. Unlike #462 it answers per resource on demand rather than pushing a fixed capability list up front, so it covers every canUser call and stays accurate for object-scoped checks. The cost is new runtime machinery — an async request path and auth relay, generalising the loopback server that today only forwards media uploads — plus host adoption on both platforms, and it does nothing for the web dev server. Dropped as far too large for a dependency bump.

5. Vite dev proxy. Dropped as actively harmful: it would make local dev same-origin and mask the one real production regression, so nobody could reproduce the namespaced-Android bug locally. It fixes nothing in production.

7. Hold the bump. Not available. block-library@11, editor@15, edit-post, patterns, widgets and media-utils all require core-data@^8, and pinning 7.x reintroduces the duplicate installs check-wp-packages forbids. Holding means holding all 52 packages indefinitely, and the pre-7.42 behaviour was a crash rather than a working state.

Follow-ups

Other changes in this branch

  • Four patches regenerated. Inserter became a forwardRef function component upstream, so the open/popoverProps passthrough reads from the destructured parameter list rather than this.props.
  • The @wordpress/rich-text patch is deleted: preventFocusCapture now subscribes pointercancel to its pointerup handler upstream.
  • color-gradient.spec.js selector updated. The colour controls moved into a tools panel headed "Background" where the control is labelled "Color", the same label the text colour control carries, so the old substring match reached the panel's options menu instead.

Verification

make npm-dependencies (8 patches apply), make build, make dev-server, make lint-js, make test-js, make check-wp-packages, make test-e2e.

🤖 Generated with Claude Code

Footnotes

  1. Source of truth: none. The editor assumes permission when it cannot determine one, matching the behaviour that shipped before core-data@7.42.0. 2 3

  2. Source of truth: capabilities.upload_files from GET /wp/v2/users/me?context=edit — a site-wide user capability. 2

  3. Source of truth: the REST Allow header, which WordPress computes per request from that endpoint's permission_callback, so it can reflect per-object rules. 2 3

@github-actions github-actions Bot added the [Type] Build Tooling Issues or PRs related to build tooling label Sep 17, 2026
@wpmobilebot

wpmobilebot commented Sep 17, 2026

Copy link
Copy Markdown

XCFramework Build

This PR's XCFramework is available for testing. Add the following to your Package.swift:

.package(url: "https://github.com/wordpress-mobile/GutenbergKit", branch: "pr-build/691")

Built from c2c0a8a

dependabot Bot and others added 5 commits September 18, 2026 13:03
…h 52 updates

Bumps the wordpress-packages group with 52 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@wordpress/a11y](https://github.com/WordPress/gutenberg/tree/HEAD/packages/a11y) | `4.43.0` | `4.55.0` |
| [@wordpress/api-fetch](https://github.com/WordPress/gutenberg/tree/HEAD/packages/api-fetch) | `7.43.0` | `7.55.0` |
| [@wordpress/autop](https://github.com/WordPress/gutenberg/tree/HEAD/packages/autop) | `4.43.0` | `4.55.0` |
| [@wordpress/base-styles](https://github.com/WordPress/gutenberg/tree/HEAD/packages/base-styles) | `6.19.0` | `13.1.0` |
| [@wordpress/blob](https://github.com/WordPress/gutenberg/tree/HEAD/packages/blob) | `4.43.0` | `4.55.0` |
| [@wordpress/block-editor](https://github.com/WordPress/gutenberg/tree/HEAD/packages/block-editor) | `15.14.0` | `17.1.0` |
| [@wordpress/block-library](https://github.com/WordPress/gutenberg/tree/HEAD/packages/block-library) | `9.41.0` | `11.0.0` |
| [@wordpress/blocks](https://github.com/WordPress/gutenberg/tree/HEAD/packages/blocks) | `15.16.0` | `15.27.0` |
| [@wordpress/commands](https://github.com/WordPress/gutenberg/tree/HEAD/packages/commands) | `1.43.0` | `1.55.0` |
| [@wordpress/components](https://github.com/WordPress/gutenberg/tree/HEAD/packages/components) | `32.5.0` | `40.1.0` |
| [@wordpress/compose](https://github.com/WordPress/gutenberg/tree/HEAD/packages/compose) | `7.43.0` | `7.46.0` |
| [@wordpress/core-data](https://github.com/WordPress/gutenberg/tree/HEAD/packages/core-data) | `7.41.0` | `7.54.0` |
| [@wordpress/data](https://github.com/WordPress/gutenberg/tree/HEAD/packages/data) | `10.43.0` | `10.55.0` |
| [@wordpress/data-controls](https://github.com/WordPress/gutenberg/tree/HEAD/packages/data-controls) | `4.41.0` | `4.55.0` |
| [@wordpress/date](https://github.com/WordPress/gutenberg/tree/HEAD/packages/date) | `5.43.0` | `5.55.0` |
| [@wordpress/deprecated](https://github.com/WordPress/gutenberg/tree/HEAD/packages/deprecated) | `4.43.0` | `4.55.0` |
| [@wordpress/dom](https://github.com/WordPress/gutenberg/tree/HEAD/packages/dom) | `4.43.0` | `4.55.0` |
| [@wordpress/dom-ready](https://github.com/WordPress/gutenberg/tree/HEAD/packages/dom-ready) | `4.43.0` | `4.55.0` |
| [@wordpress/edit-post](https://github.com/WordPress/gutenberg/tree/HEAD/packages/edit-post) | `8.41.0` | `8.55.0` |
| [@wordpress/editor](https://github.com/WordPress/gutenberg/tree/HEAD/packages/editor) | `14.41.0` | `15.0.0` |
| [@wordpress/element](https://github.com/WordPress/gutenberg/tree/HEAD/packages/element) | `6.43.0` | `6.46.0` |
| [@wordpress/escape-html](https://github.com/WordPress/gutenberg/tree/HEAD/packages/escape-html) | `3.43.0` | `3.55.0` |
| [@wordpress/format-library](https://github.com/WordPress/gutenberg/tree/HEAD/packages/format-library) | `5.41.0` | `5.55.0` |
| [@wordpress/global-styles-engine](https://github.com/WordPress/gutenberg/tree/HEAD/packages/global-styles-engine) | `1.9.0` | `1.22.0` |
| [@wordpress/hooks](https://github.com/WordPress/gutenberg/tree/HEAD/packages/hooks) | `4.43.0` | `4.55.0` |
| [@wordpress/html-entities](https://github.com/WordPress/gutenberg/tree/HEAD/packages/html-entities) | `4.43.0` | `4.55.0` |
| [@wordpress/i18n](https://github.com/WordPress/gutenberg/tree/HEAD/packages/i18n) | `6.16.0` | `6.28.0` |
| [@wordpress/icons](https://github.com/WordPress/gutenberg/tree/HEAD/packages/icons) | `11.8.0` | `16.0.0` |
| [@wordpress/is-shallow-equal](https://github.com/WordPress/gutenberg/tree/HEAD/packages/is-shallow-equal) | `5.43.0` | `5.55.0` |
| [@wordpress/keyboard-shortcuts](https://github.com/WordPress/gutenberg/tree/HEAD/packages/keyboard-shortcuts) | `5.43.0` | `5.55.0` |
| [@wordpress/keycodes](https://github.com/WordPress/gutenberg/tree/HEAD/packages/keycodes) | `4.43.0` | `4.55.0` |
| [@wordpress/media-utils](https://github.com/WordPress/gutenberg/tree/HEAD/packages/media-utils) | `5.41.0` | `5.55.0` |
| [@wordpress/notices](https://github.com/WordPress/gutenberg/tree/HEAD/packages/notices) | `5.41.0` | `5.55.0` |
| [@wordpress/patterns](https://github.com/WordPress/gutenberg/tree/HEAD/packages/patterns) | `2.41.0` | `2.55.0` |
| [@wordpress/plugins](https://github.com/WordPress/gutenberg/tree/HEAD/packages/plugins) | `7.41.0` | `7.55.0` |
| [@wordpress/preferences](https://github.com/WordPress/gutenberg/tree/HEAD/packages/preferences) | `4.43.0` | `4.55.0` |
| [@wordpress/preferences-persistence](https://github.com/WordPress/gutenberg/tree/HEAD/packages/preferences-persistence) | `2.41.0` | `2.55.0` |
| [@wordpress/primitives](https://github.com/WordPress/gutenberg/tree/HEAD/packages/primitives) | `4.43.0` | `4.55.0` |
| [@wordpress/priority-queue](https://github.com/WordPress/gutenberg/tree/HEAD/packages/priority-queue) | `3.43.0` | `3.55.0` |
| [@wordpress/private-apis](https://github.com/WordPress/gutenberg/tree/HEAD/packages/private-apis) | `1.43.0` | `1.55.0` |
| [@wordpress/rich-text](https://github.com/WordPress/gutenberg/tree/HEAD/packages/rich-text) | `7.43.0` | `7.55.0` |
| [@wordpress/router](https://github.com/WordPress/gutenberg/tree/HEAD/packages/router) | `1.41.0` | `1.55.0` |
| [@wordpress/server-side-render](https://github.com/WordPress/gutenberg/tree/HEAD/packages/server-side-render) | `6.17.0` | `6.31.0` |
| [@wordpress/shortcode](https://github.com/WordPress/gutenberg/tree/HEAD/packages/shortcode) | `4.43.0` | `4.55.0` |
| [@wordpress/style-engine](https://github.com/WordPress/gutenberg/tree/HEAD/packages/style-engine) | `2.43.0` | `2.55.0` |
| [@wordpress/theme](https://github.com/WordPress/gutenberg/tree/HEAD/packages/theme) | `0.8.0` | `2.1.0` |
| [@wordpress/token-list](https://github.com/WordPress/gutenberg/tree/HEAD/packages/token-list) | `3.41.0` | `3.55.0` |
| [@wordpress/url](https://github.com/WordPress/gutenberg/tree/HEAD/packages/url) | `4.43.0` | `4.55.0` |
| [@wordpress/viewport](https://github.com/WordPress/gutenberg/tree/HEAD/packages/viewport) | `6.41.0` | `6.55.0` |
| [@wordpress/warning](https://github.com/WordPress/gutenberg/tree/HEAD/packages/warning) | `3.43.0` | `3.55.0` |
| [@wordpress/widgets](https://github.com/WordPress/gutenberg/tree/HEAD/packages/widgets) | `4.41.0` | `4.55.0` |
| [@wordpress/wordcount](https://github.com/WordPress/gutenberg/tree/HEAD/packages/wordcount) | `4.42.0` | `4.55.0` |

Updates `@wordpress/a11y` from 4.43.0 to 4.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/a11y/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/a11y@4.55.0/packages/a11y)

Updates `@wordpress/api-fetch` from 7.43.0 to 7.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/api-fetch/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/api-fetch@7.55.0/packages/api-fetch)

Updates `@wordpress/autop` from 4.43.0 to 4.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/autop/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/autop@4.55.0/packages/autop)

Updates `@wordpress/base-styles` from 6.19.0 to 13.1.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/base-styles/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/base-styles@13.1.0/packages/base-styles)

Updates `@wordpress/blob` from 4.43.0 to 4.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/blob/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/blob@4.55.0/packages/blob)

Updates `@wordpress/block-editor` from 15.14.0 to 17.1.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/block-editor/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/block-editor@17.1.0/packages/block-editor)

Updates `@wordpress/block-library` from 9.41.0 to 11.0.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/block-library/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/block-library@11.0.0/packages/block-library)

Updates `@wordpress/blocks` from 15.16.0 to 15.27.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/blocks/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/blocks@15.27.0/packages/blocks)

Updates `@wordpress/commands` from 1.43.0 to 1.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/commands/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/commands@1.55.0/packages/commands)

Updates `@wordpress/components` from 32.5.0 to 40.1.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/components/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/components@40.1.0/packages/components)

Updates `@wordpress/compose` from 7.43.0 to 7.46.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/compose/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/compose@7.46.0/packages/compose)

Updates `@wordpress/core-data` from 7.41.0 to 7.54.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/core-data/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/core-data@7.54.0/packages/core-data)

Updates `@wordpress/data` from 10.43.0 to 10.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/data/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/data@10.55.0/packages/data)

Updates `@wordpress/data-controls` from 4.41.0 to 4.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/data-controls/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/data-controls@4.55.0/packages/data-controls)

Updates `@wordpress/date` from 5.43.0 to 5.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/date/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/date@5.55.0/packages/date)

Updates `@wordpress/deprecated` from 4.43.0 to 4.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/deprecated/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/deprecated@4.55.0/packages/deprecated)

Updates `@wordpress/dom` from 4.43.0 to 4.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/dom@4.55.0/packages/dom)

Updates `@wordpress/dom-ready` from 4.43.0 to 4.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/dom-ready/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/dom-ready@4.55.0/packages/dom-ready)

Updates `@wordpress/edit-post` from 8.41.0 to 8.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/edit-post/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/edit-post@8.55.0/packages/edit-post)

Updates `@wordpress/editor` from 14.41.0 to 15.0.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/editor/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/editor@15.0.0/packages/editor)

Updates `@wordpress/element` from 6.43.0 to 6.46.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/element/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/element@6.46.0/packages/element)

Updates `@wordpress/escape-html` from 3.43.0 to 3.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/escape-html/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/escape-html@3.55.0/packages/escape-html)

Updates `@wordpress/format-library` from 5.41.0 to 5.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/format-library/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/format-library@5.55.0/packages/format-library)

Updates `@wordpress/global-styles-engine` from 1.9.0 to 1.22.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/global-styles-engine/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/global-styles-engine@1.22.0/packages/global-styles-engine)

Updates `@wordpress/hooks` from 4.43.0 to 4.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/hooks/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/hooks@4.55.0/packages/hooks)

Updates `@wordpress/html-entities` from 4.43.0 to 4.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/html-entities/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/html-entities@4.55.0/packages/html-entities)

Updates `@wordpress/i18n` from 6.16.0 to 6.28.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/i18n/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/i18n@6.28.0/packages/i18n)

Updates `@wordpress/icons` from 11.8.0 to 16.0.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/icons/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/icons@16.0.0/packages/icons)

Updates `@wordpress/is-shallow-equal` from 5.43.0 to 5.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/is-shallow-equal/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/is-shallow-equal@5.55.0/packages/is-shallow-equal)

Updates `@wordpress/keyboard-shortcuts` from 5.43.0 to 5.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/keyboard-shortcuts/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/keyboard-shortcuts@5.55.0/packages/keyboard-shortcuts)

Updates `@wordpress/keycodes` from 4.43.0 to 4.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/keycodes/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/keycodes@4.55.0/packages/keycodes)

Updates `@wordpress/media-utils` from 5.41.0 to 5.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/media-utils/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/media-utils@5.55.0/packages/media-utils)

Updates `@wordpress/notices` from 5.41.0 to 5.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/notices/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/notices@5.55.0/packages/notices)

Updates `@wordpress/patterns` from 2.41.0 to 2.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/patterns/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/patterns@2.55.0/packages/patterns)

Updates `@wordpress/plugins` from 7.41.0 to 7.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/plugins/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/plugins@7.55.0/packages/plugins)

Updates `@wordpress/preferences` from 4.43.0 to 4.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/preferences/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/preferences@4.55.0/packages/preferences)

Updates `@wordpress/preferences-persistence` from 2.41.0 to 2.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/preferences-persistence/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/preferences-persistence@2.55.0/packages/preferences-persistence)

Updates `@wordpress/primitives` from 4.43.0 to 4.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/primitives/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/primitives@4.55.0/packages/primitives)

Updates `@wordpress/priority-queue` from 3.43.0 to 3.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/priority-queue/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/priority-queue@3.55.0/packages/priority-queue)

Updates `@wordpress/private-apis` from 1.43.0 to 1.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/private-apis/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/private-apis@1.55.0/packages/private-apis)

Updates `@wordpress/rich-text` from 7.43.0 to 7.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/rich-text/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/rich-text@7.55.0/packages/rich-text)

Updates `@wordpress/router` from 1.41.0 to 1.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/router/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/router@1.55.0/packages/router)

Updates `@wordpress/server-side-render` from 6.17.0 to 6.31.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/server-side-render/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/server-side-render@6.31.0/packages/server-side-render)

Updates `@wordpress/shortcode` from 4.43.0 to 4.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/shortcode/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/shortcode@4.55.0/packages/shortcode)

Updates `@wordpress/style-engine` from 2.43.0 to 2.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/style-engine/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/style-engine@2.55.0/packages/style-engine)

Updates `@wordpress/theme` from 0.8.0 to 2.1.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/theme/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/theme@2.1.0/packages/theme)

Updates `@wordpress/token-list` from 3.41.0 to 3.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/token-list/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/token-list@3.55.0/packages/token-list)

Updates `@wordpress/url` from 4.43.0 to 4.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/url/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/url@4.55.0/packages/url)

Updates `@wordpress/viewport` from 6.41.0 to 6.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/viewport/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/viewport@6.55.0/packages/viewport)

Updates `@wordpress/warning` from 3.43.0 to 3.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/warning/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/warning@3.55.0/packages/warning)

Updates `@wordpress/widgets` from 4.41.0 to 4.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/widgets/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/widgets@4.55.0/packages/widgets)

Updates `@wordpress/wordcount` from 4.42.0 to 4.55.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/wordcount/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/wordcount@4.55.0/packages/wordcount)

---
updated-dependencies:
- dependency-name: "@wordpress/a11y"
  dependency-version: 4.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/api-fetch"
  dependency-version: 7.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/autop"
  dependency-version: 4.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/base-styles"
  dependency-version: 13.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/blob"
  dependency-version: 4.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/block-editor"
  dependency-version: 17.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/block-library"
  dependency-version: 11.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/blocks"
  dependency-version: 15.27.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/commands"
  dependency-version: 1.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/components"
  dependency-version: 40.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/compose"
  dependency-version: 7.46.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/core-data"
  dependency-version: 7.54.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/data"
  dependency-version: 10.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/data-controls"
  dependency-version: 4.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/date"
  dependency-version: 5.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/deprecated"
  dependency-version: 4.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/dom"
  dependency-version: 4.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/dom-ready"
  dependency-version: 4.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/edit-post"
  dependency-version: 8.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/editor"
  dependency-version: 15.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/element"
  dependency-version: 6.46.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/escape-html"
  dependency-version: 3.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/format-library"
  dependency-version: 5.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/global-styles-engine"
  dependency-version: 1.22.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/hooks"
  dependency-version: 4.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/html-entities"
  dependency-version: 4.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/i18n"
  dependency-version: 6.28.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/icons"
  dependency-version: 16.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/is-shallow-equal"
  dependency-version: 5.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/keyboard-shortcuts"
  dependency-version: 5.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/keycodes"
  dependency-version: 4.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/media-utils"
  dependency-version: 5.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/notices"
  dependency-version: 5.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/patterns"
  dependency-version: 2.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/plugins"
  dependency-version: 7.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/preferences"
  dependency-version: 4.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/preferences-persistence"
  dependency-version: 2.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/primitives"
  dependency-version: 4.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/priority-queue"
  dependency-version: 3.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/private-apis"
  dependency-version: 1.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/rich-text"
  dependency-version: 7.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/router"
  dependency-version: 1.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/server-side-render"
  dependency-version: 6.31.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/shortcode"
  dependency-version: 4.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/style-engine"
  dependency-version: 2.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/theme"
  dependency-version: 2.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/token-list"
  dependency-version: 3.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/url"
  dependency-version: 4.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/viewport"
  dependency-version: 6.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/warning"
  dependency-version: 3.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/widgets"
  dependency-version: 4.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
- dependency-name: "@wordpress/wordcount"
  dependency-version: 4.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: wordpress-packages
...

Signed-off-by: dependabot[bot] <support@github.com>
Dependabot left `element`, `compose`, `blocks`, and `core-data` on their
previous majors while the rest of the group moved to the 55.0-era
release. Every bumped package asks for `element@^8.7.0`, `compose@^8.8.0`,
`blocks@^16.0.0`, and `core-data@^8.0.0`, so npm nested a second copy of
each under 90 dependents -- 36 copies of `element` alone -- which is the
split `check-wp-packages` exists to catch.

`core-data@7.54.0` was also what held `icons` at `^15.5.0`, so the
`KNOWN_DUPLICATES` allowance goes away on its own terms: its comment
already said it resolves once the packages move together.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
`Inserter` became a `forwardRef` function component upstream, so the
`open` and `popoverProps` passthrough now reads them off the destructured
parameter list rather than `this.props`. The rest carry over unchanged.

Drops the `@wordpress/rich-text` patch: `preventFocusCapture` now
subscribes `pointercancel` to its `pointerup` handler upstream, which is
what the patch added.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The colour controls moved into a tools panel headed "Background", where
the control itself is labelled "Color" -- the same label the text colour
control carries. The old `name: 'Background'` lookup is a substring match,
so it no longer reached a colour control at all: it matched the panel's
"Background options" menu toggle and opened that menu instead.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
`core-data@7.42.0` began reporting every action as denied when a response
carries no readable `Allow` header, where it previously left `canUser`
undefined. `@wordpress/editor` reads
`hasUploadPermissions: canUser( ... ) ?? true`, and `false` does not fall
through `??`, so `settings.mediaUpload` became undefined and the Upload and
Media Library buttons vanished from every `MediaPlaceholder`.

The header is unreadable because the editor is cross-origin to the REST API
on most hosts, and a browser hides response headers the site does not name
in `Access-Control-Expose-Headers` -- WordPress names only `X-WP-Total`,
`X-WP-TotalPages` and `Link`. The resolver already returns early when it
cannot reach the endpoint; this adds the symmetric case for a response whose
header it cannot read, so absent reads as unknown rather than denied and
real permissions still win same-origin.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@dcalhoun
dcalhoun force-pushed the build/bump-wordpress-packages branch from 6360b5b to c2c0a8a Compare September 18, 2026 17:16

@dcalhoun dcalhoun left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Noting that the patch files can be difficult to understand when viewing the diff. It can be worthwhile to view and compare the actual file before and after in separate tabs.

@adalpari adalpari left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally looks good to me. Claude raised these "medium" points you might want to have a look:

# Severity File Finding
1 Medium patches/@wordpress+core-data+8.0.0.patch:17 The patch guards only the canUser resolver. getEntityRecord (resolvers.mjs:79) reads the same Allow header and unconditionally dispatches receiveUserPermissions with all-false plus finishResolutions('canUser', …), so entity-scoped canUser still reports denied cross-origin and the patched resolver can't correct it. getUserPermissionCacheKey's .filter(Boolean) makes getEntityRecord('root','site')'s empty key collapse onto the exact keys canUser('*', {kind:'root',name:'site'}) reads. No visible breakage today (consumers use truthiness; the only ?? true consumer, hasUploadPermissions, has no id in its key), but the "absence means unknown" invariant the patch claims does not hold.
2 Medium patches/@wordpress+core-data+8.0.0.patch:17 !allowedMethods conflates "header hidden by CORS" with "WordPress sent no Allow because the user is permitted nothing" — rest_send_allow_header() only emits the header when $allowed_methods is non-empty. This flips genuine denials to unknown on the same-origin surfaces the PR marks as keeping real permissions; the README wording ("a response whose header it cannot read") understates it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

[Type] Build Tooling Issues or PRs related to build tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants