Skip to content

Media: Move image output format filtering to upload response - #75793

Merged
adamsilverstein merged 7 commits into
trunkfrom
move-and-improve-output-mapping
Apr 23, 2026
Merged

Media: Move image output format filtering to upload response#75793
adamsilverstein merged 7 commits into
trunkfrom
move-and-improve-output-mapping

Conversation

@adamsilverstein

Copy link
Copy Markdown
Member

Summary

  • Moves image_editor_output_format filtering from the REST API index to the per-file attachment upload response, where the actual filename and MIME type are available for plugins to make informed decisions
  • Adds image_output_format and image_save_progressive fields to the attachment REST response schema
  • Removes incorrectly-applied generic image_output_formats, jpeg_interlaced, png_interlaced, gif_interlaced from the REST index
  • Updates the JS upload-media store to read format conversion data from the attachment response instead of from global settings
  • Adds post-upload main image format conversion via sideload (matching the existing EXIF rotation pattern)

Closes #75784.

Test plan

  • Upload an image via the block editor and verify image_output_format (null by default) and image_save_progressive (false by default) appear in the REST response
  • Add a custom image_editor_output_format filter (e.g., JPEG→WebP) and verify the per-file image_output_format reflects it on upload
  • Verify the REST API index (/) no longer includes image_output_formats, jpeg_interlaced, png_interlaced, gif_interlaced
  • Run JS unit tests: npm run test:unit packages/upload-media
  • Run PHP unit tests: vendor/bin/phpunit phpunit/media/

🤖 Generated with Claude Code

The image_editor_output_format filter was applied incorrectly
in the REST index with wrong parameters (empty defaults,
no filename context). Plugins couldn't make per-file decisions.

This moves output format and progressive encoding data to
the attachment upload response where actual file context is
available. The client now reads image_output_format and
image_save_progressive from the attachment response instead
of generic settings from the REST index.
@github-actions github-actions Bot added the [Package] Core data /packages/core-data label Feb 21, 2026
@github-actions

github-actions Bot commented Feb 21, 2026

Copy link
Copy Markdown

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 props-bot label.

If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.

Co-authored-by: adamsilverstein <adamsilverstein@git.wordpress.org>
Co-authored-by: westonruter <westonruter@git.wordpress.org>
Co-authored-by: swissspidy <swissspidy@git.wordpress.org>

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

@adamsilverstein adamsilverstein added [Type] Bug An existing feature does not function as intended [Feature] Client Side Media Media processing in the browser with WASM and removed [Package] Core data /packages/core-data labels Feb 21, 2026
@github-project-automation github-project-automation Bot moved this to 🔎 Needs Review in WordPress 7.0 Editor Tasks Feb 21, 2026
@adamsilverstein adamsilverstein moved this from 🔎 Needs Review to 🏗️ In Progress in WordPress 7.0 Editor Tasks Feb 21, 2026
@adamsilverstein adamsilverstein added the No Core Sync Required Indicates that any changes do not need to be synced to WordPress Core label Feb 21, 2026
Comment thread lib/media/class-gutenberg-rest-attachments-controller.php Outdated
@github-actions

github-actions Bot commented Feb 21, 2026

Copy link
Copy Markdown

Size Change: -100 B (0%)

Total Size: 7.76 MB

📦 View Changed
Filename Size Change
build/scripts/core-data/index.min.js 30.9 kB -35 B (-0.11%)
build/scripts/upload-media/index.min.js 11.2 kB -65 B (-0.58%)
ℹ️ View Unchanged
Filename Size
build/modules/a11y/index.min.js 355 B
build/modules/abilities/index.min.js 42.3 kB
build/modules/block-editor/utils/fit-text-frontend.min.js 617 B
build/modules/block-library/accordion/view.min.js 595 B
build/modules/block-library/file/view.min.js 346 B
build/modules/block-library/form/view.min.js 528 B
build/modules/block-library/image/view.min.js 2.64 kB
build/modules/block-library/navigation/view.min.js 1.14 kB
build/modules/block-library/playlist/view.min.js 10.9 kB
build/modules/block-library/query/view.min.js 518 B
build/modules/block-library/search/view.min.js 498 B
build/modules/block-library/tabs/view.min.js 946 B
build/modules/boot/index.min.js 17 kB
build/modules/connectors/index.min.js 2.05 kB
build/modules/core-abilities/index.min.js 907 B
build/modules/edit-site-init/index.min.js 1.4 kB
build/modules/interactivity-router/full-page.min.js 451 B
build/modules/interactivity-router/index.min.js 11.6 kB
build/modules/interactivity/index.min.js 15.1 kB
build/modules/latex-to-mathml/index.min.js 56.5 kB
build/modules/latex-to-mathml/loader.min.js 131 B
build/modules/lazy-editor/index.min.js 13.9 kB
build/modules/route/index.min.js 25.2 kB
build/modules/vips/loader.min.js 127 B
build/modules/vips/worker.min.js 4.56 MB
build/modules/workflow/index.min.js 19.9 kB
build/scripts/a11y/index.min.js 1.06 kB
build/scripts/annotations/index.min.js 2.49 kB
build/scripts/api-fetch/index.min.js 2.83 kB
build/scripts/autop/index.min.js 2.18 kB
build/scripts/base-styles/index.min.js 98 B
build/scripts/blob/index.min.js 631 B
build/scripts/block-directory/index.min.js 8.03 kB
build/scripts/block-editor/index.min.js 341 kB
build/scripts/block-library/index.min.js 317 kB
build/scripts/block-serialization-default-parser/index.min.js 1.16 kB
build/scripts/block-serialization-spec-parser/index.min.js 3.08 kB
build/scripts/blocks/index.min.js 56.9 kB
build/scripts/commands/index.min.js 21 kB
build/scripts/components/index.min.js 265 kB
build/scripts/compose/index.min.js 11.1 kB
build/scripts/core-commands/index.min.js 4.31 kB
build/scripts/customize-widgets/index.min.js 12.3 kB
build/scripts/data-controls/index.min.js 795 B
build/scripts/data/index.min.js 9.66 kB
build/scripts/date/index.min.js 23.6 kB
build/scripts/deprecated/index.min.js 756 B
build/scripts/dom-ready/index.min.js 476 B
build/scripts/dom/index.min.js 5 kB
build/scripts/edit-post/index.min.js 16.4 kB
build/scripts/edit-site/index.min.js 263 kB
build/scripts/edit-widgets/index.min.js 19.9 kB
build/scripts/editor/index.min.js 420 kB
build/scripts/element/index.min.js 5.17 kB
build/scripts/escape-html/index.min.js 587 B
build/scripts/format-library/index.min.js 10.7 kB
build/scripts/hooks/index.min.js 1.83 kB
build/scripts/html-entities/index.min.js 494 B
build/scripts/i18n/index.min.js 2.47 kB
build/scripts/is-shallow-equal/index.min.js 572 B
build/scripts/keyboard-shortcuts/index.min.js 1.61 kB
build/scripts/keycodes/index.min.js 1.56 kB
build/scripts/list-reusable-blocks/index.min.js 2.49 kB
build/scripts/media-utils/index.min.js 79.3 kB
build/scripts/notices/index.min.js 1.85 kB
build/scripts/nux/index.min.js 1.89 kB
build/scripts/patterns/index.min.js 7.98 kB
build/scripts/plugins/index.min.js 2.15 kB
build/scripts/preferences-persistence/index.min.js 2.15 kB
build/scripts/preferences/index.min.js 3.3 kB
build/scripts/primitives/index.min.js 1.01 kB
build/scripts/priority-queue/index.min.js 1.62 kB
build/scripts/private-apis/index.min.js 1.1 kB
build/scripts/react-i18n/index.min.js 833 B
build/scripts/redux-routine/index.min.js 3.37 kB
build/scripts/reusable-blocks/index.min.js 3.1 kB
build/scripts/rich-text/index.min.js 14 kB
build/scripts/router/index.min.js 5.96 kB
build/scripts/server-side-render/index.min.js 1.91 kB
build/scripts/shortcode/index.min.js 1.59 kB
build/scripts/style-engine/index.min.js 2.42 kB
build/scripts/sync/index.min.js 38.6 kB
build/scripts/theme/index.min.js 22 kB
build/scripts/token-list/index.min.js 739 B
build/scripts/undo-manager/index.min.js 918 B
build/scripts/url/index.min.js 3.98 kB
build/scripts/vendors/react-dom.min.js 43.3 kB
build/scripts/vendors/react-jsx-runtime.min.js 667 B
build/scripts/vendors/react.min.js 2.77 kB
build/scripts/viewport/index.min.js 1.22 kB
build/scripts/warning/index.min.js 454 B
build/scripts/widgets/index.min.js 7.8 kB
build/scripts/wordcount/index.min.js 1.04 kB
build/styles/base-styles/admin-schemes-rtl.css 1.71 kB
build/styles/base-styles/admin-schemes-rtl.min.css 775 B
build/styles/base-styles/admin-schemes.css 1.71 kB
build/styles/base-styles/admin-schemes.min.css 775 B
build/styles/block-directory/style-rtl.css 1.97 kB
build/styles/block-directory/style-rtl.min.css 1.06 kB
build/styles/block-directory/style.css 1.98 kB
build/styles/block-directory/style.min.css 1.06 kB
build/styles/block-editor/content-rtl.css 5.46 kB
build/styles/block-editor/content-rtl.min.css 4.03 kB
build/styles/block-editor/content.css 5.46 kB
build/styles/block-editor/content.min.css 4.02 kB
build/styles/block-editor/default-editor-styles-rtl.css 697 B
build/styles/block-editor/default-editor-styles-rtl.min.css 224 B
build/styles/block-editor/default-editor-styles.css 697 B
build/styles/block-editor/default-editor-styles.min.css 224 B
build/styles/block-editor/style-rtl.css 18.6 kB
build/styles/block-editor/style-rtl.min.css 15.8 kB
build/styles/block-editor/style.css 18.6 kB
build/styles/block-editor/style.min.css 15.8 kB
build/styles/block-library/accordion-heading/style-rtl.css 346 B
build/styles/block-library/accordion-heading/style-rtl.min.css 325 B
build/styles/block-library/accordion-heading/style.css 346 B
build/styles/block-library/accordion-heading/style.min.css 325 B
build/styles/block-library/accordion-item/style-rtl.css 239 B
build/styles/block-library/accordion-item/style-rtl.min.css 180 B
build/styles/block-library/accordion-item/style.css 238 B
build/styles/block-library/accordion-item/style.min.css 180 B
build/styles/block-library/accordion-panel/style-rtl.css 110 B
build/styles/block-library/accordion-panel/style-rtl.min.css 99 B
build/styles/block-library/accordion-panel/style.css 110 B
build/styles/block-library/accordion-panel/style.min.css 99 B
build/styles/block-library/accordion/style-rtl.css 69 B
build/styles/block-library/accordion/style-rtl.min.css 62 B
build/styles/block-library/accordion/style.css 69 B
build/styles/block-library/accordion/style.min.css 62 B
build/styles/block-library/archives/style-rtl.css 101 B
build/styles/block-library/archives/style-rtl.min.css 90 B
build/styles/block-library/archives/style.css 101 B
build/styles/block-library/archives/style.min.css 90 B
build/styles/block-library/audio/editor-rtl.css 166 B
build/styles/block-library/audio/editor-rtl.min.css 149 B
build/styles/block-library/audio/editor.css 166 B
build/styles/block-library/audio/editor.min.css 151 B
build/styles/block-library/audio/style-rtl.css 945 B
build/styles/block-library/audio/style-rtl.min.css 132 B
build/styles/block-library/audio/style.css 945 B
build/styles/block-library/audio/style.min.css 132 B
build/styles/block-library/audio/theme-rtl.css 967 B
build/styles/block-library/audio/theme-rtl.min.css 134 B
build/styles/block-library/audio/theme.css 967 B
build/styles/block-library/audio/theme.min.css 134 B
build/styles/block-library/avatar/editor-rtl.css 127 B
build/styles/block-library/avatar/editor-rtl.min.css 115 B
build/styles/block-library/avatar/editor.css 127 B
build/styles/block-library/avatar/editor.min.css 115 B
build/styles/block-library/avatar/style-rtl.css 117 B
build/styles/block-library/avatar/style-rtl.min.css 104 B
build/styles/block-library/avatar/style.css 117 B
build/styles/block-library/avatar/style.min.css 104 B
build/styles/block-library/breadcrumbs/style-rtl.css 233 B
build/styles/block-library/breadcrumbs/style-rtl.min.css 203 B
build/styles/block-library/breadcrumbs/style.css 233 B
build/styles/block-library/breadcrumbs/style.min.css 203 B
build/styles/block-library/button/editor-rtl.css 306 B
build/styles/block-library/button/editor-rtl.min.css 265 B
build/styles/block-library/button/editor.css 317 B
build/styles/block-library/button/editor.min.css 265 B
build/styles/block-library/button/style-rtl.css 651 B
build/styles/block-library/button/style-rtl.min.css 596 B
build/styles/block-library/button/style.css 662 B
build/styles/block-library/button/style.min.css 596 B
build/styles/block-library/buttons/editor-rtl.css 391 B
build/styles/block-library/buttons/editor-rtl.min.css 291 B
build/styles/block-library/buttons/editor.css 391 B
build/styles/block-library/buttons/editor.min.css 291 B
build/styles/block-library/buttons/style-rtl.css 452 B
build/styles/block-library/buttons/style-rtl.min.css 349 B
build/styles/block-library/buttons/style.css 453 B
build/styles/block-library/buttons/style.min.css 349 B
build/styles/block-library/calendar/style-rtl.css 271 B
build/styles/block-library/calendar/style-rtl.min.css 239 B
build/styles/block-library/calendar/style.css 271 B
build/styles/block-library/calendar/style.min.css 239 B
build/styles/block-library/categories/editor-rtl.css 171 B
build/styles/block-library/categories/editor-rtl.min.css 132 B
build/styles/block-library/categories/editor.css 170 B
build/styles/block-library/categories/editor.min.css 131 B
build/styles/block-library/categories/style-rtl.css 226 B
build/styles/block-library/categories/style-rtl.min.css 169 B
build/styles/block-library/categories/style.css 235 B
build/styles/block-library/categories/style.min.css 169 B
build/styles/block-library/classic-rtl.css 363 B
build/styles/block-library/classic-rtl.min.css 321 B
build/styles/block-library/classic.css 363 B
build/styles/block-library/classic.min.css 321 B
build/styles/block-library/code/editor-rtl.css 59 B
build/styles/block-library/code/editor-rtl.min.css 53 B
build/styles/block-library/code/editor.css 59 B
build/styles/block-library/code/editor.min.css 53 B
build/styles/block-library/code/style-rtl.css 158 B
build/styles/block-library/code/style-rtl.min.css 140 B
build/styles/block-library/code/style.css 178 B
build/styles/block-library/code/style.min.css 140 B
build/styles/block-library/code/theme-rtl.css 135 B
build/styles/block-library/code/theme-rtl.min.css 122 B
build/styles/block-library/code/theme.css 135 B
build/styles/block-library/code/theme.min.css 122 B
build/styles/block-library/columns/editor-rtl.css 119 B
build/styles/block-library/columns/editor-rtl.min.css 108 B
build/styles/block-library/columns/editor.css 119 B
build/styles/block-library/columns/editor.min.css 108 B
build/styles/block-library/columns/style-rtl.css 1.3 kB
build/styles/block-library/columns/style-rtl.min.css 421 B
build/styles/block-library/columns/style.css 1.3 kB
build/styles/block-library/columns/style.min.css 421 B
build/styles/block-library/comment-author-avatar/editor-rtl.css 136 B
build/styles/block-library/comment-author-avatar/editor-rtl.min.css 124 B
build/styles/block-library/comment-author-avatar/editor.css 136 B
build/styles/block-library/comment-author-avatar/editor.min.css 124 B
build/styles/block-library/comment-author-name/style-rtl.css 79 B
build/styles/block-library/comment-author-name/style-rtl.min.css 72 B
build/styles/block-library/comment-author-name/style.css 79 B
build/styles/block-library/comment-author-name/style.min.css 72 B
build/styles/block-library/comment-content/style-rtl.css 137 B
build/styles/block-library/comment-content/style-rtl.min.css 120 B
build/styles/block-library/comment-content/style.css 137 B
build/styles/block-library/comment-content/style.min.css 120 B
build/styles/block-library/comment-date/style-rtl.css 72 B
build/styles/block-library/comment-date/style-rtl.min.css 65 B
build/styles/block-library/comment-date/style.css 72 B
build/styles/block-library/comment-date/style.min.css 65 B
build/styles/block-library/comment-edit-link/style-rtl.css 77 B
build/styles/block-library/comment-edit-link/style-rtl.min.css 70 B
build/styles/block-library/comment-edit-link/style.css 77 B
build/styles/block-library/comment-edit-link/style.min.css 70 B
build/styles/block-library/comment-reply-link/style-rtl.css 78 B
build/styles/block-library/comment-reply-link/style-rtl.min.css 71 B
build/styles/block-library/comment-reply-link/style.css 78 B
build/styles/block-library/comment-reply-link/style.min.css 71 B
build/styles/block-library/comment-template/style-rtl.css 213 B
build/styles/block-library/comment-template/style-rtl.min.css 191 B
build/styles/block-library/comment-template/style.css 213 B
build/styles/block-library/comment-template/style.min.css 191 B
build/styles/block-library/comments-pagination-numbers/editor-rtl.css 135 B
build/styles/block-library/comments-pagination-numbers/editor-rtl.min.css 122 B
build/styles/block-library/comments-pagination-numbers/editor.css 144 B
build/styles/block-library/comments-pagination-numbers/editor.min.css 121 B
build/styles/block-library/comments-pagination/editor-rtl.css 184 B
build/styles/block-library/comments-pagination/editor-rtl.min.css 168 B
build/styles/block-library/comments-pagination/editor.css 184 B
build/styles/block-library/comments-pagination/editor.min.css 168 B
build/styles/block-library/comments-pagination/style-rtl.css 224 B
build/styles/block-library/comments-pagination/style-rtl.min.css 201 B
build/styles/block-library/comments-pagination/style.css 236 B
build/styles/block-library/comments-pagination/style.min.css 201 B
build/styles/block-library/comments-title/editor-rtl.css 83 B
build/styles/block-library/comments-title/editor-rtl.min.css 75 B
build/styles/block-library/comments-title/editor.css 83 B
build/styles/block-library/comments-title/editor.min.css 75 B
build/styles/block-library/comments/editor-rtl.css 968 B
build/styles/block-library/comments/editor-rtl.min.css 842 B
build/styles/block-library/comments/editor.css 968 B
build/styles/block-library/comments/editor.min.css 842 B
build/styles/block-library/comments/style-rtl.css 754 B
build/styles/block-library/comments/style-rtl.min.css 637 B
build/styles/block-library/comments/style.css 752 B
build/styles/block-library/comments/style.min.css 637 B
build/styles/block-library/common-rtl.css 2.48 kB
build/styles/block-library/common-rtl.min.css 1.12 kB
build/styles/block-library/common.css 2.5 kB
build/styles/block-library/common.min.css 1.12 kB
build/styles/block-library/cover/editor-rtl.css 1.05 kB
build/styles/block-library/cover/editor-rtl.min.css 631 B
build/styles/block-library/cover/editor.css 1.05 kB
build/styles/block-library/cover/editor.min.css 631 B
build/styles/block-library/cover/style-rtl.css 2.5 kB
build/styles/block-library/cover/style-rtl.min.css 1.82 kB
build/styles/block-library/cover/style.css 2.51 kB
build/styles/block-library/cover/style.min.css 1.81 kB
build/styles/block-library/details/editor-rtl.css 72 B
build/styles/block-library/details/editor-rtl.min.css 65 B
build/styles/block-library/details/editor.css 72 B
build/styles/block-library/details/editor.min.css 65 B
build/styles/block-library/details/style-rtl.css 97 B
build/styles/block-library/details/style-rtl.min.css 86 B
build/styles/block-library/details/style.css 97 B
build/styles/block-library/details/style.min.css 86 B
build/styles/block-library/editor-elements-rtl.css 117 B
build/styles/block-library/editor-elements-rtl.min.css 75 B
build/styles/block-library/editor-elements.css 117 B
build/styles/block-library/editor-elements.min.css 75 B
build/styles/block-library/editor-rtl.css 12.5 kB
build/styles/block-library/editor-rtl.min.css 10.3 kB
build/styles/block-library/editor.css 12.5 kB
build/styles/block-library/editor.min.css 10.3 kB
build/styles/block-library/elements-rtl.css 84 B
build/styles/block-library/elements-rtl.min.css 54 B
build/styles/block-library/elements.css 84 B
build/styles/block-library/elements.min.css 54 B
build/styles/block-library/embed/editor-rtl.css 391 B
build/styles/block-library/embed/editor-rtl.min.css 331 B
build/styles/block-library/embed/editor.css 390 B
build/styles/block-library/embed/editor.min.css 331 B
build/styles/block-library/embed/style-rtl.css 1.29 kB
build/styles/block-library/embed/style-rtl.min.css 448 B
build/styles/block-library/embed/style.css 1.29 kB
build/styles/block-library/embed/style.min.css 448 B
build/styles/block-library/embed/theme-rtl.css 967 B
build/styles/block-library/embed/theme-rtl.min.css 133 B
build/styles/block-library/embed/theme.css 967 B
build/styles/block-library/embed/theme.min.css 133 B
build/styles/block-library/file/editor-rtl.css 352 B
build/styles/block-library/file/editor-rtl.min.css 324 B
build/styles/block-library/file/editor.css 353 B
build/styles/block-library/file/editor.min.css 324 B
build/styles/block-library/file/style-rtl.css 318 B
build/styles/block-library/file/style-rtl.min.css 278 B
build/styles/block-library/file/style.css 331 B
build/styles/block-library/file/style.min.css 278 B
build/styles/block-library/footnotes/style-rtl.css 220 B
build/styles/block-library/footnotes/style-rtl.min.css 198 B
build/styles/block-library/footnotes/style.css 219 B
build/styles/block-library/footnotes/style.min.css 197 B
build/styles/block-library/form-input/editor-rtl.css 286 B
build/styles/block-library/form-input/editor-rtl.min.css 265 B
build/styles/block-library/form-input/editor.css 285 B
build/styles/block-library/form-input/editor.min.css 264 B
build/styles/block-library/form-input/style-rtl.css 467 B
build/styles/block-library/form-input/style-rtl.min.css 366 B
build/styles/block-library/form-input/style.css 467 B
build/styles/block-library/form-input/style.min.css 366 B
build/styles/block-library/form-submission-notification/editor-rtl.css 368 B
build/styles/block-library/form-submission-notification/editor-rtl.min.css 344 B
build/styles/block-library/form-submission-notification/editor.css 368 B
build/styles/block-library/form-submission-notification/editor.min.css 341 B
build/styles/block-library/form-submit-button/style-rtl.css 77 B
build/styles/block-library/form-submit-button/style-rtl.min.css 69 B
build/styles/block-library/form-submit-button/style.css 77 B
build/styles/block-library/form-submit-button/style.min.css 69 B
build/styles/block-library/freeform/editor-rtl.css 1.12 kB
build/styles/block-library/freeform/editor-rtl.min.css 288 B
build/styles/block-library/freeform/editor.css 1.12 kB
build/styles/block-library/freeform/editor.min.css 288 B
build/styles/block-library/gallery/editor-rtl.css 1.52 kB
build/styles/block-library/gallery/editor-rtl.min.css 615 B
build/styles/block-library/gallery/editor.css 1.52 kB
build/styles/block-library/gallery/editor.min.css 616 B
build/styles/block-library/gallery/style-rtl.css 2.84 kB
build/styles/block-library/gallery/style-rtl.min.css 1.84 kB
build/styles/block-library/gallery/style.css 2.84 kB
build/styles/block-library/gallery/style.min.css 1.84 kB
build/styles/block-library/gallery/theme-rtl.css 941 B
build/styles/block-library/gallery/theme-rtl.min.css 108 B
build/styles/block-library/gallery/theme.css 941 B
build/styles/block-library/gallery/theme.min.css 108 B
build/styles/block-library/group/editor-rtl.css 772 B
build/styles/block-library/group/editor-rtl.min.css 335 B
build/styles/block-library/group/editor.css 772 B
build/styles/block-library/group/editor.min.css 335 B
build/styles/block-library/group/style-rtl.css 120 B
build/styles/block-library/group/style-rtl.min.css 103 B
build/styles/block-library/group/style.css 120 B
build/styles/block-library/group/style.min.css 103 B
build/styles/block-library/group/theme-rtl.css 468 B
build/styles/block-library/group/theme-rtl.min.css 79 B
build/styles/block-library/group/theme.css 468 B
build/styles/block-library/group/theme.min.css 79 B
build/styles/block-library/heading/style-rtl.css 604 B
build/styles/block-library/heading/style-rtl.min.css 205 B
build/styles/block-library/heading/style.css 604 B
build/styles/block-library/heading/style.min.css 205 B
build/styles/block-library/html/editor-rtl.css 1.29 kB
build/styles/block-library/html/editor-rtl.min.css 464 B
build/styles/block-library/html/editor.css 1.3 kB
build/styles/block-library/html/editor.min.css 464 B
build/styles/block-library/icon/editor-rtl.css 776 B
build/styles/block-library/icon/editor-rtl.min.css 377 B
build/styles/block-library/icon/editor.css 776 B
build/styles/block-library/icon/editor.min.css 377 B
build/styles/block-library/icon/style-rtl.css 218 B
build/styles/block-library/icon/style-rtl.min.css 154 B
build/styles/block-library/icon/style.css 218 B
build/styles/block-library/icon/style.min.css 154 B
build/styles/block-library/image/editor-rtl.css 1.64 kB
build/styles/block-library/image/editor-rtl.min.css 782 B
build/styles/block-library/image/editor.css 1.64 kB
build/styles/block-library/image/editor.min.css 780 B
build/styles/block-library/image/style-rtl.css 2.92 kB
build/styles/block-library/image/style-rtl.min.css 1.86 kB
build/styles/block-library/image/style.css 2.92 kB
build/styles/block-library/image/style.min.css 1.85 kB
build/styles/block-library/image/theme-rtl.css 971 B
build/styles/block-library/image/theme-rtl.min.css 137 B
build/styles/block-library/image/theme.css 971 B
build/styles/block-library/image/theme.min.css 137 B
build/styles/block-library/latest-comments/style-rtl.css 392 B
build/styles/block-library/latest-comments/style-rtl.min.css 352 B
build/styles/block-library/latest-comments/style.css 390 B
build/styles/block-library/latest-comments/style.min.css 352 B
build/styles/block-library/latest-posts/editor-rtl.css 154 B
build/styles/block-library/latest-posts/editor-rtl.min.css 139 B
build/styles/block-library/latest-posts/editor.css 153 B
build/styles/block-library/latest-posts/editor.min.css 138 B
build/styles/block-library/latest-posts/style-rtl.css 1.36 kB
build/styles/block-library/latest-posts/style-rtl.min.css 520 B
build/styles/block-library/latest-posts/style.css 1.37 kB
build/styles/block-library/latest-posts/style.min.css 520 B
build/styles/block-library/list/style-rtl.css 498 B
build/styles/block-library/list/style-rtl.min.css 107 B
build/styles/block-library/list/style.css 498 B
build/styles/block-library/list/style.min.css 107 B
build/styles/block-library/loginout/style-rtl.css 68 B
build/styles/block-library/loginout/style-rtl.min.css 61 B
build/styles/block-library/loginout/style.css 68 B
build/styles/block-library/loginout/style.min.css 61 B
build/styles/block-library/math/editor-rtl.css 491 B
build/styles/block-library/math/editor-rtl.min.css 105 B
build/styles/block-library/math/editor.css 502 B
build/styles/block-library/math/editor.min.css 105 B
build/styles/block-library/math/style-rtl.css 70 B
build/styles/block-library/math/style-rtl.min.css 61 B
build/styles/block-library/math/style.css 70 B
build/styles/block-library/math/style.min.css 61 B
build/styles/block-library/media-text/editor-rtl.css 389 B
build/styles/block-library/media-text/editor-rtl.min.css 321 B
build/styles/block-library/media-text/editor.css 389 B
build/styles/block-library/media-text/editor.min.css 320 B
build/styles/block-library/media-text/style-rtl.css 873 B
build/styles/block-library/media-text/style-rtl.min.css 552 B
build/styles/block-library/media-text/style.css 901 B
build/styles/block-library/media-text/style.min.css 550 B
build/styles/block-library/more/editor-rtl.css 796 B
build/styles/block-library/more/editor-rtl.min.css 393 B
build/styles/block-library/more/editor.css 798 B
build/styles/block-library/more/editor.min.css 393 B
build/styles/block-library/navigation-link/editor-rtl.css 1.28 kB
build/styles/block-library/navigation-link/editor-rtl.min.css 710 B
build/styles/block-library/navigation-link/editor.css 1.27 kB
build/styles/block-library/navigation-link/editor.min.css 713 B
build/styles/block-library/navigation-link/style-rtl.css 579 B
build/styles/block-library/navigation-link/style-rtl.min.css 190 B
build/styles/block-library/navigation-link/style.css 579 B
build/styles/block-library/navigation-link/style.min.css 188 B
build/styles/block-library/navigation-overlay-close/style-rtl.css 260 B
build/styles/block-library/navigation-overlay-close/style-rtl.min.css 237 B
build/styles/block-library/navigation-overlay-close/style.css 260 B
build/styles/block-library/navigation-overlay-close/style.min.css 237 B
build/styles/block-library/navigation-submenu/editor-rtl.css 1.12 kB
build/styles/block-library/navigation-submenu/editor-rtl.min.css 295 B
build/styles/block-library/navigation-submenu/editor.css 1.12 kB
build/styles/block-library/navigation-submenu/editor.min.css 294 B
build/styles/block-library/navigation/editor-rtl.css 3.28 kB
build/styles/block-library/navigation/editor-rtl.min.css 2.28 kB
build/styles/block-library/navigation/editor.css 3.29 kB
build/styles/block-library/navigation/editor.min.css 2.28 kB
build/styles/block-library/navigation/style-rtl.css 3.59 kB
build/styles/block-library/navigation/style-rtl.min.css 2.52 kB
build/styles/block-library/navigation/style.css 3.59 kB
build/styles/block-library/navigation/style.min.css 2.5 kB
build/styles/block-library/nextpage/editor-rtl.css 799 B
build/styles/block-library/nextpage/editor-rtl.min.css 392 B
build/styles/block-library/nextpage/editor.css 800 B
build/styles/block-library/nextpage/editor.min.css 392 B
build/styles/block-library/page-list/editor-rtl.css 1.18 kB
build/styles/block-library/page-list/editor-rtl.min.css 356 B
build/styles/block-library/page-list/editor.css 1.18 kB
build/styles/block-library/page-list/editor.min.css 356 B
build/styles/block-library/page-list/style-rtl.css 207 B
build/styles/block-library/page-list/style-rtl.min.css 192 B
build/styles/block-library/page-list/style.css 207 B
build/styles/block-library/page-list/style.min.css 192 B
build/styles/block-library/paragraph/editor-rtl.css 315 B
build/styles/block-library/paragraph/editor-rtl.min.css 292 B
build/styles/block-library/paragraph/editor.css 314 B
build/styles/block-library/paragraph/editor.min.css 292 B
build/styles/block-library/paragraph/style-rtl.css 746 B
build/styles/block-library/paragraph/style-rtl.min.css 341 B
build/styles/block-library/paragraph/style.css 752 B
build/styles/block-library/paragraph/style.min.css 340 B
build/styles/block-library/playlist-track/style-rtl.css 453 B
build/styles/block-library/playlist-track/style-rtl.min.css 420 B
build/styles/block-library/playlist-track/style.css 453 B
build/styles/block-library/playlist-track/style.min.css 420 B
build/styles/block-library/playlist/editor-rtl.css 120 B
build/styles/block-library/playlist/editor-rtl.min.css 112 B
build/styles/block-library/playlist/editor.css 120 B
build/styles/block-library/playlist/editor.min.css 112 B
build/styles/block-library/playlist/style-rtl.css 1.52 kB
build/styles/block-library/playlist/style-rtl.min.css 1.42 kB
build/styles/block-library/playlist/style.css 1.52 kB
build/styles/block-library/playlist/style.min.css 1.42 kB
build/styles/block-library/post-author-biography/style-rtl.css 96 B
build/styles/block-library/post-author-biography/style-rtl.min.css 86 B
build/styles/block-library/post-author-biography/style.css 96 B
build/styles/block-library/post-author-biography/style.min.css 86 B
build/styles/block-library/post-author-name/style-rtl.css 76 B
build/styles/block-library/post-author-name/style-rtl.min.css 69 B
build/styles/block-library/post-author-name/style.css 76 B
build/styles/block-library/post-author-name/style.min.css 69 B
build/styles/block-library/post-author/editor-rtl.css 490 B
build/styles/block-library/post-author/editor-rtl.min.css 104 B
build/styles/block-library/post-author/editor.css 490 B
build/styles/block-library/post-author/editor.min.css 104 B
build/styles/block-library/post-author/style-rtl.css 213 B
build/styles/block-library/post-author/style-rtl.min.css 188 B
build/styles/block-library/post-author/style.css 214 B
build/styles/block-library/post-author/style.min.css 189 B
build/styles/block-library/post-comments-count/style-rtl.css 79 B
build/styles/block-library/post-comments-count/style-rtl.min.css 72 B
build/styles/block-library/post-comments-count/style.css 79 B
build/styles/block-library/post-comments-count/style.min.css 72 B
build/styles/block-library/post-comments-form/editor-rtl.css 104 B
build/styles/block-library/post-comments-form/editor-rtl.min.css 96 B
build/styles/block-library/post-comments-form/editor.css 104 B
build/styles/block-library/post-comments-form/editor.min.css 96 B
build/styles/block-library/post-comments-form/style-rtl.css 585 B
build/styles/block-library/post-comments-form/style-rtl.min.css 525 B
build/styles/block-library/post-comments-form/style.css 584 B
build/styles/block-library/post-comments-form/style.min.css 525 B
build/styles/block-library/post-comments-link/style-rtl.css 78 B
build/styles/block-library/post-comments-link/style-rtl.min.css 71 B
build/styles/block-library/post-comments-link/style.css 78 B
build/styles/block-library/post-comments-link/style.min.css 71 B
build/styles/block-library/post-content/style-rtl.css 68 B
build/styles/block-library/post-content/style-rtl.min.css 61 B
build/styles/block-library/post-content/style.css 68 B
build/styles/block-library/post-content/style.min.css 61 B
build/styles/block-library/post-date/style-rtl.css 69 B
build/styles/block-library/post-date/style-rtl.min.css 62 B
build/styles/block-library/post-date/style.css 69 B
build/styles/block-library/post-date/style.min.css 62 B
build/styles/block-library/post-excerpt/editor-rtl.css 78 B
build/styles/block-library/post-excerpt/editor-rtl.min.css 71 B
build/styles/block-library/post-excerpt/editor.css 78 B
build/styles/block-library/post-excerpt/editor.min.css 71 B
build/styles/block-library/post-excerpt/style-rtl.css 171 B
build/styles/block-library/post-excerpt/style-rtl.min.css 155 B
build/styles/block-library/post-excerpt/style.css 171 B
build/styles/block-library/post-excerpt/style.min.css 155 B
build/styles/block-library/post-featured-image/editor-rtl.css 1.14 kB
build/styles/block-library/post-featured-image/editor-rtl.min.css 719 B
build/styles/block-library/post-featured-image/editor.css 1.14 kB
build/styles/block-library/post-featured-image/editor.min.css 717 B
build/styles/block-library/post-featured-image/style-rtl.css 392 B
build/styles/block-library/post-featured-image/style-rtl.min.css 347 B
build/styles/block-library/post-featured-image/style.css 392 B
build/styles/block-library/post-featured-image/style.min.css 347 B
build/styles/block-library/post-navigation-link/style-rtl.css 234 B
build/styles/block-library/post-navigation-link/style-rtl.min.css 215 B
build/styles/block-library/post-navigation-link/style.css 245 B
build/styles/block-library/post-navigation-link/style.min.css 214 B
build/styles/block-library/post-template/style-rtl.css 1.27 kB
build/styles/block-library/post-template/style-rtl.min.css 441 B
build/styles/block-library/post-template/style.css 1.27 kB
build/styles/block-library/post-template/style.min.css 441 B
build/styles/block-library/post-terms/style-rtl.css 108 B
build/styles/block-library/post-terms/style-rtl.min.css 96 B
build/styles/block-library/post-terms/style.css 108 B
build/styles/block-library/post-terms/style.min.css 96 B
build/styles/block-library/post-time-to-read/style-rtl.css 77 B
build/styles/block-library/post-time-to-read/style-rtl.min.css 70 B
build/styles/block-library/post-time-to-read/style.css 77 B
build/styles/block-library/post-time-to-read/style.min.css 70 B
build/styles/block-library/post-title/style-rtl.css 175 B
build/styles/block-library/post-title/style-rtl.min.css 162 B
build/styles/block-library/post-title/style.css 175 B
build/styles/block-library/post-title/style.min.css 162 B
build/styles/block-library/preformatted/style-rtl.css 511 B
build/styles/block-library/preformatted/style-rtl.min.css 125 B
build/styles/block-library/preformatted/style.css 511 B
build/styles/block-library/preformatted/style.min.css 125 B
build/styles/block-library/pullquote/editor-rtl.css 146 B
build/styles/block-library/pullquote/editor-rtl.min.css 133 B
build/styles/block-library/pullquote/editor.css 146 B
build/styles/block-library/pullquote/editor.min.css 133 B
build/styles/block-library/pullquote/style-rtl.css 765 B
build/styles/block-library/pullquote/style-rtl.min.css 365 B
build/styles/block-library/pullquote/style.css 764 B
build/styles/block-library/pullquote/style.min.css 365 B
build/styles/block-library/pullquote/theme-rtl.css 195 B
build/styles/block-library/pullquote/theme-rtl.min.css 176 B
build/styles/block-library/pullquote/theme.css 195 B
build/styles/block-library/pullquote/theme.min.css 176 B
build/styles/block-library/query-pagination-numbers/editor-rtl.css 134 B
build/styles/block-library/query-pagination-numbers/editor-rtl.min.css 121 B
build/styles/block-library/query-pagination-numbers/editor.css 144 B
build/styles/block-library/query-pagination-numbers/editor.min.css 118 B
build/styles/block-library/query-pagination/editor-rtl.css 168 B
build/styles/block-library/query-pagination/editor-rtl.min.css 154 B
build/styles/block-library/query-pagination/editor.css 168 B
build/styles/block-library/query-pagination/editor.min.css 154 B
build/styles/block-library/query-pagination/style-rtl.css 254 B
build/styles/block-library/query-pagination/style-rtl.min.css 237 B
build/styles/block-library/query-pagination/style.css 265 B
build/styles/block-library/query-pagination/style.min.css 237 B
build/styles/block-library/query-title/style-rtl.css 71 B
build/styles/block-library/query-title/style-rtl.min.css 64 B
build/styles/block-library/query-title/style.css 71 B
build/styles/block-library/query-title/style.min.css 64 B
build/styles/block-library/query-total/style-rtl.css 71 B
build/styles/block-library/query-total/style-rtl.min.css 64 B
build/styles/block-library/query-total/style.css 71 B
build/styles/block-library/query-total/style.min.css 64 B
build/styles/block-library/query/editor-rtl.css 1.28 kB
build/styles/block-library/query/editor-rtl.min.css 438 B
build/styles/block-library/query/editor.css 1.28 kB
build/styles/block-library/query/editor.min.css 438 B
build/styles/block-library/quote/style-rtl.css 255 B
build/styles/block-library/quote/style-rtl.min.css 238 B
build/styles/block-library/quote/style.css 256 B
build/styles/block-library/quote/style.min.css 238 B
build/styles/block-library/quote/theme-rtl.css 253 B
build/styles/block-library/quote/theme-rtl.min.css 233 B
build/styles/block-library/quote/theme.css 254 B
build/styles/block-library/quote/theme.min.css 236 B
build/styles/block-library/read-more/style-rtl.css 146 B
build/styles/block-library/read-more/style-rtl.min.css 131 B
build/styles/block-library/read-more/style.css 146 B
build/styles/block-library/read-more/style.min.css 131 B
build/styles/block-library/reset-rtl.css 936 B
build/styles/block-library/reset-rtl.min.css 467 B
build/styles/block-library/reset.css 936 B
build/styles/block-library/reset.min.css 467 B
build/styles/block-library/rss/editor-rtl.css 144 B
build/styles/block-library/rss/editor-rtl.min.css 126 B
build/styles/block-library/rss/editor.css 144 B
build/styles/block-library/rss/editor.min.css 126 B
build/styles/block-library/rss/style-rtl.css 1.11 kB
build/styles/block-library/rss/style-rtl.min.css 284 B
build/styles/block-library/rss/style.css 1.12 kB
build/styles/block-library/rss/style.min.css 283 B
build/styles/block-library/search/editor-rtl.css 217 B
build/styles/block-library/search/editor-rtl.min.css 199 B
build/styles/block-library/search/editor.css 217 B
build/styles/block-library/search/editor.min.css 199 B
build/styles/block-library/search/style-rtl.css 1.1 kB
build/styles/block-library/search/style-rtl.min.css 665 B
build/styles/block-library/search/style.css 1.1 kB
build/styles/block-library/search/style.min.css 666 B
build/styles/block-library/search/theme-rtl.css 130 B
build/styles/block-library/search/theme-rtl.min.css 113 B
build/styles/block-library/search/theme.css 130 B
build/styles/block-library/search/theme.min.css 113 B
build/styles/block-library/separator/editor-rtl.css 106 B
build/styles/block-library/separator/editor-rtl.min.css 100 B
build/styles/block-library/separator/editor.css 106 B
build/styles/block-library/separator/editor.min.css 100 B
build/styles/block-library/separator/style-rtl.css 284 B
build/styles/block-library/separator/style-rtl.min.css 248 B
build/styles/block-library/separator/style.css 297 B
build/styles/block-library/separator/style.min.css 248 B
build/styles/block-library/separator/theme-rtl.css 226 B
build/styles/block-library/separator/theme-rtl.min.css 195 B
build/styles/block-library/separator/theme.css 226 B
build/styles/block-library/separator/theme.min.css 195 B
build/styles/block-library/shortcode/editor-rtl.css 1.1 kB
build/styles/block-library/shortcode/editor-rtl.min.css 286 B
build/styles/block-library/shortcode/editor.css 1.1 kB
build/styles/block-library/shortcode/editor.min.css 286 B
build/styles/block-library/site-logo/editor-rtl.css 1.12 kB
build/styles/block-library/site-logo/editor-rtl.min.css 696 B
build/styles/block-library/site-logo/editor.css 1.12 kB
build/styles/block-library/site-logo/editor.min.css 692 B
build/styles/block-library/site-logo/style-rtl.css 239 B
build/styles/block-library/site-logo/style-rtl.min.css 218 B
build/styles/block-library/site-logo/style.css 238 B
build/styles/block-library/site-logo/style.min.css 218 B
build/styles/block-library/site-tagline/editor-rtl.css 94 B
build/styles/block-library/site-tagline/editor-rtl.min.css 87 B
build/styles/block-library/site-tagline/editor.css 94 B
build/styles/block-library/site-tagline/editor.min.css 87 B
build/styles/block-library/site-tagline/style-rtl.css 72 B
build/styles/block-library/site-tagline/style-rtl.min.css 65 B
build/styles/block-library/site-tagline/style.css 72 B
build/styles/block-library/site-tagline/style.min.css 65 B
build/styles/block-library/site-title/editor-rtl.css 93 B
build/styles/block-library/site-title/editor-rtl.min.css 85 B
build/styles/block-library/site-title/editor.css 93 B
build/styles/block-library/site-title/editor.min.css 85 B
build/styles/block-library/site-title/style-rtl.css 153 B
build/styles/block-library/site-title/style-rtl.min.css 143 B
build/styles/block-library/site-title/style.css 153 B
build/styles/block-library/site-title/style.min.css 143 B
build/styles/block-library/social-link/editor-rtl.css 346 B
build/styles/block-library/social-link/editor-rtl.min.css 314 B
build/styles/block-library/social-link/editor.css 348 B
build/styles/block-library/social-link/editor.min.css 314 B
build/styles/block-library/social-links/editor-rtl.css 737 B
build/styles/block-library/social-links/editor-rtl.min.css 339 B
build/styles/block-library/social-links/editor.css 738 B
build/styles/block-library/social-links/editor.min.css 338 B
build/styles/block-library/social-links/style-rtl.css 1.57 kB
build/styles/block-library/social-links/style-rtl.min.css 1.51 kB
build/styles/block-library/social-links/style.css 1.57 kB
build/styles/block-library/social-links/style.min.css 1.51 kB
build/styles/block-library/spacer/editor-rtl.css 774 B
build/styles/block-library/spacer/editor-rtl.min.css 346 B
build/styles/block-library/spacer/editor.css 774 B
build/styles/block-library/spacer/editor.min.css 346 B
build/styles/block-library/spacer/style-rtl.css 55 B
build/styles/block-library/spacer/style-rtl.min.css 48 B
build/styles/block-library/spacer/style.css 55 B
build/styles/block-library/spacer/style.min.css 48 B
build/styles/block-library/style-rtl.css 21.5 kB
build/styles/block-library/style-rtl.min.css 18 kB
build/styles/block-library/style.css 21.6 kB
build/styles/block-library/style.min.css 18 kB
build/styles/block-library/tab-list/editor-rtl.css 107 B
build/styles/block-library/tab-list/editor-rtl.min.css 97 B
build/styles/block-library/tab-list/editor.css 107 B
build/styles/block-library/tab-list/editor.min.css 97 B
build/styles/block-library/tab-panel/style-rtl.css 238 B
build/styles/block-library/tab-panel/style-rtl.min.css 215 B
build/styles/block-library/tab-panel/style.css 238 B
build/styles/block-library/tab-panel/style.min.css 215 B
build/styles/block-library/tab-panels/style-rtl.css 76 B
build/styles/block-library/tab-panels/style-rtl.min.css 65 B
build/styles/block-library/tab-panels/style.css 76 B
build/styles/block-library/tab-panels/style.min.css 65 B
build/styles/block-library/tab/editor-rtl.css 160 B
build/styles/block-library/tab/editor-rtl.min.css 148 B
build/styles/block-library/tab/editor.css 160 B
build/styles/block-library/tab/editor.min.css 148 B
build/styles/block-library/tab/style-rtl.css 397 B
build/styles/block-library/tab/style-rtl.min.css 352 B
build/styles/block-library/tab/style.css 398 B
build/styles/block-library/tab/style.min.css 356 B
build/styles/block-library/table-of-contents/style-rtl.css 89 B
build/styles/block-library/table-of-contents/style-rtl.min.css 83 B
build/styles/block-library/table-of-contents/style.css 89 B
build/styles/block-library/table-of-contents/style.min.css 83 B
build/styles/block-library/table/editor-rtl.css 1.25 kB
build/styles/block-library/table/editor-rtl.min.css 394 B
build/styles/block-library/table/editor.css 1.25 kB
build/styles/block-library/table/editor.min.css 394 B
build/styles/block-library/table/style-rtl.css 1.06 kB
build/styles/block-library/table/style-rtl.min.css 641 B
build/styles/block-library/table/style.css 1.06 kB
build/styles/block-library/table/style.min.css 640 B
build/styles/block-library/table/theme-rtl.css 985 B
build/styles/block-library/table/theme-rtl.min.css 152 B
build/styles/block-library/table/theme.css 985 B
build/styles/block-library/table/theme.min.css 152 B
build/styles/block-library/tabs/style-rtl.css 64 B
build/styles/block-library/tabs/style-rtl.min.css 57 B
build/styles/block-library/tabs/style.css 64 B
build/styles/block-library/tabs/style.min.css 57 B
build/styles/block-library/tag-cloud/style-rtl.css 283 B
build/styles/block-library/tag-cloud/style-rtl.min.css 248 B
build/styles/block-library/tag-cloud/style.css 283 B
build/styles/block-library/tag-cloud/style.min.css 248 B
build/styles/block-library/template-part/editor-rtl.css 1.2 kB
build/styles/block-library/template-part/editor-rtl.min.css 368 B
build/styles/block-library/template-part/editor.css 1.2 kB
build/styles/block-library/template-part/editor.min.css 368 B
build/styles/block-library/template-part/theme-rtl.css 492 B
build/styles/block-library/template-part/theme-rtl.min.css 113 B
build/styles/block-library/template-part/theme.css 492 B
build/styles/block-library/template-part/theme.min.css 113 B
build/styles/block-library/term-count/style-rtl.css 70 B
build/styles/block-library/term-count/style-rtl.min.css 63 B
build/styles/block-library/term-count/style.css 70 B
build/styles/block-library/term-count/style.min.css 63 B
build/styles/block-library/term-description/style-rtl.css 138 B
build/styles/block-library/term-description/style-rtl.min.css 126 B
build/styles/block-library/term-description/style.css 138 B
build/styles/block-library/term-description/style.min.css 126 B
build/styles/block-library/term-name/style-rtl.css 69 B
build/styles/block-library/term-name/style-rtl.min.css 62 B
build/styles/block-library/term-name/style.css 69 B
build/styles/block-library/term-name/style.min.css 62 B
build/styles/block-library/term-template/editor-rtl.css 267 B
build/styles/block-library/term-template/editor-rtl.min.css 225 B
build/styles/block-library/term-template/editor.css 267 B
build/styles/block-library/term-template/editor.min.css 225 B
build/styles/block-library/term-template/style-rtl.css 124 B
build/styles/block-library/term-template/style-rtl.min.css 114 B
build/styles/block-library/term-template/style.css 124 B
build/styles/block-library/term-template/style.min.css 114 B
build/styles/block-library/text-columns/editor-rtl.css 481 B
build/styles/block-library/text-columns/editor-rtl.min.css 95 B
build/styles/block-library/text-columns/editor.css 481 B
build/styles/block-library/text-columns/editor.min.css 95 B
build/styles/block-library/text-columns/style-rtl.css 177 B
build/styles/block-library/text-columns/style-rtl.min.css 165 B
build/styles/block-library/text-columns/style.css 177 B
build/styles/block-library/text-columns/style.min.css 165 B
build/styles/block-library/theme-rtl.css 1.59 kB
build/styles/block-library/theme-rtl.min.css 715 B
build/styles/block-library/theme.css 1.6 kB
build/styles/block-library/theme.min.css 719 B
build/styles/block-library/verse/style-rtl.css 155 B
build/styles/block-library/verse/style-rtl.min.css 137 B
build/styles/block-library/verse/style.css 155 B
build/styles/block-library/verse/style.min.css 137 B
build/styles/block-library/video/editor-rtl.css 839 B
build/styles/block-library/video/editor-rtl.min.css 428 B
build/styles/block-library/video/editor.css 840 B
build/styles/block-library/video/editor.min.css 428 B
build/styles/block-library/video/style-rtl.css 1.02 kB
build/styles/block-library/video/style-rtl.min.css 202 B
build/styles/block-library/video/style.css 1.02 kB
build/styles/block-library/video/style.min.css 202 B
build/styles/block-library/video/theme-rtl.css 967 B
build/styles/block-library/video/theme-rtl.min.css 134 B
build/styles/block-library/video/theme.css 967 B
build/styles/block-library/video/theme.min.css 134 B
build/styles/commands/style-rtl.css 2.07 kB
build/styles/commands/style-rtl.min.css 1.17 kB
build/styles/commands/style.css 2.06 kB
build/styles/commands/style.min.css 1.17 kB
build/styles/components/style-rtl.css 17.3 kB
build/styles/components/style-rtl.min.css 14.1 kB
build/styles/components/style.css 17.4 kB
build/styles/components/style.min.css 14.1 kB
build/styles/customize-widgets/style-rtl.css 2.35 kB
build/styles/customize-widgets/style-rtl.min.css 1.44 kB
build/styles/customize-widgets/style.css 2.35 kB
build/styles/customize-widgets/style.min.css 1.44 kB
build/styles/edit-post/classic-rtl.css 1.29 kB
build/styles/edit-post/classic-rtl.min.css 425 B
build/styles/edit-post/classic.css 1.31 kB
build/styles/edit-post/classic.min.css 428 B
build/styles/edit-post/style-rtl.css 4.06 kB
build/styles/edit-post/style-rtl.min.css 2.74 kB
build/styles/edit-post/style.css 4.06 kB
build/styles/edit-post/style.min.css 2.74 kB
build/styles/edit-site/style-rtl.css 20.8 kB
build/styles/edit-site/style-rtl.min.css 17 kB
build/styles/edit-site/style.css 20.8 kB
build/styles/edit-site/style.min.css 17 kB
build/styles/edit-widgets/style-rtl.css 5.35 kB
build/styles/edit-widgets/style-rtl.min.css 4.02 kB
build/styles/edit-widgets/style.css 5.35 kB
build/styles/edit-widgets/style.min.css 4.02 kB
build/styles/editor/style-rtl.css 27.5 kB
build/styles/editor/style-rtl.min.css 23.1 kB
build/styles/editor/style.css 27.5 kB
build/styles/editor/style.min.css 23.1 kB
build/styles/format-library/style-rtl.css 735 B
build/styles/format-library/style-rtl.min.css 326 B
build/styles/format-library/style.css 746 B
build/styles/format-library/style.min.css 326 B
build/styles/list-reusable-blocks/style-rtl.css 1.07 kB
build/styles/list-reusable-blocks/style-rtl.min.css 250 B
build/styles/list-reusable-blocks/style.css 1.07 kB
build/styles/list-reusable-blocks/style.min.css 249 B
build/styles/media-utils/style-rtl.css 2.08 kB
build/styles/media-utils/style-rtl.min.css 1.17 kB
build/styles/media-utils/style.css 2.08 kB
build/styles/media-utils/style.min.css 1.17 kB
build/styles/nux/style-rtl.css 1.48 kB
build/styles/nux/style-rtl.min.css 622 B
build/styles/nux/style.css 1.5 kB
build/styles/nux/style.min.css 618 B
build/styles/patterns/style-rtl.css 1.46 kB
build/styles/patterns/style-rtl.min.css 611 B
build/styles/patterns/style.css 1.46 kB
build/styles/patterns/style.min.css 611 B
build/styles/preferences/style-rtl.css 1.26 kB
build/styles/preferences/style-rtl.min.css 415 B
build/styles/preferences/style.css 1.26 kB
build/styles/preferences/style.min.css 415 B
build/styles/reusable-blocks/style-rtl.css 1.11 kB
build/styles/reusable-blocks/style-rtl.min.css 275 B
build/styles/reusable-blocks/style.css 1.11 kB
build/styles/reusable-blocks/style.min.css 275 B
build/styles/widgets/style-rtl.css 2.05 kB
build/styles/widgets/style-rtl.min.css 1.16 kB
build/styles/widgets/style.css 2.06 kB
build/styles/widgets/style.min.css 1.16 kB

compressed-size-action

@github-actions

github-actions Bot commented Feb 21, 2026

Copy link
Copy Markdown

Flaky tests detected in 135290e.
Some tests passed with failed attempts. The failures may not be related to this commit but are still reported for visibility. See the documentation for more information.

🔍 Workflow run URL: https://github.com/WordPress/gutenberg/actions/runs/24813808972
📝 Reported issues:

@swissspidy

swissspidy commented Mar 12, 2026

Copy link
Copy Markdown
Member

As I mentioned on Trac:

This was added to the index so that the desired output mapping is known client-side. If a plugin wants to convert all JPEGs to WebP for example, the client-side media handling can do it automatically. Of course it's not possible to pass a filename in that case. Updating documentation accordingly is reasonable IMO.


An alternative would be to add some client-side settings to the upload store where the same kind of mapping could be done in JS. But that would break back compat.

Co-authored-by: Weston Ruter <weston@ruter.net>
@github-actions github-actions Bot added the [Package] Core data /packages/core-data label Apr 1, 2026
@adamsilverstein

Copy link
Copy Markdown
Member Author

But then the image is already uploaded and you can't convert it in the browser anymore.

@swissspidy my intention here was to add the conversion path in the response to the original image upload.

Like core, we always save the original uploaded image - even with output mapping, the original is always stored as is, only sub-sizes are mapped.

As part of that upload response, we already include the missing_image_sizes and exif_rotation, what I am proposing here is we also include the output mapping (for the uploaded mime type) and interlace setting for the image in that initial response. Then the client can proceed with the resizing/rotation/transcoding as needed.

@adamsilverstein
adamsilverstein requested review from andrewserong and swissspidy and removed request for nerrad and spacedmonkey April 1, 2026 17:53
Resolve conflicts:
- private-actions.ts: Keep branch's approach of reading output format
  from attachment response instead of global settings
- types.ts: Remove imageOutputFormats/interlaced from Settings, keep
  new imageQuality and mediaFinalize fields from trunk
- wp-build templates: Apply trunk's function_exists removal while
  keeping branch's preload field changes
Remove duplicate settings/allImageSizes declarations that were
introduced during merge conflict resolution. Fix equals sign
alignment in attachments controller to satisfy PHPCS.
@swissspidy

swissspidy commented Apr 1, 2026

Copy link
Copy Markdown
Member

That means the original always needs to be uploaded first before you can do anything else in the browser, which is a bit of a drawback. Originally I was doing that last. But if we're fine with that, the change nakes sense.

Comment thread lib/media/class-gutenberg-rest-attachments-controller.php Outdated
Co-authored-by: Weston Ruter <weston@ruter.net>
@adamsilverstein

Copy link
Copy Markdown
Member Author

I'm going to do some additional manual testing before merging.

@adamsilverstein

adamsilverstein commented Apr 23, 2026

Copy link
Copy Markdown
Member Author

This worked well in my local testing. Merging.

@adamsilverstein

Copy link
Copy Markdown
Member Author

One place for exif rotation detection code

Isn't exif rotation detection best done client-side anyway?

possibly, lets discuss further in a follow up issue.

@swissspidy follow up issue for discussion: #77582

Client-side uploads were sending convert_format=false, which disabled
server-side format conversion. The replacement path tried to sideload
a transcoded copy with image_size='original', but that code path only
sets $metadata['original_image'] — it never updates _wp_attached_file
or $metadata['file'], so wp_get_attachment_url() kept returning the
unconverted JPEG even when a filter mapped JPEG to WebP.

Let the server handle main-file conversion via its existing
_wp_image_meta_replace_original logic. The client continues to handle
sub-size conversion using the image_output_format hint in the upload
response. Add PHPUnit coverage for both convert_format paths so the
file-on-disk outcome is locked in.
@adamsilverstein
adamsilverstein merged commit ab05fc0 into trunk Apr 23, 2026
41 checks passed
@adamsilverstein
adamsilverstein deleted the move-and-improve-output-mapping branch April 23, 2026 16:45
@github-project-automation github-project-automation Bot moved this from 🏗️ In Progress to ✅ Done in WordPress 7.0 Editor Tasks Apr 23, 2026
@github-actions github-actions Bot added this to the Gutenberg 23.1 milestone Apr 23, 2026
Copilot AI pushed a commit that referenced this pull request Apr 24, 2026
* Move image output format filtering to upload response

The image_editor_output_format filter was applied incorrectly
in the REST index with wrong parameters (empty defaults,
no filename context). Plugins couldn't make per-file decisions.

This moves output format and progressive encoding data to
the attachment upload response where actual file context is
available. The client now reads image_output_format and
image_save_progressive from the attachment response instead
of generic settings from the REST index.

* Update lib/media/class-gutenberg-rest-attachments-controller.php

Co-authored-by: Weston Ruter <weston@ruter.net>

* Fix duplicate variable declarations and PHPCS alignment

Remove duplicate settings/allImageSizes declarations that were
introduced during merge conflict resolution. Fix equals sign
alignment in attachments controller to satisfy PHPCS.

* Update lib/media/class-gutenberg-rest-attachments-controller.php

Co-authored-by: Weston Ruter <weston@ruter.net>

* Fix main-file output format mapping in client-side uploads

Client-side uploads were sending convert_format=false, which disabled
server-side format conversion. The replacement path tried to sideload
a transcoded copy with image_size='original', but that code path only
sets $metadata['original_image'] — it never updates _wp_attached_file
or $metadata['file'], so wp_get_attachment_url() kept returning the
unconverted JPEG even when a filter mapped JPEG to WebP.

Let the server handle main-file conversion via its existing
_wp_image_meta_replace_original logic. The client continues to handle
sub-size conversion using the image_output_format hint in the upload
response. Add PHPUnit coverage for both convert_format paths so the
file-on-disk outcome is locked in.

---------

Co-authored-by: Weston Ruter <weston@ruter.net>
Co-authored-by: simison <87168+simison@users.noreply.github.com>
adamsilverstein added a commit that referenced this pull request May 28, 2026
Core's re-introduced client-side media processing (changeset 62428) restored a
pre-#75793 REST API root index that still exposes the file-less
`image_output_formats`, `jpeg_interlaced`, `png_interlaced`, and `gif_interlaced`
settings. When the plugin runs against Core trunk, these keys are present, so the
`assertArrayNotHasKey` assertions in the media processing test fail.

The proper fix lives in Core, where wordpress-develop#12007 removes these
redundant index keys in favor of the per-attachment `image_output_format` and
`image_save_progressive` response fields. Until that PR merges, disable the
affected assertions and link to it so they can be reactivated.

See WordPress/wordpress-develop#12007
adamsilverstein added a commit that referenced this pull request May 28, 2026
Core's re-introduced client-side media processing (changeset 62428) restored a
pre-#75793 REST API root index that still exposes the file-less
`image_output_formats`, `jpeg_interlaced`, `png_interlaced`, and `gif_interlaced`
settings. When the plugin runs against Core trunk, these keys are present, so the
`assertArrayNotHasKey` assertions in the media processing test fail.

The proper fix lives in Core, where wordpress-develop#12007 removes these
redundant index keys in favor of the per-attachment `image_output_format` and
`image_save_progressive` response fields. Until that PR merges, disable the
affected assertions and link to it so they can be reactivated.

See WordPress/wordpress-develop#12007
arthur791004 pushed a commit that referenced this pull request Jun 1, 2026
Core's re-introduced client-side media processing (changeset 62428) restored a
pre-#75793 REST API root index that still exposes the file-less
`image_output_formats`, `jpeg_interlaced`, `png_interlaced`, and `gif_interlaced`
settings. When the plugin runs against Core trunk, these keys are present, so the
`assertArrayNotHasKey` assertions in the media processing test fail.

The proper fix lives in Core, where wordpress-develop#12007 removes these
redundant index keys in favor of the per-attachment `image_output_format` and
`image_save_progressive` response fields. Until that PR merges, disable the
affected assertions and link to it so they can be reactivated.

See WordPress/wordpress-develop#12007
cbravobernal pushed a commit that referenced this pull request Jun 1, 2026
Core's re-introduced client-side media processing (changeset 62428) restored a
pre-#75793 REST API root index that still exposes the file-less
`image_output_formats`, `jpeg_interlaced`, `png_interlaced`, and `gif_interlaced`
settings. When the plugin runs against Core trunk, these keys are present, so the
`assertArrayNotHasKey` assertions in the media processing test fail.

The proper fix lives in Core, where wordpress-develop#12007 removes these
redundant index keys in favor of the per-attachment `image_output_format` and
`image_save_progressive` response fields. Until that PR merges, disable the
affected assertions and link to it so they can be reactivated.

See WordPress/wordpress-develop#12007
adamsilverstein added a commit that referenced this pull request Jun 16, 2026
Core's re-introduced client-side media processing (changeset 62428) restored a
pre-#75793 REST API root index that still exposes the file-less
`image_output_formats`, `jpeg_interlaced`, `png_interlaced`, and `gif_interlaced`
settings. When the plugin runs against Core trunk, these keys are present, so the
`assertArrayNotHasKey` assertions in the media processing test fail.

The proper fix lives in Core, where wordpress-develop#12007 removes these
redundant index keys in favor of the per-attachment `image_output_format` and
`image_save_progressive` response fields. Until that PR merges, disable the
affected assertions and link to it so they can be reactivated.

See WordPress/wordpress-develop#12007

(cherry picked from commit db0cf2f)
pento pushed a commit to WordPress/wordpress-develop that referenced this pull request Jun 30, 2026
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
markjaquith pushed a commit to WordPress/WordPress that referenced this pull request Jun 30, 2026
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
KhushalSainS pushed a commit to KhushalSainS/wordpress-develop that referenced this pull request Jul 1, 2026
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
pento pushed a commit to WordPress/wordpress-develop that referenced this pull request Jul 1, 2026
Add two readonly fields to `WP_REST_Attachments_Controller`, available in the `edit` context alongside the existing `exif_orientation` field, for image attachments only:

- `image_output_format` returns the resolved output MIME type when the `image_editor_output_format` filter maps the source MIME to a different one (for example JPEG to WebP).
- `image_save_progressive` returns the boolean result of the `image_save_progressive` filter for the attachment's MIME type.

See related Gutenberg pull request: WordPress/gutenberg#75793 and issue: WordPress/gutenberg#75784.

Props westonruter.
Fixes #65367.



git-svn-id: https://develop.svn.wordpress.org/trunk@62617 602fd350-edb4-49c9-b593-d223f7449a82
markjaquith pushed a commit to markjaquith/WordPress that referenced this pull request Jul 1, 2026
Add two readonly fields to `WP_REST_Attachments_Controller`, available in the `edit` context alongside the existing `exif_orientation` field, for image attachments only:

- `image_output_format` returns the resolved output MIME type when the `image_editor_output_format` filter maps the source MIME to a different one (for example JPEG to WebP).
- `image_save_progressive` returns the boolean result of the `image_save_progressive` filter for the attachment's MIME type.

See related Gutenberg pull request: WordPress/gutenberg#75793 and issue: WordPress/gutenberg#75784.

Props westonruter.
Fixes #65367.


Built from https://develop.svn.wordpress.org/trunk@62617


git-svn-id: http://core.svn.wordpress.org/trunk@61897 1a063a9b-81f0-0310-95a4-ce76da25c4cd
SteelWagstaff pushed a commit to SteelWagstaff/wordpress-develop that referenced this pull request Jul 2, 2026
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
adamsilverstein added a commit that referenced this pull request Jul 7, 2026
Co-authored-by: adamsilverstein <adamsilverstein@git.wordpress.org>
Co-authored-by: t-hamano <wildworks@git.wordpress.org>
markjaquith pushed a commit to markjaquith/WordPress that referenced this pull request Jul 14, 2026
This updates the pinned commit hash of the Gutenberg repository from `b5574edc8a952b2f1e528693761a97b1b3b580eb` (version `23.5.0`) to `2872d71cde528d82675f14862a1b84e2b8abbaea` (version `23.6.0 RC1`).

A full list of changes included in this commit can be found on GitHub: https://github.com/WordPress/gutenberg/compare/v23.5.0..v23.6.0-rc.1.

- IconButton: Use length zero for inline padding (WordPress/gutenberg#79722)
- Button: Align focus styles with design system (WordPress/gutenberg#78646)
- Remove playlist border radius support (WordPress/gutenberg#79753)
- ExternalLink: Stop setting default rel (WordPress/gutenberg#79743)
- Icons: Validate SVG icons include currentColor (WordPress/gutenberg#79751)
- Tests: Fix flaky 'GIF to Video' e2e test (WordPress/gutenberg#79758)
- CSS: Follow-up fixes to split_selector_list() (WordPress/gutenberg#79723)
- Automated Testing: Enforce no-unresolved checks for test files (WordPress/gutenberg#79718)
- Fix and permit unitless zeros used in CSS `calc` functions (WordPress/gutenberg#79786)
- Components: migrate View away from Emotion (WordPress/gutenberg#79443)
- Badge: update storybook with "don't use icons" example (WordPress/gutenberg#79585)
- Tabs: Prevent tab list from moving focus during revision navigation (WordPress/gutenberg#79730)
- Embed: Refactor 'EmbedPlaceholder' to use recommended components (WordPress/gutenberg#79759)
- RTC: Remove collaboration notification defaults filter (WordPress/gutenberg#79771)
- Tests: Honor waitForUploadQueueEmpty timeout in client-side media (WordPress/gutenberg#79783)
- lintstaged: Avoid appending filenames to the `prelint:js` command (WordPress/gutenberg#79800)
- Guidelines: Render block icons like the editor so every icon displays correctly (WordPress/gutenberg#79738)
- Isolated mode: Fix bin resolution, type mismatch, and missing dependencies (WordPress/gutenberg#79806)
- Duotone: Use HTML API class_list for duotone wrapper class handling (WordPress/gutenberg#79531)
- Deprecate `@wordpress/reusable-blocks` public APIs (WordPress/gutenberg#79805)
- UI: add LinkButton (WordPress/gutenberg#78944)
- Block Library: Replace obsolete `View` primitive with plain `div` (WordPress/gutenberg#79767)
- Site Editor: Update default theme color from fresh to modern (WordPress/gutenberg#79814)
- Prevent overscroll bounce for stage and inspector surfaces (WordPress/gutenberg#78587)
- Widgets: add attribute `relevance` and inline editing in the tile toolbar (WordPress/gutenberg#79735)
- Automated Testing: Configure lint:css to report needless disables (WordPress/gutenberg#79788)
- FormTokenField: Hard deprecate 40px default size (WordPress/gutenberg#79720)
- UnitControl: Hard deprecate 40px default size (WordPress/gutenberg#79721)
- Omnibar: move the 'site icon in admin bar' feature from experiment to 7.1 compat (WordPress/gutenberg#79807)
- Update waveform player dependency to bring in upstream a11y improvements (WordPress/gutenberg#79825)
- Backport changelog and package version updates from NPM (WordPress/gutenberg#79816)
- Block variations: Support innerContent for the Custom HTML block (WordPress/gutenberg#79659)
- Packages: Polish release changelog headings (WordPress/gutenberg#79826)
- Theme: Clarify focus token naming docs (WordPress/gutenberg#79764)
- Media: Return the filtered `wp_editor_set_quality` value in the upload response (WordPress/gutenberg#78420)
- Media: Backport client-side media improvements from WordPress core backports (WordPress/gutenberg#79603)
- Dynamic Gallery Block: Add a dynamic mode of the gallery block (WordPress/gutenberg#78796)
- Global Styles: Match block panel order to the block inspector (WordPress/gutenberg#79794)
- Verse block: add background gradient support (WordPress/gutenberg#79391)
- UI: Add Skeleton component (WordPress/gutenberg#79671)
- Widgets: add a declarative `help` metadata field, surfaced as a header infotip (WordPress/gutenberg#79830)
- CustomSelectControl: Hard deprecate 40px default size (WordPress/gutenberg#79796)
- Use subscribeDelegatedListener for selectionchange in rich text (WordPress/gutenberg#79712)
- Vips: preserve bit depth of high-bit-depth AVIF in sub-sizes (WordPress/gutenberg#79556)
- DataViews: Fix infinite-scroll jump on async page loads (WordPress/gutenberg#79546)
- Added Missing Global Documentation (WordPress/gutenberg#79827)
- Vips: Add positional-crop test for high-bit-depth AVIF (WordPress/gutenberg#79880)
- Responsive style states: Update responsive editing help text and avoid showing desktop badge (WordPress/gutenberg#79615)
- Packages: Update Ariakit to 0.4.32 (WordPress/gutenberg#79860)
- Block position: Allow options dropdown to flip (WordPress/gutenberg#79798)
- Command Palette: show the search icon on desktop as well (WordPress/gutenberg#79881)
- Docs: Clarify release recovery steps (WordPress/gutenberg#79884)
- Widgets: auto-save inline attribute edits (WordPress/gutenberg#79808)
- Classic block: Remove migration notice and restore inserter availability (WordPress/gutenberg#79894)
- Media: enable uploading images inserted by URL (WordPress/gutenberg#79409)
- Editor: saveDirtyEntities: don't allow onSave to filter records (WordPress/gutenberg#79850)
- Theme: Use token reference as docs source (WordPress/gutenberg#79829)
- RTC: Add RTC WebSocket tests to CI (WordPress/gutenberg#79757)
- Components: migrate Flex to SCSS module (WordPress/gutenberg#79450)
- Collaboration: only report changed properties from the default sync config (WordPress/gutenberg#79908)
- ThemeProvider: Document wrapper customization scope (WordPress/gutenberg#79763)
- Backfill unreleased changelog entries for the widget packages (WordPress/gutenberg#79909)
- Remove unused FocalPointPicker style.scss (WordPress/gutenberg#79902)
- SelectControl: Hard deprecate 40px default size (WordPress/gutenberg#79797)
- Github workflows: extend package changelog nudge to bundled packages (WordPress/gutenberg#78934)
- DimensionControl: Include styles in stylesheet (WordPress/gutenberg#79916)
- Skip flakey collaboration e2e test (WordPress/gutenberg#79922)
- Backport Changelog: Link Core PR WordPress/gutenberg#12007 for WordPress/gutenberg#75793 (WordPress/gutenberg#78786)
- Block Style Variations: Simplify block style variation selector regex (WordPress/gutenberg#79924)
- View Config: Add version handling (WordPress/gutenberg#79809)
- HTML Block: Preserve innerContent when transforming to group, columns (WordPress/gutenberg#79887)
- remove layout settings from widget dashboard (WordPress/gutenberg#79903)
- Components: migrate Theme away from Emotion (WordPress/gutenberg#79447)
- Blocks package: Stabilize `cloneSanitizedBlock` and `sanitizeBlockAttributes` (WordPress/gutenberg#79928)
- Move real-time collaboration compat code to wordpress-7.1 (WordPress/gutenberg#79863)
- Button: Fix focus ring for link (WordPress/gutenberg#79837)
- Fix: DataForm inspector shows raw "auto-draft" status for new posts (WordPress/gutenberg#79914)
- Block Supports: Prevent Additional CSS duplication inside Query Loop (WordPress/gutenberg#78282)
- Code Quality: Use modern PHP string functions instead of strpos/substr (WordPress/gutenberg#79927)
- Playlist: seek value text localization (WordPress/gutenberg#79834)
- Code Quality: Use null coalescing operator instead of isset() ternaries (WordPress/gutenberg#79946)
- Block editor: Fix clipped/doubled focus outline on inserter block list items (WordPress/gutenberg#79845)
- Lint-staged: Match lint:css file globs (WordPress/gutenberg#79918)
- Latest Posts: Parse blocks in full content display (WordPress/gutenberg#74866)
- Block Editor: Share block-bindings context assembly between call sites (WordPress/gutenberg#79855)
- Stylelint: Enforce class naming for all stylesheets (WordPress/gutenberg#79900)
- Components: migrate Spacer to SCSS module (WordPress/gutenberg#79449)
- Design system MCP: Document Codex CLI prerequisite for MCP setup (WordPress/gutenberg#79917)
- NumberControl: Hard deprecate 40px default size (WordPress/gutenberg#79861)
- Remove unused customizer-edit-widgets-initializer style.scss (WordPress/gutenberg#79915)
- stylelint-config: Convert config to ESM (WordPress/gutenberg#79755)
- Button: Fix suppressed ESLint errors (WordPress/gutenberg#79944)
- Replace user-based authentication with a GitHub App for release-related logic (WordPress/gutenberg#79912)
- Set selection before typing in RTC stress test (WordPress/gutenberg#79954)
- Navigation Link/Submenu: run should-render check also without gutenberg plugin (WordPress/gutenberg#79748)
- Rich Text: Move RichTextShortcut and RichTextInputEvent into @wordpress/rich-text (WordPress/gutenberg#79828)
- Docs: Generalize the `npx` guidance in AGENTS.md to cover `wp-scripts` (WordPress/gutenberg#79973)
- Media: Fix fatal error from narrowed create_item_from_url() visibility (WordPress/gutenberg#79972)
- Editor: render back button as true <Button> and remove custom CSS (WordPress/gutenberg#79862)
- SandBox: Inject resize script into head to stop it leaking as text (WordPress/gutenberg#79920)
- Tabs: Remove editor-only block context (WordPress/gutenberg#79848)
- Allow setting viewport tablet and mobile values in theme.json (WordPress/gutenberg#79104)
- Media Inserter: Guard attach, detach, and invalidate behind a ! isExternalResource check (WordPress/gutenberg#79978)
- BorderBoxControl: Fix unlink button positioning after View Emotion migration (WordPress/gutenberg#79967)
- List: Fix suppressed ESLint errors (WordPress/gutenberg#79983)
- Media Modals: Invalidate attachment caches when closing the modal (WordPress/gutenberg#79844)
- Perf tests: wait for upload queue to settle between media-upload iterations (WordPress/gutenberg#79952)
- GIF block variation: Remove icons from "Display as" toolbar buttons and only show when block can be inserted (WordPress/gutenberg#79985)
- Stylelint: Lint all CSS file extensions (WordPress/gutenberg#79957)
- Project automation: Stop flagging returning contributors as first-timers when they use hidden email addresses (WordPress/gutenberg#79987)
- PHP-Only blocks: forward current post ID to server render (WordPress/gutenberg#78909)
- Widget Dashboard: reserve paint space for tile focus rings (WordPress/gutenberg#79990)
- Playlist: Show album art thumbnails (WordPress/gutenberg#79942)
- Editor: Preload the view config form request for the DataForm inspector (WordPress/gutenberg#79910)
- Properly configure Git user metadata for new app. (WordPress/gutenberg#80005)
- Site Editor v2 experiment: correctly hide admin bar in distraction-free mode (WordPress/gutenberg#79937)
- Switch from App ID to App user ID in git metadata. (WordPress/gutenberg#80006)
- Playlist block: Avoid laggy layout shift when changing tracks (WordPress/gutenberg#79497)
- Add ariaLabel supports for Tab List Block (WordPress/gutenberg#79948)
- Restore responsive editing viewport dropdown copy changes (WordPress/gutenberg#79999)
- Enable default gap processing on Gallery block (WordPress/gutenberg#79984)
- Hide block toolbar slots when editing a responsive style state (WordPress/gutenberg#79998)
- Tabs: Fix active tab switching from a stale inner-block selection (WordPress/gutenberg#79981)
- Added Missing Global Documentation (WordPress/gutenberg#80033)
- Media editor: address accessibility review feedback (WordPress/gutenberg#79966)
- Build: Fix non-breaking npm audit vulnerability alerts (WordPress/gutenberg#79886)
- Style Book: Pass site editor settings to StyleBookPreview on the styles route (WordPress/gutenberg#80035)
- Editor: Fix regression and restore the back button focus ring (WordPress/gutenberg#80029)
- Editor: render mobile back button as proper <Button> and remove custom CSS (WordPress/gutenberg#80032)
- Style Book: Migrate to Tabs from @wordpress/ui (WordPress/gutenberg#80040)
- Document widget relevance, help (WordPress/gutenberg#80007)
- Visual revisions: Label autosaves in the revisions timeline (WordPress/gutenberg#79950)
- Fix flaky "can use appender in site editor sidebar list view" e2e test (WordPress/gutenberg#80044)
- Theme: Fix token story swatch accessibility (WordPress/gutenberg#79960)
- Global Styles: Show skeleton placeholder while previews load (WordPress/gutenberg#79849)
- Theme: Fill semantic token state gaps (WordPress/gutenberg#79770)
- Theme: Document accessibility responsibilities (WordPress/gutenberg#79943)
- Theme: Restrict seed colors to opaque values (WordPress/gutenberg#79773)
- Theme: Document token naming grammar (WordPress/gutenberg#79769)
- RTC: Only apply CRDT updates synchronously when collaborating (WordPress/gutenberg#79991)
- Bump docker/login-action from 4.2.0 to 4.4.0 in /.github/workflows in the github-actions group across 1 directory (WordPress/gutenberg#80047)
- Packages: Widen React peer dependency support to include React 19 (WordPress/gutenberg#80024)
- Tabs: track overflow by observing each tab, mirroring Base UI (WordPress/gutenberg#79856)
- Theme: Update design token format links (WordPress/gutenberg#80052)
- design-system-mcp: Use fixed version for alpha MCP server (WordPress/gutenberg#80061)
- Fix global gap styles for Gallery block (WordPress/gutenberg#80030)
- Notes: Add a "Resolved" divider above resolved notes (WordPress/gutenberg#80019)
- Checkbox: Add form primitive to @wordpress/ui (WordPress/gutenberg#80039)
- InputControl: Hard deprecate 40px default size (WordPress/gutenberg#79962)
- Panel: fix focus style for toggle button (WordPress/gutenberg#80064)
- GIF to video conversion: make it opt-in. Switching via block transforms (WordPress/gutenberg#80072)
- Theme: Make @wordpress/theme ESM only (WordPress/gutenberg#80063)
- theme: Clarify package docs (WordPress/gutenberg#79961)
- Fix focus ring for document bar (WordPress/gutenberg#80084)
- Visual revisions: Make the autosave notice work with the visual revisions UI (WordPress/gutenberg#79947)
- Fix flaky 'Activate theme' e2e test (WordPress/gutenberg#80090)
- Fix playlist artwork removal on track switch (WordPress/gutenberg#80025)
- Move styles into specific waveform styles dropdown area (WordPress/gutenberg#80060)
- stylelint-config: Enable token fallback rule (WordPress/gutenberg#79768)
- Fix flashing track state when adding new track (WordPress/gutenberg#80076)
- Icons: Filter the icon library picker by collection (WordPress/gutenberg#79681)
- Post editor: always iframe (WordPress/gutenberg#74042)
- A11y: replace local aria-live regions with speak() (WordPress/gutenberg#79600)
- Generalize playlist block wording (WordPress/gutenberg#80071)
- Docs: Add missing @PARAM and @return tags to REST API compat functions (WordPress/gutenberg#80079)
- Guidelines: Add Blocks as a registry scope (WordPress/gutenberg#79709)
- Allow font size customization (WordPress/gutenberg#80069)
- UI: Restore Link focus styles (WordPress/gutenberg#80091)
- Editor: use the DS focus color for all sidebar elements (WordPress/gutenberg#80087)
- File Block: Changed the context for fetching the media (WordPress/gutenberg#80085)
- Theme: Remove elevation tokens (WordPress/gutenberg#80099)
- Build: Upgrade to TypeScript 7.0 (WordPress/gutenberg#80083)
- Connectors: add application password settings UI (WordPress/gutenberg#79403)
- Icons: Unify collection-scoping route param on `collection` and validate description (WordPress/gutenberg#80113)
- Add translation comment to waveform styles (WordPress/gutenberg#80112)
- Playlist: use PlainText v2 to avoid HTML entities (WordPress/gutenberg#80068)
- Move inspector controls styles slot back to previous position (WordPress/gutenberg#80111)
- Fix playlist waveform artist rendering (WordPress/gutenberg#80104)
- Fix linting of waveform test (WordPress/gutenberg#80124)
- Theme: Document and test build plugin transform boundaries (WordPress/gutenberg#80088)
- CODEOWNERS: Exclude eslint suppressions.json from /tools ownership (WordPress/gutenberg#80125)
- Second click or space/enter keypress on playing track pauses it (WordPress/gutenberg#80066)
- Theme: Cover display contents wrapper focus behavior (WordPress/gutenberg#80056)
- wp-build: Allow @wordpress/theme 1.x peer versions (WordPress/gutenberg#80089)
- Writing flow: fix selection end mapping at block boundaries (WordPress/gutenberg#80126)
- Components: link recommended UI component (WordPress/gutenberg#80127)
- Typewriter: remove the block selection gate (WordPress/gutenberg#80130)
- useMergeRefs: apply ref changes after out-of-render attachment (WordPress/gutenberg#80133)
- Observe typing on the writing flow node (WordPress/gutenberg#80131)
- Components/Button: Don't use box-shadow for secondary buttons (WordPress/gutenberg#79982)
- DataViews: Add a richtext control backed by a private RichTextControl shell in @wordpress/components (WordPress/gutenberg#78471)
- Apply and correct EXIF orientation for client side sub-sizes (WordPress/gutenberg#79384)
- Fix typo in inline comment  in `collaboration.php` (WordPress/gutenberg#80147)
- Media Inserter: Allow core media categories to subscribe to changes (WordPress/gutenberg#79921)
- Accordion block: add background gradient support (WordPress/gutenberg#79840)
- Rich text: synchronize the selection before events that consume it (WordPress/gutenberg#80151)
- Quote block: add background gradient support (WordPress/gutenberg#79843)
- Add option to exclude current post from query block (WordPress/gutenberg#64916)
- Pullquote block: add background gradient support (WordPress/gutenberg#79841)
- Block Supports: Ensure that custom CSS is output after the block library styles (WordPress/gutenberg#80062)
- Rich text: cut through the record instead of execCommand (WordPress/gutenberg#80155)
- Media Inserter: Add pagination to core media inserter categories (WordPress/gutenberg#80038)
- Responsive editing: Add a Tooltip to the viewport / states badge (WordPress/gutenberg#80080)
- Scripts: Make 'test-e2e' run Playwright and remove Puppeteer (WordPress/gutenberg#80058)
- Post Content block: add background gradient support (WordPress/gutenberg#79842)
- Notes: Remove snackbar when resolving or reopening a note (WordPress/gutenberg#80017)
- Enable text alignment to be set by viewport state (WordPress/gutenberg#80037)
- Preview dropdown: simplify viewport style state descriptions (WordPress/gutenberg#80146)
- File Block: Deduplicate the file to audio/video/image transforms (WordPress/gutenberg#80158)
- Responsive editing: Show crop dimensions on image block placeholder (WordPress/gutenberg#80162)
- Add missing docblocks to client-assets.php (WordPress/gutenberg#80135)
- Move typescript and rimraf out of the root package.json (WordPress/gutenberg#80086)
- Release: Harden latest npm metadata publishing (WordPress/gutenberg#79904)
- Add Playlist icon. (WordPress/gutenberg#80168)
- Sync changes from core for view-config version handling (WordPress/gutenberg#80170)
- CODEOWNERS: Exclude stylelint suppressions.json from /tools ownership (WordPress/gutenberg#80171)
- Editor: only show back button focus ring on :focus-visible (WordPress/gutenberg#80114)
- Release: Harden plugin release workflow guardrails (WordPress/gutenberg#79858)
- Icons: Add "sites" icon. (WordPress/gutenberg#80094)
- Flaky tests: fix widgets global inserter (WordPress/gutenberg#80177)
- Release: Harden all npm package release paths (WordPress/gutenberg#79905)
- Update `actionlint` to version `1.7.12`. (WordPress/gutenberg#79833)
- Flaky tests: fix rich text backtick undo (WordPress/gutenberg#80183)
- Button: hide Core focus ring when button as link is pressed (WordPress/gutenberg#80082)
- Term Name: Migrate to textAlign block support (WordPress/gutenberg#76581)
- Cover: allow restricting video embed providers (WordPress/gutenberg#80092)
- Playlist icon: Fix bug with missing viewbox. (WordPress/gutenberg#80180)
- Use playlist icon for Playlist block (WordPress/gutenberg#80174)
- Build: Make installed-deps check layout-agnostic and surface opt-out env var (WordPress/gutenberg#79687)
- Blocks: Rename _gutenberg_apply_content_filters() to _wp_apply_content_filters() (WordPress/gutenberg#80191)
- Tabs: Wrap tab list onto multiple lines by default (WordPress/gutenberg#80097)
- Flaky tests: fix writing flow arrow navigation (WordPress/gutenberg#80179)
- Theme: Use public design token stylesheet imports (WordPress/gutenberg#80050)
- Simplify playlist waveform metadata updates (WordPress/gutenberg#80193)
- Notes: Support inline rich text (bold, italic, link, code) (WordPress/gutenberg#78242)
- Playlist Block: Add artwork to play button (WordPress/gutenberg#79938)
- Cover Block: Fix unsaveable state when clearing an embed video background (WordPress/gutenberg#80184)
- DS: Name font weight tokens by intent (WordPress/gutenberg#80093)
- theme: Validate npm publish surface (WordPress/gutenberg#79552)
- Theme: Remove experimental package messaging (WordPress/gutenberg#80049)
- Playlist Block: add waveform and waveform background color options (WordPress/gutenberg#80065)
- Add more workflow file static analysis with Zizmor (WordPress/gutenberg#71523)
- Block Editor: Simplify layout panel selector getter (WordPress/gutenberg#80176)
- Media Inserter: Omit page arg from requests for the first set of results (WordPress/gutenberg#80219)
- Notes: Add @mention autocomplete (WordPress/gutenberg#79604)
- Latest Posts: Fix slow category selection with large category lists (WordPress/gutenberg#80198)
- Block visibility: add theme json opt out (WordPress/gutenberg#76559)
- Add an `editableRoot` block support for native cross-block selection (WordPress/gutenberg#79105)
- Notes: Allow canceling the autocompleter popover with Escape without dismissing the note form (WordPress/gutenberg#80224)
- Add contrast checking for viewport and pseudo states (WordPress/gutenberg#80223)
- Blocks: Rename _wp_apply_content_filters() to _wp_apply_block_content_filters() (WordPress/gutenberg#80225)
- Widget Primitives: Add a field type registry for widget attributes (WordPress/gutenberg#80148)
- Icon block: When the default icon is unregistered, nothing is displayed (WordPress/gutenberg#80166)
- Make the Playlist blocks stable (WordPress/gutenberg#80203)
- Autocomplete: Use regular weight for result items (WordPress/gutenberg#80196)
- Make pause button visually same size as play button (WordPress/gutenberg#80217)
- Editor: Render post preview action as a menu item (WordPress/gutenberg#80195)
- Release: Fail changelog generation cleanly (WordPress/gutenberg#80175)
- Stabilize Tabs block (WordPress/gutenberg#80163)
- Theme: Correct documented default background seed (WordPress/gutenberg#80237)
- Block Supports: Improve handling of block class name to avoid fatal (WordPress/gutenberg#80214)
- Rename 'Responsive editing' toggle to 'Responsive styles' (WordPress/gutenberg#80241)
- Release: Make npm publishing rerunnable (WordPress/gutenberg#80187)
- Only include icon library SVGs listed as `public` in the Zip file published to GitHub Container Registry for `wordpress-develop` (WordPress/gutenberg#79338)

Props desrosj, wildworks.
Fixes #65529.
Built from https://develop.svn.wordpress.org/trunk@62739


git-svn-id: http://core.svn.wordpress.org/trunk@62023 1a063a9b-81f0-0310-95a4-ce76da25c4cd
pull Bot pushed a commit to tigefa4u/wordpress-develop that referenced this pull request Jul 14, 2026
This updates the pinned commit hash of the Gutenberg repository from `b5574edc8a952b2f1e528693761a97b1b3b580eb` (version `23.5.0`) to `2872d71cde528d82675f14862a1b84e2b8abbaea` (version `23.6.0 RC1`).

A full list of changes included in this commit can be found on GitHub: https://github.com/WordPress/gutenberg/compare/v23.5.0..v23.6.0-rc.1.

- IconButton: Use length zero for inline padding (WordPress/gutenberg#79722)
- Button: Align focus styles with design system (WordPress/gutenberg#78646)
- Remove playlist border radius support (WordPress/gutenberg#79753)
- ExternalLink: Stop setting default rel (WordPress/gutenberg#79743)
- Icons: Validate SVG icons include currentColor (WordPress/gutenberg#79751)
- Tests: Fix flaky 'GIF to Video' e2e test (WordPress/gutenberg#79758)
- CSS: Follow-up fixes to split_selector_list() (WordPress/gutenberg#79723)
- Automated Testing: Enforce no-unresolved checks for test files (WordPress/gutenberg#79718)
- Fix and permit unitless zeros used in CSS `calc` functions (WordPress/gutenberg#79786)
- Components: migrate View away from Emotion (WordPress/gutenberg#79443)
- Badge: update storybook with "don't use icons" example (WordPress/gutenberg#79585)
- Tabs: Prevent tab list from moving focus during revision navigation (WordPress/gutenberg#79730)
- Embed: Refactor 'EmbedPlaceholder' to use recommended components (WordPress/gutenberg#79759)
- RTC: Remove collaboration notification defaults filter (WordPress/gutenberg#79771)
- Tests: Honor waitForUploadQueueEmpty timeout in client-side media (WordPress/gutenberg#79783)
- lintstaged: Avoid appending filenames to the `prelint:js` command (WordPress/gutenberg#79800)
- Guidelines: Render block icons like the editor so every icon displays correctly (WordPress/gutenberg#79738)
- Isolated mode: Fix bin resolution, type mismatch, and missing dependencies (WordPress/gutenberg#79806)
- Duotone: Use HTML API class_list for duotone wrapper class handling (WordPress/gutenberg#79531)
- Deprecate `@wordpress/reusable-blocks` public APIs (WordPress/gutenberg#79805)
- UI: add LinkButton (WordPress/gutenberg#78944)
- Block Library: Replace obsolete `View` primitive with plain `div` (WordPress/gutenberg#79767)
- Site Editor: Update default theme color from fresh to modern (WordPress/gutenberg#79814)
- Prevent overscroll bounce for stage and inspector surfaces (WordPress/gutenberg#78587)
- Widgets: add attribute `relevance` and inline editing in the tile toolbar (WordPress/gutenberg#79735)
- Automated Testing: Configure lint:css to report needless disables (WordPress/gutenberg#79788)
- FormTokenField: Hard deprecate 40px default size (WordPress/gutenberg#79720)
- UnitControl: Hard deprecate 40px default size (WordPress/gutenberg#79721)
- Omnibar: move the 'site icon in admin bar' feature from experiment to 7.1 compat (WordPress/gutenberg#79807)
- Update waveform player dependency to bring in upstream a11y improvements (WordPress/gutenberg#79825)
- Backport changelog and package version updates from NPM (WordPress/gutenberg#79816)
- Block variations: Support innerContent for the Custom HTML block (WordPress/gutenberg#79659)
- Packages: Polish release changelog headings (WordPress/gutenberg#79826)
- Theme: Clarify focus token naming docs (WordPress/gutenberg#79764)
- Media: Return the filtered `wp_editor_set_quality` value in the upload response (WordPress/gutenberg#78420)
- Media: Backport client-side media improvements from WordPress core backports (WordPress/gutenberg#79603)
- Dynamic Gallery Block: Add a dynamic mode of the gallery block (WordPress/gutenberg#78796)
- Global Styles: Match block panel order to the block inspector (WordPress/gutenberg#79794)
- Verse block: add background gradient support (WordPress/gutenberg#79391)
- UI: Add Skeleton component (WordPress/gutenberg#79671)
- Widgets: add a declarative `help` metadata field, surfaced as a header infotip (WordPress/gutenberg#79830)
- CustomSelectControl: Hard deprecate 40px default size (WordPress/gutenberg#79796)
- Use subscribeDelegatedListener for selectionchange in rich text (WordPress/gutenberg#79712)
- Vips: preserve bit depth of high-bit-depth AVIF in sub-sizes (WordPress/gutenberg#79556)
- DataViews: Fix infinite-scroll jump on async page loads (WordPress/gutenberg#79546)
- Added Missing Global Documentation (WordPress/gutenberg#79827)
- Vips: Add positional-crop test for high-bit-depth AVIF (WordPress/gutenberg#79880)
- Responsive style states: Update responsive editing help text and avoid showing desktop badge (WordPress/gutenberg#79615)
- Packages: Update Ariakit to 0.4.32 (WordPress/gutenberg#79860)
- Block position: Allow options dropdown to flip (WordPress/gutenberg#79798)
- Command Palette: show the search icon on desktop as well (WordPress/gutenberg#79881)
- Docs: Clarify release recovery steps (WordPress/gutenberg#79884)
- Widgets: auto-save inline attribute edits (WordPress/gutenberg#79808)
- Classic block: Remove migration notice and restore inserter availability (WordPress/gutenberg#79894)
- Media: enable uploading images inserted by URL (WordPress/gutenberg#79409)
- Editor: saveDirtyEntities: don't allow onSave to filter records (WordPress/gutenberg#79850)
- Theme: Use token reference as docs source (WordPress/gutenberg#79829)
- RTC: Add RTC WebSocket tests to CI (WordPress/gutenberg#79757)
- Components: migrate Flex to SCSS module (WordPress/gutenberg#79450)
- Collaboration: only report changed properties from the default sync config (WordPress/gutenberg#79908)
- ThemeProvider: Document wrapper customization scope (WordPress/gutenberg#79763)
- Backfill unreleased changelog entries for the widget packages (WordPress/gutenberg#79909)
- Remove unused FocalPointPicker style.scss (WordPress/gutenberg#79902)
- SelectControl: Hard deprecate 40px default size (WordPress/gutenberg#79797)
- Github workflows: extend package changelog nudge to bundled packages (WordPress/gutenberg#78934)
- DimensionControl: Include styles in stylesheet (WordPress/gutenberg#79916)
- Skip flakey collaboration e2e test (WordPress/gutenberg#79922)
- Backport Changelog: Link Core PR WordPress/gutenberg#12007 for WordPress/gutenberg#75793 (WordPress/gutenberg#78786)
- Block Style Variations: Simplify block style variation selector regex (WordPress/gutenberg#79924)
- View Config: Add version handling (WordPress/gutenberg#79809)
- HTML Block: Preserve innerContent when transforming to group, columns (WordPress/gutenberg#79887)
- remove layout settings from widget dashboard (WordPress/gutenberg#79903)
- Components: migrate Theme away from Emotion (WordPress/gutenberg#79447)
- Blocks package: Stabilize `cloneSanitizedBlock` and `sanitizeBlockAttributes` (WordPress/gutenberg#79928)
- Move real-time collaboration compat code to wordpress-7.1 (WordPress/gutenberg#79863)
- Button: Fix focus ring for link (WordPress/gutenberg#79837)
- Fix: DataForm inspector shows raw "auto-draft" status for new posts (WordPress/gutenberg#79914)
- Block Supports: Prevent Additional CSS duplication inside Query Loop (WordPress/gutenberg#78282)
- Code Quality: Use modern PHP string functions instead of strpos/substr (WordPress/gutenberg#79927)
- Playlist: seek value text localization (WordPress/gutenberg#79834)
- Code Quality: Use null coalescing operator instead of isset() ternaries (WordPress/gutenberg#79946)
- Block editor: Fix clipped/doubled focus outline on inserter block list items (WordPress/gutenberg#79845)
- Lint-staged: Match lint:css file globs (WordPress/gutenberg#79918)
- Latest Posts: Parse blocks in full content display (WordPress/gutenberg#74866)
- Block Editor: Share block-bindings context assembly between call sites (WordPress/gutenberg#79855)
- Stylelint: Enforce class naming for all stylesheets (WordPress/gutenberg#79900)
- Components: migrate Spacer to SCSS module (WordPress/gutenberg#79449)
- Design system MCP: Document Codex CLI prerequisite for MCP setup (WordPress/gutenberg#79917)
- NumberControl: Hard deprecate 40px default size (WordPress/gutenberg#79861)
- Remove unused customizer-edit-widgets-initializer style.scss (WordPress/gutenberg#79915)
- stylelint-config: Convert config to ESM (WordPress/gutenberg#79755)
- Button: Fix suppressed ESLint errors (WordPress/gutenberg#79944)
- Replace user-based authentication with a GitHub App for release-related logic (WordPress/gutenberg#79912)
- Set selection before typing in RTC stress test (WordPress/gutenberg#79954)
- Navigation Link/Submenu: run should-render check also without gutenberg plugin (WordPress/gutenberg#79748)
- Rich Text: Move RichTextShortcut and RichTextInputEvent into @wordpress/rich-text (WordPress/gutenberg#79828)
- Docs: Generalize the `npx` guidance in AGENTS.md to cover `wp-scripts` (WordPress/gutenberg#79973)
- Media: Fix fatal error from narrowed create_item_from_url() visibility (WordPress/gutenberg#79972)
- Editor: render back button as true <Button> and remove custom CSS (WordPress/gutenberg#79862)
- SandBox: Inject resize script into head to stop it leaking as text (WordPress/gutenberg#79920)
- Tabs: Remove editor-only block context (WordPress/gutenberg#79848)
- Allow setting viewport tablet and mobile values in theme.json (WordPress/gutenberg#79104)
- Media Inserter: Guard attach, detach, and invalidate behind a ! isExternalResource check (WordPress/gutenberg#79978)
- BorderBoxControl: Fix unlink button positioning after View Emotion migration (WordPress/gutenberg#79967)
- List: Fix suppressed ESLint errors (WordPress/gutenberg#79983)
- Media Modals: Invalidate attachment caches when closing the modal (WordPress/gutenberg#79844)
- Perf tests: wait for upload queue to settle between media-upload iterations (WordPress/gutenberg#79952)
- GIF block variation: Remove icons from "Display as" toolbar buttons and only show when block can be inserted (WordPress/gutenberg#79985)
- Stylelint: Lint all CSS file extensions (WordPress/gutenberg#79957)
- Project automation: Stop flagging returning contributors as first-timers when they use hidden email addresses (WordPress/gutenberg#79987)
- PHP-Only blocks: forward current post ID to server render (WordPress/gutenberg#78909)
- Widget Dashboard: reserve paint space for tile focus rings (WordPress/gutenberg#79990)
- Playlist: Show album art thumbnails (WordPress/gutenberg#79942)
- Editor: Preload the view config form request for the DataForm inspector (WordPress/gutenberg#79910)
- Properly configure Git user metadata for new app. (WordPress/gutenberg#80005)
- Site Editor v2 experiment: correctly hide admin bar in distraction-free mode (WordPress/gutenberg#79937)
- Switch from App ID to App user ID in git metadata. (WordPress/gutenberg#80006)
- Playlist block: Avoid laggy layout shift when changing tracks (WordPress/gutenberg#79497)
- Add ariaLabel supports for Tab List Block (WordPress/gutenberg#79948)
- Restore responsive editing viewport dropdown copy changes (WordPress/gutenberg#79999)
- Enable default gap processing on Gallery block (WordPress/gutenberg#79984)
- Hide block toolbar slots when editing a responsive style state (WordPress/gutenberg#79998)
- Tabs: Fix active tab switching from a stale inner-block selection (WordPress/gutenberg#79981)
- Added Missing Global Documentation (WordPress/gutenberg#80033)
- Media editor: address accessibility review feedback (WordPress/gutenberg#79966)
- Build: Fix non-breaking npm audit vulnerability alerts (WordPress/gutenberg#79886)
- Style Book: Pass site editor settings to StyleBookPreview on the styles route (WordPress/gutenberg#80035)
- Editor: Fix regression and restore the back button focus ring (WordPress/gutenberg#80029)
- Editor: render mobile back button as proper <Button> and remove custom CSS (WordPress/gutenberg#80032)
- Style Book: Migrate to Tabs from @wordpress/ui (WordPress/gutenberg#80040)
- Document widget relevance, help (WordPress/gutenberg#80007)
- Visual revisions: Label autosaves in the revisions timeline (WordPress/gutenberg#79950)
- Fix flaky "can use appender in site editor sidebar list view" e2e test (WordPress/gutenberg#80044)
- Theme: Fix token story swatch accessibility (WordPress/gutenberg#79960)
- Global Styles: Show skeleton placeholder while previews load (WordPress/gutenberg#79849)
- Theme: Fill semantic token state gaps (WordPress/gutenberg#79770)
- Theme: Document accessibility responsibilities (WordPress/gutenberg#79943)
- Theme: Restrict seed colors to opaque values (WordPress/gutenberg#79773)
- Theme: Document token naming grammar (WordPress/gutenberg#79769)
- RTC: Only apply CRDT updates synchronously when collaborating (WordPress/gutenberg#79991)
- Bump docker/login-action from 4.2.0 to 4.4.0 in /.github/workflows in the github-actions group across 1 directory (WordPress/gutenberg#80047)
- Packages: Widen React peer dependency support to include React 19 (WordPress/gutenberg#80024)
- Tabs: track overflow by observing each tab, mirroring Base UI (WordPress/gutenberg#79856)
- Theme: Update design token format links (WordPress/gutenberg#80052)
- design-system-mcp: Use fixed version for alpha MCP server (WordPress/gutenberg#80061)
- Fix global gap styles for Gallery block (WordPress/gutenberg#80030)
- Notes: Add a "Resolved" divider above resolved notes (WordPress/gutenberg#80019)
- Checkbox: Add form primitive to @wordpress/ui (WordPress/gutenberg#80039)
- InputControl: Hard deprecate 40px default size (WordPress/gutenberg#79962)
- Panel: fix focus style for toggle button (WordPress/gutenberg#80064)
- GIF to video conversion: make it opt-in. Switching via block transforms (WordPress/gutenberg#80072)
- Theme: Make @wordpress/theme ESM only (WordPress/gutenberg#80063)
- theme: Clarify package docs (WordPress/gutenberg#79961)
- Fix focus ring for document bar (WordPress/gutenberg#80084)
- Visual revisions: Make the autosave notice work with the visual revisions UI (WordPress/gutenberg#79947)
- Fix flaky 'Activate theme' e2e test (WordPress/gutenberg#80090)
- Fix playlist artwork removal on track switch (WordPress/gutenberg#80025)
- Move styles into specific waveform styles dropdown area (WordPress/gutenberg#80060)
- stylelint-config: Enable token fallback rule (WordPress/gutenberg#79768)
- Fix flashing track state when adding new track (WordPress/gutenberg#80076)
- Icons: Filter the icon library picker by collection (WordPress/gutenberg#79681)
- Post editor: always iframe (WordPress/gutenberg#74042)
- A11y: replace local aria-live regions with speak() (WordPress/gutenberg#79600)
- Generalize playlist block wording (WordPress/gutenberg#80071)
- Docs: Add missing @PARAM and @return tags to REST API compat functions (WordPress/gutenberg#80079)
- Guidelines: Add Blocks as a registry scope (WordPress/gutenberg#79709)
- Allow font size customization (WordPress/gutenberg#80069)
- UI: Restore Link focus styles (WordPress/gutenberg#80091)
- Editor: use the DS focus color for all sidebar elements (WordPress/gutenberg#80087)
- File Block: Changed the context for fetching the media (WordPress/gutenberg#80085)
- Theme: Remove elevation tokens (WordPress/gutenberg#80099)
- Build: Upgrade to TypeScript 7.0 (WordPress/gutenberg#80083)
- Connectors: add application password settings UI (WordPress/gutenberg#79403)
- Icons: Unify collection-scoping route param on `collection` and validate description (WordPress/gutenberg#80113)
- Add translation comment to waveform styles (WordPress/gutenberg#80112)
- Playlist: use PlainText v2 to avoid HTML entities (WordPress/gutenberg#80068)
- Move inspector controls styles slot back to previous position (WordPress/gutenberg#80111)
- Fix playlist waveform artist rendering (WordPress/gutenberg#80104)
- Fix linting of waveform test (WordPress/gutenberg#80124)
- Theme: Document and test build plugin transform boundaries (WordPress/gutenberg#80088)
- CODEOWNERS: Exclude eslint suppressions.json from /tools ownership (WordPress/gutenberg#80125)
- Second click or space/enter keypress on playing track pauses it (WordPress/gutenberg#80066)
- Theme: Cover display contents wrapper focus behavior (WordPress/gutenberg#80056)
- wp-build: Allow @wordpress/theme 1.x peer versions (WordPress/gutenberg#80089)
- Writing flow: fix selection end mapping at block boundaries (WordPress/gutenberg#80126)
- Components: link recommended UI component (WordPress/gutenberg#80127)
- Typewriter: remove the block selection gate (WordPress/gutenberg#80130)
- useMergeRefs: apply ref changes after out-of-render attachment (WordPress/gutenberg#80133)
- Observe typing on the writing flow node (WordPress/gutenberg#80131)
- Components/Button: Don't use box-shadow for secondary buttons (WordPress/gutenberg#79982)
- DataViews: Add a richtext control backed by a private RichTextControl shell in @wordpress/components (WordPress/gutenberg#78471)
- Apply and correct EXIF orientation for client side sub-sizes (WordPress/gutenberg#79384)
- Fix typo in inline comment  in `collaboration.php` (WordPress/gutenberg#80147)
- Media Inserter: Allow core media categories to subscribe to changes (WordPress/gutenberg#79921)
- Accordion block: add background gradient support (WordPress/gutenberg#79840)
- Rich text: synchronize the selection before events that consume it (WordPress/gutenberg#80151)
- Quote block: add background gradient support (WordPress/gutenberg#79843)
- Add option to exclude current post from query block (WordPress/gutenberg#64916)
- Pullquote block: add background gradient support (WordPress/gutenberg#79841)
- Block Supports: Ensure that custom CSS is output after the block library styles (WordPress/gutenberg#80062)
- Rich text: cut through the record instead of execCommand (WordPress/gutenberg#80155)
- Media Inserter: Add pagination to core media inserter categories (WordPress/gutenberg#80038)
- Responsive editing: Add a Tooltip to the viewport / states badge (WordPress/gutenberg#80080)
- Scripts: Make 'test-e2e' run Playwright and remove Puppeteer (WordPress/gutenberg#80058)
- Post Content block: add background gradient support (WordPress/gutenberg#79842)
- Notes: Remove snackbar when resolving or reopening a note (WordPress/gutenberg#80017)
- Enable text alignment to be set by viewport state (WordPress/gutenberg#80037)
- Preview dropdown: simplify viewport style state descriptions (WordPress/gutenberg#80146)
- File Block: Deduplicate the file to audio/video/image transforms (WordPress/gutenberg#80158)
- Responsive editing: Show crop dimensions on image block placeholder (WordPress/gutenberg#80162)
- Add missing docblocks to client-assets.php (WordPress/gutenberg#80135)
- Move typescript and rimraf out of the root package.json (WordPress/gutenberg#80086)
- Release: Harden latest npm metadata publishing (WordPress/gutenberg#79904)
- Add Playlist icon. (WordPress/gutenberg#80168)
- Sync changes from core for view-config version handling (WordPress/gutenberg#80170)
- CODEOWNERS: Exclude stylelint suppressions.json from /tools ownership (WordPress/gutenberg#80171)
- Editor: only show back button focus ring on :focus-visible (WordPress/gutenberg#80114)
- Release: Harden plugin release workflow guardrails (WordPress/gutenberg#79858)
- Icons: Add "sites" icon. (WordPress/gutenberg#80094)
- Flaky tests: fix widgets global inserter (WordPress/gutenberg#80177)
- Release: Harden all npm package release paths (WordPress/gutenberg#79905)
- Update `actionlint` to version `1.7.12`. (WordPress/gutenberg#79833)
- Flaky tests: fix rich text backtick undo (WordPress/gutenberg#80183)
- Button: hide Core focus ring when button as link is pressed (WordPress/gutenberg#80082)
- Term Name: Migrate to textAlign block support (WordPress/gutenberg#76581)
- Cover: allow restricting video embed providers (WordPress/gutenberg#80092)
- Playlist icon: Fix bug with missing viewbox. (WordPress/gutenberg#80180)
- Use playlist icon for Playlist block (WordPress/gutenberg#80174)
- Build: Make installed-deps check layout-agnostic and surface opt-out env var (WordPress/gutenberg#79687)
- Blocks: Rename _gutenberg_apply_content_filters() to _wp_apply_content_filters() (WordPress/gutenberg#80191)
- Tabs: Wrap tab list onto multiple lines by default (WordPress/gutenberg#80097)
- Flaky tests: fix writing flow arrow navigation (WordPress/gutenberg#80179)
- Theme: Use public design token stylesheet imports (WordPress/gutenberg#80050)
- Simplify playlist waveform metadata updates (WordPress/gutenberg#80193)
- Notes: Support inline rich text (bold, italic, link, code) (WordPress/gutenberg#78242)
- Playlist Block: Add artwork to play button (WordPress/gutenberg#79938)
- Cover Block: Fix unsaveable state when clearing an embed video background (WordPress/gutenberg#80184)
- DS: Name font weight tokens by intent (WordPress/gutenberg#80093)
- theme: Validate npm publish surface (WordPress/gutenberg#79552)
- Theme: Remove experimental package messaging (WordPress/gutenberg#80049)
- Playlist Block: add waveform and waveform background color options (WordPress/gutenberg#80065)
- Add more workflow file static analysis with Zizmor (WordPress/gutenberg#71523)
- Block Editor: Simplify layout panel selector getter (WordPress/gutenberg#80176)
- Media Inserter: Omit page arg from requests for the first set of results (WordPress/gutenberg#80219)
- Notes: Add @mention autocomplete (WordPress/gutenberg#79604)
- Latest Posts: Fix slow category selection with large category lists (WordPress/gutenberg#80198)
- Block visibility: add theme json opt out (WordPress/gutenberg#76559)
- Add an `editableRoot` block support for native cross-block selection (WordPress/gutenberg#79105)
- Notes: Allow canceling the autocompleter popover with Escape without dismissing the note form (WordPress/gutenberg#80224)
- Add contrast checking for viewport and pseudo states (WordPress/gutenberg#80223)
- Blocks: Rename _wp_apply_content_filters() to _wp_apply_block_content_filters() (WordPress/gutenberg#80225)
- Widget Primitives: Add a field type registry for widget attributes (WordPress/gutenberg#80148)
- Icon block: When the default icon is unregistered, nothing is displayed (WordPress/gutenberg#80166)
- Make the Playlist blocks stable (WordPress/gutenberg#80203)
- Autocomplete: Use regular weight for result items (WordPress/gutenberg#80196)
- Make pause button visually same size as play button (WordPress/gutenberg#80217)
- Editor: Render post preview action as a menu item (WordPress/gutenberg#80195)
- Release: Fail changelog generation cleanly (WordPress/gutenberg#80175)
- Stabilize Tabs block (WordPress/gutenberg#80163)
- Theme: Correct documented default background seed (WordPress/gutenberg#80237)
- Block Supports: Improve handling of block class name to avoid fatal (WordPress/gutenberg#80214)
- Rename 'Responsive editing' toggle to 'Responsive styles' (WordPress/gutenberg#80241)
- Release: Make npm publishing rerunnable (WordPress/gutenberg#80187)
- Only include icon library SVGs listed as `public` in the Zip file published to GitHub Container Registry for `wordpress-develop` (WordPress/gutenberg#79338)

Props desrosj, wildworks.
Fixes #65529.

git-svn-id: https://develop.svn.wordpress.org/trunk@62739 602fd350-edb4-49c9-b593-d223f7449a82
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

[Feature] Client Side Media Media processing in the browser with WASM No Core Sync Required Indicates that any changes do not need to be synced to WordPress Core [Package] Core data /packages/core-data [Type] Bug An existing feature does not function as intended

Projects

No open projects

Development

Successfully merging this pull request may close these issues.

Move image_editor_output_format data to the full sized image upload response

3 participants

Sponsor
SponsoredKunjungi sekarang
Promo