Data: Export and consolidate 'onSubKey' helper#77364
Conversation
ca9b357 to
277803c
Compare
|
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message. To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
277803c to
0458213
Compare
|
Size Change: -51 B (0%) Total Size: 7.75 MB 📦 View Changed
ℹ️ View Unchanged
|
|
Flaky tests detected in 1c760a2. 🔍 Workflow run URL: https://github.com/WordPress/gutenberg/actions/runs/24464651111
|
manzoorwanijk
left a comment
There was a problem hiding this comment.
Thank you for this.
I remember onSubKey in notices being complicated to convert to TS. I am glad we are making it re-usable to handle it all at one place.
0458213 to
63d0645
Compare
| export { createSelector } from './create-selector'; | ||
| export { controls } from './controls'; | ||
| export { default as createReduxStore } from './redux-store'; | ||
| export { onSubKey } from './redux-store/metadata/utils'; |
There was a problem hiding this comment.
Now when onSubKey is not just an internal utility for the metadata reducers, but a first-class export, let's move the implementation out of the metadata folder. It's an utility in principle very similar to combineReducers, so it should live somewhere nearby.
We also have an opportunity to consider if there is a better name than onSubKey. The on* prefix suggests that it's an event handler function, which it is not at all. Calypso uses the keyedReducer name for the same thing, and I like that better.
There was a problem hiding this comment.
Good pint. I'll relocate the util method.
Calypso uses the keyedReducer name for the same thing, and I like that better.
Oh, good name. I don't have a strong preference. Let's see what others think.
Pinging more folks who work on similar packages. cc @youknowriad, @tyxla
There was a problem hiding this comment.
Yeah, keyedReducer makes sense to me, and moving it out of metadata as well, because it is a generic helper for reducers.
bcc7f14 to
1c760a2
Compare
…e regression test Address second-opinion review nits on the wp-data keyedReducer inlining fix: - Broaden the loader rule test regex to also match @wordpress/core-data queried-data reducer paths so a future polyfill addition that pulls in core-data does not silently re-hit the same bug. Document the contract (defensive loader + restricted path test) in a comment next to the rule. - Extend the regression test to run against BOTH dev and production (minified) bundle output. The production block runs a fresh webpack build into a sibling tree via WP_BUILD_POLYFILLS_OUTPUT_BASE so it does not clobber build/, then asserts no static wp.data.keyedReducer reference and no stray keyedReducer token survives minification. - Add a test-js composer script (build-then-test) so the CI matrix in .github/workflows/tests.yml actually runs this regression test for PRs touching the package. - Expand the changelog entry: link the upstream consolidation PR (WordPress/gutenberg#77364), frame the loader as a workaround pending a longer-term decision, and note that future polyfill additions importing keyedReducer from @wordpress/data need to extend the rule and test. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
@wordpress/notices >= 5.45.0 imports keyedReducer from @wordpress/data, which only added that export in @wordpress/data 10.45.0 (Gutenberg consolidation, WordPress/gutenberg#77364). The polyfill externalizes @wordpress/data to the runtime window.wp.data global so the notices store registers in the shared registry. On sites that still ship an older @wordpress/data (current WordPress Core), the bundled call to window.wp.data.keyedReducer threw at load time, which cascaded into a SnackbarNotices undefined error in the @wordpress/boot polyfill module. Add a webpack loader that rewrites the keyedReducer named import in the @wordpress/notices reducer source to a local copy bundled with the polyfill, leaving every other @wordpress/data symbol externalized as before. A custom loader rather than a Rule.resolve.alias is needed because @wordpress/dependency-extraction-webpack-plugin externalizes the request before module resolution, bypassing per-rule aliases.
…e regression test Address second-opinion review nits on the wp-data keyedReducer inlining fix: - Broaden the loader rule test regex to also match @wordpress/core-data queried-data reducer paths so a future polyfill addition that pulls in core-data does not silently re-hit the same bug. Document the contract (defensive loader + restricted path test) in a comment next to the rule. - Extend the regression test to run against BOTH dev and production (minified) bundle output. The production block runs a fresh webpack build into a sibling tree via WP_BUILD_POLYFILLS_OUTPUT_BASE so it does not clobber build/, then asserts no static wp.data.keyedReducer reference and no stray keyedReducer token survives minification. - Add a test-js composer script (build-then-test) so the CI matrix in .github/workflows/tests.yml actually runs this regression test for PRs touching the package. - Expand the changelog entry: link the upstream consolidation PR (WordPress/gutenberg#77364), frame the loader as a workaround pending a longer-term decision, and note that future polyfill additions importing keyedReducer from @wordpress/data need to extend the rule and test. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
@wordpress/notices >= 5.45.0 imports keyedReducer from @wordpress/data, which only added that export in @wordpress/data 10.45.0 (Gutenberg consolidation, WordPress/gutenberg#77364). The polyfill externalizes @wordpress/data to the runtime window.wp.data global so the notices store registers in the shared registry. On sites that still ship an older @wordpress/data (current WordPress Core), the bundled call to window.wp.data.keyedReducer threw at load time, which cascaded into a SnackbarNotices undefined error in the @wordpress/boot polyfill module. Add a webpack loader that rewrites the keyedReducer named import in the @wordpress/notices reducer source to a local copy bundled with the polyfill, leaving every other @wordpress/data symbol externalized as before. A custom loader rather than a Rule.resolve.alias is needed because @wordpress/dependency-extraction-webpack-plugin externalizes the request before module resolution, bypassing per-rule aliases.
…e regression test Address second-opinion review nits on the wp-data keyedReducer inlining fix: - Broaden the loader rule test regex to also match @wordpress/core-data queried-data reducer paths so a future polyfill addition that pulls in core-data does not silently re-hit the same bug. Document the contract (defensive loader + restricted path test) in a comment next to the rule. - Extend the regression test to run against BOTH dev and production (minified) bundle output. The production block runs a fresh webpack build into a sibling tree via WP_BUILD_POLYFILLS_OUTPUT_BASE so it does not clobber build/, then asserts no static wp.data.keyedReducer reference and no stray keyedReducer token survives minification. - Add a test-js composer script (build-then-test) so the CI matrix in .github/workflows/tests.yml actually runs this regression test for PRs touching the package. - Expand the changelog entry: link the upstream consolidation PR (WordPress/gutenberg#77364), frame the loader as a workaround pending a longer-term decision, and note that future polyfill additions importing keyedReducer from @wordpress/data need to extend the rule and test. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
…48743) * WP Build Polyfills: Inline keyedReducer for @wordpress/notices 5.45+ @wordpress/notices >= 5.45.0 imports keyedReducer from @wordpress/data, which only added that export in @wordpress/data 10.45.0 (Gutenberg consolidation, WordPress/gutenberg#77364). The polyfill externalizes @wordpress/data to the runtime window.wp.data global so the notices store registers in the shared registry. On sites that still ship an older @wordpress/data (current WordPress Core), the bundled call to window.wp.data.keyedReducer threw at load time, which cascaded into a SnackbarNotices undefined error in the @wordpress/boot polyfill module. Add a webpack loader that rewrites the keyedReducer named import in the @wordpress/notices reducer source to a local copy bundled with the polyfill, leaving every other @wordpress/data symbol externalized as before. A custom loader rather than a Rule.resolve.alias is needed because @wordpress/dependency-extraction-webpack-plugin externalizes the request before module resolution, bypassing per-rule aliases. * wp-build-polyfills: broaden keyedReducer loader rule + production-mode regression test Address second-opinion review nits on the wp-data keyedReducer inlining fix: - Broaden the loader rule test regex to also match @wordpress/core-data queried-data reducer paths so a future polyfill addition that pulls in core-data does not silently re-hit the same bug. Document the contract (defensive loader + restricted path test) in a comment next to the rule. - Extend the regression test to run against BOTH dev and production (minified) bundle output. The production block runs a fresh webpack build into a sibling tree via WP_BUILD_POLYFILLS_OUTPUT_BASE so it does not clobber build/, then asserts no static wp.data.keyedReducer reference and no stray keyedReducer token survives minification. - Add a test-js composer script (build-then-test) so the CI matrix in .github/workflows/tests.yml actually runs this regression test for PRs touching the package. - Expand the changelog entry: link the upstream consolidation PR (WordPress/gutenberg#77364), frame the loader as a workaround pending a longer-term decision, and note that future polyfill additions importing keyedReducer from @wordpress/data need to extend the rule and test. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * wp-build-polyfills: regenerate consumer composer.lock files The previous commit added a `test-js` script and bumped the package reference SHA in `projects/packages/wp-build-polyfills/composer.json`, which left the five plugin composer.lock files (backup, jetpack, mu-wpcom-plugin, videopress, wpcomsh) out of sync. * Add changelog entries for regenerated composer.lock files --------- Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]>
…(#48743) * WP Build Polyfills: Inline keyedReducer for @wordpress/notices 5.45+ @wordpress/notices >= 5.45.0 imports keyedReducer from @wordpress/data, which only added that export in @wordpress/data 10.45.0 (Gutenberg consolidation, WordPress/gutenberg#77364). The polyfill externalizes @wordpress/data to the runtime window.wp.data global so the notices store registers in the shared registry. On sites that still ship an older @wordpress/data (current WordPress Core), the bundled call to window.wp.data.keyedReducer threw at load time, which cascaded into a SnackbarNotices undefined error in the @wordpress/boot polyfill module. Add a webpack loader that rewrites the keyedReducer named import in the @wordpress/notices reducer source to a local copy bundled with the polyfill, leaving every other @wordpress/data symbol externalized as before. A custom loader rather than a Rule.resolve.alias is needed because @wordpress/dependency-extraction-webpack-plugin externalizes the request before module resolution, bypassing per-rule aliases. * wp-build-polyfills: broaden keyedReducer loader rule + production-mode regression test Address second-opinion review nits on the wp-data keyedReducer inlining fix: - Broaden the loader rule test regex to also match @wordpress/core-data queried-data reducer paths so a future polyfill addition that pulls in core-data does not silently re-hit the same bug. Document the contract (defensive loader + restricted path test) in a comment next to the rule. - Extend the regression test to run against BOTH dev and production (minified) bundle output. The production block runs a fresh webpack build into a sibling tree via WP_BUILD_POLYFILLS_OUTPUT_BASE so it does not clobber build/, then asserts no static wp.data.keyedReducer reference and no stray keyedReducer token survives minification. - Add a test-js composer script (build-then-test) so the CI matrix in .github/workflows/tests.yml actually runs this regression test for PRs touching the package. - Expand the changelog entry: link the upstream consolidation PR (WordPress/gutenberg#77364), frame the loader as a workaround pending a longer-term decision, and note that future polyfill additions importing keyedReducer from @wordpress/data need to extend the rule and test. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * wp-build-polyfills: regenerate consumer composer.lock files The previous commit added a `test-js` script and bumped the package reference SHA in `projects/packages/wp-build-polyfills/composer.json`, which left the five plugin composer.lock files (backup, jetpack, mu-wpcom-plugin, videopress, wpcomsh) out of sync. * Add changelog entries for regenerated composer.lock files --------- Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]> Committed via a GitHub action: https://github.com/Automattic/jetpack/actions/runs/26037581462 Upstream-Ref: Automattic/jetpack@11ae5a2
…(#48743) * WP Build Polyfills: Inline keyedReducer for @wordpress/notices 5.45+ @wordpress/notices >= 5.45.0 imports keyedReducer from @wordpress/data, which only added that export in @wordpress/data 10.45.0 (Gutenberg consolidation, WordPress/gutenberg#77364). The polyfill externalizes @wordpress/data to the runtime window.wp.data global so the notices store registers in the shared registry. On sites that still ship an older @wordpress/data (current WordPress Core), the bundled call to window.wp.data.keyedReducer threw at load time, which cascaded into a SnackbarNotices undefined error in the @wordpress/boot polyfill module. Add a webpack loader that rewrites the keyedReducer named import in the @wordpress/notices reducer source to a local copy bundled with the polyfill, leaving every other @wordpress/data symbol externalized as before. A custom loader rather than a Rule.resolve.alias is needed because @wordpress/dependency-extraction-webpack-plugin externalizes the request before module resolution, bypassing per-rule aliases. * wp-build-polyfills: broaden keyedReducer loader rule + production-mode regression test Address second-opinion review nits on the wp-data keyedReducer inlining fix: - Broaden the loader rule test regex to also match @wordpress/core-data queried-data reducer paths so a future polyfill addition that pulls in core-data does not silently re-hit the same bug. Document the contract (defensive loader + restricted path test) in a comment next to the rule. - Extend the regression test to run against BOTH dev and production (minified) bundle output. The production block runs a fresh webpack build into a sibling tree via WP_BUILD_POLYFILLS_OUTPUT_BASE so it does not clobber build/, then asserts no static wp.data.keyedReducer reference and no stray keyedReducer token survives minification. - Add a test-js composer script (build-then-test) so the CI matrix in .github/workflows/tests.yml actually runs this regression test for PRs touching the package. - Expand the changelog entry: link the upstream consolidation PR (WordPress/gutenberg#77364), frame the loader as a workaround pending a longer-term decision, and note that future polyfill additions importing keyedReducer from @wordpress/data need to extend the rule and test. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * wp-build-polyfills: regenerate consumer composer.lock files The previous commit added a `test-js` script and bumped the package reference SHA in `projects/packages/wp-build-polyfills/composer.json`, which left the five plugin composer.lock files (backup, jetpack, mu-wpcom-plugin, videopress, wpcomsh) out of sync. * Add changelog entries for regenerated composer.lock files --------- Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]> Committed via a GitHub action: https://github.com/Automattic/jetpack/actions/runs/26037581462 Upstream-Ref: Automattic/jetpack@11ae5a2
…(#48743) * WP Build Polyfills: Inline keyedReducer for @wordpress/notices 5.45+ @wordpress/notices >= 5.45.0 imports keyedReducer from @wordpress/data, which only added that export in @wordpress/data 10.45.0 (Gutenberg consolidation, WordPress/gutenberg#77364). The polyfill externalizes @wordpress/data to the runtime window.wp.data global so the notices store registers in the shared registry. On sites that still ship an older @wordpress/data (current WordPress Core), the bundled call to window.wp.data.keyedReducer threw at load time, which cascaded into a SnackbarNotices undefined error in the @wordpress/boot polyfill module. Add a webpack loader that rewrites the keyedReducer named import in the @wordpress/notices reducer source to a local copy bundled with the polyfill, leaving every other @wordpress/data symbol externalized as before. A custom loader rather than a Rule.resolve.alias is needed because @wordpress/dependency-extraction-webpack-plugin externalizes the request before module resolution, bypassing per-rule aliases. * wp-build-polyfills: broaden keyedReducer loader rule + production-mode regression test Address second-opinion review nits on the wp-data keyedReducer inlining fix: - Broaden the loader rule test regex to also match @wordpress/core-data queried-data reducer paths so a future polyfill addition that pulls in core-data does not silently re-hit the same bug. Document the contract (defensive loader + restricted path test) in a comment next to the rule. - Extend the regression test to run against BOTH dev and production (minified) bundle output. The production block runs a fresh webpack build into a sibling tree via WP_BUILD_POLYFILLS_OUTPUT_BASE so it does not clobber build/, then asserts no static wp.data.keyedReducer reference and no stray keyedReducer token survives minification. - Add a test-js composer script (build-then-test) so the CI matrix in .github/workflows/tests.yml actually runs this regression test for PRs touching the package. - Expand the changelog entry: link the upstream consolidation PR (WordPress/gutenberg#77364), frame the loader as a workaround pending a longer-term decision, and note that future polyfill additions importing keyedReducer from @wordpress/data need to extend the rule and test. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * wp-build-polyfills: regenerate consumer composer.lock files The previous commit added a `test-js` script and bumped the package reference SHA in `projects/packages/wp-build-polyfills/composer.json`, which left the five plugin composer.lock files (backup, jetpack, mu-wpcom-plugin, videopress, wpcomsh) out of sync. * Add changelog entries for regenerated composer.lock files --------- Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]> Committed via a GitHub action: https://github.com/Automattic/jetpack/actions/runs/26037581462 Upstream-Ref: Automattic/jetpack@11ae5a2
…(#48743) * WP Build Polyfills: Inline keyedReducer for @wordpress/notices 5.45+ @wordpress/notices >= 5.45.0 imports keyedReducer from @wordpress/data, which only added that export in @wordpress/data 10.45.0 (Gutenberg consolidation, WordPress/gutenberg#77364). The polyfill externalizes @wordpress/data to the runtime window.wp.data global so the notices store registers in the shared registry. On sites that still ship an older @wordpress/data (current WordPress Core), the bundled call to window.wp.data.keyedReducer threw at load time, which cascaded into a SnackbarNotices undefined error in the @wordpress/boot polyfill module. Add a webpack loader that rewrites the keyedReducer named import in the @wordpress/notices reducer source to a local copy bundled with the polyfill, leaving every other @wordpress/data symbol externalized as before. A custom loader rather than a Rule.resolve.alias is needed because @wordpress/dependency-extraction-webpack-plugin externalizes the request before module resolution, bypassing per-rule aliases. * wp-build-polyfills: broaden keyedReducer loader rule + production-mode regression test Address second-opinion review nits on the wp-data keyedReducer inlining fix: - Broaden the loader rule test regex to also match @wordpress/core-data queried-data reducer paths so a future polyfill addition that pulls in core-data does not silently re-hit the same bug. Document the contract (defensive loader + restricted path test) in a comment next to the rule. - Extend the regression test to run against BOTH dev and production (minified) bundle output. The production block runs a fresh webpack build into a sibling tree via WP_BUILD_POLYFILLS_OUTPUT_BASE so it does not clobber build/, then asserts no static wp.data.keyedReducer reference and no stray keyedReducer token survives minification. - Add a test-js composer script (build-then-test) so the CI matrix in .github/workflows/tests.yml actually runs this regression test for PRs touching the package. - Expand the changelog entry: link the upstream consolidation PR (WordPress/gutenberg#77364), frame the loader as a workaround pending a longer-term decision, and note that future polyfill additions importing keyedReducer from @wordpress/data need to extend the rule and test. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * wp-build-polyfills: regenerate consumer composer.lock files The previous commit added a `test-js` script and bumped the package reference SHA in `projects/packages/wp-build-polyfills/composer.json`, which left the five plugin composer.lock files (backup, jetpack, mu-wpcom-plugin, videopress, wpcomsh) out of sync. * Add changelog entries for regenerated composer.lock files --------- Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]> Committed via a GitHub action: https://github.com/Automattic/jetpack/actions/runs/26037581462 Upstream-Ref: Automattic/jetpack@11ae5a2
…(#48743) * WP Build Polyfills: Inline keyedReducer for @wordpress/notices 5.45+ @wordpress/notices >= 5.45.0 imports keyedReducer from @wordpress/data, which only added that export in @wordpress/data 10.45.0 (Gutenberg consolidation, WordPress/gutenberg#77364). The polyfill externalizes @wordpress/data to the runtime window.wp.data global so the notices store registers in the shared registry. On sites that still ship an older @wordpress/data (current WordPress Core), the bundled call to window.wp.data.keyedReducer threw at load time, which cascaded into a SnackbarNotices undefined error in the @wordpress/boot polyfill module. Add a webpack loader that rewrites the keyedReducer named import in the @wordpress/notices reducer source to a local copy bundled with the polyfill, leaving every other @wordpress/data symbol externalized as before. A custom loader rather than a Rule.resolve.alias is needed because @wordpress/dependency-extraction-webpack-plugin externalizes the request before module resolution, bypassing per-rule aliases. * wp-build-polyfills: broaden keyedReducer loader rule + production-mode regression test Address second-opinion review nits on the wp-data keyedReducer inlining fix: - Broaden the loader rule test regex to also match @wordpress/core-data queried-data reducer paths so a future polyfill addition that pulls in core-data does not silently re-hit the same bug. Document the contract (defensive loader + restricted path test) in a comment next to the rule. - Extend the regression test to run against BOTH dev and production (minified) bundle output. The production block runs a fresh webpack build into a sibling tree via WP_BUILD_POLYFILLS_OUTPUT_BASE so it does not clobber build/, then asserts no static wp.data.keyedReducer reference and no stray keyedReducer token survives minification. - Add a test-js composer script (build-then-test) so the CI matrix in .github/workflows/tests.yml actually runs this regression test for PRs touching the package. - Expand the changelog entry: link the upstream consolidation PR (WordPress/gutenberg#77364), frame the loader as a workaround pending a longer-term decision, and note that future polyfill additions importing keyedReducer from @wordpress/data need to extend the rule and test. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * wp-build-polyfills: regenerate consumer composer.lock files The previous commit added a `test-js` script and bumped the package reference SHA in `projects/packages/wp-build-polyfills/composer.json`, which left the five plugin composer.lock files (backup, jetpack, mu-wpcom-plugin, videopress, wpcomsh) out of sync. * Add changelog entries for regenerated composer.lock files --------- Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]> Committed via a GitHub action: https://github.com/Automattic/jetpack/actions/runs/26037581462 Upstream-Ref: Automattic/jetpack@11ae5a2
…(#48743) * WP Build Polyfills: Inline keyedReducer for @wordpress/notices 5.45+ @wordpress/notices >= 5.45.0 imports keyedReducer from @wordpress/data, which only added that export in @wordpress/data 10.45.0 (Gutenberg consolidation, WordPress/gutenberg#77364). The polyfill externalizes @wordpress/data to the runtime window.wp.data global so the notices store registers in the shared registry. On sites that still ship an older @wordpress/data (current WordPress Core), the bundled call to window.wp.data.keyedReducer threw at load time, which cascaded into a SnackbarNotices undefined error in the @wordpress/boot polyfill module. Add a webpack loader that rewrites the keyedReducer named import in the @wordpress/notices reducer source to a local copy bundled with the polyfill, leaving every other @wordpress/data symbol externalized as before. A custom loader rather than a Rule.resolve.alias is needed because @wordpress/dependency-extraction-webpack-plugin externalizes the request before module resolution, bypassing per-rule aliases. * wp-build-polyfills: broaden keyedReducer loader rule + production-mode regression test Address second-opinion review nits on the wp-data keyedReducer inlining fix: - Broaden the loader rule test regex to also match @wordpress/core-data queried-data reducer paths so a future polyfill addition that pulls in core-data does not silently re-hit the same bug. Document the contract (defensive loader + restricted path test) in a comment next to the rule. - Extend the regression test to run against BOTH dev and production (minified) bundle output. The production block runs a fresh webpack build into a sibling tree via WP_BUILD_POLYFILLS_OUTPUT_BASE so it does not clobber build/, then asserts no static wp.data.keyedReducer reference and no stray keyedReducer token survives minification. - Add a test-js composer script (build-then-test) so the CI matrix in .github/workflows/tests.yml actually runs this regression test for PRs touching the package. - Expand the changelog entry: link the upstream consolidation PR (WordPress/gutenberg#77364), frame the loader as a workaround pending a longer-term decision, and note that future polyfill additions importing keyedReducer from @wordpress/data need to extend the rule and test. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * wp-build-polyfills: regenerate consumer composer.lock files The previous commit added a `test-js` script and bumped the package reference SHA in `projects/packages/wp-build-polyfills/composer.json`, which left the five plugin composer.lock files (backup, jetpack, mu-wpcom-plugin, videopress, wpcomsh) out of sync. * Add changelog entries for regenerated composer.lock files --------- Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]> Committed via a GitHub action: https://github.com/Automattic/jetpack/actions/runs/26037581462 Upstream-Ref: Automattic/jetpack@11ae5a2
…(#48743) * WP Build Polyfills: Inline keyedReducer for @wordpress/notices 5.45+ @wordpress/notices >= 5.45.0 imports keyedReducer from @wordpress/data, which only added that export in @wordpress/data 10.45.0 (Gutenberg consolidation, WordPress/gutenberg#77364). The polyfill externalizes @wordpress/data to the runtime window.wp.data global so the notices store registers in the shared registry. On sites that still ship an older @wordpress/data (current WordPress Core), the bundled call to window.wp.data.keyedReducer threw at load time, which cascaded into a SnackbarNotices undefined error in the @wordpress/boot polyfill module. Add a webpack loader that rewrites the keyedReducer named import in the @wordpress/notices reducer source to a local copy bundled with the polyfill, leaving every other @wordpress/data symbol externalized as before. A custom loader rather than a Rule.resolve.alias is needed because @wordpress/dependency-extraction-webpack-plugin externalizes the request before module resolution, bypassing per-rule aliases. * wp-build-polyfills: broaden keyedReducer loader rule + production-mode regression test Address second-opinion review nits on the wp-data keyedReducer inlining fix: - Broaden the loader rule test regex to also match @wordpress/core-data queried-data reducer paths so a future polyfill addition that pulls in core-data does not silently re-hit the same bug. Document the contract (defensive loader + restricted path test) in a comment next to the rule. - Extend the regression test to run against BOTH dev and production (minified) bundle output. The production block runs a fresh webpack build into a sibling tree via WP_BUILD_POLYFILLS_OUTPUT_BASE so it does not clobber build/, then asserts no static wp.data.keyedReducer reference and no stray keyedReducer token survives minification. - Add a test-js composer script (build-then-test) so the CI matrix in .github/workflows/tests.yml actually runs this regression test for PRs touching the package. - Expand the changelog entry: link the upstream consolidation PR (WordPress/gutenberg#77364), frame the loader as a workaround pending a longer-term decision, and note that future polyfill additions importing keyedReducer from @wordpress/data need to extend the rule and test. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * wp-build-polyfills: regenerate consumer composer.lock files The previous commit added a `test-js` script and bumped the package reference SHA in `projects/packages/wp-build-polyfills/composer.json`, which left the five plugin composer.lock files (backup, jetpack, mu-wpcom-plugin, videopress, wpcomsh) out of sync. * Add changelog entries for regenerated composer.lock files --------- Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]> Committed via a GitHub action: https://github.com/Automattic/jetpack/actions/runs/26037581462 Upstream-Ref: Automattic/jetpack@11ae5a2
…(#48743) * WP Build Polyfills: Inline keyedReducer for @wordpress/notices 5.45+ @wordpress/notices >= 5.45.0 imports keyedReducer from @wordpress/data, which only added that export in @wordpress/data 10.45.0 (Gutenberg consolidation, WordPress/gutenberg#77364). The polyfill externalizes @wordpress/data to the runtime window.wp.data global so the notices store registers in the shared registry. On sites that still ship an older @wordpress/data (current WordPress Core), the bundled call to window.wp.data.keyedReducer threw at load time, which cascaded into a SnackbarNotices undefined error in the @wordpress/boot polyfill module. Add a webpack loader that rewrites the keyedReducer named import in the @wordpress/notices reducer source to a local copy bundled with the polyfill, leaving every other @wordpress/data symbol externalized as before. A custom loader rather than a Rule.resolve.alias is needed because @wordpress/dependency-extraction-webpack-plugin externalizes the request before module resolution, bypassing per-rule aliases. * wp-build-polyfills: broaden keyedReducer loader rule + production-mode regression test Address second-opinion review nits on the wp-data keyedReducer inlining fix: - Broaden the loader rule test regex to also match @wordpress/core-data queried-data reducer paths so a future polyfill addition that pulls in core-data does not silently re-hit the same bug. Document the contract (defensive loader + restricted path test) in a comment next to the rule. - Extend the regression test to run against BOTH dev and production (minified) bundle output. The production block runs a fresh webpack build into a sibling tree via WP_BUILD_POLYFILLS_OUTPUT_BASE so it does not clobber build/, then asserts no static wp.data.keyedReducer reference and no stray keyedReducer token survives minification. - Add a test-js composer script (build-then-test) so the CI matrix in .github/workflows/tests.yml actually runs this regression test for PRs touching the package. - Expand the changelog entry: link the upstream consolidation PR (WordPress/gutenberg#77364), frame the loader as a workaround pending a longer-term decision, and note that future polyfill additions importing keyedReducer from @wordpress/data need to extend the rule and test. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * wp-build-polyfills: regenerate consumer composer.lock files The previous commit added a `test-js` script and bumped the package reference SHA in `projects/packages/wp-build-polyfills/composer.json`, which left the five plugin composer.lock files (backup, jetpack, mu-wpcom-plugin, videopress, wpcomsh) out of sync. * Add changelog entries for regenerated composer.lock files --------- Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]> Committed via a GitHub action: https://github.com/Automattic/jetpack/actions/runs/26037581462 Upstream-Ref: Automattic/jetpack@11ae5a2
…(#48743) * WP Build Polyfills: Inline keyedReducer for @wordpress/notices 5.45+ @wordpress/notices >= 5.45.0 imports keyedReducer from @wordpress/data, which only added that export in @wordpress/data 10.45.0 (Gutenberg consolidation, WordPress/gutenberg#77364). The polyfill externalizes @wordpress/data to the runtime window.wp.data global so the notices store registers in the shared registry. On sites that still ship an older @wordpress/data (current WordPress Core), the bundled call to window.wp.data.keyedReducer threw at load time, which cascaded into a SnackbarNotices undefined error in the @wordpress/boot polyfill module. Add a webpack loader that rewrites the keyedReducer named import in the @wordpress/notices reducer source to a local copy bundled with the polyfill, leaving every other @wordpress/data symbol externalized as before. A custom loader rather than a Rule.resolve.alias is needed because @wordpress/dependency-extraction-webpack-plugin externalizes the request before module resolution, bypassing per-rule aliases. * wp-build-polyfills: broaden keyedReducer loader rule + production-mode regression test Address second-opinion review nits on the wp-data keyedReducer inlining fix: - Broaden the loader rule test regex to also match @wordpress/core-data queried-data reducer paths so a future polyfill addition that pulls in core-data does not silently re-hit the same bug. Document the contract (defensive loader + restricted path test) in a comment next to the rule. - Extend the regression test to run against BOTH dev and production (minified) bundle output. The production block runs a fresh webpack build into a sibling tree via WP_BUILD_POLYFILLS_OUTPUT_BASE so it does not clobber build/, then asserts no static wp.data.keyedReducer reference and no stray keyedReducer token survives minification. - Add a test-js composer script (build-then-test) so the CI matrix in .github/workflows/tests.yml actually runs this regression test for PRs touching the package. - Expand the changelog entry: link the upstream consolidation PR (WordPress/gutenberg#77364), frame the loader as a workaround pending a longer-term decision, and note that future polyfill additions importing keyedReducer from @wordpress/data need to extend the rule and test. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * wp-build-polyfills: regenerate consumer composer.lock files The previous commit added a `test-js` script and bumped the package reference SHA in `projects/packages/wp-build-polyfills/composer.json`, which left the five plugin composer.lock files (backup, jetpack, mu-wpcom-plugin, videopress, wpcomsh) out of sync. * Add changelog entries for regenerated composer.lock files --------- Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]> Committed via a GitHub action: https://github.com/Automattic/jetpack/actions/runs/26037581462 Upstream-Ref: Automattic/jetpack@11ae5a2
…(#48743) * WP Build Polyfills: Inline keyedReducer for @wordpress/notices 5.45+ @wordpress/notices >= 5.45.0 imports keyedReducer from @wordpress/data, which only added that export in @wordpress/data 10.45.0 (Gutenberg consolidation, WordPress/gutenberg#77364). The polyfill externalizes @wordpress/data to the runtime window.wp.data global so the notices store registers in the shared registry. On sites that still ship an older @wordpress/data (current WordPress Core), the bundled call to window.wp.data.keyedReducer threw at load time, which cascaded into a SnackbarNotices undefined error in the @wordpress/boot polyfill module. Add a webpack loader that rewrites the keyedReducer named import in the @wordpress/notices reducer source to a local copy bundled with the polyfill, leaving every other @wordpress/data symbol externalized as before. A custom loader rather than a Rule.resolve.alias is needed because @wordpress/dependency-extraction-webpack-plugin externalizes the request before module resolution, bypassing per-rule aliases. * wp-build-polyfills: broaden keyedReducer loader rule + production-mode regression test Address second-opinion review nits on the wp-data keyedReducer inlining fix: - Broaden the loader rule test regex to also match @wordpress/core-data queried-data reducer paths so a future polyfill addition that pulls in core-data does not silently re-hit the same bug. Document the contract (defensive loader + restricted path test) in a comment next to the rule. - Extend the regression test to run against BOTH dev and production (minified) bundle output. The production block runs a fresh webpack build into a sibling tree via WP_BUILD_POLYFILLS_OUTPUT_BASE so it does not clobber build/, then asserts no static wp.data.keyedReducer reference and no stray keyedReducer token survives minification. - Add a test-js composer script (build-then-test) so the CI matrix in .github/workflows/tests.yml actually runs this regression test for PRs touching the package. - Expand the changelog entry: link the upstream consolidation PR (WordPress/gutenberg#77364), frame the loader as a workaround pending a longer-term decision, and note that future polyfill additions importing keyedReducer from @wordpress/data need to extend the rule and test. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * wp-build-polyfills: regenerate consumer composer.lock files The previous commit added a `test-js` script and bumped the package reference SHA in `projects/packages/wp-build-polyfills/composer.json`, which left the five plugin composer.lock files (backup, jetpack, mu-wpcom-plugin, videopress, wpcomsh) out of sync. * Add changelog entries for regenerated composer.lock files --------- Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]> Committed via a GitHub action: https://github.com/Automattic/jetpack/actions/runs/26037581462 Upstream-Ref: Automattic/jetpack@11ae5a2
…(#48743) * WP Build Polyfills: Inline keyedReducer for @wordpress/notices 5.45+ @wordpress/notices >= 5.45.0 imports keyedReducer from @wordpress/data, which only added that export in @wordpress/data 10.45.0 (Gutenberg consolidation, WordPress/gutenberg#77364). The polyfill externalizes @wordpress/data to the runtime window.wp.data global so the notices store registers in the shared registry. On sites that still ship an older @wordpress/data (current WordPress Core), the bundled call to window.wp.data.keyedReducer threw at load time, which cascaded into a SnackbarNotices undefined error in the @wordpress/boot polyfill module. Add a webpack loader that rewrites the keyedReducer named import in the @wordpress/notices reducer source to a local copy bundled with the polyfill, leaving every other @wordpress/data symbol externalized as before. A custom loader rather than a Rule.resolve.alias is needed because @wordpress/dependency-extraction-webpack-plugin externalizes the request before module resolution, bypassing per-rule aliases. * wp-build-polyfills: broaden keyedReducer loader rule + production-mode regression test Address second-opinion review nits on the wp-data keyedReducer inlining fix: - Broaden the loader rule test regex to also match @wordpress/core-data queried-data reducer paths so a future polyfill addition that pulls in core-data does not silently re-hit the same bug. Document the contract (defensive loader + restricted path test) in a comment next to the rule. - Extend the regression test to run against BOTH dev and production (minified) bundle output. The production block runs a fresh webpack build into a sibling tree via WP_BUILD_POLYFILLS_OUTPUT_BASE so it does not clobber build/, then asserts no static wp.data.keyedReducer reference and no stray keyedReducer token survives minification. - Add a test-js composer script (build-then-test) so the CI matrix in .github/workflows/tests.yml actually runs this regression test for PRs touching the package. - Expand the changelog entry: link the upstream consolidation PR (WordPress/gutenberg#77364), frame the loader as a workaround pending a longer-term decision, and note that future polyfill additions importing keyedReducer from @wordpress/data need to extend the rule and test. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * wp-build-polyfills: regenerate consumer composer.lock files The previous commit added a `test-js` script and bumped the package reference SHA in `projects/packages/wp-build-polyfills/composer.json`, which left the five plugin composer.lock files (backup, jetpack, mu-wpcom-plugin, videopress, wpcomsh) out of sync. * Add changelog entries for regenerated composer.lock files --------- Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]> Committed via a GitHub action: https://github.com/Automattic/jetpack/actions/runs/26037581462 Upstream-Ref: Automattic/jetpack@11ae5a2
…(#48743) * WP Build Polyfills: Inline keyedReducer for @wordpress/notices 5.45+ @wordpress/notices >= 5.45.0 imports keyedReducer from @wordpress/data, which only added that export in @wordpress/data 10.45.0 (Gutenberg consolidation, WordPress/gutenberg#77364). The polyfill externalizes @wordpress/data to the runtime window.wp.data global so the notices store registers in the shared registry. On sites that still ship an older @wordpress/data (current WordPress Core), the bundled call to window.wp.data.keyedReducer threw at load time, which cascaded into a SnackbarNotices undefined error in the @wordpress/boot polyfill module. Add a webpack loader that rewrites the keyedReducer named import in the @wordpress/notices reducer source to a local copy bundled with the polyfill, leaving every other @wordpress/data symbol externalized as before. A custom loader rather than a Rule.resolve.alias is needed because @wordpress/dependency-extraction-webpack-plugin externalizes the request before module resolution, bypassing per-rule aliases. * wp-build-polyfills: broaden keyedReducer loader rule + production-mode regression test Address second-opinion review nits on the wp-data keyedReducer inlining fix: - Broaden the loader rule test regex to also match @wordpress/core-data queried-data reducer paths so a future polyfill addition that pulls in core-data does not silently re-hit the same bug. Document the contract (defensive loader + restricted path test) in a comment next to the rule. - Extend the regression test to run against BOTH dev and production (minified) bundle output. The production block runs a fresh webpack build into a sibling tree via WP_BUILD_POLYFILLS_OUTPUT_BASE so it does not clobber build/, then asserts no static wp.data.keyedReducer reference and no stray keyedReducer token survives minification. - Add a test-js composer script (build-then-test) so the CI matrix in .github/workflows/tests.yml actually runs this regression test for PRs touching the package. - Expand the changelog entry: link the upstream consolidation PR (WordPress/gutenberg#77364), frame the loader as a workaround pending a longer-term decision, and note that future polyfill additions importing keyedReducer from @wordpress/data need to extend the rule and test. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * wp-build-polyfills: regenerate consumer composer.lock files The previous commit added a `test-js` script and bumped the package reference SHA in `projects/packages/wp-build-polyfills/composer.json`, which left the five plugin composer.lock files (backup, jetpack, mu-wpcom-plugin, videopress, wpcomsh) out of sync. * Add changelog entries for regenerated composer.lock files --------- Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]> Committed via a GitHub action: https://github.com/Automattic/jetpack/actions/runs/26037581462 Upstream-Ref: Automattic/jetpack@11ae5a2
…(#48743) * WP Build Polyfills: Inline keyedReducer for @wordpress/notices 5.45+ @wordpress/notices >= 5.45.0 imports keyedReducer from @wordpress/data, which only added that export in @wordpress/data 10.45.0 (Gutenberg consolidation, WordPress/gutenberg#77364). The polyfill externalizes @wordpress/data to the runtime window.wp.data global so the notices store registers in the shared registry. On sites that still ship an older @wordpress/data (current WordPress Core), the bundled call to window.wp.data.keyedReducer threw at load time, which cascaded into a SnackbarNotices undefined error in the @wordpress/boot polyfill module. Add a webpack loader that rewrites the keyedReducer named import in the @wordpress/notices reducer source to a local copy bundled with the polyfill, leaving every other @wordpress/data symbol externalized as before. A custom loader rather than a Rule.resolve.alias is needed because @wordpress/dependency-extraction-webpack-plugin externalizes the request before module resolution, bypassing per-rule aliases. * wp-build-polyfills: broaden keyedReducer loader rule + production-mode regression test Address second-opinion review nits on the wp-data keyedReducer inlining fix: - Broaden the loader rule test regex to also match @wordpress/core-data queried-data reducer paths so a future polyfill addition that pulls in core-data does not silently re-hit the same bug. Document the contract (defensive loader + restricted path test) in a comment next to the rule. - Extend the regression test to run against BOTH dev and production (minified) bundle output. The production block runs a fresh webpack build into a sibling tree via WP_BUILD_POLYFILLS_OUTPUT_BASE so it does not clobber build/, then asserts no static wp.data.keyedReducer reference and no stray keyedReducer token survives minification. - Add a test-js composer script (build-then-test) so the CI matrix in .github/workflows/tests.yml actually runs this regression test for PRs touching the package. - Expand the changelog entry: link the upstream consolidation PR (WordPress/gutenberg#77364), frame the loader as a workaround pending a longer-term decision, and note that future polyfill additions importing keyedReducer from @wordpress/data need to extend the rule and test. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * wp-build-polyfills: regenerate consumer composer.lock files The previous commit added a `test-js` script and bumped the package reference SHA in `projects/packages/wp-build-polyfills/composer.json`, which left the five plugin composer.lock files (backup, jetpack, mu-wpcom-plugin, videopress, wpcomsh) out of sync. * Add changelog entries for regenerated composer.lock files --------- Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]> Committed via a GitHub action: https://github.com/Automattic/jetpack/actions/runs/26037581462 Upstream-Ref: Automattic/jetpack@11ae5a2
…48743) * WP Build Polyfills: Inline keyedReducer for @wordpress/notices 5.45+ @wordpress/notices >= 5.45.0 imports keyedReducer from @wordpress/data, which only added that export in @wordpress/data 10.45.0 (Gutenberg consolidation, WordPress/gutenberg#77364). The polyfill externalizes @wordpress/data to the runtime window.wp.data global so the notices store registers in the shared registry. On sites that still ship an older @wordpress/data (current WordPress Core), the bundled call to window.wp.data.keyedReducer threw at load time, which cascaded into a SnackbarNotices undefined error in the @wordpress/boot polyfill module. Add a webpack loader that rewrites the keyedReducer named import in the @wordpress/notices reducer source to a local copy bundled with the polyfill, leaving every other @wordpress/data symbol externalized as before. A custom loader rather than a Rule.resolve.alias is needed because @wordpress/dependency-extraction-webpack-plugin externalizes the request before module resolution, bypassing per-rule aliases. * wp-build-polyfills: broaden keyedReducer loader rule + production-mode regression test Address second-opinion review nits on the wp-data keyedReducer inlining fix: - Broaden the loader rule test regex to also match @wordpress/core-data queried-data reducer paths so a future polyfill addition that pulls in core-data does not silently re-hit the same bug. Document the contract (defensive loader + restricted path test) in a comment next to the rule. - Extend the regression test to run against BOTH dev and production (minified) bundle output. The production block runs a fresh webpack build into a sibling tree via WP_BUILD_POLYFILLS_OUTPUT_BASE so it does not clobber build/, then asserts no static wp.data.keyedReducer reference and no stray keyedReducer token survives minification. - Add a test-js composer script (build-then-test) so the CI matrix in .github/workflows/tests.yml actually runs this regression test for PRs touching the package. - Expand the changelog entry: link the upstream consolidation PR (WordPress/gutenberg#77364), frame the loader as a workaround pending a longer-term decision, and note that future polyfill additions importing keyedReducer from @wordpress/data need to extend the rule and test. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * wp-build-polyfills: regenerate consumer composer.lock files The previous commit added a `test-js` script and bumped the package reference SHA in `projects/packages/wp-build-polyfills/composer.json`, which left the five plugin composer.lock files (backup, jetpack, mu-wpcom-plugin, videopress, wpcomsh) out of sync. * Add changelog entries for regenerated composer.lock files --------- Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]>
This updates the pinned commit hash of the Gutenberg repository from `7295bd91a3c2b64bb11dde0a12313210d9d16a12 ` (version `23.0.0`) to `585cf86bb6f408b1dc61175f75db016aa4760653` (version `23.1.0`). A full list of changes included in this commit can be found on GitHub: https://github.com/WordPress/gutenberg/compare/v23.0.0..v23.1.0. The following commits are included: - Edit Site: Move show-icon-labels handling to specific edit-site call sites (WordPress/gutenberg#77287) - Boot: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77357) - Image: Fix non-local image ID removal undo trap (WordPress/gutenberg#77367) - Block Editor: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77354) - Test: Connectors Point to the righ page. (WordPress/gutenberg#77272) - Commands: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77358) - UI: use Text in Notice.ActionLink typography (WordPress/gutenberg#77332) - Jest setup: remove unneeded rAF polyfills (WordPress/gutenberg#77378) - Fields: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77373) - Widgets: Use --wpds-cursor-control design token (WordPress/gutenberg#77368) - EditPost: Use `--wpds-cursor-control` design token for interactive controls (WordPress/gutenberg#77360) - Post Editor: Store metaboxes RTC-compatible flag on location entries (WordPress/gutenberg#77361) - UI: Use shared style-imports types (WordPress/gutenberg#77388) - Stop adding “noreferrer” to external links except File block. (WordPress/gutenberg#26968) - Core Abilities: Export initialization promise as `ready` (WordPress/gutenberg#77254) - Externalize react-dom/client (WordPress/gutenberg#77326) - Data: Export and consolidate 'onSubKey' helper (WordPress/gutenberg#77364) - Paragraph: Refactor replacement logic in 'useOnEnter' hook (WordPress/gutenberg#77383) - Fix pseudo selector block style rendering in the editor (WordPress/gutenberg#76879) - Tabs: Lock top-level structure and disable visibility controls (WordPress/gutenberg#77370) - Share React CSS custom properties typing (WordPress/gutenberg#77394) - Notes: Refactor and extract offset calculation logic (WordPress/gutenberg#77414) - Tabs: Remove redundant version field from block.json (WordPress/gutenberg#77417) - Latest Comments: Fix uneven padding issue causing mis-alignment (WordPress/gutenberg#77379) - Workflow: Use --wpds-cursor-control design token (WordPress/gutenberg#77369) - blocks: Port over some of the type information for @wordpress/blocks from DefinitelyTyped (WordPress/gutenberg#77393) - Notes: Extract floating notes state into a dedicated store (WordPress/gutenberg#77424) - Tabs: Handle duplicating tabs (WordPress/gutenberg#76449) - Components: Refactor NavigableContainer from class to function component (WordPress/gutenberg#77171) - UI: Fix focus-trap broken by ThemeProvider's display:contents (WordPress/gutenberg#77381) - viewport visibility: use 'key' instead of 'value' for device type (WordPress/gutenberg#77410) - Update changelog for blocks package (WordPress/gutenberg#77437) - Tabs: Clean up Edit components (WordPress/gutenberg#77426) - Media editor: remove unused dependency (WordPress/gutenberg#77438) - Block Editor: Strip per-block custom CSS on save for users without edit_css (WordPress/gutenberg#76650) - Ensure Post Template fallback styles don't apply when minimumColumnWidth is defined (WordPress/gutenberg#77411) - UI: Upgrade title validation to cleanup-based re-validation (WordPress/gutenberg#77165) - ui/Tabs: Fix `act()` warnings in tests (WordPress/gutenberg#77319) - docs: Clarify UI package setup for different contexts (WordPress/gutenberg#77338) - Fix: Preserve aspectRatio and scale when switching to wide/full align… (WordPress/gutenberg#76914) - Link: Honor `openInNewTab` consistently (WordPress/gutenberg#77422) - Block Supports: Add min width support to dimensions (WordPress/gutenberg#76949) - Link: Remove underline from unstyled icon links (WordPress/gutenberg#77420) - Theme: Update Terrazzo packages to 2.0 (WordPress/gutenberg#77432) - Editor: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77376) - GlobalStylesUI: Use `--wpds-cursor-control` design token for interact… (WordPress/gutenberg#77335) - Typescript: Migrate keyboard-shortcuts to TS (WordPress/gutenberg#76287) - GlobalStylesUI: Remove unused CSS rule (WordPress/gutenberg#77456) - Writing Flow: fix arrow keys skipping paragraph containing link (WordPress/gutenberg#77474) - Ensure layout classnames are applied to the inner blocks wrapper and not to its siblings (WordPress/gutenberg#77408) - Fix: Change Featured Image toggle label to 'Make image a link' (WordPress/gutenberg#71931) - Autocomplete: Skip stale triggers from completed mentions (WordPress/gutenberg#77185) - Fix: Add cursor pointer to the ariakit menu item component - Issue - WordPress/gutenberg#70411 (WordPress/gutenberg#70412) - Guidelines CPT: Skip registration when post type already exists (WordPress/gutenberg#77486) - ESLint: Introduce bulk suppressions workflow (WordPress/gutenberg#77392) - Add heading level 1 for the fonts page (WordPress/gutenberg#77482) - CollapsibleCard: Fix missing keyboard focus ring on the header chevron icon when rendered inside wp-admin (WordPress/gutenberg#77468) - Docs: Add ESLint v10 migration guide and polish docs (WordPress/gutenberg#77217) - Tabs: Fix missing keyboard focus ring on the panel in Windows High Contrast mode when rendered inside wp-admin (WordPress/gutenberg#77469) - EditSite: Remove unused CSS rule (WordPress/gutenberg#77494) - Card: Remove unused CardContext (WordPress/gutenberg#77463) - design-system-mcp: Add new package for design system MCP tooling (WordPress/gutenberg#77159) - Storybook: Fix component descriptions in manifest files (WordPress/gutenberg#77112) - Notes: Reduce passes in useBlockComments memo and rename outputs (WordPress/gutenberg#77440) - Upload Media: Enable concurrent sideload uploads (WordPress/gutenberg#75888) - Deduplicate client-side image sizes with matching dimensions (WordPress/gutenberg#77036) - Convert tests/unit to npm workspace (WordPress/gutenberg#77063) - UI: Portal prop and Portal subcomponents for overlay Popups (WordPress/gutenberg#77452) - Storybook: add global preview styles for @wordpress/ui overlays (WordPress/gutenberg#77451) - Experiment: Add custom taxonomies (WordPress/gutenberg#77497) - Storybook: Fix 'Open source file' links for storybook-local stories (WordPress/gutenberg#76758) - UI Dialog: Add Description, modal context, and misc improvements (WordPress/gutenberg#77194) - Docs: Update parameter type from `number` to `int` in CSS declaration methods (WordPress/gutenberg#77519) - Fix: use node_modules/.bin/stylelint to avoid npm warnings on Node 24 (WordPress/gutenberg#77512) - Text: Apply both heading and paragraph CSS defenses unconditionally (WordPress/gutenberg#77461) - Notes: Compute note positions centrally in useFloatingBoard (WordPress/gutenberg#77433) - Stylelint: Add cursor pointer rule and block-library override (WordPress/gutenberg#77501) - Admin UI: Add visual prop to Page header component (WordPress/gutenberg#76469) - Fix: post saving should be locked during media uploads (WordPress/gutenberg#76973) - RTC: Fixed orphaned meta causing dirty editor state (WordPress/gutenberg#77529) - Media Editor experiment: add experimental image editor and cropper (WordPress/gutenberg#77479) - UI: Start recommending new Card components (WordPress/gutenberg#77423) - Media Editor Modal: Add a media editor modal experiment (WordPress/gutenberg#77480) - Expand support for `isElementVisible` (`VisuallyHidden`) (WordPress/gutenberg#77191) - Experiments Page: Update labels for the media-related experiments to group them together and better clarify what the experiments do (WordPress/gutenberg#77536) - Media Editor: render cropper in media editor modal for images (WordPress/gutenberg#77537) - Tabs: Rename tabs blocks to follow WCAG Tabs pattern (WordPress/gutenberg#77418) - [Video Block]: Update z-index for tracks popover to ensure proper stacking context (WordPress/gutenberg#77517) - Guidelines: Make the CPT type-aware (WordPress/gutenberg#77491) - Taxonomies: add spacing above Add Taxonomy modal actions (WordPress/gutenberg#77523) - Taxonomies Route: Declare @wordpress/base-styles dependency (WordPress/gutenberg#77543) - Taxonomies: warn when editing an existing taxonomy's slug (WordPress/gutenberg#77527) - Site Logo Block: Enable the media editor modal experiment for the crop button (WordPress/gutenberg#77548) - Menu: Fix flaky submenu focus test (WordPress/gutenberg#77430) - Add no-unsafe-render-order ESLint rule (WordPress/gutenberg#77428) - UI: Update `@base-ui/react` from `1.4.0` to `1.4.1` (WordPress/gutenberg#77520) - components: Menu popover render + surface/motion split (WordPress/gutenberg#77460) - Upload Media: Use .jpg extension for HEIC-to-JPEG client conversion (WordPress/gutenberg#77506) - Consolidate ESLint config into tools/eslint/ workspace package (WordPress/gutenberg#77215) - UI: Add Drawer primitive (WordPress/gutenberg#76690) - Fix import order in block-editor `custom-css.js` (WordPress/gutenberg#77566) - Experiment: Follow up improvements on taxonomies(77497) (WordPress/gutenberg#77567) - Client-side media: declare convert_format as boolean arg on sideload route (WordPress/gutenberg#77565) - Media Upload Modal: Enhance filtering logic to support "text/vtt" and "video/*" (WordPress/gutenberg#77550) - Media Editor: add cropper controls to the media editor modal (WordPress/gutenberg#77540) - Media Editor: add zoom control and hide fine rotation on narrow viewports (WordPress/gutenberg#77585) - Remove ZebulanStanphill from CODEOWNERS (WordPress/gutenberg#77586) - Image editor: reserve inner gutter so crop handles stay accessible (WordPress/gutenberg#77547) - Docs: Auto-generate per-block API reference pages from block.json (WordPress/gutenberg#77350) - Embed: Fix variation upgrade undo trap (WordPress/gutenberg#77546) - fix: block-mover up/down button tooltip positions (WordPress/gutenberg#77588) - fix: edit-post back button tooltip position (WordPress/gutenberg#77587) - Revert "Docs: Auto-generate per-block API reference pages from block.json (https://github.com/WordPress/gutenberg/pull/7…" (WordPress/gutenberg#77590) - Experiment: Add delete action to taxonomy management (WordPress/gutenberg#77524) - Tests: Remove duplicate mentions spec (WordPress/gutenberg#77593) - Notes: Refactor to use new '@wordpress/ui' components (WordPress/gutenberg#77589) - wp-build: Widen optional peer dependency ranges (WordPress/gutenberg#77568) - Eslint: Improve design token linting for CSS declaration strings (WordPress/gutenberg#77384) - ESLint: Add `use-import-as` rule (WordPress/gutenberg#77389) - Experiments: register `gutenberg-dashboard-widgets` flag (WordPress/gutenberg#77569) - Media: Move image output format filtering to upload response (WordPress/gutenberg#75793) - Dashboard: register admin page route + sidebar menu (shell) (WordPress/gutenberg#77573) - Experiment: Fix console errors/warnings for taxonomies (WordPress/gutenberg#77601) - Experiment: Improve `taxonomies` DataViews height (WordPress/gutenberg#77603) - Experimental Image Cropper: Ensure focus is on canvas when dragging (WordPress/gutenberg#77591) - Template parts: make 'Detach' context menu item consistent across patterns and template parts (WordPress/gutenberg#77581) - Experimental Image Cropper: Tweak the keyboard interactions with drag handles and canvas (WordPress/gutenberg#77639) - Fix: block-mover horizontal tooltip position (WordPress/gutenberg#77597) - Experiment: Render taxonomy status as a Badge (WordPress/gutenberg#77635) - Guidelines: Drop default_term from wp_guideline_type taxonomy (WordPress/gutenberg#77592) - Form blocks: Update block categories for form, form-input, form-submission-notification, and form-submit-button (WordPress/gutenberg#61916) - Experiment: Split status action to two actions, make them bulk-capable (WordPress/gutenberg#77637) - ButtonGroup: Inline z-index (WordPress/gutenberg#77621) - VisuallyHidden: Recommend @wordpress/ui and migrate usages (WordPress/gutenberg#77575) - Experiment: Improve taxonomy `edit` action (WordPress/gutenberg#77605) - FormToggle: Inline z-index (WordPress/gutenberg#77619) - ResizableBox: Inline handle z-index (WordPress/gutenberg#77620) - Build: Skip sourcemaps for WASM-inlined script module workers (WordPress/gutenberg#75993) - RTC: Fix "Connection Lost" dialog when too many entities are loaded (WordPress/gutenberg#77631) - Experiments: Rebuild the wp-admin Experiments screen on the wp-build routes pattern (WordPress/gutenberg#77443) - Connectors: Treat network-active plugins as active in plugin status check (WordPress/gutenberg#77661) - Update TypeScript to tsgo (7.0) (WordPress/gutenberg#77177) - Revert tsgo update as it breaks trunk (WordPress/gutenberg#77680) - Image editor: fix locked-ratio resize driver-axis on non-square images (WordPress/gutenberg#77664) - Image editor: hold Shift while resizing to lock current aspect ratio (WordPress/gutenberg#77663) - [Admin UI]: Move to CSS modules and implement logical properties (WordPress/gutenberg#77088) - ui: Forward style and className on *.Popup to inner Base UI Popup (WordPress/gutenberg#77693) - ui: Align WithCustomZIndex Storybook examples across overlays (WordPress/gutenberg#77648) - ui: Uniform title and description styles across overlays (WordPress/gutenberg#77692) - UI: Add `Autocomplete` primitive (WordPress/gutenberg#77642) - Admin UI: change default heading level from h2 to h1 (WordPress/gutenberg#77617) - ui/Dialog, ui/AlertDialog, ui/Drawer: support sticky header and footer (WordPress/gutenberg#77559) - e2e: shorten visit-site-editor canvas-loader visible wait (WordPress/gutenberg#77725) - Gutenberg Experiments: Ensure the experiment is active before outputting flags (WordPress/gutenberg#77728) - Image editor: formalize cropper contract (WordPress/gutenberg#77668) - Image Editor experiment: Pass theme aspect ratios to media editor (WordPress/gutenberg#77665) - Media Editor Modal: save via Core's /edit modifiers (WordPress/gutenberg#77641) - Experiment: Taxonomies new package and `add/edit` screens (WordPress/gutenberg#77657) - Media editor: confirm before discarding unsaved changes (WordPress/gutenberg#77730) - `FormTokenField`: Add `help` prop to render additional help text below the field (WordPress/gutenberg#77552) - Migrate `test/integration` into `@wordpress/integration-tests` workspace (WordPress/gutenberg#77556) - Tabs: Add classic theme styles to reset button defaults (WordPress/gutenberg#77607) - Media Editor Modal: surface save failures as scoped snackbar notices (WordPress/gutenberg#77733) - DataForm: Render field `description` as help text in the `array` control (WordPress/gutenberg#77554) - Revisions: Improve screen reader accessibility for diff markers region and slider (WordPress/gutenberg#77660) - fix: disable custom css command for non block themes (WordPress/gutenberg#77685) - Experiments: Declare `@wordpress/base-styles` dependency (WordPress/gutenberg#77684) - Notes: Refactor internals into smaller components (WordPress/gutenberg#77614) - Connectors: Add role="list" wrapper to connector cards for valid ARIA structure (WordPress/gutenberg#77689) - Admin UI: use UI Text component in header (WordPress/gutenberg#77372) - I18N: Polyfill script module translations for WordPress < 7.0 (WordPress/gutenberg#77214) - Refactor Admin UI / Breadcrumbs to use DS components and design tokens (WordPress/gutenberg#77012) - ui: Unify hairline border across overlay popups (WordPress/gutenberg#77691) - Base Styles: Remove stale z-index entries (WordPress/gutenberg#77714) - CircularOptionPicker: Inline z-index values (WordPress/gutenberg#77715) - ComplementaryArea: Inline z-index values (WordPress/gutenberg#77717) - Disable TinyMCE: Warning instead of direct redirect (WordPress/gutenberg#77747) - Tooltip: Fix flaky unit test (WordPress/gutenberg#77751) - Admin UI: ensure consistent header spacing with and without actions (WordPress/gutenberg#76683) - RTC: fix connection lost error on large update cause by mismatch between update size bounds check and expanded base64 update size (WordPress/gutenberg#77669) - Add `@wordpress/grid` package (WordPress/gutenberg#77562) - Base styles: update changelog to be clearer (WordPress/gutenberg#77767) - Media editor modal: add interactive grid (WordPress/gutenberg#77771) - Media editor: avoid double-mount flicker on open (WordPress/gutenberg#77732) - Command Palette: Fix macOs label for sites unable to determine UA via PHP (WordPress/gutenberg#77638) - Accordion: Remove invalid `isBlock` prop from `ToggleControl` (WordPress/gutenberg#77776) - Guidelines: Extract initial public API methods (WordPress/gutenberg#77643) - Embed: Restore paragraph with URL when undoing paste-to-embed transform (WordPress/gutenberg#77551) - Guidelines: Split singleton REST API into dedicated /content-guidelines route (WordPress/gutenberg#77734) - Allow EmptyState from @wordpress/ui in recommended components (WordPress/gutenberg#77765) - Block Editor: Fix blockGap fallback parsing for nested var() values (WordPress/gutenberg#77750) - Core Data: Remove redundant memoization wrapper from 'getQueriedItems' (WordPress/gutenberg#77483) - Enhancement: Add descriptive name for docker container images (WordPress/gutenberg#67827) - Fix: Add Missing Dimension Controls & Limited Customization in Accordion Block (WordPress/gutenberg#77780) - Connectors: keep focus on action Button during install (WordPress/gutenberg#77544) - Widgets: add widget-types data layer (WordPress/gutenberg#77752) - Grid: fix `width: 'fill'` when tiles span multiple rows (WordPress/gutenberg#77769) - CollapsibleCard: Prevent focus ring clipping by content overflow (WordPress/gutenberg#77667) - Block editor: Remove stale reusable block z-index styles (WordPress/gutenberg#77774) - Grid: add @types/jest devDependency (WordPress/gutenberg#77801) - Env: Minor refactoring of cacheDirectoryPath evaluation (WordPress/gutenberg#77799) - User Taxonomies: show Public field in create/edit form (WordPress/gutenberg#77802) - Experiment: Taxonomies REST controller (WordPress/gutenberg#77697) - Experiment: Taxonomies implement `auto-fill labels` (WordPress/gutenberg#77786) - UI: Recommend Link component for use (WordPress/gutenberg#77505) - ExternalLink: Align appearance with Link from @wordpress/ui (WordPress/gutenberg#77790) - Disable TinyMCE: Repurpose experiment as Classic block removal (WordPress/gutenberg#77838) - Media Upload Modal: Fix pagination and search (WordPress/gutenberg#77872) - Disable Classic block: Always register, hide from inserter conditionally (WordPress/gutenberg#77840) - Disable Classic block: Control inserter support via filter (WordPress/gutenberg#77845) - Classic Block: Unwrap experiment to hide it from inserter (WordPress/gutenberg#77911) - RTC: Attach sync observers after hydrating persisted CRDT doc (WordPress/gutenberg#77966) - RTC: Fix compaction unit test (WordPress/gutenberg#77986) - RTC: Fix divergence when two offline users reconnect (WordPress/gutenberg#77980) - Fix PHP multisite tests (WordPress/gutenberg#77825) - Connectors: Stop e2e capability restriction from leaking across specs (WordPress/gutenberg#77857) Props adamsilverstein, jorbin, westonruter, wildworks. Fixes #65558. git-svn-id: https://develop.svn.wordpress.org/trunk@62581 602fd350-edb4-49c9-b593-d223f7449a82
This updates the pinned commit hash of the Gutenberg repository from `7295bd91a3c2b64bb11dde0a12313210d9d16a12 ` (version `23.0.0`) to `585cf86bb6f408b1dc61175f75db016aa4760653` (version `23.1.0`). A full list of changes included in this commit can be found on GitHub: https://github.com/WordPress/gutenberg/compare/v23.0.0..v23.1.0. The following commits are included: - Edit Site: Move show-icon-labels handling to specific edit-site call sites (WordPress/gutenberg#77287) - Boot: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77357) - Image: Fix non-local image ID removal undo trap (WordPress/gutenberg#77367) - Block Editor: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77354) - Test: Connectors Point to the righ page. (WordPress/gutenberg#77272) - Commands: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77358) - UI: use Text in Notice.ActionLink typography (WordPress/gutenberg#77332) - Jest setup: remove unneeded rAF polyfills (WordPress/gutenberg#77378) - Fields: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77373) - Widgets: Use --wpds-cursor-control design token (WordPress/gutenberg#77368) - EditPost: Use `--wpds-cursor-control` design token for interactive controls (WordPress/gutenberg#77360) - Post Editor: Store metaboxes RTC-compatible flag on location entries (WordPress/gutenberg#77361) - UI: Use shared style-imports types (WordPress/gutenberg#77388) - Stop adding “noreferrer” to external links except File block. (WordPress/gutenberg#26968) - Core Abilities: Export initialization promise as `ready` (WordPress/gutenberg#77254) - Externalize react-dom/client (WordPress/gutenberg#77326) - Data: Export and consolidate 'onSubKey' helper (WordPress/gutenberg#77364) - Paragraph: Refactor replacement logic in 'useOnEnter' hook (WordPress/gutenberg#77383) - Fix pseudo selector block style rendering in the editor (WordPress/gutenberg#76879) - Tabs: Lock top-level structure and disable visibility controls (WordPress/gutenberg#77370) - Share React CSS custom properties typing (WordPress/gutenberg#77394) - Notes: Refactor and extract offset calculation logic (WordPress/gutenberg#77414) - Tabs: Remove redundant version field from block.json (WordPress/gutenberg#77417) - Latest Comments: Fix uneven padding issue causing mis-alignment (WordPress/gutenberg#77379) - Workflow: Use --wpds-cursor-control design token (WordPress/gutenberg#77369) - blocks: Port over some of the type information for @wordpress/blocks from DefinitelyTyped (WordPress/gutenberg#77393) - Notes: Extract floating notes state into a dedicated store (WordPress/gutenberg#77424) - Tabs: Handle duplicating tabs (WordPress/gutenberg#76449) - Components: Refactor NavigableContainer from class to function component (WordPress/gutenberg#77171) - UI: Fix focus-trap broken by ThemeProvider's display:contents (WordPress/gutenberg#77381) - viewport visibility: use 'key' instead of 'value' for device type (WordPress/gutenberg#77410) - Update changelog for blocks package (WordPress/gutenberg#77437) - Tabs: Clean up Edit components (WordPress/gutenberg#77426) - Media editor: remove unused dependency (WordPress/gutenberg#77438) - Block Editor: Strip per-block custom CSS on save for users without edit_css (WordPress/gutenberg#76650) - Ensure Post Template fallback styles don't apply when minimumColumnWidth is defined (WordPress/gutenberg#77411) - UI: Upgrade title validation to cleanup-based re-validation (WordPress/gutenberg#77165) - ui/Tabs: Fix `act()` warnings in tests (WordPress/gutenberg#77319) - docs: Clarify UI package setup for different contexts (WordPress/gutenberg#77338) - Fix: Preserve aspectRatio and scale when switching to wide/full align… (WordPress/gutenberg#76914) - Link: Honor `openInNewTab` consistently (WordPress/gutenberg#77422) - Block Supports: Add min width support to dimensions (WordPress/gutenberg#76949) - Link: Remove underline from unstyled icon links (WordPress/gutenberg#77420) - Theme: Update Terrazzo packages to 2.0 (WordPress/gutenberg#77432) - Editor: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77376) - GlobalStylesUI: Use `--wpds-cursor-control` design token for interact… (WordPress/gutenberg#77335) - Typescript: Migrate keyboard-shortcuts to TS (WordPress/gutenberg#76287) - GlobalStylesUI: Remove unused CSS rule (WordPress/gutenberg#77456) - Writing Flow: fix arrow keys skipping paragraph containing link (WordPress/gutenberg#77474) - Ensure layout classnames are applied to the inner blocks wrapper and not to its siblings (WordPress/gutenberg#77408) - Fix: Change Featured Image toggle label to 'Make image a link' (WordPress/gutenberg#71931) - Autocomplete: Skip stale triggers from completed mentions (WordPress/gutenberg#77185) - Fix: Add cursor pointer to the ariakit menu item component - Issue - WordPress/gutenberg#70411 (WordPress/gutenberg#70412) - Guidelines CPT: Skip registration when post type already exists (WordPress/gutenberg#77486) - ESLint: Introduce bulk suppressions workflow (WordPress/gutenberg#77392) - Add heading level 1 for the fonts page (WordPress/gutenberg#77482) - CollapsibleCard: Fix missing keyboard focus ring on the header chevron icon when rendered inside wp-admin (WordPress/gutenberg#77468) - Docs: Add ESLint v10 migration guide and polish docs (WordPress/gutenberg#77217) - Tabs: Fix missing keyboard focus ring on the panel in Windows High Contrast mode when rendered inside wp-admin (WordPress/gutenberg#77469) - EditSite: Remove unused CSS rule (WordPress/gutenberg#77494) - Card: Remove unused CardContext (WordPress/gutenberg#77463) - design-system-mcp: Add new package for design system MCP tooling (WordPress/gutenberg#77159) - Storybook: Fix component descriptions in manifest files (WordPress/gutenberg#77112) - Notes: Reduce passes in useBlockComments memo and rename outputs (WordPress/gutenberg#77440) - Upload Media: Enable concurrent sideload uploads (WordPress/gutenberg#75888) - Deduplicate client-side image sizes with matching dimensions (WordPress/gutenberg#77036) - Convert tests/unit to npm workspace (WordPress/gutenberg#77063) - UI: Portal prop and Portal subcomponents for overlay Popups (WordPress/gutenberg#77452) - Storybook: add global preview styles for @wordpress/ui overlays (WordPress/gutenberg#77451) - Experiment: Add custom taxonomies (WordPress/gutenberg#77497) - Storybook: Fix 'Open source file' links for storybook-local stories (WordPress/gutenberg#76758) - UI Dialog: Add Description, modal context, and misc improvements (WordPress/gutenberg#77194) - Docs: Update parameter type from `number` to `int` in CSS declaration methods (WordPress/gutenberg#77519) - Fix: use node_modules/.bin/stylelint to avoid npm warnings on Node 24 (WordPress/gutenberg#77512) - Text: Apply both heading and paragraph CSS defenses unconditionally (WordPress/gutenberg#77461) - Notes: Compute note positions centrally in useFloatingBoard (WordPress/gutenberg#77433) - Stylelint: Add cursor pointer rule and block-library override (WordPress/gutenberg#77501) - Admin UI: Add visual prop to Page header component (WordPress/gutenberg#76469) - Fix: post saving should be locked during media uploads (WordPress/gutenberg#76973) - RTC: Fixed orphaned meta causing dirty editor state (WordPress/gutenberg#77529) - Media Editor experiment: add experimental image editor and cropper (WordPress/gutenberg#77479) - UI: Start recommending new Card components (WordPress/gutenberg#77423) - Media Editor Modal: Add a media editor modal experiment (WordPress/gutenberg#77480) - Expand support for `isElementVisible` (`VisuallyHidden`) (WordPress/gutenberg#77191) - Experiments Page: Update labels for the media-related experiments to group them together and better clarify what the experiments do (WordPress/gutenberg#77536) - Media Editor: render cropper in media editor modal for images (WordPress/gutenberg#77537) - Tabs: Rename tabs blocks to follow WCAG Tabs pattern (WordPress/gutenberg#77418) - [Video Block]: Update z-index for tracks popover to ensure proper stacking context (WordPress/gutenberg#77517) - Guidelines: Make the CPT type-aware (WordPress/gutenberg#77491) - Taxonomies: add spacing above Add Taxonomy modal actions (WordPress/gutenberg#77523) - Taxonomies Route: Declare @wordpress/base-styles dependency (WordPress/gutenberg#77543) - Taxonomies: warn when editing an existing taxonomy's slug (WordPress/gutenberg#77527) - Site Logo Block: Enable the media editor modal experiment for the crop button (WordPress/gutenberg#77548) - Menu: Fix flaky submenu focus test (WordPress/gutenberg#77430) - Add no-unsafe-render-order ESLint rule (WordPress/gutenberg#77428) - UI: Update `@base-ui/react` from `1.4.0` to `1.4.1` (WordPress/gutenberg#77520) - components: Menu popover render + surface/motion split (WordPress/gutenberg#77460) - Upload Media: Use .jpg extension for HEIC-to-JPEG client conversion (WordPress/gutenberg#77506) - Consolidate ESLint config into tools/eslint/ workspace package (WordPress/gutenberg#77215) - UI: Add Drawer primitive (WordPress/gutenberg#76690) - Fix import order in block-editor `custom-css.js` (WordPress/gutenberg#77566) - Experiment: Follow up improvements on taxonomies(77497) (WordPress/gutenberg#77567) - Client-side media: declare convert_format as boolean arg on sideload route (WordPress/gutenberg#77565) - Media Upload Modal: Enhance filtering logic to support "text/vtt" and "video/*" (WordPress/gutenberg#77550) - Media Editor: add cropper controls to the media editor modal (WordPress/gutenberg#77540) - Media Editor: add zoom control and hide fine rotation on narrow viewports (WordPress/gutenberg#77585) - Remove ZebulanStanphill from CODEOWNERS (WordPress/gutenberg#77586) - Image editor: reserve inner gutter so crop handles stay accessible (WordPress/gutenberg#77547) - Docs: Auto-generate per-block API reference pages from block.json (WordPress/gutenberg#77350) - Embed: Fix variation upgrade undo trap (WordPress/gutenberg#77546) - fix: block-mover up/down button tooltip positions (WordPress/gutenberg#77588) - fix: edit-post back button tooltip position (WordPress/gutenberg#77587) - Revert "Docs: Auto-generate per-block API reference pages from block.json (https://github.com/WordPress/gutenberg/pull/7…" (WordPress/gutenberg#77590) - Experiment: Add delete action to taxonomy management (WordPress/gutenberg#77524) - Tests: Remove duplicate mentions spec (WordPress/gutenberg#77593) - Notes: Refactor to use new '@wordpress/ui' components (WordPress/gutenberg#77589) - wp-build: Widen optional peer dependency ranges (WordPress/gutenberg#77568) - Eslint: Improve design token linting for CSS declaration strings (WordPress/gutenberg#77384) - ESLint: Add `use-import-as` rule (WordPress/gutenberg#77389) - Experiments: register `gutenberg-dashboard-widgets` flag (WordPress/gutenberg#77569) - Media: Move image output format filtering to upload response (WordPress/gutenberg#75793) - Dashboard: register admin page route + sidebar menu (shell) (WordPress/gutenberg#77573) - Experiment: Fix console errors/warnings for taxonomies (WordPress/gutenberg#77601) - Experiment: Improve `taxonomies` DataViews height (WordPress/gutenberg#77603) - Experimental Image Cropper: Ensure focus is on canvas when dragging (WordPress/gutenberg#77591) - Template parts: make 'Detach' context menu item consistent across patterns and template parts (WordPress/gutenberg#77581) - Experimental Image Cropper: Tweak the keyboard interactions with drag handles and canvas (WordPress/gutenberg#77639) - Fix: block-mover horizontal tooltip position (WordPress/gutenberg#77597) - Experiment: Render taxonomy status as a Badge (WordPress/gutenberg#77635) - Guidelines: Drop default_term from wp_guideline_type taxonomy (WordPress/gutenberg#77592) - Form blocks: Update block categories for form, form-input, form-submission-notification, and form-submit-button (WordPress/gutenberg#61916) - Experiment: Split status action to two actions, make them bulk-capable (WordPress/gutenberg#77637) - ButtonGroup: Inline z-index (WordPress/gutenberg#77621) - VisuallyHidden: Recommend @wordpress/ui and migrate usages (WordPress/gutenberg#77575) - Experiment: Improve taxonomy `edit` action (WordPress/gutenberg#77605) - FormToggle: Inline z-index (WordPress/gutenberg#77619) - ResizableBox: Inline handle z-index (WordPress/gutenberg#77620) - Build: Skip sourcemaps for WASM-inlined script module workers (WordPress/gutenberg#75993) - RTC: Fix "Connection Lost" dialog when too many entities are loaded (WordPress/gutenberg#77631) - Experiments: Rebuild the wp-admin Experiments screen on the wp-build routes pattern (WordPress/gutenberg#77443) - Connectors: Treat network-active plugins as active in plugin status check (WordPress/gutenberg#77661) - Update TypeScript to tsgo (7.0) (WordPress/gutenberg#77177) - Revert tsgo update as it breaks trunk (WordPress/gutenberg#77680) - Image editor: fix locked-ratio resize driver-axis on non-square images (WordPress/gutenberg#77664) - Image editor: hold Shift while resizing to lock current aspect ratio (WordPress/gutenberg#77663) - [Admin UI]: Move to CSS modules and implement logical properties (WordPress/gutenberg#77088) - ui: Forward style and className on *.Popup to inner Base UI Popup (WordPress/gutenberg#77693) - ui: Align WithCustomZIndex Storybook examples across overlays (WordPress/gutenberg#77648) - ui: Uniform title and description styles across overlays (WordPress/gutenberg#77692) - UI: Add `Autocomplete` primitive (WordPress/gutenberg#77642) - Admin UI: change default heading level from h2 to h1 (WordPress/gutenberg#77617) - ui/Dialog, ui/AlertDialog, ui/Drawer: support sticky header and footer (WordPress/gutenberg#77559) - e2e: shorten visit-site-editor canvas-loader visible wait (WordPress/gutenberg#77725) - Gutenberg Experiments: Ensure the experiment is active before outputting flags (WordPress/gutenberg#77728) - Image editor: formalize cropper contract (WordPress/gutenberg#77668) - Image Editor experiment: Pass theme aspect ratios to media editor (WordPress/gutenberg#77665) - Media Editor Modal: save via Core's /edit modifiers (WordPress/gutenberg#77641) - Experiment: Taxonomies new package and `add/edit` screens (WordPress/gutenberg#77657) - Media editor: confirm before discarding unsaved changes (WordPress/gutenberg#77730) - `FormTokenField`: Add `help` prop to render additional help text below the field (WordPress/gutenberg#77552) - Migrate `test/integration` into `@wordpress/integration-tests` workspace (WordPress/gutenberg#77556) - Tabs: Add classic theme styles to reset button defaults (WordPress/gutenberg#77607) - Media Editor Modal: surface save failures as scoped snackbar notices (WordPress/gutenberg#77733) - DataForm: Render field `description` as help text in the `array` control (WordPress/gutenberg#77554) - Revisions: Improve screen reader accessibility for diff markers region and slider (WordPress/gutenberg#77660) - fix: disable custom css command for non block themes (WordPress/gutenberg#77685) - Experiments: Declare `@wordpress/base-styles` dependency (WordPress/gutenberg#77684) - Notes: Refactor internals into smaller components (WordPress/gutenberg#77614) - Connectors: Add role="list" wrapper to connector cards for valid ARIA structure (WordPress/gutenberg#77689) - Admin UI: use UI Text component in header (WordPress/gutenberg#77372) - I18N: Polyfill script module translations for WordPress < 7.0 (WordPress/gutenberg#77214) - Refactor Admin UI / Breadcrumbs to use DS components and design tokens (WordPress/gutenberg#77012) - ui: Unify hairline border across overlay popups (WordPress/gutenberg#77691) - Base Styles: Remove stale z-index entries (WordPress/gutenberg#77714) - CircularOptionPicker: Inline z-index values (WordPress/gutenberg#77715) - ComplementaryArea: Inline z-index values (WordPress/gutenberg#77717) - Disable TinyMCE: Warning instead of direct redirect (WordPress/gutenberg#77747) - Tooltip: Fix flaky unit test (WordPress/gutenberg#77751) - Admin UI: ensure consistent header spacing with and without actions (WordPress/gutenberg#76683) - RTC: fix connection lost error on large update cause by mismatch between update size bounds check and expanded base64 update size (WordPress/gutenberg#77669) - Add `@wordpress/grid` package (WordPress/gutenberg#77562) - Base styles: update changelog to be clearer (WordPress/gutenberg#77767) - Media editor modal: add interactive grid (WordPress/gutenberg#77771) - Media editor: avoid double-mount flicker on open (WordPress/gutenberg#77732) - Command Palette: Fix macOs label for sites unable to determine UA via PHP (WordPress/gutenberg#77638) - Accordion: Remove invalid `isBlock` prop from `ToggleControl` (WordPress/gutenberg#77776) - Guidelines: Extract initial public API methods (WordPress/gutenberg#77643) - Embed: Restore paragraph with URL when undoing paste-to-embed transform (WordPress/gutenberg#77551) - Guidelines: Split singleton REST API into dedicated /content-guidelines route (WordPress/gutenberg#77734) - Allow EmptyState from @wordpress/ui in recommended components (WordPress/gutenberg#77765) - Block Editor: Fix blockGap fallback parsing for nested var() values (WordPress/gutenberg#77750) - Core Data: Remove redundant memoization wrapper from 'getQueriedItems' (WordPress/gutenberg#77483) - Enhancement: Add descriptive name for docker container images (WordPress/gutenberg#67827) - Fix: Add Missing Dimension Controls & Limited Customization in Accordion Block (WordPress/gutenberg#77780) - Connectors: keep focus on action Button during install (WordPress/gutenberg#77544) - Widgets: add widget-types data layer (WordPress/gutenberg#77752) - Grid: fix `width: 'fill'` when tiles span multiple rows (WordPress/gutenberg#77769) - CollapsibleCard: Prevent focus ring clipping by content overflow (WordPress/gutenberg#77667) - Block editor: Remove stale reusable block z-index styles (WordPress/gutenberg#77774) - Grid: add @types/jest devDependency (WordPress/gutenberg#77801) - Env: Minor refactoring of cacheDirectoryPath evaluation (WordPress/gutenberg#77799) - User Taxonomies: show Public field in create/edit form (WordPress/gutenberg#77802) - Experiment: Taxonomies REST controller (WordPress/gutenberg#77697) - Experiment: Taxonomies implement `auto-fill labels` (WordPress/gutenberg#77786) - UI: Recommend Link component for use (WordPress/gutenberg#77505) - ExternalLink: Align appearance with Link from @wordpress/ui (WordPress/gutenberg#77790) - Disable TinyMCE: Repurpose experiment as Classic block removal (WordPress/gutenberg#77838) - Media Upload Modal: Fix pagination and search (WordPress/gutenberg#77872) - Disable Classic block: Always register, hide from inserter conditionally (WordPress/gutenberg#77840) - Disable Classic block: Control inserter support via filter (WordPress/gutenberg#77845) - Classic Block: Unwrap experiment to hide it from inserter (WordPress/gutenberg#77911) - RTC: Attach sync observers after hydrating persisted CRDT doc (WordPress/gutenberg#77966) - RTC: Fix compaction unit test (WordPress/gutenberg#77986) - RTC: Fix divergence when two offline users reconnect (WordPress/gutenberg#77980) - Fix PHP multisite tests (WordPress/gutenberg#77825) - Connectors: Stop e2e capability restriction from leaking across specs (WordPress/gutenberg#77857) Props adamsilverstein, jorbin, westonruter, wildworks. Fixes #65558. Built from https://develop.svn.wordpress.org/trunk@62581 git-svn-id: http://core.svn.wordpress.org/trunk@61861 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This updates the pinned commit hash of the Gutenberg repository from `7295bd91a3c2b64bb11dde0a12313210d9d16a12 ` (version `23.0.0`) to `585cf86bb6f408b1dc61175f75db016aa4760653` (version `23.1.0`). A full list of changes included in this commit can be found on GitHub: https://github.com/WordPress/gutenberg/compare/v23.0.0..v23.1.0. The following commits are included: - Edit Site: Move show-icon-labels handling to specific edit-site call sites (WordPress/gutenberg#77287) - Boot: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77357) - Image: Fix non-local image ID removal undo trap (WordPress/gutenberg#77367) - Block Editor: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77354) - Test: Connectors Point to the righ page. (WordPress/gutenberg#77272) - Commands: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77358) - UI: use Text in Notice.ActionLink typography (WordPress/gutenberg#77332) - Jest setup: remove unneeded rAF polyfills (WordPress/gutenberg#77378) - Fields: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77373) - Widgets: Use --wpds-cursor-control design token (WordPress/gutenberg#77368) - EditPost: Use `--wpds-cursor-control` design token for interactive controls (WordPress/gutenberg#77360) - Post Editor: Store metaboxes RTC-compatible flag on location entries (WordPress/gutenberg#77361) - UI: Use shared style-imports types (WordPress/gutenberg#77388) - Stop adding “noreferrer” to external links except File block. (WordPress/gutenberg#26968) - Core Abilities: Export initialization promise as `ready` (WordPress/gutenberg#77254) - Externalize react-dom/client (WordPress/gutenberg#77326) - Data: Export and consolidate 'onSubKey' helper (WordPress/gutenberg#77364) - Paragraph: Refactor replacement logic in 'useOnEnter' hook (WordPress/gutenberg#77383) - Fix pseudo selector block style rendering in the editor (WordPress/gutenberg#76879) - Tabs: Lock top-level structure and disable visibility controls (WordPress/gutenberg#77370) - Share React CSS custom properties typing (WordPress/gutenberg#77394) - Notes: Refactor and extract offset calculation logic (WordPress/gutenberg#77414) - Tabs: Remove redundant version field from block.json (WordPress/gutenberg#77417) - Latest Comments: Fix uneven padding issue causing mis-alignment (WordPress/gutenberg#77379) - Workflow: Use --wpds-cursor-control design token (WordPress/gutenberg#77369) - blocks: Port over some of the type information for @wordpress/blocks from DefinitelyTyped (WordPress/gutenberg#77393) - Notes: Extract floating notes state into a dedicated store (WordPress/gutenberg#77424) - Tabs: Handle duplicating tabs (WordPress/gutenberg#76449) - Components: Refactor NavigableContainer from class to function component (WordPress/gutenberg#77171) - UI: Fix focus-trap broken by ThemeProvider's display:contents (WordPress/gutenberg#77381) - viewport visibility: use 'key' instead of 'value' for device type (WordPress/gutenberg#77410) - Update changelog for blocks package (WordPress/gutenberg#77437) - Tabs: Clean up Edit components (WordPress/gutenberg#77426) - Media editor: remove unused dependency (WordPress/gutenberg#77438) - Block Editor: Strip per-block custom CSS on save for users without edit_css (WordPress/gutenberg#76650) - Ensure Post Template fallback styles don't apply when minimumColumnWidth is defined (WordPress/gutenberg#77411) - UI: Upgrade title validation to cleanup-based re-validation (WordPress/gutenberg#77165) - ui/Tabs: Fix `act()` warnings in tests (WordPress/gutenberg#77319) - docs: Clarify UI package setup for different contexts (WordPress/gutenberg#77338) - Fix: Preserve aspectRatio and scale when switching to wide/full align… (WordPress/gutenberg#76914) - Link: Honor `openInNewTab` consistently (WordPress/gutenberg#77422) - Block Supports: Add min width support to dimensions (WordPress/gutenberg#76949) - Link: Remove underline from unstyled icon links (WordPress/gutenberg#77420) - Theme: Update Terrazzo packages to 2.0 (WordPress/gutenberg#77432) - Editor: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77376) - GlobalStylesUI: Use `--wpds-cursor-control` design token for interact… (WordPress/gutenberg#77335) - Typescript: Migrate keyboard-shortcuts to TS (WordPress/gutenberg#76287) - GlobalStylesUI: Remove unused CSS rule (WordPress/gutenberg#77456) - Writing Flow: fix arrow keys skipping paragraph containing link (WordPress/gutenberg#77474) - Ensure layout classnames are applied to the inner blocks wrapper and not to its siblings (WordPress/gutenberg#77408) - Fix: Change Featured Image toggle label to 'Make image a link' (WordPress/gutenberg#71931) - Autocomplete: Skip stale triggers from completed mentions (WordPress/gutenberg#77185) - Fix: Add cursor pointer to the ariakit menu item component - Issue - WordPress/gutenberg#70411 (WordPress/gutenberg#70412) - Guidelines CPT: Skip registration when post type already exists (WordPress/gutenberg#77486) - ESLint: Introduce bulk suppressions workflow (WordPress/gutenberg#77392) - Add heading level 1 for the fonts page (WordPress/gutenberg#77482) - CollapsibleCard: Fix missing keyboard focus ring on the header chevron icon when rendered inside wp-admin (WordPress/gutenberg#77468) - Docs: Add ESLint v10 migration guide and polish docs (WordPress/gutenberg#77217) - Tabs: Fix missing keyboard focus ring on the panel in Windows High Contrast mode when rendered inside wp-admin (WordPress/gutenberg#77469) - EditSite: Remove unused CSS rule (WordPress/gutenberg#77494) - Card: Remove unused CardContext (WordPress/gutenberg#77463) - design-system-mcp: Add new package for design system MCP tooling (WordPress/gutenberg#77159) - Storybook: Fix component descriptions in manifest files (WordPress/gutenberg#77112) - Notes: Reduce passes in useBlockComments memo and rename outputs (WordPress/gutenberg#77440) - Upload Media: Enable concurrent sideload uploads (WordPress/gutenberg#75888) - Deduplicate client-side image sizes with matching dimensions (WordPress/gutenberg#77036) - Convert tests/unit to npm workspace (WordPress/gutenberg#77063) - UI: Portal prop and Portal subcomponents for overlay Popups (WordPress/gutenberg#77452) - Storybook: add global preview styles for @wordpress/ui overlays (WordPress/gutenberg#77451) - Experiment: Add custom taxonomies (WordPress/gutenberg#77497) - Storybook: Fix 'Open source file' links for storybook-local stories (WordPress/gutenberg#76758) - UI Dialog: Add Description, modal context, and misc improvements (WordPress/gutenberg#77194) - Docs: Update parameter type from `number` to `int` in CSS declaration methods (WordPress/gutenberg#77519) - Fix: use node_modules/.bin/stylelint to avoid npm warnings on Node 24 (WordPress/gutenberg#77512) - Text: Apply both heading and paragraph CSS defenses unconditionally (WordPress/gutenberg#77461) - Notes: Compute note positions centrally in useFloatingBoard (WordPress/gutenberg#77433) - Stylelint: Add cursor pointer rule and block-library override (WordPress/gutenberg#77501) - Admin UI: Add visual prop to Page header component (WordPress/gutenberg#76469) - Fix: post saving should be locked during media uploads (WordPress/gutenberg#76973) - RTC: Fixed orphaned meta causing dirty editor state (WordPress/gutenberg#77529) - Media Editor experiment: add experimental image editor and cropper (WordPress/gutenberg#77479) - UI: Start recommending new Card components (WordPress/gutenberg#77423) - Media Editor Modal: Add a media editor modal experiment (WordPress/gutenberg#77480) - Expand support for `isElementVisible` (`VisuallyHidden`) (WordPress/gutenberg#77191) - Experiments Page: Update labels for the media-related experiments to group them together and better clarify what the experiments do (WordPress/gutenberg#77536) - Media Editor: render cropper in media editor modal for images (WordPress/gutenberg#77537) - Tabs: Rename tabs blocks to follow WCAG Tabs pattern (WordPress/gutenberg#77418) - [Video Block]: Update z-index for tracks popover to ensure proper stacking context (WordPress/gutenberg#77517) - Guidelines: Make the CPT type-aware (WordPress/gutenberg#77491) - Taxonomies: add spacing above Add Taxonomy modal actions (WordPress/gutenberg#77523) - Taxonomies Route: Declare @wordpress/base-styles dependency (WordPress/gutenberg#77543) - Taxonomies: warn when editing an existing taxonomy's slug (WordPress/gutenberg#77527) - Site Logo Block: Enable the media editor modal experiment for the crop button (WordPress/gutenberg#77548) - Menu: Fix flaky submenu focus test (WordPress/gutenberg#77430) - Add no-unsafe-render-order ESLint rule (WordPress/gutenberg#77428) - UI: Update `@base-ui/react` from `1.4.0` to `1.4.1` (WordPress/gutenberg#77520) - components: Menu popover render + surface/motion split (WordPress/gutenberg#77460) - Upload Media: Use .jpg extension for HEIC-to-JPEG client conversion (WordPress/gutenberg#77506) - Consolidate ESLint config into tools/eslint/ workspace package (WordPress/gutenberg#77215) - UI: Add Drawer primitive (WordPress/gutenberg#76690) - Fix import order in block-editor `custom-css.js` (WordPress/gutenberg#77566) - Experiment: Follow up improvements on taxonomies(77497) (WordPress/gutenberg#77567) - Client-side media: declare convert_format as boolean arg on sideload route (WordPress/gutenberg#77565) - Media Upload Modal: Enhance filtering logic to support "text/vtt" and "video/*" (WordPress/gutenberg#77550) - Media Editor: add cropper controls to the media editor modal (WordPress/gutenberg#77540) - Media Editor: add zoom control and hide fine rotation on narrow viewports (WordPress/gutenberg#77585) - Remove ZebulanStanphill from CODEOWNERS (WordPress/gutenberg#77586) - Image editor: reserve inner gutter so crop handles stay accessible (WordPress/gutenberg#77547) - Docs: Auto-generate per-block API reference pages from block.json (WordPress/gutenberg#77350) - Embed: Fix variation upgrade undo trap (WordPress/gutenberg#77546) - fix: block-mover up/down button tooltip positions (WordPress/gutenberg#77588) - fix: edit-post back button tooltip position (WordPress/gutenberg#77587) - Revert "Docs: Auto-generate per-block API reference pages from block.json (https://github.com/WordPress/gutenberg/pull/7…" (WordPress/gutenberg#77590) - Experiment: Add delete action to taxonomy management (WordPress/gutenberg#77524) - Tests: Remove duplicate mentions spec (WordPress/gutenberg#77593) - Notes: Refactor to use new '@wordpress/ui' components (WordPress/gutenberg#77589) - wp-build: Widen optional peer dependency ranges (WordPress/gutenberg#77568) - Eslint: Improve design token linting for CSS declaration strings (WordPress/gutenberg#77384) - ESLint: Add `use-import-as` rule (WordPress/gutenberg#77389) - Experiments: register `gutenberg-dashboard-widgets` flag (WordPress/gutenberg#77569) - Media: Move image output format filtering to upload response (WordPress/gutenberg#75793) - Dashboard: register admin page route + sidebar menu (shell) (WordPress/gutenberg#77573) - Experiment: Fix console errors/warnings for taxonomies (WordPress/gutenberg#77601) - Experiment: Improve `taxonomies` DataViews height (WordPress/gutenberg#77603) - Experimental Image Cropper: Ensure focus is on canvas when dragging (WordPress/gutenberg#77591) - Template parts: make 'Detach' context menu item consistent across patterns and template parts (WordPress/gutenberg#77581) - Experimental Image Cropper: Tweak the keyboard interactions with drag handles and canvas (WordPress/gutenberg#77639) - Fix: block-mover horizontal tooltip position (WordPress/gutenberg#77597) - Experiment: Render taxonomy status as a Badge (WordPress/gutenberg#77635) - Guidelines: Drop default_term from wp_guideline_type taxonomy (WordPress/gutenberg#77592) - Form blocks: Update block categories for form, form-input, form-submission-notification, and form-submit-button (WordPress/gutenberg#61916) - Experiment: Split status action to two actions, make them bulk-capable (WordPress/gutenberg#77637) - ButtonGroup: Inline z-index (WordPress/gutenberg#77621) - VisuallyHidden: Recommend @wordpress/ui and migrate usages (WordPress/gutenberg#77575) - Experiment: Improve taxonomy `edit` action (WordPress/gutenberg#77605) - FormToggle: Inline z-index (WordPress/gutenberg#77619) - ResizableBox: Inline handle z-index (WordPress/gutenberg#77620) - Build: Skip sourcemaps for WASM-inlined script module workers (WordPress/gutenberg#75993) - RTC: Fix "Connection Lost" dialog when too many entities are loaded (WordPress/gutenberg#77631) - Experiments: Rebuild the wp-admin Experiments screen on the wp-build routes pattern (WordPress/gutenberg#77443) - Connectors: Treat network-active plugins as active in plugin status check (WordPress/gutenberg#77661) - Update TypeScript to tsgo (7.0) (WordPress/gutenberg#77177) - Revert tsgo update as it breaks trunk (WordPress/gutenberg#77680) - Image editor: fix locked-ratio resize driver-axis on non-square images (WordPress/gutenberg#77664) - Image editor: hold Shift while resizing to lock current aspect ratio (WordPress/gutenberg#77663) - [Admin UI]: Move to CSS modules and implement logical properties (WordPress/gutenberg#77088) - ui: Forward style and className on *.Popup to inner Base UI Popup (WordPress/gutenberg#77693) - ui: Align WithCustomZIndex Storybook examples across overlays (WordPress/gutenberg#77648) - ui: Uniform title and description styles across overlays (WordPress/gutenberg#77692) - UI: Add `Autocomplete` primitive (WordPress/gutenberg#77642) - Admin UI: change default heading level from h2 to h1 (WordPress/gutenberg#77617) - ui/Dialog, ui/AlertDialog, ui/Drawer: support sticky header and footer (WordPress/gutenberg#77559) - e2e: shorten visit-site-editor canvas-loader visible wait (WordPress/gutenberg#77725) - Gutenberg Experiments: Ensure the experiment is active before outputting flags (WordPress/gutenberg#77728) - Image editor: formalize cropper contract (WordPress/gutenberg#77668) - Image Editor experiment: Pass theme aspect ratios to media editor (WordPress/gutenberg#77665) - Media Editor Modal: save via Core's /edit modifiers (WordPress/gutenberg#77641) - Experiment: Taxonomies new package and `add/edit` screens (WordPress/gutenberg#77657) - Media editor: confirm before discarding unsaved changes (WordPress/gutenberg#77730) - `FormTokenField`: Add `help` prop to render additional help text below the field (WordPress/gutenberg#77552) - Migrate `test/integration` into `@wordpress/integration-tests` workspace (WordPress/gutenberg#77556) - Tabs: Add classic theme styles to reset button defaults (WordPress/gutenberg#77607) - Media Editor Modal: surface save failures as scoped snackbar notices (WordPress/gutenberg#77733) - DataForm: Render field `description` as help text in the `array` control (WordPress/gutenberg#77554) - Revisions: Improve screen reader accessibility for diff markers region and slider (WordPress/gutenberg#77660) - fix: disable custom css command for non block themes (WordPress/gutenberg#77685) - Experiments: Declare `@wordpress/base-styles` dependency (WordPress/gutenberg#77684) - Notes: Refactor internals into smaller components (WordPress/gutenberg#77614) - Connectors: Add role="list" wrapper to connector cards for valid ARIA structure (WordPress/gutenberg#77689) - Admin UI: use UI Text component in header (WordPress/gutenberg#77372) - I18N: Polyfill script module translations for WordPress < 7.0 (WordPress/gutenberg#77214) - Refactor Admin UI / Breadcrumbs to use DS components and design tokens (WordPress/gutenberg#77012) - ui: Unify hairline border across overlay popups (WordPress/gutenberg#77691) - Base Styles: Remove stale z-index entries (WordPress/gutenberg#77714) - CircularOptionPicker: Inline z-index values (WordPress/gutenberg#77715) - ComplementaryArea: Inline z-index values (WordPress/gutenberg#77717) - Disable TinyMCE: Warning instead of direct redirect (WordPress/gutenberg#77747) - Tooltip: Fix flaky unit test (WordPress/gutenberg#77751) - Admin UI: ensure consistent header spacing with and without actions (WordPress/gutenberg#76683) - RTC: fix connection lost error on large update cause by mismatch between update size bounds check and expanded base64 update size (WordPress/gutenberg#77669) - Add `@wordpress/grid` package (WordPress/gutenberg#77562) - Base styles: update changelog to be clearer (WordPress/gutenberg#77767) - Media editor modal: add interactive grid (WordPress/gutenberg#77771) - Media editor: avoid double-mount flicker on open (WordPress/gutenberg#77732) - Command Palette: Fix macOs label for sites unable to determine UA via PHP (WordPress/gutenberg#77638) - Accordion: Remove invalid `isBlock` prop from `ToggleControl` (WordPress/gutenberg#77776) - Guidelines: Extract initial public API methods (WordPress/gutenberg#77643) - Embed: Restore paragraph with URL when undoing paste-to-embed transform (WordPress/gutenberg#77551) - Guidelines: Split singleton REST API into dedicated /content-guidelines route (WordPress/gutenberg#77734) - Allow EmptyState from @wordpress/ui in recommended components (WordPress/gutenberg#77765) - Block Editor: Fix blockGap fallback parsing for nested var() values (WordPress/gutenberg#77750) - Core Data: Remove redundant memoization wrapper from 'getQueriedItems' (WordPress/gutenberg#77483) - Enhancement: Add descriptive name for docker container images (WordPress/gutenberg#67827) - Fix: Add Missing Dimension Controls & Limited Customization in Accordion Block (WordPress/gutenberg#77780) - Connectors: keep focus on action Button during install (WordPress/gutenberg#77544) - Widgets: add widget-types data layer (WordPress/gutenberg#77752) - Grid: fix `width: 'fill'` when tiles span multiple rows (WordPress/gutenberg#77769) - CollapsibleCard: Prevent focus ring clipping by content overflow (WordPress/gutenberg#77667) - Block editor: Remove stale reusable block z-index styles (WordPress/gutenberg#77774) - Grid: add @types/jest devDependency (WordPress/gutenberg#77801) - Env: Minor refactoring of cacheDirectoryPath evaluation (WordPress/gutenberg#77799) - User Taxonomies: show Public field in create/edit form (WordPress/gutenberg#77802) - Experiment: Taxonomies REST controller (WordPress/gutenberg#77697) - Experiment: Taxonomies implement `auto-fill labels` (WordPress/gutenberg#77786) - UI: Recommend Link component for use (WordPress/gutenberg#77505) - ExternalLink: Align appearance with Link from @wordpress/ui (WordPress/gutenberg#77790) - Disable TinyMCE: Repurpose experiment as Classic block removal (WordPress/gutenberg#77838) - Media Upload Modal: Fix pagination and search (WordPress/gutenberg#77872) - Disable Classic block: Always register, hide from inserter conditionally (WordPress/gutenberg#77840) - Disable Classic block: Control inserter support via filter (WordPress/gutenberg#77845) - Classic Block: Unwrap experiment to hide it from inserter (WordPress/gutenberg#77911) - RTC: Attach sync observers after hydrating persisted CRDT doc (WordPress/gutenberg#77966) - RTC: Fix compaction unit test (WordPress/gutenberg#77986) - RTC: Fix divergence when two offline users reconnect (WordPress/gutenberg#77980) - Fix PHP multisite tests (WordPress/gutenberg#77825) - Connectors: Stop e2e capability restriction from leaking across specs (WordPress/gutenberg#77857) Props adamsilverstein, jorbin, westonruter, wildworks. Fixes #65558. git-svn-id: https://develop.svn.wordpress.org/trunk@62581 602fd350-edb4-49c9-b593-d223f7449a82
This updates the pinned commit hash of the Gutenberg repository from `7295bd91a3c2b64bb11dde0a12313210d9d16a12 ` (version `23.0.0`) to `585cf86bb6f408b1dc61175f75db016aa4760653` (version `23.1.0`). A full list of changes included in this commit can be found on GitHub: https://github.com/WordPress/gutenberg/compare/v23.0.0..v23.1.0. The following commits are included: - Edit Site: Move show-icon-labels handling to specific edit-site call sites (WordPress/gutenberg#77287) - Boot: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77357) - Image: Fix non-local image ID removal undo trap (WordPress/gutenberg#77367) - Block Editor: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77354) - Test: Connectors Point to the righ page. (WordPress/gutenberg#77272) - Commands: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77358) - UI: use Text in Notice.ActionLink typography (WordPress/gutenberg#77332) - Jest setup: remove unneeded rAF polyfills (WordPress/gutenberg#77378) - Fields: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77373) - Widgets: Use --wpds-cursor-control design token (WordPress/gutenberg#77368) - EditPost: Use `--wpds-cursor-control` design token for interactive controls (WordPress/gutenberg#77360) - Post Editor: Store metaboxes RTC-compatible flag on location entries (WordPress/gutenberg#77361) - UI: Use shared style-imports types (WordPress/gutenberg#77388) - Stop adding “noreferrer” to external links except File block. (WordPress/gutenberg#26968) - Core Abilities: Export initialization promise as `ready` (WordPress/gutenberg#77254) - Externalize react-dom/client (WordPress/gutenberg#77326) - Data: Export and consolidate 'onSubKey' helper (WordPress/gutenberg#77364) - Paragraph: Refactor replacement logic in 'useOnEnter' hook (WordPress/gutenberg#77383) - Fix pseudo selector block style rendering in the editor (WordPress/gutenberg#76879) - Tabs: Lock top-level structure and disable visibility controls (WordPress/gutenberg#77370) - Share React CSS custom properties typing (WordPress/gutenberg#77394) - Notes: Refactor and extract offset calculation logic (WordPress/gutenberg#77414) - Tabs: Remove redundant version field from block.json (WordPress/gutenberg#77417) - Latest Comments: Fix uneven padding issue causing mis-alignment (WordPress/gutenberg#77379) - Workflow: Use --wpds-cursor-control design token (WordPress/gutenberg#77369) - blocks: Port over some of the type information for @wordpress/blocks from DefinitelyTyped (WordPress/gutenberg#77393) - Notes: Extract floating notes state into a dedicated store (WordPress/gutenberg#77424) - Tabs: Handle duplicating tabs (WordPress/gutenberg#76449) - Components: Refactor NavigableContainer from class to function component (WordPress/gutenberg#77171) - UI: Fix focus-trap broken by ThemeProvider's display:contents (WordPress/gutenberg#77381) - viewport visibility: use 'key' instead of 'value' for device type (WordPress/gutenberg#77410) - Update changelog for blocks package (WordPress/gutenberg#77437) - Tabs: Clean up Edit components (WordPress/gutenberg#77426) - Media editor: remove unused dependency (WordPress/gutenberg#77438) - Block Editor: Strip per-block custom CSS on save for users without edit_css (WordPress/gutenberg#76650) - Ensure Post Template fallback styles don't apply when minimumColumnWidth is defined (WordPress/gutenberg#77411) - UI: Upgrade title validation to cleanup-based re-validation (WordPress/gutenberg#77165) - ui/Tabs: Fix `act()` warnings in tests (WordPress/gutenberg#77319) - docs: Clarify UI package setup for different contexts (WordPress/gutenberg#77338) - Fix: Preserve aspectRatio and scale when switching to wide/full align… (WordPress/gutenberg#76914) - Link: Honor `openInNewTab` consistently (WordPress/gutenberg#77422) - Block Supports: Add min width support to dimensions (WordPress/gutenberg#76949) - Link: Remove underline from unstyled icon links (WordPress/gutenberg#77420) - Theme: Update Terrazzo packages to 2.0 (WordPress/gutenberg#77432) - Editor: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77376) - GlobalStylesUI: Use `--wpds-cursor-control` design token for interact… (WordPress/gutenberg#77335) - Typescript: Migrate keyboard-shortcuts to TS (WordPress/gutenberg#76287) - GlobalStylesUI: Remove unused CSS rule (WordPress/gutenberg#77456) - Writing Flow: fix arrow keys skipping paragraph containing link (WordPress/gutenberg#77474) - Ensure layout classnames are applied to the inner blocks wrapper and not to its siblings (WordPress/gutenberg#77408) - Fix: Change Featured Image toggle label to 'Make image a link' (WordPress/gutenberg#71931) - Autocomplete: Skip stale triggers from completed mentions (WordPress/gutenberg#77185) - Fix: Add cursor pointer to the ariakit menu item component - Issue - WordPress/gutenberg#70411 (WordPress/gutenberg#70412) - Guidelines CPT: Skip registration when post type already exists (WordPress/gutenberg#77486) - ESLint: Introduce bulk suppressions workflow (WordPress/gutenberg#77392) - Add heading level 1 for the fonts page (WordPress/gutenberg#77482) - CollapsibleCard: Fix missing keyboard focus ring on the header chevron icon when rendered inside wp-admin (WordPress/gutenberg#77468) - Docs: Add ESLint v10 migration guide and polish docs (WordPress/gutenberg#77217) - Tabs: Fix missing keyboard focus ring on the panel in Windows High Contrast mode when rendered inside wp-admin (WordPress/gutenberg#77469) - EditSite: Remove unused CSS rule (WordPress/gutenberg#77494) - Card: Remove unused CardContext (WordPress/gutenberg#77463) - design-system-mcp: Add new package for design system MCP tooling (WordPress/gutenberg#77159) - Storybook: Fix component descriptions in manifest files (WordPress/gutenberg#77112) - Notes: Reduce passes in useBlockComments memo and rename outputs (WordPress/gutenberg#77440) - Upload Media: Enable concurrent sideload uploads (WordPress/gutenberg#75888) - Deduplicate client-side image sizes with matching dimensions (WordPress/gutenberg#77036) - Convert tests/unit to npm workspace (WordPress/gutenberg#77063) - UI: Portal prop and Portal subcomponents for overlay Popups (WordPress/gutenberg#77452) - Storybook: add global preview styles for @wordpress/ui overlays (WordPress/gutenberg#77451) - Experiment: Add custom taxonomies (WordPress/gutenberg#77497) - Storybook: Fix 'Open source file' links for storybook-local stories (WordPress/gutenberg#76758) - UI Dialog: Add Description, modal context, and misc improvements (WordPress/gutenberg#77194) - Docs: Update parameter type from `number` to `int` in CSS declaration methods (WordPress/gutenberg#77519) - Fix: use node_modules/.bin/stylelint to avoid npm warnings on Node 24 (WordPress/gutenberg#77512) - Text: Apply both heading and paragraph CSS defenses unconditionally (WordPress/gutenberg#77461) - Notes: Compute note positions centrally in useFloatingBoard (WordPress/gutenberg#77433) - Stylelint: Add cursor pointer rule and block-library override (WordPress/gutenberg#77501) - Admin UI: Add visual prop to Page header component (WordPress/gutenberg#76469) - Fix: post saving should be locked during media uploads (WordPress/gutenberg#76973) - RTC: Fixed orphaned meta causing dirty editor state (WordPress/gutenberg#77529) - Media Editor experiment: add experimental image editor and cropper (WordPress/gutenberg#77479) - UI: Start recommending new Card components (WordPress/gutenberg#77423) - Media Editor Modal: Add a media editor modal experiment (WordPress/gutenberg#77480) - Expand support for `isElementVisible` (`VisuallyHidden`) (WordPress/gutenberg#77191) - Experiments Page: Update labels for the media-related experiments to group them together and better clarify what the experiments do (WordPress/gutenberg#77536) - Media Editor: render cropper in media editor modal for images (WordPress/gutenberg#77537) - Tabs: Rename tabs blocks to follow WCAG Tabs pattern (WordPress/gutenberg#77418) - [Video Block]: Update z-index for tracks popover to ensure proper stacking context (WordPress/gutenberg#77517) - Guidelines: Make the CPT type-aware (WordPress/gutenberg#77491) - Taxonomies: add spacing above Add Taxonomy modal actions (WordPress/gutenberg#77523) - Taxonomies Route: Declare @wordpress/base-styles dependency (WordPress/gutenberg#77543) - Taxonomies: warn when editing an existing taxonomy's slug (WordPress/gutenberg#77527) - Site Logo Block: Enable the media editor modal experiment for the crop button (WordPress/gutenberg#77548) - Menu: Fix flaky submenu focus test (WordPress/gutenberg#77430) - Add no-unsafe-render-order ESLint rule (WordPress/gutenberg#77428) - UI: Update `@base-ui/react` from `1.4.0` to `1.4.1` (WordPress/gutenberg#77520) - components: Menu popover render + surface/motion split (WordPress/gutenberg#77460) - Upload Media: Use .jpg extension for HEIC-to-JPEG client conversion (WordPress/gutenberg#77506) - Consolidate ESLint config into tools/eslint/ workspace package (WordPress/gutenberg#77215) - UI: Add Drawer primitive (WordPress/gutenberg#76690) - Fix import order in block-editor `custom-css.js` (WordPress/gutenberg#77566) - Experiment: Follow up improvements on taxonomies(77497) (WordPress/gutenberg#77567) - Client-side media: declare convert_format as boolean arg on sideload route (WordPress/gutenberg#77565) - Media Upload Modal: Enhance filtering logic to support "text/vtt" and "video/*" (WordPress/gutenberg#77550) - Media Editor: add cropper controls to the media editor modal (WordPress/gutenberg#77540) - Media Editor: add zoom control and hide fine rotation on narrow viewports (WordPress/gutenberg#77585) - Remove ZebulanStanphill from CODEOWNERS (WordPress/gutenberg#77586) - Image editor: reserve inner gutter so crop handles stay accessible (WordPress/gutenberg#77547) - Docs: Auto-generate per-block API reference pages from block.json (WordPress/gutenberg#77350) - Embed: Fix variation upgrade undo trap (WordPress/gutenberg#77546) - fix: block-mover up/down button tooltip positions (WordPress/gutenberg#77588) - fix: edit-post back button tooltip position (WordPress/gutenberg#77587) - Revert "Docs: Auto-generate per-block API reference pages from block.json (https://github.com/WordPress/gutenberg/pull/7…" (WordPress/gutenberg#77590) - Experiment: Add delete action to taxonomy management (WordPress/gutenberg#77524) - Tests: Remove duplicate mentions spec (WordPress/gutenberg#77593) - Notes: Refactor to use new '@wordpress/ui' components (WordPress/gutenberg#77589) - wp-build: Widen optional peer dependency ranges (WordPress/gutenberg#77568) - Eslint: Improve design token linting for CSS declaration strings (WordPress/gutenberg#77384) - ESLint: Add `use-import-as` rule (WordPress/gutenberg#77389) - Experiments: register `gutenberg-dashboard-widgets` flag (WordPress/gutenberg#77569) - Media: Move image output format filtering to upload response (WordPress/gutenberg#75793) - Dashboard: register admin page route + sidebar menu (shell) (WordPress/gutenberg#77573) - Experiment: Fix console errors/warnings for taxonomies (WordPress/gutenberg#77601) - Experiment: Improve `taxonomies` DataViews height (WordPress/gutenberg#77603) - Experimental Image Cropper: Ensure focus is on canvas when dragging (WordPress/gutenberg#77591) - Template parts: make 'Detach' context menu item consistent across patterns and template parts (WordPress/gutenberg#77581) - Experimental Image Cropper: Tweak the keyboard interactions with drag handles and canvas (WordPress/gutenberg#77639) - Fix: block-mover horizontal tooltip position (WordPress/gutenberg#77597) - Experiment: Render taxonomy status as a Badge (WordPress/gutenberg#77635) - Guidelines: Drop default_term from wp_guideline_type taxonomy (WordPress/gutenberg#77592) - Form blocks: Update block categories for form, form-input, form-submission-notification, and form-submit-button (WordPress/gutenberg#61916) - Experiment: Split status action to two actions, make them bulk-capable (WordPress/gutenberg#77637) - ButtonGroup: Inline z-index (WordPress/gutenberg#77621) - VisuallyHidden: Recommend @wordpress/ui and migrate usages (WordPress/gutenberg#77575) - Experiment: Improve taxonomy `edit` action (WordPress/gutenberg#77605) - FormToggle: Inline z-index (WordPress/gutenberg#77619) - ResizableBox: Inline handle z-index (WordPress/gutenberg#77620) - Build: Skip sourcemaps for WASM-inlined script module workers (WordPress/gutenberg#75993) - RTC: Fix "Connection Lost" dialog when too many entities are loaded (WordPress/gutenberg#77631) - Experiments: Rebuild the wp-admin Experiments screen on the wp-build routes pattern (WordPress/gutenberg#77443) - Connectors: Treat network-active plugins as active in plugin status check (WordPress/gutenberg#77661) - Update TypeScript to tsgo (7.0) (WordPress/gutenberg#77177) - Revert tsgo update as it breaks trunk (WordPress/gutenberg#77680) - Image editor: fix locked-ratio resize driver-axis on non-square images (WordPress/gutenberg#77664) - Image editor: hold Shift while resizing to lock current aspect ratio (WordPress/gutenberg#77663) - [Admin UI]: Move to CSS modules and implement logical properties (WordPress/gutenberg#77088) - ui: Forward style and className on *.Popup to inner Base UI Popup (WordPress/gutenberg#77693) - ui: Align WithCustomZIndex Storybook examples across overlays (WordPress/gutenberg#77648) - ui: Uniform title and description styles across overlays (WordPress/gutenberg#77692) - UI: Add `Autocomplete` primitive (WordPress/gutenberg#77642) - Admin UI: change default heading level from h2 to h1 (WordPress/gutenberg#77617) - ui/Dialog, ui/AlertDialog, ui/Drawer: support sticky header and footer (WordPress/gutenberg#77559) - e2e: shorten visit-site-editor canvas-loader visible wait (WordPress/gutenberg#77725) - Gutenberg Experiments: Ensure the experiment is active before outputting flags (WordPress/gutenberg#77728) - Image editor: formalize cropper contract (WordPress/gutenberg#77668) - Image Editor experiment: Pass theme aspect ratios to media editor (WordPress/gutenberg#77665) - Media Editor Modal: save via Core's /edit modifiers (WordPress/gutenberg#77641) - Experiment: Taxonomies new package and `add/edit` screens (WordPress/gutenberg#77657) - Media editor: confirm before discarding unsaved changes (WordPress/gutenberg#77730) - `FormTokenField`: Add `help` prop to render additional help text below the field (WordPress/gutenberg#77552) - Migrate `test/integration` into `@wordpress/integration-tests` workspace (WordPress/gutenberg#77556) - Tabs: Add classic theme styles to reset button defaults (WordPress/gutenberg#77607) - Media Editor Modal: surface save failures as scoped snackbar notices (WordPress/gutenberg#77733) - DataForm: Render field `description` as help text in the `array` control (WordPress/gutenberg#77554) - Revisions: Improve screen reader accessibility for diff markers region and slider (WordPress/gutenberg#77660) - fix: disable custom css command for non block themes (WordPress/gutenberg#77685) - Experiments: Declare `@wordpress/base-styles` dependency (WordPress/gutenberg#77684) - Notes: Refactor internals into smaller components (WordPress/gutenberg#77614) - Connectors: Add role="list" wrapper to connector cards for valid ARIA structure (WordPress/gutenberg#77689) - Admin UI: use UI Text component in header (WordPress/gutenberg#77372) - I18N: Polyfill script module translations for WordPress < 7.0 (WordPress/gutenberg#77214) - Refactor Admin UI / Breadcrumbs to use DS components and design tokens (WordPress/gutenberg#77012) - ui: Unify hairline border across overlay popups (WordPress/gutenberg#77691) - Base Styles: Remove stale z-index entries (WordPress/gutenberg#77714) - CircularOptionPicker: Inline z-index values (WordPress/gutenberg#77715) - ComplementaryArea: Inline z-index values (WordPress/gutenberg#77717) - Disable TinyMCE: Warning instead of direct redirect (WordPress/gutenberg#77747) - Tooltip: Fix flaky unit test (WordPress/gutenberg#77751) - Admin UI: ensure consistent header spacing with and without actions (WordPress/gutenberg#76683) - RTC: fix connection lost error on large update cause by mismatch between update size bounds check and expanded base64 update size (WordPress/gutenberg#77669) - Add `@wordpress/grid` package (WordPress/gutenberg#77562) - Base styles: update changelog to be clearer (WordPress/gutenberg#77767) - Media editor modal: add interactive grid (WordPress/gutenberg#77771) - Media editor: avoid double-mount flicker on open (WordPress/gutenberg#77732) - Command Palette: Fix macOs label for sites unable to determine UA via PHP (WordPress/gutenberg#77638) - Accordion: Remove invalid `isBlock` prop from `ToggleControl` (WordPress/gutenberg#77776) - Guidelines: Extract initial public API methods (WordPress/gutenberg#77643) - Embed: Restore paragraph with URL when undoing paste-to-embed transform (WordPress/gutenberg#77551) - Guidelines: Split singleton REST API into dedicated /content-guidelines route (WordPress/gutenberg#77734) - Allow EmptyState from @wordpress/ui in recommended components (WordPress/gutenberg#77765) - Block Editor: Fix blockGap fallback parsing for nested var() values (WordPress/gutenberg#77750) - Core Data: Remove redundant memoization wrapper from 'getQueriedItems' (WordPress/gutenberg#77483) - Enhancement: Add descriptive name for docker container images (WordPress/gutenberg#67827) - Fix: Add Missing Dimension Controls & Limited Customization in Accordion Block (WordPress/gutenberg#77780) - Connectors: keep focus on action Button during install (WordPress/gutenberg#77544) - Widgets: add widget-types data layer (WordPress/gutenberg#77752) - Grid: fix `width: 'fill'` when tiles span multiple rows (WordPress/gutenberg#77769) - CollapsibleCard: Prevent focus ring clipping by content overflow (WordPress/gutenberg#77667) - Block editor: Remove stale reusable block z-index styles (WordPress/gutenberg#77774) - Grid: add @types/jest devDependency (WordPress/gutenberg#77801) - Env: Minor refactoring of cacheDirectoryPath evaluation (WordPress/gutenberg#77799) - User Taxonomies: show Public field in create/edit form (WordPress/gutenberg#77802) - Experiment: Taxonomies REST controller (WordPress/gutenberg#77697) - Experiment: Taxonomies implement `auto-fill labels` (WordPress/gutenberg#77786) - UI: Recommend Link component for use (WordPress/gutenberg#77505) - ExternalLink: Align appearance with Link from @wordpress/ui (WordPress/gutenberg#77790) - Disable TinyMCE: Repurpose experiment as Classic block removal (WordPress/gutenberg#77838) - Media Upload Modal: Fix pagination and search (WordPress/gutenberg#77872) - Disable Classic block: Always register, hide from inserter conditionally (WordPress/gutenberg#77840) - Disable Classic block: Control inserter support via filter (WordPress/gutenberg#77845) - Classic Block: Unwrap experiment to hide it from inserter (WordPress/gutenberg#77911) - RTC: Attach sync observers after hydrating persisted CRDT doc (WordPress/gutenberg#77966) - RTC: Fix compaction unit test (WordPress/gutenberg#77986) - RTC: Fix divergence when two offline users reconnect (WordPress/gutenberg#77980) - Fix PHP multisite tests (WordPress/gutenberg#77825) - Connectors: Stop e2e capability restriction from leaking across specs (WordPress/gutenberg#77857) Props adamsilverstein, jorbin, westonruter, wildworks. Fixes #65558. git-svn-id: https://develop.svn.wordpress.org/trunk@62581 602fd350-edb4-49c9-b593-d223f7449a82
What?
Closes #11201.
Export
onSubKeyfrom@wordpress/data. Update@wordpress/noticesand@wordpress/core-datato use it from there. Delete two duplicate helpers.Testing Instructions
CI checks are green.
Testing Instructions for Keyboard
Same.
Use of AI Tools
Claude with supervision.