Media: Move image output format filtering to upload response - #75793
Conversation
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.
|
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message. To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
|
Size Change: -100 B (0%) Total Size: 7.76 MB 📦 View Changed
ℹ️ View Unchanged
|
|
Flaky tests detected in 135290e. 🔍 Workflow run URL: https://github.com/WordPress/gutenberg/actions/runs/24813808972
|
|
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>
@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. |
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.
|
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. |
Co-authored-by: Weston Ruter <weston@ruter.net>
|
I'm going to do some additional manual testing before merging. |
|
This worked well in my local testing. Merging. |
@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.
* 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>
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
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
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
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
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)
This updates the pinned commit hash of the Gutenberg repository from `7295bd91a3c2b64bb11dde0a12313210d9d16a12 ` (version `23.0.0`) to `585cf86bb6f408b1dc61175f75db016aa4760653` (version `23.1.0`). A full list of changes included in this commit can be found on GitHub: https://github.com/WordPress/gutenberg/compare/v23.0.0..v23.1.0. The following commits are included: - Edit Site: Move show-icon-labels handling to specific edit-site call sites (WordPress/gutenberg#77287) - Boot: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77357) - Image: Fix non-local image ID removal undo trap (WordPress/gutenberg#77367) - Block Editor: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77354) - Test: Connectors Point to the righ page. (WordPress/gutenberg#77272) - Commands: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77358) - UI: use Text in Notice.ActionLink typography (WordPress/gutenberg#77332) - Jest setup: remove unneeded rAF polyfills (WordPress/gutenberg#77378) - Fields: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77373) - Widgets: Use --wpds-cursor-control design token (WordPress/gutenberg#77368) - EditPost: Use `--wpds-cursor-control` design token for interactive controls (WordPress/gutenberg#77360) - Post Editor: Store metaboxes RTC-compatible flag on location entries (WordPress/gutenberg#77361) - UI: Use shared style-imports types (WordPress/gutenberg#77388) - Stop adding “noreferrer” to external links except File block. (WordPress/gutenberg#26968) - Core Abilities: Export initialization promise as `ready` (WordPress/gutenberg#77254) - Externalize react-dom/client (WordPress/gutenberg#77326) - Data: Export and consolidate 'onSubKey' helper (WordPress/gutenberg#77364) - Paragraph: Refactor replacement logic in 'useOnEnter' hook (WordPress/gutenberg#77383) - Fix pseudo selector block style rendering in the editor (WordPress/gutenberg#76879) - Tabs: Lock top-level structure and disable visibility controls (WordPress/gutenberg#77370) - Share React CSS custom properties typing (WordPress/gutenberg#77394) - Notes: Refactor and extract offset calculation logic (WordPress/gutenberg#77414) - Tabs: Remove redundant version field from block.json (WordPress/gutenberg#77417) - Latest Comments: Fix uneven padding issue causing mis-alignment (WordPress/gutenberg#77379) - Workflow: Use --wpds-cursor-control design token (WordPress/gutenberg#77369) - blocks: Port over some of the type information for @wordpress/blocks from DefinitelyTyped (WordPress/gutenberg#77393) - Notes: Extract floating notes state into a dedicated store (WordPress/gutenberg#77424) - Tabs: Handle duplicating tabs (WordPress/gutenberg#76449) - Components: Refactor NavigableContainer from class to function component (WordPress/gutenberg#77171) - UI: Fix focus-trap broken by ThemeProvider's display:contents (WordPress/gutenberg#77381) - viewport visibility: use 'key' instead of 'value' for device type (WordPress/gutenberg#77410) - Update changelog for blocks package (WordPress/gutenberg#77437) - Tabs: Clean up Edit components (WordPress/gutenberg#77426) - Media editor: remove unused dependency (WordPress/gutenberg#77438) - Block Editor: Strip per-block custom CSS on save for users without edit_css (WordPress/gutenberg#76650) - Ensure Post Template fallback styles don't apply when minimumColumnWidth is defined (WordPress/gutenberg#77411) - UI: Upgrade title validation to cleanup-based re-validation (WordPress/gutenberg#77165) - ui/Tabs: Fix `act()` warnings in tests (WordPress/gutenberg#77319) - docs: Clarify UI package setup for different contexts (WordPress/gutenberg#77338) - Fix: Preserve aspectRatio and scale when switching to wide/full align… (WordPress/gutenberg#76914) - Link: Honor `openInNewTab` consistently (WordPress/gutenberg#77422) - Block Supports: Add min width support to dimensions (WordPress/gutenberg#76949) - Link: Remove underline from unstyled icon links (WordPress/gutenberg#77420) - Theme: Update Terrazzo packages to 2.0 (WordPress/gutenberg#77432) - Editor: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77376) - GlobalStylesUI: Use `--wpds-cursor-control` design token for interact… (WordPress/gutenberg#77335) - Typescript: Migrate keyboard-shortcuts to TS (WordPress/gutenberg#76287) - GlobalStylesUI: Remove unused CSS rule (WordPress/gutenberg#77456) - Writing Flow: fix arrow keys skipping paragraph containing link (WordPress/gutenberg#77474) - Ensure layout classnames are applied to the inner blocks wrapper and not to its siblings (WordPress/gutenberg#77408) - Fix: Change Featured Image toggle label to 'Make image a link' (WordPress/gutenberg#71931) - Autocomplete: Skip stale triggers from completed mentions (WordPress/gutenberg#77185) - Fix: Add cursor pointer to the ariakit menu item component - Issue - WordPress/gutenberg#70411 (WordPress/gutenberg#70412) - Guidelines CPT: Skip registration when post type already exists (WordPress/gutenberg#77486) - ESLint: Introduce bulk suppressions workflow (WordPress/gutenberg#77392) - Add heading level 1 for the fonts page (WordPress/gutenberg#77482) - CollapsibleCard: Fix missing keyboard focus ring on the header chevron icon when rendered inside wp-admin (WordPress/gutenberg#77468) - Docs: Add ESLint v10 migration guide and polish docs (WordPress/gutenberg#77217) - Tabs: Fix missing keyboard focus ring on the panel in Windows High Contrast mode when rendered inside wp-admin (WordPress/gutenberg#77469) - EditSite: Remove unused CSS rule (WordPress/gutenberg#77494) - Card: Remove unused CardContext (WordPress/gutenberg#77463) - design-system-mcp: Add new package for design system MCP tooling (WordPress/gutenberg#77159) - Storybook: Fix component descriptions in manifest files (WordPress/gutenberg#77112) - Notes: Reduce passes in useBlockComments memo and rename outputs (WordPress/gutenberg#77440) - Upload Media: Enable concurrent sideload uploads (WordPress/gutenberg#75888) - Deduplicate client-side image sizes with matching dimensions (WordPress/gutenberg#77036) - Convert tests/unit to npm workspace (WordPress/gutenberg#77063) - UI: Portal prop and Portal subcomponents for overlay Popups (WordPress/gutenberg#77452) - Storybook: add global preview styles for @wordpress/ui overlays (WordPress/gutenberg#77451) - Experiment: Add custom taxonomies (WordPress/gutenberg#77497) - Storybook: Fix 'Open source file' links for storybook-local stories (WordPress/gutenberg#76758) - UI Dialog: Add Description, modal context, and misc improvements (WordPress/gutenberg#77194) - Docs: Update parameter type from `number` to `int` in CSS declaration methods (WordPress/gutenberg#77519) - Fix: use node_modules/.bin/stylelint to avoid npm warnings on Node 24 (WordPress/gutenberg#77512) - Text: Apply both heading and paragraph CSS defenses unconditionally (WordPress/gutenberg#77461) - Notes: Compute note positions centrally in useFloatingBoard (WordPress/gutenberg#77433) - Stylelint: Add cursor pointer rule and block-library override (WordPress/gutenberg#77501) - Admin UI: Add visual prop to Page header component (WordPress/gutenberg#76469) - Fix: post saving should be locked during media uploads (WordPress/gutenberg#76973) - RTC: Fixed orphaned meta causing dirty editor state (WordPress/gutenberg#77529) - Media Editor experiment: add experimental image editor and cropper (WordPress/gutenberg#77479) - UI: Start recommending new Card components (WordPress/gutenberg#77423) - Media Editor Modal: Add a media editor modal experiment (WordPress/gutenberg#77480) - Expand support for `isElementVisible` (`VisuallyHidden`) (WordPress/gutenberg#77191) - Experiments Page: Update labels for the media-related experiments to group them together and better clarify what the experiments do (WordPress/gutenberg#77536) - Media Editor: render cropper in media editor modal for images (WordPress/gutenberg#77537) - Tabs: Rename tabs blocks to follow WCAG Tabs pattern (WordPress/gutenberg#77418) - [Video Block]: Update z-index for tracks popover to ensure proper stacking context (WordPress/gutenberg#77517) - Guidelines: Make the CPT type-aware (WordPress/gutenberg#77491) - Taxonomies: add spacing above Add Taxonomy modal actions (WordPress/gutenberg#77523) - Taxonomies Route: Declare @wordpress/base-styles dependency (WordPress/gutenberg#77543) - Taxonomies: warn when editing an existing taxonomy's slug (WordPress/gutenberg#77527) - Site Logo Block: Enable the media editor modal experiment for the crop button (WordPress/gutenberg#77548) - Menu: Fix flaky submenu focus test (WordPress/gutenberg#77430) - Add no-unsafe-render-order ESLint rule (WordPress/gutenberg#77428) - UI: Update `@base-ui/react` from `1.4.0` to `1.4.1` (WordPress/gutenberg#77520) - components: Menu popover render + surface/motion split (WordPress/gutenberg#77460) - Upload Media: Use .jpg extension for HEIC-to-JPEG client conversion (WordPress/gutenberg#77506) - Consolidate ESLint config into tools/eslint/ workspace package (WordPress/gutenberg#77215) - UI: Add Drawer primitive (WordPress/gutenberg#76690) - Fix import order in block-editor `custom-css.js` (WordPress/gutenberg#77566) - Experiment: Follow up improvements on taxonomies(77497) (WordPress/gutenberg#77567) - Client-side media: declare convert_format as boolean arg on sideload route (WordPress/gutenberg#77565) - Media Upload Modal: Enhance filtering logic to support "text/vtt" and "video/*" (WordPress/gutenberg#77550) - Media Editor: add cropper controls to the media editor modal (WordPress/gutenberg#77540) - Media Editor: add zoom control and hide fine rotation on narrow viewports (WordPress/gutenberg#77585) - Remove ZebulanStanphill from CODEOWNERS (WordPress/gutenberg#77586) - Image editor: reserve inner gutter so crop handles stay accessible (WordPress/gutenberg#77547) - Docs: Auto-generate per-block API reference pages from block.json (WordPress/gutenberg#77350) - Embed: Fix variation upgrade undo trap (WordPress/gutenberg#77546) - fix: block-mover up/down button tooltip positions (WordPress/gutenberg#77588) - fix: edit-post back button tooltip position (WordPress/gutenberg#77587) - Revert "Docs: Auto-generate per-block API reference pages from block.json (https://github.com/WordPress/gutenberg/pull/7…" (WordPress/gutenberg#77590) - Experiment: Add delete action to taxonomy management (WordPress/gutenberg#77524) - Tests: Remove duplicate mentions spec (WordPress/gutenberg#77593) - Notes: Refactor to use new '@wordpress/ui' components (WordPress/gutenberg#77589) - wp-build: Widen optional peer dependency ranges (WordPress/gutenberg#77568) - Eslint: Improve design token linting for CSS declaration strings (WordPress/gutenberg#77384) - ESLint: Add `use-import-as` rule (WordPress/gutenberg#77389) - Experiments: register `gutenberg-dashboard-widgets` flag (WordPress/gutenberg#77569) - Media: Move image output format filtering to upload response (WordPress/gutenberg#75793) - Dashboard: register admin page route + sidebar menu (shell) (WordPress/gutenberg#77573) - Experiment: Fix console errors/warnings for taxonomies (WordPress/gutenberg#77601) - Experiment: Improve `taxonomies` DataViews height (WordPress/gutenberg#77603) - Experimental Image Cropper: Ensure focus is on canvas when dragging (WordPress/gutenberg#77591) - Template parts: make 'Detach' context menu item consistent across patterns and template parts (WordPress/gutenberg#77581) - Experimental Image Cropper: Tweak the keyboard interactions with drag handles and canvas (WordPress/gutenberg#77639) - Fix: block-mover horizontal tooltip position (WordPress/gutenberg#77597) - Experiment: Render taxonomy status as a Badge (WordPress/gutenberg#77635) - Guidelines: Drop default_term from wp_guideline_type taxonomy (WordPress/gutenberg#77592) - Form blocks: Update block categories for form, form-input, form-submission-notification, and form-submit-button (WordPress/gutenberg#61916) - Experiment: Split status action to two actions, make them bulk-capable (WordPress/gutenberg#77637) - ButtonGroup: Inline z-index (WordPress/gutenberg#77621) - VisuallyHidden: Recommend @wordpress/ui and migrate usages (WordPress/gutenberg#77575) - Experiment: Improve taxonomy `edit` action (WordPress/gutenberg#77605) - FormToggle: Inline z-index (WordPress/gutenberg#77619) - ResizableBox: Inline handle z-index (WordPress/gutenberg#77620) - Build: Skip sourcemaps for WASM-inlined script module workers (WordPress/gutenberg#75993) - RTC: Fix "Connection Lost" dialog when too many entities are loaded (WordPress/gutenberg#77631) - Experiments: Rebuild the wp-admin Experiments screen on the wp-build routes pattern (WordPress/gutenberg#77443) - Connectors: Treat network-active plugins as active in plugin status check (WordPress/gutenberg#77661) - Update TypeScript to tsgo (7.0) (WordPress/gutenberg#77177) - Revert tsgo update as it breaks trunk (WordPress/gutenberg#77680) - Image editor: fix locked-ratio resize driver-axis on non-square images (WordPress/gutenberg#77664) - Image editor: hold Shift while resizing to lock current aspect ratio (WordPress/gutenberg#77663) - [Admin UI]: Move to CSS modules and implement logical properties (WordPress/gutenberg#77088) - ui: Forward style and className on *.Popup to inner Base UI Popup (WordPress/gutenberg#77693) - ui: Align WithCustomZIndex Storybook examples across overlays (WordPress/gutenberg#77648) - ui: Uniform title and description styles across overlays (WordPress/gutenberg#77692) - UI: Add `Autocomplete` primitive (WordPress/gutenberg#77642) - Admin UI: change default heading level from h2 to h1 (WordPress/gutenberg#77617) - ui/Dialog, ui/AlertDialog, ui/Drawer: support sticky header and footer (WordPress/gutenberg#77559) - e2e: shorten visit-site-editor canvas-loader visible wait (WordPress/gutenberg#77725) - Gutenberg Experiments: Ensure the experiment is active before outputting flags (WordPress/gutenberg#77728) - Image editor: formalize cropper contract (WordPress/gutenberg#77668) - Image Editor experiment: Pass theme aspect ratios to media editor (WordPress/gutenberg#77665) - Media Editor Modal: save via Core's /edit modifiers (WordPress/gutenberg#77641) - Experiment: Taxonomies new package and `add/edit` screens (WordPress/gutenberg#77657) - Media editor: confirm before discarding unsaved changes (WordPress/gutenberg#77730) - `FormTokenField`: Add `help` prop to render additional help text below the field (WordPress/gutenberg#77552) - Migrate `test/integration` into `@wordpress/integration-tests` workspace (WordPress/gutenberg#77556) - Tabs: Add classic theme styles to reset button defaults (WordPress/gutenberg#77607) - Media Editor Modal: surface save failures as scoped snackbar notices (WordPress/gutenberg#77733) - DataForm: Render field `description` as help text in the `array` control (WordPress/gutenberg#77554) - Revisions: Improve screen reader accessibility for diff markers region and slider (WordPress/gutenberg#77660) - fix: disable custom css command for non block themes (WordPress/gutenberg#77685) - Experiments: Declare `@wordpress/base-styles` dependency (WordPress/gutenberg#77684) - Notes: Refactor internals into smaller components (WordPress/gutenberg#77614) - Connectors: Add role="list" wrapper to connector cards for valid ARIA structure (WordPress/gutenberg#77689) - Admin UI: use UI Text component in header (WordPress/gutenberg#77372) - I18N: Polyfill script module translations for WordPress < 7.0 (WordPress/gutenberg#77214) - Refactor Admin UI / Breadcrumbs to use DS components and design tokens (WordPress/gutenberg#77012) - ui: Unify hairline border across overlay popups (WordPress/gutenberg#77691) - Base Styles: Remove stale z-index entries (WordPress/gutenberg#77714) - CircularOptionPicker: Inline z-index values (WordPress/gutenberg#77715) - ComplementaryArea: Inline z-index values (WordPress/gutenberg#77717) - Disable TinyMCE: Warning instead of direct redirect (WordPress/gutenberg#77747) - Tooltip: Fix flaky unit test (WordPress/gutenberg#77751) - Admin UI: ensure consistent header spacing with and without actions (WordPress/gutenberg#76683) - RTC: fix connection lost error on large update cause by mismatch between update size bounds check and expanded base64 update size (WordPress/gutenberg#77669) - Add `@wordpress/grid` package (WordPress/gutenberg#77562) - Base styles: update changelog to be clearer (WordPress/gutenberg#77767) - Media editor modal: add interactive grid (WordPress/gutenberg#77771) - Media editor: avoid double-mount flicker on open (WordPress/gutenberg#77732) - Command Palette: Fix macOs label for sites unable to determine UA via PHP (WordPress/gutenberg#77638) - Accordion: Remove invalid `isBlock` prop from `ToggleControl` (WordPress/gutenberg#77776) - Guidelines: Extract initial public API methods (WordPress/gutenberg#77643) - Embed: Restore paragraph with URL when undoing paste-to-embed transform (WordPress/gutenberg#77551) - Guidelines: Split singleton REST API into dedicated /content-guidelines route (WordPress/gutenberg#77734) - Allow EmptyState from @wordpress/ui in recommended components (WordPress/gutenberg#77765) - Block Editor: Fix blockGap fallback parsing for nested var() values (WordPress/gutenberg#77750) - Core Data: Remove redundant memoization wrapper from 'getQueriedItems' (WordPress/gutenberg#77483) - Enhancement: Add descriptive name for docker container images (WordPress/gutenberg#67827) - Fix: Add Missing Dimension Controls & Limited Customization in Accordion Block (WordPress/gutenberg#77780) - Connectors: keep focus on action Button during install (WordPress/gutenberg#77544) - Widgets: add widget-types data layer (WordPress/gutenberg#77752) - Grid: fix `width: 'fill'` when tiles span multiple rows (WordPress/gutenberg#77769) - CollapsibleCard: Prevent focus ring clipping by content overflow (WordPress/gutenberg#77667) - Block editor: Remove stale reusable block z-index styles (WordPress/gutenberg#77774) - Grid: add @types/jest devDependency (WordPress/gutenberg#77801) - Env: Minor refactoring of cacheDirectoryPath evaluation (WordPress/gutenberg#77799) - User Taxonomies: show Public field in create/edit form (WordPress/gutenberg#77802) - Experiment: Taxonomies REST controller (WordPress/gutenberg#77697) - Experiment: Taxonomies implement `auto-fill labels` (WordPress/gutenberg#77786) - UI: Recommend Link component for use (WordPress/gutenberg#77505) - ExternalLink: Align appearance with Link from @wordpress/ui (WordPress/gutenberg#77790) - Disable TinyMCE: Repurpose experiment as Classic block removal (WordPress/gutenberg#77838) - Media Upload Modal: Fix pagination and search (WordPress/gutenberg#77872) - Disable Classic block: Always register, hide from inserter conditionally (WordPress/gutenberg#77840) - Disable Classic block: Control inserter support via filter (WordPress/gutenberg#77845) - Classic Block: Unwrap experiment to hide it from inserter (WordPress/gutenberg#77911) - RTC: Attach sync observers after hydrating persisted CRDT doc (WordPress/gutenberg#77966) - RTC: Fix compaction unit test (WordPress/gutenberg#77986) - RTC: Fix divergence when two offline users reconnect (WordPress/gutenberg#77980) - Fix PHP multisite tests (WordPress/gutenberg#77825) - Connectors: Stop e2e capability restriction from leaking across specs (WordPress/gutenberg#77857) Props adamsilverstein, jorbin, westonruter, wildworks. Fixes #65558. git-svn-id: https://develop.svn.wordpress.org/trunk@62581 602fd350-edb4-49c9-b593-d223f7449a82
This updates the pinned commit hash of the Gutenberg repository from `7295bd91a3c2b64bb11dde0a12313210d9d16a12 ` (version `23.0.0`) to `585cf86bb6f408b1dc61175f75db016aa4760653` (version `23.1.0`). A full list of changes included in this commit can be found on GitHub: https://github.com/WordPress/gutenberg/compare/v23.0.0..v23.1.0. The following commits are included: - Edit Site: Move show-icon-labels handling to specific edit-site call sites (WordPress/gutenberg#77287) - Boot: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77357) - Image: Fix non-local image ID removal undo trap (WordPress/gutenberg#77367) - Block Editor: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77354) - Test: Connectors Point to the righ page. (WordPress/gutenberg#77272) - Commands: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77358) - UI: use Text in Notice.ActionLink typography (WordPress/gutenberg#77332) - Jest setup: remove unneeded rAF polyfills (WordPress/gutenberg#77378) - Fields: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77373) - Widgets: Use --wpds-cursor-control design token (WordPress/gutenberg#77368) - EditPost: Use `--wpds-cursor-control` design token for interactive controls (WordPress/gutenberg#77360) - Post Editor: Store metaboxes RTC-compatible flag on location entries (WordPress/gutenberg#77361) - UI: Use shared style-imports types (WordPress/gutenberg#77388) - Stop adding “noreferrer” to external links except File block. (WordPress/gutenberg#26968) - Core Abilities: Export initialization promise as `ready` (WordPress/gutenberg#77254) - Externalize react-dom/client (WordPress/gutenberg#77326) - Data: Export and consolidate 'onSubKey' helper (WordPress/gutenberg#77364) - Paragraph: Refactor replacement logic in 'useOnEnter' hook (WordPress/gutenberg#77383) - Fix pseudo selector block style rendering in the editor (WordPress/gutenberg#76879) - Tabs: Lock top-level structure and disable visibility controls (WordPress/gutenberg#77370) - Share React CSS custom properties typing (WordPress/gutenberg#77394) - Notes: Refactor and extract offset calculation logic (WordPress/gutenberg#77414) - Tabs: Remove redundant version field from block.json (WordPress/gutenberg#77417) - Latest Comments: Fix uneven padding issue causing mis-alignment (WordPress/gutenberg#77379) - Workflow: Use --wpds-cursor-control design token (WordPress/gutenberg#77369) - blocks: Port over some of the type information for @wordpress/blocks from DefinitelyTyped (WordPress/gutenberg#77393) - Notes: Extract floating notes state into a dedicated store (WordPress/gutenberg#77424) - Tabs: Handle duplicating tabs (WordPress/gutenberg#76449) - Components: Refactor NavigableContainer from class to function component (WordPress/gutenberg#77171) - UI: Fix focus-trap broken by ThemeProvider's display:contents (WordPress/gutenberg#77381) - viewport visibility: use 'key' instead of 'value' for device type (WordPress/gutenberg#77410) - Update changelog for blocks package (WordPress/gutenberg#77437) - Tabs: Clean up Edit components (WordPress/gutenberg#77426) - Media editor: remove unused dependency (WordPress/gutenberg#77438) - Block Editor: Strip per-block custom CSS on save for users without edit_css (WordPress/gutenberg#76650) - Ensure Post Template fallback styles don't apply when minimumColumnWidth is defined (WordPress/gutenberg#77411) - UI: Upgrade title validation to cleanup-based re-validation (WordPress/gutenberg#77165) - ui/Tabs: Fix `act()` warnings in tests (WordPress/gutenberg#77319) - docs: Clarify UI package setup for different contexts (WordPress/gutenberg#77338) - Fix: Preserve aspectRatio and scale when switching to wide/full align… (WordPress/gutenberg#76914) - Link: Honor `openInNewTab` consistently (WordPress/gutenberg#77422) - Block Supports: Add min width support to dimensions (WordPress/gutenberg#76949) - Link: Remove underline from unstyled icon links (WordPress/gutenberg#77420) - Theme: Update Terrazzo packages to 2.0 (WordPress/gutenberg#77432) - Editor: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77376) - GlobalStylesUI: Use `--wpds-cursor-control` design token for interact… (WordPress/gutenberg#77335) - Typescript: Migrate keyboard-shortcuts to TS (WordPress/gutenberg#76287) - GlobalStylesUI: Remove unused CSS rule (WordPress/gutenberg#77456) - Writing Flow: fix arrow keys skipping paragraph containing link (WordPress/gutenberg#77474) - Ensure layout classnames are applied to the inner blocks wrapper and not to its siblings (WordPress/gutenberg#77408) - Fix: Change Featured Image toggle label to 'Make image a link' (WordPress/gutenberg#71931) - Autocomplete: Skip stale triggers from completed mentions (WordPress/gutenberg#77185) - Fix: Add cursor pointer to the ariakit menu item component - Issue - WordPress/gutenberg#70411 (WordPress/gutenberg#70412) - Guidelines CPT: Skip registration when post type already exists (WordPress/gutenberg#77486) - ESLint: Introduce bulk suppressions workflow (WordPress/gutenberg#77392) - Add heading level 1 for the fonts page (WordPress/gutenberg#77482) - CollapsibleCard: Fix missing keyboard focus ring on the header chevron icon when rendered inside wp-admin (WordPress/gutenberg#77468) - Docs: Add ESLint v10 migration guide and polish docs (WordPress/gutenberg#77217) - Tabs: Fix missing keyboard focus ring on the panel in Windows High Contrast mode when rendered inside wp-admin (WordPress/gutenberg#77469) - EditSite: Remove unused CSS rule (WordPress/gutenberg#77494) - Card: Remove unused CardContext (WordPress/gutenberg#77463) - design-system-mcp: Add new package for design system MCP tooling (WordPress/gutenberg#77159) - Storybook: Fix component descriptions in manifest files (WordPress/gutenberg#77112) - Notes: Reduce passes in useBlockComments memo and rename outputs (WordPress/gutenberg#77440) - Upload Media: Enable concurrent sideload uploads (WordPress/gutenberg#75888) - Deduplicate client-side image sizes with matching dimensions (WordPress/gutenberg#77036) - Convert tests/unit to npm workspace (WordPress/gutenberg#77063) - UI: Portal prop and Portal subcomponents for overlay Popups (WordPress/gutenberg#77452) - Storybook: add global preview styles for @wordpress/ui overlays (WordPress/gutenberg#77451) - Experiment: Add custom taxonomies (WordPress/gutenberg#77497) - Storybook: Fix 'Open source file' links for storybook-local stories (WordPress/gutenberg#76758) - UI Dialog: Add Description, modal context, and misc improvements (WordPress/gutenberg#77194) - Docs: Update parameter type from `number` to `int` in CSS declaration methods (WordPress/gutenberg#77519) - Fix: use node_modules/.bin/stylelint to avoid npm warnings on Node 24 (WordPress/gutenberg#77512) - Text: Apply both heading and paragraph CSS defenses unconditionally (WordPress/gutenberg#77461) - Notes: Compute note positions centrally in useFloatingBoard (WordPress/gutenberg#77433) - Stylelint: Add cursor pointer rule and block-library override (WordPress/gutenberg#77501) - Admin UI: Add visual prop to Page header component (WordPress/gutenberg#76469) - Fix: post saving should be locked during media uploads (WordPress/gutenberg#76973) - RTC: Fixed orphaned meta causing dirty editor state (WordPress/gutenberg#77529) - Media Editor experiment: add experimental image editor and cropper (WordPress/gutenberg#77479) - UI: Start recommending new Card components (WordPress/gutenberg#77423) - Media Editor Modal: Add a media editor modal experiment (WordPress/gutenberg#77480) - Expand support for `isElementVisible` (`VisuallyHidden`) (WordPress/gutenberg#77191) - Experiments Page: Update labels for the media-related experiments to group them together and better clarify what the experiments do (WordPress/gutenberg#77536) - Media Editor: render cropper in media editor modal for images (WordPress/gutenberg#77537) - Tabs: Rename tabs blocks to follow WCAG Tabs pattern (WordPress/gutenberg#77418) - [Video Block]: Update z-index for tracks popover to ensure proper stacking context (WordPress/gutenberg#77517) - Guidelines: Make the CPT type-aware (WordPress/gutenberg#77491) - Taxonomies: add spacing above Add Taxonomy modal actions (WordPress/gutenberg#77523) - Taxonomies Route: Declare @wordpress/base-styles dependency (WordPress/gutenberg#77543) - Taxonomies: warn when editing an existing taxonomy's slug (WordPress/gutenberg#77527) - Site Logo Block: Enable the media editor modal experiment for the crop button (WordPress/gutenberg#77548) - Menu: Fix flaky submenu focus test (WordPress/gutenberg#77430) - Add no-unsafe-render-order ESLint rule (WordPress/gutenberg#77428) - UI: Update `@base-ui/react` from `1.4.0` to `1.4.1` (WordPress/gutenberg#77520) - components: Menu popover render + surface/motion split (WordPress/gutenberg#77460) - Upload Media: Use .jpg extension for HEIC-to-JPEG client conversion (WordPress/gutenberg#77506) - Consolidate ESLint config into tools/eslint/ workspace package (WordPress/gutenberg#77215) - UI: Add Drawer primitive (WordPress/gutenberg#76690) - Fix import order in block-editor `custom-css.js` (WordPress/gutenberg#77566) - Experiment: Follow up improvements on taxonomies(77497) (WordPress/gutenberg#77567) - Client-side media: declare convert_format as boolean arg on sideload route (WordPress/gutenberg#77565) - Media Upload Modal: Enhance filtering logic to support "text/vtt" and "video/*" (WordPress/gutenberg#77550) - Media Editor: add cropper controls to the media editor modal (WordPress/gutenberg#77540) - Media Editor: add zoom control and hide fine rotation on narrow viewports (WordPress/gutenberg#77585) - Remove ZebulanStanphill from CODEOWNERS (WordPress/gutenberg#77586) - Image editor: reserve inner gutter so crop handles stay accessible (WordPress/gutenberg#77547) - Docs: Auto-generate per-block API reference pages from block.json (WordPress/gutenberg#77350) - Embed: Fix variation upgrade undo trap (WordPress/gutenberg#77546) - fix: block-mover up/down button tooltip positions (WordPress/gutenberg#77588) - fix: edit-post back button tooltip position (WordPress/gutenberg#77587) - Revert "Docs: Auto-generate per-block API reference pages from block.json (https://github.com/WordPress/gutenberg/pull/7…" (WordPress/gutenberg#77590) - Experiment: Add delete action to taxonomy management (WordPress/gutenberg#77524) - Tests: Remove duplicate mentions spec (WordPress/gutenberg#77593) - Notes: Refactor to use new '@wordpress/ui' components (WordPress/gutenberg#77589) - wp-build: Widen optional peer dependency ranges (WordPress/gutenberg#77568) - Eslint: Improve design token linting for CSS declaration strings (WordPress/gutenberg#77384) - ESLint: Add `use-import-as` rule (WordPress/gutenberg#77389) - Experiments: register `gutenberg-dashboard-widgets` flag (WordPress/gutenberg#77569) - Media: Move image output format filtering to upload response (WordPress/gutenberg#75793) - Dashboard: register admin page route + sidebar menu (shell) (WordPress/gutenberg#77573) - Experiment: Fix console errors/warnings for taxonomies (WordPress/gutenberg#77601) - Experiment: Improve `taxonomies` DataViews height (WordPress/gutenberg#77603) - Experimental Image Cropper: Ensure focus is on canvas when dragging (WordPress/gutenberg#77591) - Template parts: make 'Detach' context menu item consistent across patterns and template parts (WordPress/gutenberg#77581) - Experimental Image Cropper: Tweak the keyboard interactions with drag handles and canvas (WordPress/gutenberg#77639) - Fix: block-mover horizontal tooltip position (WordPress/gutenberg#77597) - Experiment: Render taxonomy status as a Badge (WordPress/gutenberg#77635) - Guidelines: Drop default_term from wp_guideline_type taxonomy (WordPress/gutenberg#77592) - Form blocks: Update block categories for form, form-input, form-submission-notification, and form-submit-button (WordPress/gutenberg#61916) - Experiment: Split status action to two actions, make them bulk-capable (WordPress/gutenberg#77637) - ButtonGroup: Inline z-index (WordPress/gutenberg#77621) - VisuallyHidden: Recommend @wordpress/ui and migrate usages (WordPress/gutenberg#77575) - Experiment: Improve taxonomy `edit` action (WordPress/gutenberg#77605) - FormToggle: Inline z-index (WordPress/gutenberg#77619) - ResizableBox: Inline handle z-index (WordPress/gutenberg#77620) - Build: Skip sourcemaps for WASM-inlined script module workers (WordPress/gutenberg#75993) - RTC: Fix "Connection Lost" dialog when too many entities are loaded (WordPress/gutenberg#77631) - Experiments: Rebuild the wp-admin Experiments screen on the wp-build routes pattern (WordPress/gutenberg#77443) - Connectors: Treat network-active plugins as active in plugin status check (WordPress/gutenberg#77661) - Update TypeScript to tsgo (7.0) (WordPress/gutenberg#77177) - Revert tsgo update as it breaks trunk (WordPress/gutenberg#77680) - Image editor: fix locked-ratio resize driver-axis on non-square images (WordPress/gutenberg#77664) - Image editor: hold Shift while resizing to lock current aspect ratio (WordPress/gutenberg#77663) - [Admin UI]: Move to CSS modules and implement logical properties (WordPress/gutenberg#77088) - ui: Forward style and className on *.Popup to inner Base UI Popup (WordPress/gutenberg#77693) - ui: Align WithCustomZIndex Storybook examples across overlays (WordPress/gutenberg#77648) - ui: Uniform title and description styles across overlays (WordPress/gutenberg#77692) - UI: Add `Autocomplete` primitive (WordPress/gutenberg#77642) - Admin UI: change default heading level from h2 to h1 (WordPress/gutenberg#77617) - ui/Dialog, ui/AlertDialog, ui/Drawer: support sticky header and footer (WordPress/gutenberg#77559) - e2e: shorten visit-site-editor canvas-loader visible wait (WordPress/gutenberg#77725) - Gutenberg Experiments: Ensure the experiment is active before outputting flags (WordPress/gutenberg#77728) - Image editor: formalize cropper contract (WordPress/gutenberg#77668) - Image Editor experiment: Pass theme aspect ratios to media editor (WordPress/gutenberg#77665) - Media Editor Modal: save via Core's /edit modifiers (WordPress/gutenberg#77641) - Experiment: Taxonomies new package and `add/edit` screens (WordPress/gutenberg#77657) - Media editor: confirm before discarding unsaved changes (WordPress/gutenberg#77730) - `FormTokenField`: Add `help` prop to render additional help text below the field (WordPress/gutenberg#77552) - Migrate `test/integration` into `@wordpress/integration-tests` workspace (WordPress/gutenberg#77556) - Tabs: Add classic theme styles to reset button defaults (WordPress/gutenberg#77607) - Media Editor Modal: surface save failures as scoped snackbar notices (WordPress/gutenberg#77733) - DataForm: Render field `description` as help text in the `array` control (WordPress/gutenberg#77554) - Revisions: Improve screen reader accessibility for diff markers region and slider (WordPress/gutenberg#77660) - fix: disable custom css command for non block themes (WordPress/gutenberg#77685) - Experiments: Declare `@wordpress/base-styles` dependency (WordPress/gutenberg#77684) - Notes: Refactor internals into smaller components (WordPress/gutenberg#77614) - Connectors: Add role="list" wrapper to connector cards for valid ARIA structure (WordPress/gutenberg#77689) - Admin UI: use UI Text component in header (WordPress/gutenberg#77372) - I18N: Polyfill script module translations for WordPress < 7.0 (WordPress/gutenberg#77214) - Refactor Admin UI / Breadcrumbs to use DS components and design tokens (WordPress/gutenberg#77012) - ui: Unify hairline border across overlay popups (WordPress/gutenberg#77691) - Base Styles: Remove stale z-index entries (WordPress/gutenberg#77714) - CircularOptionPicker: Inline z-index values (WordPress/gutenberg#77715) - ComplementaryArea: Inline z-index values (WordPress/gutenberg#77717) - Disable TinyMCE: Warning instead of direct redirect (WordPress/gutenberg#77747) - Tooltip: Fix flaky unit test (WordPress/gutenberg#77751) - Admin UI: ensure consistent header spacing with and without actions (WordPress/gutenberg#76683) - RTC: fix connection lost error on large update cause by mismatch between update size bounds check and expanded base64 update size (WordPress/gutenberg#77669) - Add `@wordpress/grid` package (WordPress/gutenberg#77562) - Base styles: update changelog to be clearer (WordPress/gutenberg#77767) - Media editor modal: add interactive grid (WordPress/gutenberg#77771) - Media editor: avoid double-mount flicker on open (WordPress/gutenberg#77732) - Command Palette: Fix macOs label for sites unable to determine UA via PHP (WordPress/gutenberg#77638) - Accordion: Remove invalid `isBlock` prop from `ToggleControl` (WordPress/gutenberg#77776) - Guidelines: Extract initial public API methods (WordPress/gutenberg#77643) - Embed: Restore paragraph with URL when undoing paste-to-embed transform (WordPress/gutenberg#77551) - Guidelines: Split singleton REST API into dedicated /content-guidelines route (WordPress/gutenberg#77734) - Allow EmptyState from @wordpress/ui in recommended components (WordPress/gutenberg#77765) - Block Editor: Fix blockGap fallback parsing for nested var() values (WordPress/gutenberg#77750) - Core Data: Remove redundant memoization wrapper from 'getQueriedItems' (WordPress/gutenberg#77483) - Enhancement: Add descriptive name for docker container images (WordPress/gutenberg#67827) - Fix: Add Missing Dimension Controls & Limited Customization in Accordion Block (WordPress/gutenberg#77780) - Connectors: keep focus on action Button during install (WordPress/gutenberg#77544) - Widgets: add widget-types data layer (WordPress/gutenberg#77752) - Grid: fix `width: 'fill'` when tiles span multiple rows (WordPress/gutenberg#77769) - CollapsibleCard: Prevent focus ring clipping by content overflow (WordPress/gutenberg#77667) - Block editor: Remove stale reusable block z-index styles (WordPress/gutenberg#77774) - Grid: add @types/jest devDependency (WordPress/gutenberg#77801) - Env: Minor refactoring of cacheDirectoryPath evaluation (WordPress/gutenberg#77799) - User Taxonomies: show Public field in create/edit form (WordPress/gutenberg#77802) - Experiment: Taxonomies REST controller (WordPress/gutenberg#77697) - Experiment: Taxonomies implement `auto-fill labels` (WordPress/gutenberg#77786) - UI: Recommend Link component for use (WordPress/gutenberg#77505) - ExternalLink: Align appearance with Link from @wordpress/ui (WordPress/gutenberg#77790) - Disable TinyMCE: Repurpose experiment as Classic block removal (WordPress/gutenberg#77838) - Media Upload Modal: Fix pagination and search (WordPress/gutenberg#77872) - Disable Classic block: Always register, hide from inserter conditionally (WordPress/gutenberg#77840) - Disable Classic block: Control inserter support via filter (WordPress/gutenberg#77845) - Classic Block: Unwrap experiment to hide it from inserter (WordPress/gutenberg#77911) - RTC: Attach sync observers after hydrating persisted CRDT doc (WordPress/gutenberg#77966) - RTC: Fix compaction unit test (WordPress/gutenberg#77986) - RTC: Fix divergence when two offline users reconnect (WordPress/gutenberg#77980) - Fix PHP multisite tests (WordPress/gutenberg#77825) - Connectors: Stop e2e capability restriction from leaking across specs (WordPress/gutenberg#77857) Props adamsilverstein, jorbin, westonruter, wildworks. Fixes #65558. Built from https://develop.svn.wordpress.org/trunk@62581 git-svn-id: http://core.svn.wordpress.org/trunk@61861 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This updates the pinned commit hash of the Gutenberg repository from `7295bd91a3c2b64bb11dde0a12313210d9d16a12 ` (version `23.0.0`) to `585cf86bb6f408b1dc61175f75db016aa4760653` (version `23.1.0`). A full list of changes included in this commit can be found on GitHub: https://github.com/WordPress/gutenberg/compare/v23.0.0..v23.1.0. The following commits are included: - Edit Site: Move show-icon-labels handling to specific edit-site call sites (WordPress/gutenberg#77287) - Boot: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77357) - Image: Fix non-local image ID removal undo trap (WordPress/gutenberg#77367) - Block Editor: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77354) - Test: Connectors Point to the righ page. (WordPress/gutenberg#77272) - Commands: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77358) - UI: use Text in Notice.ActionLink typography (WordPress/gutenberg#77332) - Jest setup: remove unneeded rAF polyfills (WordPress/gutenberg#77378) - Fields: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77373) - Widgets: Use --wpds-cursor-control design token (WordPress/gutenberg#77368) - EditPost: Use `--wpds-cursor-control` design token for interactive controls (WordPress/gutenberg#77360) - Post Editor: Store metaboxes RTC-compatible flag on location entries (WordPress/gutenberg#77361) - UI: Use shared style-imports types (WordPress/gutenberg#77388) - Stop adding “noreferrer” to external links except File block. (WordPress/gutenberg#26968) - Core Abilities: Export initialization promise as `ready` (WordPress/gutenberg#77254) - Externalize react-dom/client (WordPress/gutenberg#77326) - Data: Export and consolidate 'onSubKey' helper (WordPress/gutenberg#77364) - Paragraph: Refactor replacement logic in 'useOnEnter' hook (WordPress/gutenberg#77383) - Fix pseudo selector block style rendering in the editor (WordPress/gutenberg#76879) - Tabs: Lock top-level structure and disable visibility controls (WordPress/gutenberg#77370) - Share React CSS custom properties typing (WordPress/gutenberg#77394) - Notes: Refactor and extract offset calculation logic (WordPress/gutenberg#77414) - Tabs: Remove redundant version field from block.json (WordPress/gutenberg#77417) - Latest Comments: Fix uneven padding issue causing mis-alignment (WordPress/gutenberg#77379) - Workflow: Use --wpds-cursor-control design token (WordPress/gutenberg#77369) - blocks: Port over some of the type information for @wordpress/blocks from DefinitelyTyped (WordPress/gutenberg#77393) - Notes: Extract floating notes state into a dedicated store (WordPress/gutenberg#77424) - Tabs: Handle duplicating tabs (WordPress/gutenberg#76449) - Components: Refactor NavigableContainer from class to function component (WordPress/gutenberg#77171) - UI: Fix focus-trap broken by ThemeProvider's display:contents (WordPress/gutenberg#77381) - viewport visibility: use 'key' instead of 'value' for device type (WordPress/gutenberg#77410) - Update changelog for blocks package (WordPress/gutenberg#77437) - Tabs: Clean up Edit components (WordPress/gutenberg#77426) - Media editor: remove unused dependency (WordPress/gutenberg#77438) - Block Editor: Strip per-block custom CSS on save for users without edit_css (WordPress/gutenberg#76650) - Ensure Post Template fallback styles don't apply when minimumColumnWidth is defined (WordPress/gutenberg#77411) - UI: Upgrade title validation to cleanup-based re-validation (WordPress/gutenberg#77165) - ui/Tabs: Fix `act()` warnings in tests (WordPress/gutenberg#77319) - docs: Clarify UI package setup for different contexts (WordPress/gutenberg#77338) - Fix: Preserve aspectRatio and scale when switching to wide/full align… (WordPress/gutenberg#76914) - Link: Honor `openInNewTab` consistently (WordPress/gutenberg#77422) - Block Supports: Add min width support to dimensions (WordPress/gutenberg#76949) - Link: Remove underline from unstyled icon links (WordPress/gutenberg#77420) - Theme: Update Terrazzo packages to 2.0 (WordPress/gutenberg#77432) - Editor: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77376) - GlobalStylesUI: Use `--wpds-cursor-control` design token for interact… (WordPress/gutenberg#77335) - Typescript: Migrate keyboard-shortcuts to TS (WordPress/gutenberg#76287) - GlobalStylesUI: Remove unused CSS rule (WordPress/gutenberg#77456) - Writing Flow: fix arrow keys skipping paragraph containing link (WordPress/gutenberg#77474) - Ensure layout classnames are applied to the inner blocks wrapper and not to its siblings (WordPress/gutenberg#77408) - Fix: Change Featured Image toggle label to 'Make image a link' (WordPress/gutenberg#71931) - Autocomplete: Skip stale triggers from completed mentions (WordPress/gutenberg#77185) - Fix: Add cursor pointer to the ariakit menu item component - Issue - WordPress/gutenberg#70411 (WordPress/gutenberg#70412) - Guidelines CPT: Skip registration when post type already exists (WordPress/gutenberg#77486) - ESLint: Introduce bulk suppressions workflow (WordPress/gutenberg#77392) - Add heading level 1 for the fonts page (WordPress/gutenberg#77482) - CollapsibleCard: Fix missing keyboard focus ring on the header chevron icon when rendered inside wp-admin (WordPress/gutenberg#77468) - Docs: Add ESLint v10 migration guide and polish docs (WordPress/gutenberg#77217) - Tabs: Fix missing keyboard focus ring on the panel in Windows High Contrast mode when rendered inside wp-admin (WordPress/gutenberg#77469) - EditSite: Remove unused CSS rule (WordPress/gutenberg#77494) - Card: Remove unused CardContext (WordPress/gutenberg#77463) - design-system-mcp: Add new package for design system MCP tooling (WordPress/gutenberg#77159) - Storybook: Fix component descriptions in manifest files (WordPress/gutenberg#77112) - Notes: Reduce passes in useBlockComments memo and rename outputs (WordPress/gutenberg#77440) - Upload Media: Enable concurrent sideload uploads (WordPress/gutenberg#75888) - Deduplicate client-side image sizes with matching dimensions (WordPress/gutenberg#77036) - Convert tests/unit to npm workspace (WordPress/gutenberg#77063) - UI: Portal prop and Portal subcomponents for overlay Popups (WordPress/gutenberg#77452) - Storybook: add global preview styles for @wordpress/ui overlays (WordPress/gutenberg#77451) - Experiment: Add custom taxonomies (WordPress/gutenberg#77497) - Storybook: Fix 'Open source file' links for storybook-local stories (WordPress/gutenberg#76758) - UI Dialog: Add Description, modal context, and misc improvements (WordPress/gutenberg#77194) - Docs: Update parameter type from `number` to `int` in CSS declaration methods (WordPress/gutenberg#77519) - Fix: use node_modules/.bin/stylelint to avoid npm warnings on Node 24 (WordPress/gutenberg#77512) - Text: Apply both heading and paragraph CSS defenses unconditionally (WordPress/gutenberg#77461) - Notes: Compute note positions centrally in useFloatingBoard (WordPress/gutenberg#77433) - Stylelint: Add cursor pointer rule and block-library override (WordPress/gutenberg#77501) - Admin UI: Add visual prop to Page header component (WordPress/gutenberg#76469) - Fix: post saving should be locked during media uploads (WordPress/gutenberg#76973) - RTC: Fixed orphaned meta causing dirty editor state (WordPress/gutenberg#77529) - Media Editor experiment: add experimental image editor and cropper (WordPress/gutenberg#77479) - UI: Start recommending new Card components (WordPress/gutenberg#77423) - Media Editor Modal: Add a media editor modal experiment (WordPress/gutenberg#77480) - Expand support for `isElementVisible` (`VisuallyHidden`) (WordPress/gutenberg#77191) - Experiments Page: Update labels for the media-related experiments to group them together and better clarify what the experiments do (WordPress/gutenberg#77536) - Media Editor: render cropper in media editor modal for images (WordPress/gutenberg#77537) - Tabs: Rename tabs blocks to follow WCAG Tabs pattern (WordPress/gutenberg#77418) - [Video Block]: Update z-index for tracks popover to ensure proper stacking context (WordPress/gutenberg#77517) - Guidelines: Make the CPT type-aware (WordPress/gutenberg#77491) - Taxonomies: add spacing above Add Taxonomy modal actions (WordPress/gutenberg#77523) - Taxonomies Route: Declare @wordpress/base-styles dependency (WordPress/gutenberg#77543) - Taxonomies: warn when editing an existing taxonomy's slug (WordPress/gutenberg#77527) - Site Logo Block: Enable the media editor modal experiment for the crop button (WordPress/gutenberg#77548) - Menu: Fix flaky submenu focus test (WordPress/gutenberg#77430) - Add no-unsafe-render-order ESLint rule (WordPress/gutenberg#77428) - UI: Update `@base-ui/react` from `1.4.0` to `1.4.1` (WordPress/gutenberg#77520) - components: Menu popover render + surface/motion split (WordPress/gutenberg#77460) - Upload Media: Use .jpg extension for HEIC-to-JPEG client conversion (WordPress/gutenberg#77506) - Consolidate ESLint config into tools/eslint/ workspace package (WordPress/gutenberg#77215) - UI: Add Drawer primitive (WordPress/gutenberg#76690) - Fix import order in block-editor `custom-css.js` (WordPress/gutenberg#77566) - Experiment: Follow up improvements on taxonomies(77497) (WordPress/gutenberg#77567) - Client-side media: declare convert_format as boolean arg on sideload route (WordPress/gutenberg#77565) - Media Upload Modal: Enhance filtering logic to support "text/vtt" and "video/*" (WordPress/gutenberg#77550) - Media Editor: add cropper controls to the media editor modal (WordPress/gutenberg#77540) - Media Editor: add zoom control and hide fine rotation on narrow viewports (WordPress/gutenberg#77585) - Remove ZebulanStanphill from CODEOWNERS (WordPress/gutenberg#77586) - Image editor: reserve inner gutter so crop handles stay accessible (WordPress/gutenberg#77547) - Docs: Auto-generate per-block API reference pages from block.json (WordPress/gutenberg#77350) - Embed: Fix variation upgrade undo trap (WordPress/gutenberg#77546) - fix: block-mover up/down button tooltip positions (WordPress/gutenberg#77588) - fix: edit-post back button tooltip position (WordPress/gutenberg#77587) - Revert "Docs: Auto-generate per-block API reference pages from block.json (https://github.com/WordPress/gutenberg/pull/7…" (WordPress/gutenberg#77590) - Experiment: Add delete action to taxonomy management (WordPress/gutenberg#77524) - Tests: Remove duplicate mentions spec (WordPress/gutenberg#77593) - Notes: Refactor to use new '@wordpress/ui' components (WordPress/gutenberg#77589) - wp-build: Widen optional peer dependency ranges (WordPress/gutenberg#77568) - Eslint: Improve design token linting for CSS declaration strings (WordPress/gutenberg#77384) - ESLint: Add `use-import-as` rule (WordPress/gutenberg#77389) - Experiments: register `gutenberg-dashboard-widgets` flag (WordPress/gutenberg#77569) - Media: Move image output format filtering to upload response (WordPress/gutenberg#75793) - Dashboard: register admin page route + sidebar menu (shell) (WordPress/gutenberg#77573) - Experiment: Fix console errors/warnings for taxonomies (WordPress/gutenberg#77601) - Experiment: Improve `taxonomies` DataViews height (WordPress/gutenberg#77603) - Experimental Image Cropper: Ensure focus is on canvas when dragging (WordPress/gutenberg#77591) - Template parts: make 'Detach' context menu item consistent across patterns and template parts (WordPress/gutenberg#77581) - Experimental Image Cropper: Tweak the keyboard interactions with drag handles and canvas (WordPress/gutenberg#77639) - Fix: block-mover horizontal tooltip position (WordPress/gutenberg#77597) - Experiment: Render taxonomy status as a Badge (WordPress/gutenberg#77635) - Guidelines: Drop default_term from wp_guideline_type taxonomy (WordPress/gutenberg#77592) - Form blocks: Update block categories for form, form-input, form-submission-notification, and form-submit-button (WordPress/gutenberg#61916) - Experiment: Split status action to two actions, make them bulk-capable (WordPress/gutenberg#77637) - ButtonGroup: Inline z-index (WordPress/gutenberg#77621) - VisuallyHidden: Recommend @wordpress/ui and migrate usages (WordPress/gutenberg#77575) - Experiment: Improve taxonomy `edit` action (WordPress/gutenberg#77605) - FormToggle: Inline z-index (WordPress/gutenberg#77619) - ResizableBox: Inline handle z-index (WordPress/gutenberg#77620) - Build: Skip sourcemaps for WASM-inlined script module workers (WordPress/gutenberg#75993) - RTC: Fix "Connection Lost" dialog when too many entities are loaded (WordPress/gutenberg#77631) - Experiments: Rebuild the wp-admin Experiments screen on the wp-build routes pattern (WordPress/gutenberg#77443) - Connectors: Treat network-active plugins as active in plugin status check (WordPress/gutenberg#77661) - Update TypeScript to tsgo (7.0) (WordPress/gutenberg#77177) - Revert tsgo update as it breaks trunk (WordPress/gutenberg#77680) - Image editor: fix locked-ratio resize driver-axis on non-square images (WordPress/gutenberg#77664) - Image editor: hold Shift while resizing to lock current aspect ratio (WordPress/gutenberg#77663) - [Admin UI]: Move to CSS modules and implement logical properties (WordPress/gutenberg#77088) - ui: Forward style and className on *.Popup to inner Base UI Popup (WordPress/gutenberg#77693) - ui: Align WithCustomZIndex Storybook examples across overlays (WordPress/gutenberg#77648) - ui: Uniform title and description styles across overlays (WordPress/gutenberg#77692) - UI: Add `Autocomplete` primitive (WordPress/gutenberg#77642) - Admin UI: change default heading level from h2 to h1 (WordPress/gutenberg#77617) - ui/Dialog, ui/AlertDialog, ui/Drawer: support sticky header and footer (WordPress/gutenberg#77559) - e2e: shorten visit-site-editor canvas-loader visible wait (WordPress/gutenberg#77725) - Gutenberg Experiments: Ensure the experiment is active before outputting flags (WordPress/gutenberg#77728) - Image editor: formalize cropper contract (WordPress/gutenberg#77668) - Image Editor experiment: Pass theme aspect ratios to media editor (WordPress/gutenberg#77665) - Media Editor Modal: save via Core's /edit modifiers (WordPress/gutenberg#77641) - Experiment: Taxonomies new package and `add/edit` screens (WordPress/gutenberg#77657) - Media editor: confirm before discarding unsaved changes (WordPress/gutenberg#77730) - `FormTokenField`: Add `help` prop to render additional help text below the field (WordPress/gutenberg#77552) - Migrate `test/integration` into `@wordpress/integration-tests` workspace (WordPress/gutenberg#77556) - Tabs: Add classic theme styles to reset button defaults (WordPress/gutenberg#77607) - Media Editor Modal: surface save failures as scoped snackbar notices (WordPress/gutenberg#77733) - DataForm: Render field `description` as help text in the `array` control (WordPress/gutenberg#77554) - Revisions: Improve screen reader accessibility for diff markers region and slider (WordPress/gutenberg#77660) - fix: disable custom css command for non block themes (WordPress/gutenberg#77685) - Experiments: Declare `@wordpress/base-styles` dependency (WordPress/gutenberg#77684) - Notes: Refactor internals into smaller components (WordPress/gutenberg#77614) - Connectors: Add role="list" wrapper to connector cards for valid ARIA structure (WordPress/gutenberg#77689) - Admin UI: use UI Text component in header (WordPress/gutenberg#77372) - I18N: Polyfill script module translations for WordPress < 7.0 (WordPress/gutenberg#77214) - Refactor Admin UI / Breadcrumbs to use DS components and design tokens (WordPress/gutenberg#77012) - ui: Unify hairline border across overlay popups (WordPress/gutenberg#77691) - Base Styles: Remove stale z-index entries (WordPress/gutenberg#77714) - CircularOptionPicker: Inline z-index values (WordPress/gutenberg#77715) - ComplementaryArea: Inline z-index values (WordPress/gutenberg#77717) - Disable TinyMCE: Warning instead of direct redirect (WordPress/gutenberg#77747) - Tooltip: Fix flaky unit test (WordPress/gutenberg#77751) - Admin UI: ensure consistent header spacing with and without actions (WordPress/gutenberg#76683) - RTC: fix connection lost error on large update cause by mismatch between update size bounds check and expanded base64 update size (WordPress/gutenberg#77669) - Add `@wordpress/grid` package (WordPress/gutenberg#77562) - Base styles: update changelog to be clearer (WordPress/gutenberg#77767) - Media editor modal: add interactive grid (WordPress/gutenberg#77771) - Media editor: avoid double-mount flicker on open (WordPress/gutenberg#77732) - Command Palette: Fix macOs label for sites unable to determine UA via PHP (WordPress/gutenberg#77638) - Accordion: Remove invalid `isBlock` prop from `ToggleControl` (WordPress/gutenberg#77776) - Guidelines: Extract initial public API methods (WordPress/gutenberg#77643) - Embed: Restore paragraph with URL when undoing paste-to-embed transform (WordPress/gutenberg#77551) - Guidelines: Split singleton REST API into dedicated /content-guidelines route (WordPress/gutenberg#77734) - Allow EmptyState from @wordpress/ui in recommended components (WordPress/gutenberg#77765) - Block Editor: Fix blockGap fallback parsing for nested var() values (WordPress/gutenberg#77750) - Core Data: Remove redundant memoization wrapper from 'getQueriedItems' (WordPress/gutenberg#77483) - Enhancement: Add descriptive name for docker container images (WordPress/gutenberg#67827) - Fix: Add Missing Dimension Controls & Limited Customization in Accordion Block (WordPress/gutenberg#77780) - Connectors: keep focus on action Button during install (WordPress/gutenberg#77544) - Widgets: add widget-types data layer (WordPress/gutenberg#77752) - Grid: fix `width: 'fill'` when tiles span multiple rows (WordPress/gutenberg#77769) - CollapsibleCard: Prevent focus ring clipping by content overflow (WordPress/gutenberg#77667) - Block editor: Remove stale reusable block z-index styles (WordPress/gutenberg#77774) - Grid: add @types/jest devDependency (WordPress/gutenberg#77801) - Env: Minor refactoring of cacheDirectoryPath evaluation (WordPress/gutenberg#77799) - User Taxonomies: show Public field in create/edit form (WordPress/gutenberg#77802) - Experiment: Taxonomies REST controller (WordPress/gutenberg#77697) - Experiment: Taxonomies implement `auto-fill labels` (WordPress/gutenberg#77786) - UI: Recommend Link component for use (WordPress/gutenberg#77505) - ExternalLink: Align appearance with Link from @wordpress/ui (WordPress/gutenberg#77790) - Disable TinyMCE: Repurpose experiment as Classic block removal (WordPress/gutenberg#77838) - Media Upload Modal: Fix pagination and search (WordPress/gutenberg#77872) - Disable Classic block: Always register, hide from inserter conditionally (WordPress/gutenberg#77840) - Disable Classic block: Control inserter support via filter (WordPress/gutenberg#77845) - Classic Block: Unwrap experiment to hide it from inserter (WordPress/gutenberg#77911) - RTC: Attach sync observers after hydrating persisted CRDT doc (WordPress/gutenberg#77966) - RTC: Fix compaction unit test (WordPress/gutenberg#77986) - RTC: Fix divergence when two offline users reconnect (WordPress/gutenberg#77980) - Fix PHP multisite tests (WordPress/gutenberg#77825) - Connectors: Stop e2e capability restriction from leaking across specs (WordPress/gutenberg#77857) Props adamsilverstein, jorbin, westonruter, wildworks. Fixes #65558. git-svn-id: https://develop.svn.wordpress.org/trunk@62581 602fd350-edb4-49c9-b593-d223f7449a82
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
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
This updates the pinned commit hash of the Gutenberg repository from `7295bd91a3c2b64bb11dde0a12313210d9d16a12 ` (version `23.0.0`) to `585cf86bb6f408b1dc61175f75db016aa4760653` (version `23.1.0`). A full list of changes included in this commit can be found on GitHub: https://github.com/WordPress/gutenberg/compare/v23.0.0..v23.1.0. The following commits are included: - Edit Site: Move show-icon-labels handling to specific edit-site call sites (WordPress/gutenberg#77287) - Boot: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77357) - Image: Fix non-local image ID removal undo trap (WordPress/gutenberg#77367) - Block Editor: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77354) - Test: Connectors Point to the righ page. (WordPress/gutenberg#77272) - Commands: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77358) - UI: use Text in Notice.ActionLink typography (WordPress/gutenberg#77332) - Jest setup: remove unneeded rAF polyfills (WordPress/gutenberg#77378) - Fields: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77373) - Widgets: Use --wpds-cursor-control design token (WordPress/gutenberg#77368) - EditPost: Use `--wpds-cursor-control` design token for interactive controls (WordPress/gutenberg#77360) - Post Editor: Store metaboxes RTC-compatible flag on location entries (WordPress/gutenberg#77361) - UI: Use shared style-imports types (WordPress/gutenberg#77388) - Stop adding “noreferrer” to external links except File block. (WordPress/gutenberg#26968) - Core Abilities: Export initialization promise as `ready` (WordPress/gutenberg#77254) - Externalize react-dom/client (WordPress/gutenberg#77326) - Data: Export and consolidate 'onSubKey' helper (WordPress/gutenberg#77364) - Paragraph: Refactor replacement logic in 'useOnEnter' hook (WordPress/gutenberg#77383) - Fix pseudo selector block style rendering in the editor (WordPress/gutenberg#76879) - Tabs: Lock top-level structure and disable visibility controls (WordPress/gutenberg#77370) - Share React CSS custom properties typing (WordPress/gutenberg#77394) - Notes: Refactor and extract offset calculation logic (WordPress/gutenberg#77414) - Tabs: Remove redundant version field from block.json (WordPress/gutenberg#77417) - Latest Comments: Fix uneven padding issue causing mis-alignment (WordPress/gutenberg#77379) - Workflow: Use --wpds-cursor-control design token (WordPress/gutenberg#77369) - blocks: Port over some of the type information for @wordpress/blocks from DefinitelyTyped (WordPress/gutenberg#77393) - Notes: Extract floating notes state into a dedicated store (WordPress/gutenberg#77424) - Tabs: Handle duplicating tabs (WordPress/gutenberg#76449) - Components: Refactor NavigableContainer from class to function component (WordPress/gutenberg#77171) - UI: Fix focus-trap broken by ThemeProvider's display:contents (WordPress/gutenberg#77381) - viewport visibility: use 'key' instead of 'value' for device type (WordPress/gutenberg#77410) - Update changelog for blocks package (WordPress/gutenberg#77437) - Tabs: Clean up Edit components (WordPress/gutenberg#77426) - Media editor: remove unused dependency (WordPress/gutenberg#77438) - Block Editor: Strip per-block custom CSS on save for users without edit_css (WordPress/gutenberg#76650) - Ensure Post Template fallback styles don't apply when minimumColumnWidth is defined (WordPress/gutenberg#77411) - UI: Upgrade title validation to cleanup-based re-validation (WordPress/gutenberg#77165) - ui/Tabs: Fix `act()` warnings in tests (WordPress/gutenberg#77319) - docs: Clarify UI package setup for different contexts (WordPress/gutenberg#77338) - Fix: Preserve aspectRatio and scale when switching to wide/full align… (WordPress/gutenberg#76914) - Link: Honor `openInNewTab` consistently (WordPress/gutenberg#77422) - Block Supports: Add min width support to dimensions (WordPress/gutenberg#76949) - Link: Remove underline from unstyled icon links (WordPress/gutenberg#77420) - Theme: Update Terrazzo packages to 2.0 (WordPress/gutenberg#77432) - Editor: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77376) - GlobalStylesUI: Use `--wpds-cursor-control` design token for interact… (WordPress/gutenberg#77335) - Typescript: Migrate keyboard-shortcuts to TS (WordPress/gutenberg#76287) - GlobalStylesUI: Remove unused CSS rule (WordPress/gutenberg#77456) - Writing Flow: fix arrow keys skipping paragraph containing link (WordPress/gutenberg#77474) - Ensure layout classnames are applied to the inner blocks wrapper and not to its siblings (WordPress/gutenberg#77408) - Fix: Change Featured Image toggle label to 'Make image a link' (WordPress/gutenberg#71931) - Autocomplete: Skip stale triggers from completed mentions (WordPress/gutenberg#77185) - Fix: Add cursor pointer to the ariakit menu item component - Issue - WordPress/gutenberg#70411 (WordPress/gutenberg#70412) - Guidelines CPT: Skip registration when post type already exists (WordPress/gutenberg#77486) - ESLint: Introduce bulk suppressions workflow (WordPress/gutenberg#77392) - Add heading level 1 for the fonts page (WordPress/gutenberg#77482) - CollapsibleCard: Fix missing keyboard focus ring on the header chevron icon when rendered inside wp-admin (WordPress/gutenberg#77468) - Docs: Add ESLint v10 migration guide and polish docs (WordPress/gutenberg#77217) - Tabs: Fix missing keyboard focus ring on the panel in Windows High Contrast mode when rendered inside wp-admin (WordPress/gutenberg#77469) - EditSite: Remove unused CSS rule (WordPress/gutenberg#77494) - Card: Remove unused CardContext (WordPress/gutenberg#77463) - design-system-mcp: Add new package for design system MCP tooling (WordPress/gutenberg#77159) - Storybook: Fix component descriptions in manifest files (WordPress/gutenberg#77112) - Notes: Reduce passes in useBlockComments memo and rename outputs (WordPress/gutenberg#77440) - Upload Media: Enable concurrent sideload uploads (WordPress/gutenberg#75888) - Deduplicate client-side image sizes with matching dimensions (WordPress/gutenberg#77036) - Convert tests/unit to npm workspace (WordPress/gutenberg#77063) - UI: Portal prop and Portal subcomponents for overlay Popups (WordPress/gutenberg#77452) - Storybook: add global preview styles for @wordpress/ui overlays (WordPress/gutenberg#77451) - Experiment: Add custom taxonomies (WordPress/gutenberg#77497) - Storybook: Fix 'Open source file' links for storybook-local stories (WordPress/gutenberg#76758) - UI Dialog: Add Description, modal context, and misc improvements (WordPress/gutenberg#77194) - Docs: Update parameter type from `number` to `int` in CSS declaration methods (WordPress/gutenberg#77519) - Fix: use node_modules/.bin/stylelint to avoid npm warnings on Node 24 (WordPress/gutenberg#77512) - Text: Apply both heading and paragraph CSS defenses unconditionally (WordPress/gutenberg#77461) - Notes: Compute note positions centrally in useFloatingBoard (WordPress/gutenberg#77433) - Stylelint: Add cursor pointer rule and block-library override (WordPress/gutenberg#77501) - Admin UI: Add visual prop to Page header component (WordPress/gutenberg#76469) - Fix: post saving should be locked during media uploads (WordPress/gutenberg#76973) - RTC: Fixed orphaned meta causing dirty editor state (WordPress/gutenberg#77529) - Media Editor experiment: add experimental image editor and cropper (WordPress/gutenberg#77479) - UI: Start recommending new Card components (WordPress/gutenberg#77423) - Media Editor Modal: Add a media editor modal experiment (WordPress/gutenberg#77480) - Expand support for `isElementVisible` (`VisuallyHidden`) (WordPress/gutenberg#77191) - Experiments Page: Update labels for the media-related experiments to group them together and better clarify what the experiments do (WordPress/gutenberg#77536) - Media Editor: render cropper in media editor modal for images (WordPress/gutenberg#77537) - Tabs: Rename tabs blocks to follow WCAG Tabs pattern (WordPress/gutenberg#77418) - [Video Block]: Update z-index for tracks popover to ensure proper stacking context (WordPress/gutenberg#77517) - Guidelines: Make the CPT type-aware (WordPress/gutenberg#77491) - Taxonomies: add spacing above Add Taxonomy modal actions (WordPress/gutenberg#77523) - Taxonomies Route: Declare @wordpress/base-styles dependency (WordPress/gutenberg#77543) - Taxonomies: warn when editing an existing taxonomy's slug (WordPress/gutenberg#77527) - Site Logo Block: Enable the media editor modal experiment for the crop button (WordPress/gutenberg#77548) - Menu: Fix flaky submenu focus test (WordPress/gutenberg#77430) - Add no-unsafe-render-order ESLint rule (WordPress/gutenberg#77428) - UI: Update `@base-ui/react` from `1.4.0` to `1.4.1` (WordPress/gutenberg#77520) - components: Menu popover render + surface/motion split (WordPress/gutenberg#77460) - Upload Media: Use .jpg extension for HEIC-to-JPEG client conversion (WordPress/gutenberg#77506) - Consolidate ESLint config into tools/eslint/ workspace package (WordPress/gutenberg#77215) - UI: Add Drawer primitive (WordPress/gutenberg#76690) - Fix import order in block-editor `custom-css.js` (WordPress/gutenberg#77566) - Experiment: Follow up improvements on taxonomies(77497) (WordPress/gutenberg#77567) - Client-side media: declare convert_format as boolean arg on sideload route (WordPress/gutenberg#77565) - Media Upload Modal: Enhance filtering logic to support "text/vtt" and "video/*" (WordPress/gutenberg#77550) - Media Editor: add cropper controls to the media editor modal (WordPress/gutenberg#77540) - Media Editor: add zoom control and hide fine rotation on narrow viewports (WordPress/gutenberg#77585) - Remove ZebulanStanphill from CODEOWNERS (WordPress/gutenberg#77586) - Image editor: reserve inner gutter so crop handles stay accessible (WordPress/gutenberg#77547) - Docs: Auto-generate per-block API reference pages from block.json (WordPress/gutenberg#77350) - Embed: Fix variation upgrade undo trap (WordPress/gutenberg#77546) - fix: block-mover up/down button tooltip positions (WordPress/gutenberg#77588) - fix: edit-post back button tooltip position (WordPress/gutenberg#77587) - Revert "Docs: Auto-generate per-block API reference pages from block.json (https://github.com/WordPress/gutenberg/pull/7…" (WordPress/gutenberg#77590) - Experiment: Add delete action to taxonomy management (WordPress/gutenberg#77524) - Tests: Remove duplicate mentions spec (WordPress/gutenberg#77593) - Notes: Refactor to use new '@wordpress/ui' components (WordPress/gutenberg#77589) - wp-build: Widen optional peer dependency ranges (WordPress/gutenberg#77568) - Eslint: Improve design token linting for CSS declaration strings (WordPress/gutenberg#77384) - ESLint: Add `use-import-as` rule (WordPress/gutenberg#77389) - Experiments: register `gutenberg-dashboard-widgets` flag (WordPress/gutenberg#77569) - Media: Move image output format filtering to upload response (WordPress/gutenberg#75793) - Dashboard: register admin page route + sidebar menu (shell) (WordPress/gutenberg#77573) - Experiment: Fix console errors/warnings for taxonomies (WordPress/gutenberg#77601) - Experiment: Improve `taxonomies` DataViews height (WordPress/gutenberg#77603) - Experimental Image Cropper: Ensure focus is on canvas when dragging (WordPress/gutenberg#77591) - Template parts: make 'Detach' context menu item consistent across patterns and template parts (WordPress/gutenberg#77581) - Experimental Image Cropper: Tweak the keyboard interactions with drag handles and canvas (WordPress/gutenberg#77639) - Fix: block-mover horizontal tooltip position (WordPress/gutenberg#77597) - Experiment: Render taxonomy status as a Badge (WordPress/gutenberg#77635) - Guidelines: Drop default_term from wp_guideline_type taxonomy (WordPress/gutenberg#77592) - Form blocks: Update block categories for form, form-input, form-submission-notification, and form-submit-button (WordPress/gutenberg#61916) - Experiment: Split status action to two actions, make them bulk-capable (WordPress/gutenberg#77637) - ButtonGroup: Inline z-index (WordPress/gutenberg#77621) - VisuallyHidden: Recommend @wordpress/ui and migrate usages (WordPress/gutenberg#77575) - Experiment: Improve taxonomy `edit` action (WordPress/gutenberg#77605) - FormToggle: Inline z-index (WordPress/gutenberg#77619) - ResizableBox: Inline handle z-index (WordPress/gutenberg#77620) - Build: Skip sourcemaps for WASM-inlined script module workers (WordPress/gutenberg#75993) - RTC: Fix "Connection Lost" dialog when too many entities are loaded (WordPress/gutenberg#77631) - Experiments: Rebuild the wp-admin Experiments screen on the wp-build routes pattern (WordPress/gutenberg#77443) - Connectors: Treat network-active plugins as active in plugin status check (WordPress/gutenberg#77661) - Update TypeScript to tsgo (7.0) (WordPress/gutenberg#77177) - Revert tsgo update as it breaks trunk (WordPress/gutenberg#77680) - Image editor: fix locked-ratio resize driver-axis on non-square images (WordPress/gutenberg#77664) - Image editor: hold Shift while resizing to lock current aspect ratio (WordPress/gutenberg#77663) - [Admin UI]: Move to CSS modules and implement logical properties (WordPress/gutenberg#77088) - ui: Forward style and className on *.Popup to inner Base UI Popup (WordPress/gutenberg#77693) - ui: Align WithCustomZIndex Storybook examples across overlays (WordPress/gutenberg#77648) - ui: Uniform title and description styles across overlays (WordPress/gutenberg#77692) - UI: Add `Autocomplete` primitive (WordPress/gutenberg#77642) - Admin UI: change default heading level from h2 to h1 (WordPress/gutenberg#77617) - ui/Dialog, ui/AlertDialog, ui/Drawer: support sticky header and footer (WordPress/gutenberg#77559) - e2e: shorten visit-site-editor canvas-loader visible wait (WordPress/gutenberg#77725) - Gutenberg Experiments: Ensure the experiment is active before outputting flags (WordPress/gutenberg#77728) - Image editor: formalize cropper contract (WordPress/gutenberg#77668) - Image Editor experiment: Pass theme aspect ratios to media editor (WordPress/gutenberg#77665) - Media Editor Modal: save via Core's /edit modifiers (WordPress/gutenberg#77641) - Experiment: Taxonomies new package and `add/edit` screens (WordPress/gutenberg#77657) - Media editor: confirm before discarding unsaved changes (WordPress/gutenberg#77730) - `FormTokenField`: Add `help` prop to render additional help text below the field (WordPress/gutenberg#77552) - Migrate `test/integration` into `@wordpress/integration-tests` workspace (WordPress/gutenberg#77556) - Tabs: Add classic theme styles to reset button defaults (WordPress/gutenberg#77607) - Media Editor Modal: surface save failures as scoped snackbar notices (WordPress/gutenberg#77733) - DataForm: Render field `description` as help text in the `array` control (WordPress/gutenberg#77554) - Revisions: Improve screen reader accessibility for diff markers region and slider (WordPress/gutenberg#77660) - fix: disable custom css command for non block themes (WordPress/gutenberg#77685) - Experiments: Declare `@wordpress/base-styles` dependency (WordPress/gutenberg#77684) - Notes: Refactor internals into smaller components (WordPress/gutenberg#77614) - Connectors: Add role="list" wrapper to connector cards for valid ARIA structure (WordPress/gutenberg#77689) - Admin UI: use UI Text component in header (WordPress/gutenberg#77372) - I18N: Polyfill script module translations for WordPress < 7.0 (WordPress/gutenberg#77214) - Refactor Admin UI / Breadcrumbs to use DS components and design tokens (WordPress/gutenberg#77012) - ui: Unify hairline border across overlay popups (WordPress/gutenberg#77691) - Base Styles: Remove stale z-index entries (WordPress/gutenberg#77714) - CircularOptionPicker: Inline z-index values (WordPress/gutenberg#77715) - ComplementaryArea: Inline z-index values (WordPress/gutenberg#77717) - Disable TinyMCE: Warning instead of direct redirect (WordPress/gutenberg#77747) - Tooltip: Fix flaky unit test (WordPress/gutenberg#77751) - Admin UI: ensure consistent header spacing with and without actions (WordPress/gutenberg#76683) - RTC: fix connection lost error on large update cause by mismatch between update size bounds check and expanded base64 update size (WordPress/gutenberg#77669) - Add `@wordpress/grid` package (WordPress/gutenberg#77562) - Base styles: update changelog to be clearer (WordPress/gutenberg#77767) - Media editor modal: add interactive grid (WordPress/gutenberg#77771) - Media editor: avoid double-mount flicker on open (WordPress/gutenberg#77732) - Command Palette: Fix macOs label for sites unable to determine UA via PHP (WordPress/gutenberg#77638) - Accordion: Remove invalid `isBlock` prop from `ToggleControl` (WordPress/gutenberg#77776) - Guidelines: Extract initial public API methods (WordPress/gutenberg#77643) - Embed: Restore paragraph with URL when undoing paste-to-embed transform (WordPress/gutenberg#77551) - Guidelines: Split singleton REST API into dedicated /content-guidelines route (WordPress/gutenberg#77734) - Allow EmptyState from @wordpress/ui in recommended components (WordPress/gutenberg#77765) - Block Editor: Fix blockGap fallback parsing for nested var() values (WordPress/gutenberg#77750) - Core Data: Remove redundant memoization wrapper from 'getQueriedItems' (WordPress/gutenberg#77483) - Enhancement: Add descriptive name for docker container images (WordPress/gutenberg#67827) - Fix: Add Missing Dimension Controls & Limited Customization in Accordion Block (WordPress/gutenberg#77780) - Connectors: keep focus on action Button during install (WordPress/gutenberg#77544) - Widgets: add widget-types data layer (WordPress/gutenberg#77752) - Grid: fix `width: 'fill'` when tiles span multiple rows (WordPress/gutenberg#77769) - CollapsibleCard: Prevent focus ring clipping by content overflow (WordPress/gutenberg#77667) - Block editor: Remove stale reusable block z-index styles (WordPress/gutenberg#77774) - Grid: add @types/jest devDependency (WordPress/gutenberg#77801) - Env: Minor refactoring of cacheDirectoryPath evaluation (WordPress/gutenberg#77799) - User Taxonomies: show Public field in create/edit form (WordPress/gutenberg#77802) - Experiment: Taxonomies REST controller (WordPress/gutenberg#77697) - Experiment: Taxonomies implement `auto-fill labels` (WordPress/gutenberg#77786) - UI: Recommend Link component for use (WordPress/gutenberg#77505) - ExternalLink: Align appearance with Link from @wordpress/ui (WordPress/gutenberg#77790) - Disable TinyMCE: Repurpose experiment as Classic block removal (WordPress/gutenberg#77838) - Media Upload Modal: Fix pagination and search (WordPress/gutenberg#77872) - Disable Classic block: Always register, hide from inserter conditionally (WordPress/gutenberg#77840) - Disable Classic block: Control inserter support via filter (WordPress/gutenberg#77845) - Classic Block: Unwrap experiment to hide it from inserter (WordPress/gutenberg#77911) - RTC: Attach sync observers after hydrating persisted CRDT doc (WordPress/gutenberg#77966) - RTC: Fix compaction unit test (WordPress/gutenberg#77986) - RTC: Fix divergence when two offline users reconnect (WordPress/gutenberg#77980) - Fix PHP multisite tests (WordPress/gutenberg#77825) - Connectors: Stop e2e capability restriction from leaking across specs (WordPress/gutenberg#77857) Props adamsilverstein, jorbin, westonruter, wildworks. Fixes #65558. git-svn-id: https://develop.svn.wordpress.org/trunk@62581 602fd350-edb4-49c9-b593-d223f7449a82
This updates the pinned commit hash of the Gutenberg repository from `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
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
Summary
image_editor_output_formatfiltering 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 decisionsimage_output_formatandimage_save_progressivefields to the attachment REST response schemaimage_output_formats,jpeg_interlaced,png_interlaced,gif_interlacedfrom the REST indexCloses #75784.
Test plan
image_output_format(null by default) andimage_save_progressive(false by default) appear in the REST responseimage_editor_output_formatfilter (e.g., JPEG→WebP) and verify the per-fileimage_output_formatreflects it on upload/) no longer includesimage_output_formats,jpeg_interlaced,png_interlaced,gif_interlacednpm run test:unit packages/upload-mediavendor/bin/phpunit phpunit/media/🤖 Generated with Claude Code