Skip to content

Media: Detect HEIC uploads from the file header rather than the file name - #81737

Merged
adamsilverstein merged 22 commits into
trunkfrom
fix/81707-heic-wrong-extension
Sep 22, 2026
Merged

adamsilverstein merged 22 commits into
trunkfrom
fix/81707-heic-wrong-extension

Conversation

@adamsilverstein

@adamsilverstein adamsilverstein commented Aug 17, 2026 •

Copy link
Copy Markdown
Member

What?

Detect HEIC uploads from the file's own header instead of from its name or the MIME type the browser reports, so a HEIC photo saved with a .jpg or .png extension, or one the operating system cannot type at all, converts like any other HEIC file. Also bound the ImageDecoder decode with a timeout so a decoder that never settles cannot hang the upload.

Fixes #81707
Fixes #81043

Supersedes #81211 by @singhakanshu00, whose timeout commit is carried here under their authorship. The header check in that PR came out of @t-hamano's review there and is generalized in this one.

Why?

A browser derives File.type from the file extension alone, and both places that route an upload went by that type:

  • prepareItem() in packages/upload-media/src/store/private-actions.ts treated a misnamed file as a JPEG/PNG, so it took the vips path. vips cannot decode HEIC, and the upload wound up stuck: the progress snackbar sat at "Uploading" and never completed or reported a failure. An attachment was still created, and WordPress renamed and re-encoded the file server side behind the editor's back.
  • The same routing saw an empty File.type, which is what Windows without the HEVC extension reports for a .heic file (confirmed by @369work and @t-hamano in HEIC upload hangs indefinitely instead of falling back to server-side processing #81043), as "not an image" and uploaded the raw bytes as-is to a server that could not convert them either.
  • heicMediaUpload() in packages/block-editor/src/components/provider/index.jsx (the HEIC-only canvas mode used in Safari) sorted the batch by the same type, so a misnamed or untyped file was handed to the server-side path.

Both paths now ask the file what it is. WordPress core already does this server side in wp_get_image_mime(), which reads the ISOBMFF File Type Box for exactly this reason.

Separately, ImageDecoder.isTypeSupported() can report HEIC support from the container format alone. When the platform codec behind it is missing, decode() never settles rather than rejecting, and nothing downstream ever runs. Nobody has caught this in the wild yet, but relabelling an untyped file as image/heic is what lets that strategy run at all for the Windows case, so the guard belongs in the same change.

How?

  • New isHeicFile() export in @wordpress/upload-media. It trusts a HEIC MIME type when there is one, otherwise reads the first 64 bytes and checks the File Type Box brands. AVIF shares the HEIF container and declares mif1 too, so the AVIF brands are ruled out first. Only files that could plausibly be images are read, so an ISOBMFF video is never mistaken for a still.
  • prepareItem() uses it for isHeic, and keeps isVipsSupported false for anything HEIC by content.
  • A misnamed or untyped file is re-labelled image/heic before conversion. The WebCodecs decoder is configured from File.type, and the untouched original is sideloaded as the attachment's source_original companion under its own name.
  • heicMediaUpload() partitions the batch with the same helper.
  • In canvasConvertToJpeg(), the ImageDecoder decode is raced against a 15 second timeout that closes the decoder, which rejects the pending call. Only a timed-out decode falls through to the next strategy; a decode that rejects on its own has read the file and found it damaged, and Client side media: improve HEIC error message and consider placing inside image block #81123 reports that as a processing error rather than blaming the codec. The ceiling is generous because it applies to every decode, not only a stalled one.

Testing Instructions

Test in WordPress Playground

Client-side media processing has to be active - check window.__clientSideMediaProcessing in the console.

Wrong extension (#81707):

  1. Take any .heic photo and rename it to .jpg. The test asset in this PR is one: test/e2e/assets/450x600_e2e_test_image_heic_wrong_extension.jpg.
  2. Upload it into an Image block.
  3. Where the browser can decode HEIC - Safari, or Chrome on macOS through VideoToolbox - it converts to a JPEG and uploads, same as the correctly named file.
  4. Where it cannot - Firefox, or Chrome on Linux - it reports "couldn't decode HEIC" instead of hanging.

Either way the result now matches what the same photo does with its real .heic extension, which is the point. On trunk, Safari quietly falls back to a server-side upload, and a browser that cannot decode HEIC leaves the "Uploading" snackbar spinning forever.

Untyped file (#81043):

  1. On Windows without the HEVC Video Extension, drop a .heic file onto an Image block. With the codecs installed it should convert; without them it should report "couldn't decode HEIC" after a moment rather than spinning forever. This is the environment the fix has not been run in yet, so a real Windows test would be very welcome.
  2. Anywhere else, simulate the empty type from the console before dropping a file: wrap the file as new File( [ original ], original.name, { type: '' } ) and dispatch it with wp.data.dispatch( 'core/upload-media' ).addItems( ... ), as @singhakanshu00 did on fix: Fixes HEIC uploads hanging indefinitely when ImageDecoder stalls #81211.

Stalled decoder: paste the StuckImageDecoder shim from the #81211 description into the console before uploading a .heic. On trunk the spinner never stops; here it moves on after 15 seconds.

Automated coverage:

npm run test:unit:vitest -- packages/upload-media
cd test/e2e && npx playwright test --project=chromium specs/editor/various/heic-wrong-extension.spec.js

Two e2e tests, one per routing site: the first in the default full client-side mode, the second with cross-origin isolation disabled so the editor falls into the HEIC-only canvas mode Safari uses. Both were confirmed failing before the corresponding fix and passing after - the second one still passes on trunk's prepareItem() fix alone, which is what makes the provider half worth covering separately.

Both run in Chromium deliberately. Chromium ships no HEVC codec, so the HEIC path always ends at the same decode error, and reaching that path is the thing under test. An earlier version of this spec asserted a successful conversion in WebKit; that passes on macOS, where the OS supplies the codec, and crashes the page on Linux CI.

Unit tests cover the header check for both the wrong-extension and empty-type cases, prepareItem() routing for both, a decode that never settles (fake timers), and a canvas failure after a successful decode staying a processing error rather than falling through.

Types of changes

Bug fix.

  • Add isHeicFile() to @wordpress/upload-media.
  • Route prepareItem() and heicMediaUpload() by file content rather than by File.type.
  • Re-label a misnamed or untyped HEIC before conversion and sideload.
  • Bound the ImageDecoder decode with a timeout, falling through only on timeout.
  • Add unit tests for the header check, the routing, and the decoder, plus an e2e spec covering both browser paths.

AI Use

Code and description both written with 🤖 Claude Code, apart from the timeout commit by @singhakanshu00. I will review and test.

…sion

A HEIC photo whose name says .jpg is announced to the editor as a JPEG,
so it never reaches the HEIC conversion: the upload sits at 'Uploading'
without ever completing or failing in Chromium, and is quietly handed to
the server-side path in Safari.

Covers both halves with the same photo under two names - Chromium, which
ships no HEVC codec, has to report the decode failure, and WebKit, which
decodes HEIC through the OS, has to convert it exactly as it does the
correctly named file.
…name

A browser derives File.type from the file extension alone, and both upload
routing decisions went by that type. A HEIC photo saved as .jpg therefore
took the vips path, which cannot decode HEIC, in full client-side mode, and
the server-side path, which cannot convert it either, in HEIC-only mode.

Read the ISOBMFF File Type Box instead, through a new isHeicFile export, so
a misnamed HEIC converts like any other. The file is re-labelled once
detected, since the WebCodecs decoder is configured from File.type and the
untouched original is sideloaded under its own name.

Fixes #81707.
@github-actions

github-actions Bot commented Aug 17, 2026 •

Copy link
Copy Markdown

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

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

Co-authored-by: adamsilverstein <adamsilverstein@git.wordpress.org>
Co-authored-by: singhakanshu00 <akanshusingh@git.wordpress.org>
Co-authored-by: t-hamano <wildworks@git.wordpress.org>
Co-authored-by: 369work <369work@git.wordpress.org>
Co-authored-by: aduth <aduth@git.wordpress.org>
Co-authored-by: pbiron <pbiron@git.wordpress.org>
Co-authored-by: aaronjorbin <jorbin@git.wordpress.org>

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

@github-actions github-actions Bot added the [Package] Block editor /packages/block-editor label Aug 17, 2026
@adamsilverstein adamsilverstein added [Type] Bug An existing feature does not function as intended [Feature] Client Side Media Media processing in the browser with WASM labels Aug 17, 2026
…-extension

# Conflicts:
#	packages/block-editor/CHANGELOG.md
@github-actions

github-actions Bot commented Aug 17, 2026 •

Copy link
Copy Markdown

Size Change: +261 B (0%)

Total Size: 7.91 MB

📦 View Changed
Filename Size Change
build/scripts/block-editor/index.min.js 477 kB +22 B (0%)
build/scripts/upload-media/index.min.js 16.5 kB +239 B (+1.47%)

compressed-size-action

@github-actions

github-actions Bot commented Aug 17, 2026 •

Copy link
Copy Markdown

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

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

refuses the drop and uploads nothing in /test/e2e/specs/editor/various/single-file-placeholder-drop.spec.js, passed after 1 failed attempt.
Error: expect(received).toHaveLength(expected)

Expected length: 0
Received length: 2
Received array:  [{"_links": {"about": [{"href": "http://localhost:8889/wp-json/wp/v2/types/attachment"}], "author": [{"embeddable": true, "href": "http://localhost:8889/wp-json/wp/v2/users/1"}], "collection": [{"href": "http://localhost:8889/wp-json/wp/v2/media"}], "replies": [{"embeddable": true, "href": "http://localhost:8889/wp-json/wp/v2/comments?post=119"}], "self": [{"href": "http://localhost:8889/wp-json/wp/v2/media/119", "targetHints": {"allow": ["GET", "POST", "PUT", "PATCH", "DELETE"]}}]}, "alt_text": "", "author": 1, "caption": {"rendered": ""}, "class_list": ["post-119", "attachment", "type-attachment", "status-inherit", "hentry", "entry"], "comment_status": "open", "date": "2026-08-27T20:45:39", "date_gmt": "2026-08-27T20:45:39", "description": {"rendered": "<p class=\"attachment\"><a href='http://localhost:8889/wp-content/uploads/2026/08/10x10_e2e_test_image_z9T8jK-1.png'><img loading=\"lazy\" decoding=\"async\" width=\"10\" height=\"10\" src=\"http://localhost:8889/wp-content/uploads/2026/08/10x10_e2e_test_image_z9T8jK-1.png\" class=\"attachment-medium size-medium\" alt=\"\" style=\"width:100%;height:100%;max-width:10px;\" /></a></p>
"}, "featured_media": 0, "filename": "10x10_e2e_test_image_z9T8jK-1.png", "filesize": 80, "guid": {"rendered": "http://localhost:8889/wp-content/uploads/2026/08/10x10_e2e_test_image_z9T8jK-1.png"}, "id": 119, "link": "http://localhost:8889/10x10_e2e_test_image_z9t8jk-2/", "media_details": {"file": "2026/08/10x10_e2e_test_image_z9T8jK-1.png", "filesize": 80, "height": 10, "image_meta": {"alt": "", "aperture": "0", "camera": "", "caption": "", "copyright": "", "created_timestamp": "0", "credit": "", "focal_length": "0", "iso": "0", "keywords": [], "orientation": "0", "shutter_speed": "0", "title": ""}, "sizes": {}, "width": 10}, "media_type": "image", "meta": [], "mime_type": "image/png", "modified": "2026-08-27T20:45:39", "modified_gmt": "2026-08-27T20:45:39", "ping_status": "closed", "post": null, "slug": "10x10_e2e_test_image_z9t8jk-2", "source_url": "http://localhost:8889/wp-content/uploads/2026/08/10x10_e2e_test_image_z9T8jK-1.png", "status": "inherit", "template": "", "title": {"rendered": "10x10_e2e_test_image_z9T8jK"}, "type": "attachment"}, {"_links": {"about": [{"href": "http://localhost:8889/wp-json/wp/v2/types/attachment"}], "author": [{"embeddable": true, "href": "http://localhost:8889/wp-json/wp/v2/users/1"}], "collection": [{"href": "http://localhost:8889/wp-json/wp/v2/media"}], "replies": [{"embeddable": true, "href": "http://localhost:8889/wp-json/wp/v2/comments?post=115"}], "self": [{"href": "http://localhost:8889/wp-json/wp/v2/media/115", "targetHints": {"allow": ["GET", "POST", "PUT", "PATCH", "DELETE"]}}]}, "alt_text": "", "author": 1, "caption": {"rendered": ""}, "class_list": ["post-115", "attachment", "type-attachment", "status-inherit", "hentry", "entry"], "comment_status": "open", "date": "2026-08-27T20:45:20", "date_gmt": "2026-08-27T20:45:20", "description": {"rendered": "<p class=\"attachment\"><a href='http://localhost:8889/wp-content/uploads/2026/08/10x10_e2e_test_image_z9T8jK.png'><img loading=\"lazy\" decoding=\"async\" width=\"10\" height=\"10\" src=\"http://localhost:8889/wp-content/uploads/2026/08/10x10_e2e_test_image_z9T8jK.png\" class=\"attachment-medium size-medium\" alt=\"\" style=\"width:100%;height:100%;max-width:10px;\" /></a></p>
"}, "featured_media": 0, "filename": "10x10_e2e_test_image_z9T8jK.png", "filesize": 80, "guid": {"rendered": "http://localhost:8889/wp-content/uploads/2026/08/10x10_e2e_test_image_z9T8jK.png"}, "id": 115, "link": "http://localhost:8889/10x10_e2e_test_image_z9t8jk/", "media_details": {"file": "2026/08/10x10_e2e_test_image_z9T8jK.png", "filesize": 80, "height": 10, "image_meta": {"alt": "", "aperture": "0", "camera": "", "caption": "", "copyright": "", "created_timestamp": "0", "credit": "", "focal_length": "0", "iso": "0", "keywords": [], "orientation": "0", "shutter_speed": "0", "title": ""}, "sizes": {}, "width": 10}, "media_type": "image", "meta": [], "mime_type": "image/png", "modified": "2026-08-27T20:45:20", "modified_gmt": "2026-08-27T20:45:20", "ping_status": "closed", "post": null, "slug": "10x10_e2e_test_image_z9t8jk", "source_url": "http://localhost:8889/wp-content/uploads/2026/08/10x10_e2e_test_image_z9T8jK.png", "status": "inherit", "template": "", "title": {"rendered": "10x10_e2e_test_image_z9T8jK"}, "type": "attachment"}]
    at /home/runner/work/gutenberg/gutenberg/test/e2e/specs/editor/various/single-file-placeholder-drop.spec.js:71:45

WebKit on Linux CI crashes the page rather than failing to decode HEIC, so
the two WebKit tests failed there while passing on macOS, where the OS
supplies the codec.

Cover the HEIC-only routing in Chromium instead, with cross-origin
isolation disabled so the editor falls into that mode. The file only has to
reach the HEIC conversion for the test to mean something, and in Chromium
reaching it always ends at the same decode error - no successful decode,
and so no platform codec, required.

Drop the .heic asset along with the WebKit tests that used it.
…-extension

# Conflicts:
#	packages/block-editor/src/components/provider/index.jsx
…-extension

# Conflicts:
#	packages/upload-media/CHANGELOG.md
#	packages/upload-media/src/store/test/actions.ts
@github-actions

github-actions Bot commented Sep 15, 2026 •

Copy link
Copy Markdown

🤖 PR meta 🤖

📦 Bundle size

Size Change: +321 B (0%)

Total Size: 8.21 MB

📦 View Changed
Filename Size Change
build/scripts/block-editor/index.min.js 499 kB -29 B (-0.01%)
build/scripts/upload-media/index.min.js 16.8 kB +350 B (+2.12%)

d9be887 Run

⚡ Performance

Show the results

Client side metrics exclude the server response time.

front-end-block-theme

Metric 4788f68 trunk % Change
timeToFirstByte 57.5 ms +10.43% -3.83% 58.05 ms +11.63% -4.82% -0.95%
largestContentfulPaint 94 ms +10.64% -4.26% 96 ms +6.25% -8.33% -2.08%
lcpMinusTtfb 35.15 ms +26.32% -5.41% 35.1 ms +4.56% -3.56% 0.14%
wpBeforeTemplate 28.7 ms +16.24% -3.45% 27.95 ms +21.32% -1.61% 2.68%
wpTemplate 24.22 ms +2.93% -3.34% 24.56 ms +2.77% -4.85% -1.38%
wpTotal 52.91 ms +12.11% -2.78% 54.29 ms +9.87% -4.97% -2.54%
wpMemoryUsage 7.59 MB +0% -0% 7.55 MB +0% -0% 0.45%
wpDbQueries 17 +0% -0% 17 +0% -0% 0%

front-end-classic-theme

Metric 4788f68 trunk % Change
timeToFirstByte 42.9 ms +13.87% -2.1% 43.25 ms +7.4% -2.66% -0.81%
largestContentfulPaint 96 ms +2.08% -8.33% 92 ms +4.35% -4.35% 4.35%
lcpMinusTtfb 48.2 ms +4.77% -3.53% 47.15 ms +3.92% -2.01% 2.23%
wpBeforeTemplate 26.17 ms +18.8% -2.1% 26.11 ms +11.91% -1.19% 0.23%
wpTemplate 13.83 ms +6.58% -1.66% 13.56 ms +6.78% -1.33% 1.99%
wpTotal 40.13 ms +14.3% -2.34% 40.38 ms +6.88% -2.45% -0.62%
wpMemoryUsage 6.07 MB +0% -0% 6.03 MB +0% -0% 0.58%
wpDbQueries 10 +0% -0% 10 +0% -0% 0%

media-processing

Metric 4788f68 trunk % Change
mediaProcessingJpeg 396.48 ms +0.55% -1.56% 395.37 ms +2.74% -0.26% 0.28%
mediaProcessingAvif 6056.81 ms +0.15% -0.13% 6040.58 ms +0.1% -0.22% 0.27%
mediaProcessingJpegToAvif 4179.36 ms +0.17% -0.26% 4176.23 ms +0.15% -0.1% 0.07%

media-upload

Metric 4788f68 trunk % Change
jpegUploadProcessing 1487.01 ms +30.37% -4.37% 1425.35 ms +1.03% -1.1% 4.33%
pngUploadProcessing 176.72 ms +24.56% -2.91% 221.84 ms +4.85% -8.16% -20.34%
largeJpegUploadProcessing 1414 ms +0.58% -0.74% 1406.95 ms +0.48% -0.26% 0.5%
multipleImageUploadProcessing 1598.55 ms +11.51% -2.56% 1572.39 ms +1.02% -2.02% 1.66%

post-editor

Metric 4788f68 trunk % Change
serverResponse 386.02 ms +9.33% -1.5% 428.34 ms +4.67% -4.77% -9.88%
firstPaint 207.05 ms +18.3% -8.3% 174.39 ms +30.51% -10.92% 18.73%
domContentLoaded 1100.41 ms +2.25% -2.34% 1112.28 ms +0.99% -1.21% -1.07%
loaded 1101.76 ms +2.24% -2.34% 1113.52 ms +1.02% -1.21% -1.06%
firstContentfulPaint 442.68 ms +5.13% -1.98% 460.39 ms +1.26% -5.77% -3.85%
firstBlock 3189.38 ms +1.6% -1.79% 3229.07 ms +0.28% -0.49% -1.23%
type 20.99 ms +2.48% -1.72% 21.81 ms +4.22% -4.31% -3.76%
typeWithoutInspector 20.1 ms +3.43% -1.09% 21.13 ms +6.06% -1.56% -4.87%
typeWithTopToolbar 26.23 ms +7.85% -4.61% 29.16 ms +3.98% -7.51% -10.05%
typeContainer 8.97 ms +5.8% -5.57% 9.37 ms +12.7% -7.9% -4.27%
focus 74.76 ms +2.9% -3.58% 77.05 ms +4.02% -2.91% -2.97%
firstFocus 196.3 ms +0% -0% 233.87 ms +0% -0% -16.06%
selectAll 520.25 ms +0.89% -3.9% 518.02 ms +0.18% -4.72% 0.43%
listViewOpen 76.24 ms +10.77% -5.54% 77.35 ms +2.38% -6.49% -1.44%
inserterOpen 24.88 ms +4.22% -4.42% 24.66 ms +12.29% -10.83% 0.89%
inserterHover 3.42 ms +7.31% -9.94% 3.27 ms +19.88% -4.89% 4.59%
inserterSearch 8.35 ms +9.82% -3.11% 9.04 ms +3.87% -8.41% -7.63%
loadPatterns 671.99 ms +2.17% -4.87% 660.55 ms +2.46% -1.01% 1.73%
wpTotal 374.88 ms +9.57% -1.62% 416.97 ms +4.83% -4.85% -10.09%
wpMemoryUsage 13.13 MB +0% -0% 13.09 MB +0% -0% 0.28%
wpDbQueries 54 +0% -1.85% 54 +0% -0% 0%

site-editor

Metric 4788f68 trunk % Change
serverResponse 407.38 ms +1.49% -8.01% 409.7 ms +2.23% -3.07% -0.57%
firstPaint 281.42 ms +19.35% -29.92% 243.78 ms +82.16% -10.6% 15.44%
domContentLoaded 1124.29 ms +2.82% -2.43% 1114.49 ms +0.83% -1.79% 0.88%
loaded 1125.48 ms +2.82% -2.44% 1115.63 ms +0.84% -1.78% 0.88%
firstContentfulPaint 447.71 ms +2.6% -1.02% 456.25 ms +2.47% -1.56% -1.87%
firstBlock 3952.34 ms +2.94% -0.83% 3960.74 ms +1.05% -1.62% -0.21%
type 19.7 ms +1.52% -3.05% 20.43 ms +1.66% -3.43% -3.57%
navigate 98.88 ms +8.16% -1.59% 118.84 ms +3.06% -8.28% -16.8%
loadPatterns 1265.93 ms +21.82% -7.38% 1274.39 ms +10.68% -5.76% -0.66%
loadPages 1103.17 ms +0.23% -0.26% 1114.87 ms +2.15% -1.55% -1.05%
wpTotal 396.88 ms +1.46% -8.39% 397.88 ms +2.62% -2.83% -0.25%
wpMemoryUsage 12.10 MB +0% -0% 12.05 MB +0% -0% 0.4%
wpDbQueries 43.5 +1.15% -1.15% 43.5 +1.15% -1.15% 0%

d9be887 Run

🏁 Flaky tests

Show the failures

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

refuses the drop and uploads nothing in /test/e2e/specs/editor/various/single-file-placeholder-drop.spec.js, passed after 1 failed attempt.
Error: expect(received).toHaveLength(expected)

Expected length: 0
Received length: 2
Received array:  [{"_links": {"about": [{"href": "http://localhost:8889/wp-json/wp/v2/types/attachment"}], "author": [{"embeddable": true, "href": "http://localhost:8889/wp-json/wp/v2/users/1"}], "collection": [{"href": "http://localhost:8889/wp-json/wp/v2/media"}], "curies": [{"href": "https://api.w.org/{rel}", "name": "wp", "templated": true}], "replies": [{"embeddable": true, "href": "http://localhost:8889/wp-json/wp/v2/comments?post=241"}], "self": [{"href": "http://localhost:8889/wp-json/wp/v2/media/241", "targetHints": {"allow": ["GET", "POST", "PUT", "PATCH", "DELETE"]}}], "wp:attached-to": [{"embeddable": true, "href": "http://localhost:8889/wp-json/wp/v2/posts/239", "id": 239, "post_type": "post"}]}, "alt_text": "", "author": 1, "caption": {"rendered": ""}, "class_list": ["post-241", "attachment", "type-attachment", "status-inherit", "hentry", "entry"], "comment_status": "open", "date": "2026-09-22T10:42:01", "date_gmt": "2026-09-22T10:42:01", "description": {"rendered": "<p class=\"attachment\"><a href='http://localhost:8889/wp-content/uploads/2026/09/10x10_e2e_test_image_z9T8jK-1.png'><img loading=\"lazy\" decoding=\"async\" width=\"10\" height=\"10\" src=\"http://localhost:8889/wp-content/uploads/2026/09/10x10_e2e_test_image_z9T8jK-1.png\" class=\"attachment-medium size-medium\" alt=\"\" style=\"width:100%;height:100%;max-width:10px;\" /></a></p>
"}, "featured_media": 0, "filename": "10x10_e2e_test_image_z9T8jK-1.png", "filesize": 80, "guid": {"rendered": "http://localhost:8889/wp-content/uploads/2026/09/10x10_e2e_test_image_z9T8jK-1.png"}, "id": 241, "link": "http://localhost:8889/?attachment_id=241", "media_details": {"file": "2026/09/10x10_e2e_test_image_z9T8jK-1.png", "filesize": 80, "height": 10, "image_meta": {"alt": "", "aperture": "0", "camera": "", "caption": "", "copyright": "", "created_timestamp": "0", "credit": "", "focal_length": "0", "iso": "0", "keywords": [], "orientation": "0", "shutter_speed": "0", "title": ""}, "sizes": {}, "width": 10}, "media_type": "image", "meta": [], "mime_type": "image/png", "modified": "2026-09-22T10:42:01", "modified_gmt": "2026-09-22T10:42:01", "ping_status": "closed", "post": 239, "slug": "10x10_e2e_test_image_z9t8jk-2", "source_url": "http://localhost:8889/wp-content/uploads/2026/09/10x10_e2e_test_image_z9T8jK-1.png", "status": "inherit", "template": "", "title": {"rendered": "10x10_e2e_test_image_z9T8jK"}, "type": "attachment"}, {"_links": {"about": [{"href": "http://localhost:8889/wp-json/wp/v2/types/attachment"}], "author": [{"embeddable": true, "href": "http://localhost:8889/wp-json/wp/v2/users/1"}], "collection": [{"href": "http://localhost:8889/wp-json/wp/v2/media"}], "curies": [{"href": "https://api.w.org/{rel}", "name": "wp", "templated": true}], "replies": [{"embeddable": true, "href": "http://localhost:8889/wp-json/wp/v2/comments?post=240"}], "self": [{"href": "http://localhost:8889/wp-json/wp/v2/media/240", "targetHints": {"allow": ["GET", "POST", "PUT", "PATCH", "DELETE"]}}], "wp:attached-to": [{"embeddable": true, "href": "http://localhost:8889/wp-json/wp/v2/posts/239", "id": 239, "post_type": "post"}]}, "alt_text": "", "author": 1, "caption": {"rendered": ""}, "class_list": ["post-240", "attachment", "type-attachment", "status-inherit", "hentry", "entry"], "comment_status": "open", "date": "2026-09-22T10:42:01", "date_gmt": "2026-09-22T10:42:01", "description": {"rendered": "<p class=\"attachment\"><a href='http://localhost:8889/wp-content/uploads/2026/09/10x10_e2e_test_image_z9T8jK.png'><img loading=\"lazy\" decoding=\"async\" width=\"10\" height=\"10\" src=\"http://localhost:8889/wp-content/uploads/2026/09/10x10_e2e_test_image_z9T8jK.png\" class=\"attachment-medium size-medium\" alt=\"\" style=\"width:100%;height:100%;max-width:10px;\" /></a></p>
"}, "featured_media": 0, "filename": "10x10_e2e_test_image_z9T8jK.png", "filesize": 80, "guid": {"rendered": "http://localhost:8889/wp-content/uploads/2026/09/10x10_e2e_test_image_z9T8jK.png"}, "id": 240, "link": "http://localhost:8889/?attachment_id=240", "media_details": {"file": "2026/09/10x10_e2e_test_image_z9T8jK.png", "filesize": 80, "height": 10, "image_meta": {"alt": "", "aperture": "0", "camera": "", "caption": "", "copyright": "", "created_timestamp": "0", "credit": "", "focal_length": "0", "iso": "0", "keywords": [], "orientation": "0", "shutter_speed": "0", "title": ""}, "sizes": {}, "width": 10}, "media_type": "image", "meta": [], "mime_type": "image/png", "modified": "2026-09-22T10:42:01", "modified_gmt": "2026-09-22T10:42:01", "ping_status": "closed", "post": 239, "slug": "10x10_e2e_test_image_z9t8jk", "source_url": "http://localhost:8889/wp-content/uploads/2026/09/10x10_e2e_test_image_z9T8jK.png", "status": "inherit", "template": "", "title": {"rendered": "10x10_e2e_test_image_z9T8jK"}, "type": "attachment"}]
    at /home/runner/work/gutenberg/gutenberg/test/e2e/specs/editor/various/single-file-placeholder-drop.spec.js:71:45

d9be887 Run

adamsilverstein and others added 7 commits September 15, 2026 09:00
Vitest runs with `globals: false`, so `describe`, `it` and `expect` have to
be imported rather than picked up from the environment as they were under Jest.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RtZdDWdC33cNHfY4U238A5
These files run under Vitest, where `jest` is not defined.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RtZdDWdC33cNHfY4U238A5
Trunk now reserves `HEIC_DECODE_ERROR` for the case where no decoding
strategy is available at all, and reports a file that fails the container
parse as a processing error instead (#81123). The fixture here is a bare
File Type Box with no meta box, so it takes the latter path. The test's
claim - that a HEIC named .jpg is routed to the HEIC path and reports the
failure rather than uploading - is unchanged.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RtZdDWdC33cNHfY4U238A5
`ImageDecoder.isTypeSupported()` can report HEIC support from the
container format alone. When the platform codec is missing, `decode()`
then never settles, and the upload hangs with no error. Race the decode
against a timeout that closes the decoder, which rejects the pending
call, and catch the rejection so the conversion falls through to the
next strategy instead of stalling the upload.

Folded in from #81211.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016wRcDnK65wbQKCjKoie65o
A decode that rejects on its own has read the file and found it
damaged, and #81123 reports that as a processing error. Catching every
rejection sent those to strategy 3 and blamed the codec instead, which
also failed the existing test for it. Keep the catch to the timeout,
move the canvas work out from under it, and raise the ceiling: it cuts
off every decode, not only a stalled one, so a large photo on slow
hardware needs room to finish.

Cover the stalled decode and the canvas failure, and route a HEIC file
the browser reports with no type at all through the conversion path,
which is the #81043 case on Windows without the HEVC extension.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016wRcDnK65wbQKCjKoie65o
@adamsilverstein

Copy link
Copy Markdown
Member Author

Following up on the question from @t-hamano over on #81211 about which PR to review: this one now covers both issues, so this is the one to review.

I had Claude compare the two branches and fold them together, here is the summary:

The header check in the two PRs was the same idea with different gates: #81211 sniffed the File Type Box only when file.type was empty, this branch sniffs whenever the declared type leaves the question open, which covers the empty type and the wrong extension both. The two isHeicBuffer() helpers were near identical, so nothing from that side needed carrying over.

The one thing #81211 had that this branch did not was the ImageDecoder timeout. That is now here as @singhakanshu00's own commit (66c4e0b), with a follow-up on top (a10c5de) that narrows it: only a decode that times out falls through to the next strategy. A decode that rejects on its own has read the file and found it damaged, and #81123 wants that reported as a processing error, not blamed on the codec. The broad catch in #81211 actually fails that existing test on trunk, which is worth knowing if anyone was planning to rebase it. The ceiling also went from 3 to 15 seconds, since the race cuts off every decode and not only a stalled one.

Also added: a prepareItem() unit test for a file with an empty type, mirroring the wrong-extension one, and two canvasConvertToJpeg() tests for the stalled decode and the canvas failure after a good decode. The full upload-media suite passes locally, 405 tests.

One caveat: none of this has run on real Windows without the HEVC extension, which is the #81043 environment. The unit test covers the routing, and the expected behavior is what @369work and @pbiron already saw with the #81211 build - a clean "couldn't decode HEIC" without the codecs, a conversion with them - but a real test there is the confirmation that matters.

@369work @pbiron whenever you have a chance, could you try the build from this PR on your Windows setups the same way you tested #81211? A drop onto an Image block is the path to check.

cc: @t-hamano @singhakanshu00

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016wRcDnK65wbQKCjKoie65o
@369work

369work commented Sep 16, 2026 •

Copy link
Copy Markdown
Contributor

== Test Report

Patch tested: #81737

=== Environment

  • WordPress: 7.1
  • Subdirectory: No
  • PHP: 8.4.24
  • Server: PHP/8.4.24 (Development Server)
  • Database: WP_MySQL_On_SQLite (Server: 8.0.38 / Client: 3.53.2)
  • Browser: Chrome 153.0.0.0
  • OS: Windows 11
  • Theme: Twenty Twenty-Five 1.5
  • MU Plugins:
    • 99-studio-loader.php
  • Plugins:
    • Gutenberg 24.0.0 (build from this PR)
    • Query Monitor 4.0.7
    • Test Reports 1.3.1

Store extensions visible in the installed apps list:

  • HEVC Video Extensions
  • Web Media Extensions

HEIF Image Extensions did not appear in that list, but the Photos app opens HEIC files normally, so
something on this system handles them. I have not established which component that is.

=== Steps taken

  1. Installed the plugin build from this PR (reports as Gutenberg 24.0.0), then started the site in WordPress Studio. The patch was in place throughout -I did not test the unpatched build (trunk) for comparison in this round.
  2. Opened a new post, added an Image block, and dropped IMG_1250.HEIC onto it.

Logged in the console as the file was dropped:

[observed] name=IMG_1250.HEIC  type=''  size=1316390
[observed] isTypeSupported(image/heic) = false

Also checked in the console:

  • window.__clientSideMediaProcessing - true
  • window.crossOriginIsolated - true
  • SharedArrayBuffer - available
  • File header brands - ftyp + heic / mif1 / miaf, no AVIF brands

x. ✅ Patch is solving the problem

=== Expected result

As I understand it, this patch identifies a HEIC file from its own header even when File.type is
empty, so the upload goes into the conversion path instead of stalling. That is what I was checking
for. The symptom I reported in #81043 was the spinner never stopping.

That is what happened:

  • The HEIC was converted to JPEG.
  • A full set of sub-sizes was generated (150x150, 225x300, 768x1024, 1152x1536, 1536x2048, and -scaled).
  • The original .heic was kept alongside them, at 1,286 KB. That matches the 1,316,390 bytes logged
    for the file on upload, and it still carries its original capture date, so the untouched original is
    being stored as described.
  • No console errors.
  • No warnings in debug.log. The image.php width/height warnings I reported earlier do not come back.

=== Additional Notes

1. The empty File.type here is not explained by a missing codec extension.

The description says an empty File.type is "what Windows without the HEVC extension reports for a .heic file".
On this machine both HEIF Image Extensions and HEVC Video Extensions are installed, and File.type was still empty on the upload itself. So the empty type does not seem to come from a missing extension.

The outcome matched the instructions: with the codecs present, the file converted.
I have not worked out what decides the type Windows reports here, so I am only reporting the observation rather than explaining it.

2. The 15 second timeout did not come into play here.

The browser reported that it cannot decode HEIC through the ImageDecoder API, so that step was skipped
and the timeout never applied. What fixed #81043 on my machine was the header check alone.

3. Timing.

It took somewhere between 30 seconds and a minute from the drop to the image appearing in the editor.
That covers the whole round trip, not the decode on its own - I did not measure the decode separately.
For scale, a ~1MB JPEG also takes about 10 seconds to upload on this setup, so a good part of that time is not decoding.

Mentioning it only in case the overall duration is useful alongside the timeout discussion.

=== Screenshots/Screencast with results

  • After: the uploads folder, showing the converted IMG_1250.jpg with its sub-sizes and the original
    IMG_1250.heic kept beside them.

=== Support Content

The file used for this test is a photo straight off an iPhone, 1,316,390 bytes, with these brands in
its File Type Box:

ftyp heic / mif1 / MiPr / miaf / MiHB / heic
スクリーンショット 2026-09-17 034431

@adamsilverstein
adamsilverstein requested review from andrewserong and removed request for ellatrix September 16, 2026 22:01

@t-hamano t-hamano left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks for the PR! Everything works pretty well im my environment. I left a few suggestions, but they are insignificant.

Comment thread packages/block-editor/CHANGELOG.md Outdated
- Retain focus and caret position when undoing a prefix transform (e.g. `## `, `- `, `> `) with Backspace or Escape ([#82116](https://github.com/WordPress/gutenberg/pull/82116)).
- Hide the Layout panel when a block has layout editing enabled but all controls for its layout type are disabled ([#81968](https://github.com/WordPress/gutenberg/pull/81968)).
- `DuotoneControl`: Keep the picked preset's identity when applying a duotone to a block. Two presets can hold the same pair of colors, and the applied preset was resolved by matching colors, so the first of any duplicate pair was saved and both appeared selected ([#81605](https://github.com/WordPress/gutenberg/pull/81605)).
- In HEIC-only upload mode, route files to the HEIC conversion by what they contain rather than by the MIME type the browser infers from their name, so a HEIC photo saved as `.jpg` or `.png` is no longer handed to a server-side path that cannot convert it either ([#81707](https://github.com/WordPress/gutenberg/issues/81707)).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
- In HEIC-only upload mode, route files to the HEIC conversion by what they contain rather than by the MIME type the browser infers from their name, so a HEIC photo saved as `.jpg` or `.png` is no longer handed to a server-side path that cannot convert it either ([#81707](https://github.com/WordPress/gutenberg/issues/81707)).
- In HEIC-only upload mode, route files to the HEIC conversion by what they contain rather than by the MIME type the browser infers from their name, so a HEIC photo saved as `.jpg` or `.png` is no longer handed to a server-side path that cannot convert it either ([#81737](https://github.com/WordPress/gutenberg/pull/81737)).

It would be better to link the changelog to the PR rather than the issue, as it makes it clearer what changes were actually made. Additionally, this entry needs to be moved to the Unreleased section.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Ah right, I see that in the guidelines now. Will update.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Done, with one small deviation from the suggestion.

Claude made the changelog edits, its summary:

Fixed in 5b1a83ccab7: both entries now link the PR and sit under Unreleased. The new isHeicFile export is a new public API, which the changelog guide files under New Features, so it got its own entry there and the Bug Fixes entry keeps the rest.

Comment thread packages/upload-media/src/store/test/actions.ts Outdated
Comment thread packages/upload-media/src/store/test/actions.ts Outdated
Comment thread packages/upload-media/CHANGELOG.md Outdated
Comment thread packages/upload-media/src/store/test/actions.ts Outdated
Comment thread packages/upload-media/src/test/canvas-utils.ts Outdated
Comment on lines +244 to +248
// The major brand, then every compatible brand after the minor version.
const brands = [ readBrand( 8 ) ];
for ( let offset = 16; offset + 4 <= view.length; offset += 4 ) {
brands.push( readBrand( offset ) );
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
// The major brand, then every compatible brand after the minor version.
const brands = [ readBrand( 8 ) ];
for ( let offset = 16; offset + 4 <= view.length; offset += 4 ) {
brands.push( readBrand( offset ) );
}
// Anything past the box size belongs to the next box, not to the brands.
const boxEnd = Math.min(
view.length,
new DataView( view.buffer, view.byteOffset ).getUint32( 0 )
);
// The major brand, then every compatible brand after the minor version.
const brands = [ readBrand( 8 ) ];
for ( let offset = 16; offset + 4 <= boxEnd; offset += 4 ) {
brands.push( readBrand( offset ) );
}

I'm not very familiar with this internal process, but Claude suggested this. Does this seem reasonable?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Yes, that's a real fix - the 64-byte read can run past a short box into the next one. Landed it with a test.

Claude checked the suggestion and wrote the test, its notes:

In 6143369a4f1, with a unit test that puts an avif word in the box after ftyp and checks the file still reads as HEIC; it fails on the old scan and passes now. A box size of 0 or 1 (the extended-size forms, which a File Type Box never uses) collapses the compatible-brand scan, but the major brand is still checked, so those degenerate cases stay safe.

@aduth

aduth commented Sep 18, 2026

Copy link
Copy Markdown
Member

Hey 👋 I wanted to give you a heads-up since this pull request is affected by recent validation changes for changelog files.

#83043 adds additional validation for changelog files. You'll note that this pull request is currently failing a "Required changes from trunk" check.

What you'll need to do: You will need to either rebase or merge the latest code from trunk. In addition, a cursory review of open pull requests identified this pull request as potentially failing under the new validation checks. You will want to double-check that any changes to CHANGELOG.md files follow the Maintaining Changelogs guidance, which has been improved as part of these recent changes.

adamsilverstein and others added 6 commits September 18, 2026 08:28
Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com>
Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com>
Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com>
…Unreleased

The block-editor entry sat in a released section and both entries linked
the issue rather than the PR. The new isHeicFile export is a new public
API, which the changelog guide files under New Features.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VCEHrF9CTU4qb12bHG1z55
The 64-byte read overshoots a short box into the next one, whose item
types are also four ASCII characters, so a word there could pass for a
brand. Bound the compatible-brand scan by the box's own size.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VCEHrF9CTU4qb12bHG1z55

@t-hamano t-hamano left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM!

@adamsilverstein
adamsilverstein merged commit df4594d into trunk Sep 22, 2026
91 checks passed
@adamsilverstein
adamsilverstein deleted the fix/81707-heic-wrong-extension branch September 22, 2026 22:08
@github-actions github-actions Bot added this to the Gutenberg 24.1 milestone Sep 22, 2026
widoz pushed a commit to widoz/gutenberg that referenced this pull request Oct 2, 2026
…name (WordPress#81737)

Co-authored-by: adamsilverstein <adamsilverstein@git.wordpress.org>
Co-authored-by: singhakanshu00 <akanshusingh@git.wordpress.org>
Co-authored-by: t-hamano <wildworks@git.wordpress.org>
Co-authored-by: 369work <369work@git.wordpress.org>
Co-authored-by: aduth <aduth@git.wordpress.org>
Co-authored-by: pbiron <pbiron@git.wordpress.org>
Co-authored-by: aaronjorbin <jorbin@git.wordpress.org>
wporg-sync pushed a commit to WordPress/wordpress-develop that referenced this pull request Oct 7, 2026
This updates the pinned commit hash of the Gutenberg repository from `5715a61334c4d29f21b67cf34b46061dc1b62502` to `954fe7f9e04631c41aec4552acd627a7203a2aad` (version 24.1.0).

A full list of changes included in this commit can be found on GitHub: https://github.com/WordPress/gutenberg/compare/50ad79ef7ebc5f1d2a75def068887e33a15f2634...954fe7f9e04631c41aec4552acd627a7203a2aad.

- Tabs: remove core's duplicate render_block_context filter (https://github.com/WordPress/gutenberg/pull/82610)
- Automated Testing: Fix unit test compatibility with Node.js v26 (https://github.com/WordPress/gutenberg/pull/82618)
- Test: Drop the jest-dom Vitest entry point from test files (https://github.com/WordPress/gutenberg/pull/82606)
- Packages: Replace stale jest types with the Vitest test environment (https://github.com/WordPress/gutenberg/pull/82605)
- Editor: Store the finalize response as the attachment record (https://github.com/WordPress/gutenberg/pull/81947)
- Update Style Engine block supports documentation (https://github.com/WordPress/gutenberg/pull/82585)
- Fix the high-severity sharp audit failure in AI development tests (https://github.com/WordPress/gutenberg/pull/82627)
- Bump vitest from 4.1.10 to 4.1.11 (https://github.com/WordPress/gutenberg/pull/82629)
- Editor: Render change diffs in the post title in revisions (https://github.com/WordPress/gutenberg/pull/82586)
- Editor: Derive post-only block list layout from the assigned template (https://github.com/WordPress/gutenberg/pull/82599)
- Gallery: Shorten "Use images attached to the post" button, add description (https://github.com/WordPress/gutenberg/pull/82617)
- Theme: Enforce active fill contrast (https://github.com/WordPress/gutenberg/pull/82542)
- UI: Reset completed calendar ranges by default (https://github.com/WordPress/gutenberg/pull/82612)
- Video block: switch to UI Badge (https://github.com/WordPress/gutenberg/pull/82441)
- DataViews: Remove obsolete Node 20 timezone test gate (https://github.com/WordPress/gutenberg/pull/82644)
- Disabled: keep the consumer className when isDisabled is false (https://github.com/WordPress/gutenberg/pull/82648)
- Autocompleters: Consider email address context in user mention (https://github.com/WordPress/gutenberg/pull/47249)
- Searchable selects: Hide creatable footer when it is filtered out (https://github.com/WordPress/gutenberg/pull/82566)
- Popover storybook: add infotip with link example (https://github.com/WordPress/gutenberg/pull/82653)
- Block editor, Components: Stop relying on Disabled class name (https://github.com/WordPress/gutenberg/pull/82651)
- FormTokenField: wrap to the last suggestion on ArrowUp with nothing selected (https://github.com/WordPress/gutenberg/pull/82646)
- Components: Match the @wordpress/ui disabled styles in form controls (https://github.com/WordPress/gutenberg/pull/82454)
- Framework: Update @types/node to v24 (https://github.com/WordPress/gutenberg/pull/82616)
- Bump vite from 8.2.1 to 8.2.2 (https://github.com/WordPress/gutenberg/pull/82668)
- Site editor v2: Use the canonical fields in the templates list (https://github.com/WordPress/gutenberg/pull/82666)
- api-fetch: Resolve to null for a 200 response with an empty body (https://github.com/WordPress/gutenberg/pull/79325)
- Site editor v2: Use the canonical wp_block fields in the patterns list (https://github.com/WordPress/gutenberg/pull/82672)
- Theme: Remove chroma capacity cache (https://github.com/WordPress/gutenberg/pull/82591)
- Remove the content-only inspector fields (block fields) experiment (https://github.com/WordPress/gutenberg/pull/82531)
- Site editor v2: templates take view config from endpoint (https://github.com/WordPress/gutenberg/pull/82456)
- Post URL: translate the copy permalink button label (https://github.com/WordPress/gutenberg/pull/82642)
- UI: Test Calendar raw-offset timezones (https://github.com/WordPress/gutenberg/pull/82658)
- DOM: Exclude visibility-hidden elements from focusable results (https://github.com/WordPress/gutenberg/pull/82574)
- Test: Update SWC dependencies (https://github.com/WordPress/gutenberg/pull/82660)
- Theme, Widget dashboard: Declare the @storybook/addon-docs dependency (https://github.com/WordPress/gutenberg/pull/82676)
- Update Playwright to 1.63.0 (https://github.com/WordPress/gutenberg/pull/82654)
- Site editor v2: patterns take view config from endpoint (https://github.com/WordPress/gutenberg/pull/82458)
- BlockPreview: Assert preview contents are inert (https://github.com/WordPress/gutenberg/pull/82682)
- Theme: Add bin-specific tsconfig with nodenext module resolution (https://github.com/WordPress/gutenberg/pull/82622)
- Block Editor: Remove the dead Write/Design editor tool plumbing (https://github.com/WordPress/gutenberg/pull/82677)
- Create Block: Test package at supported Node.js versions (https://github.com/WordPress/gutenberg/pull/82657)
- Update Actions and Octokit dependencies (https://github.com/WordPress/gutenberg/pull/82663)
- Theme: Use Node.js native type-stripping for scripts (https://github.com/WordPress/gutenberg/pull/82680)
- Build Scripts: Suggest --verbose when a type check fails (https://github.com/WordPress/gutenberg/pull/82604)
- e2e-test-utils-playwright: Update Lighthouse and web-vitals (https://github.com/WordPress/gutenberg/pull/81916)
- Test: Update Vitest to version 5 (https://github.com/WordPress/gutenberg/pull/82687)
- Site editor v2: template parts take view config from endpoint (https://github.com/WordPress/gutenberg/pull/82457)
- Theme: Reduce repeated color ramp search work (https://github.com/WordPress/gutenberg/pull/82545)
- Media: Only blame the browser's codecs when HEIC really cannot be decoded (https://github.com/WordPress/gutenberg/pull/82265)
- Site editor v2: Identity takes its form from the view config endpoint (https://github.com/WordPress/gutenberg/pull/82692)
- Storybook: Include stories in docgen TypeScript project (https://github.com/WordPress/gutenberg/pull/82694)
- Test: Root the Vitest browser project where its dependencies are declared (https://github.com/WordPress/gutenberg/pull/82699)
- Build: Fix regular CSS injection in Vitest Browser Mode (https://github.com/WordPress/gutenberg/pull/82154)
- Workflow: Replace cmdk with the @wordpress/ui Autocomplete primitive (https://github.com/WordPress/gutenberg/pull/82504)
- Add textShadow typography support and UI (https://github.com/WordPress/gutenberg/pull/79584)
- Block editor: migrate block-card Badge to UI Badge (https://github.com/WordPress/gutenberg/pull/82503)
- Bump github/codeql-action/upload-sarif (https://github.com/WordPress/gutenberg/pull/82339)
- Rich text: separate applying the selection from focusing the field (https://github.com/WordPress/gutenberg/pull/82581)
- Bump svgo from 3.3.4 to 3.3.5 (https://github.com/WordPress/gutenberg/pull/82631)
- Inner Blocks: Support legacy inherit-based layouts (https://github.com/WordPress/gutenberg/pull/82637)
- Bump js-yaml from 3.15.1 to 3.15.2 (https://github.com/WordPress/gutenberg/pull/82628)
- Bump colord from 2.9.3 to 2.9.4 (https://github.com/WordPress/gutenberg/pull/82625)
- Bump @humanfs/node from 0.16.7 to 0.16.8 (https://github.com/WordPress/gutenberg/pull/82352)
- Site Editor: Restore Global Styles access on the front page (https://github.com/WordPress/gutenberg/pull/82624)
- Bump browserslist from 4.28.4 to 4.28.7 (https://github.com/WordPress/gutenberg/pull/82315)
- Bump fast-uri from 3.1.5 to 3.1.7 (https://github.com/WordPress/gutenberg/pull/82351)
- DataViews: Label clickable grid media by the item title when the title is hidden (https://github.com/WordPress/gutenberg/pull/82639)
- Layout hooks: roll out usage of normalizeLegacyLayout to the block-editor layout hooks (https://github.com/WordPress/gutenberg/pull/82710)
- Checkbox: Expand hit target without changing visual size (https://github.com/WordPress/gutenberg/pull/82597)
- Components: Align CheckboxControl checkmark and disabled styles with UI (https://github.com/WordPress/gutenberg/pull/82555)
- Improve Math Inline and Block UI (https://github.com/WordPress/gutenberg/pull/77743)
- Widgets: carry declarative `attributes` through the widget pipeline (https://github.com/WordPress/gutenberg/pull/82485)
- Editor: Coerce `multiple` to a boolean in the media modal wrapper (https://github.com/WordPress/gutenberg/pull/82715)
- Packages: Backport the September 10 npm release metadata to trunk (https://github.com/WordPress/gutenberg/pull/82709)
- Update lerna to 10 and markdownlint-cli to 0.49.1 (https://github.com/WordPress/gutenberg/pull/81917)
- Navigation: don't force submenus open inside a custom overlay (https://github.com/WordPress/gutenberg/pull/82596)
- TextareaAutosize: Replace with native textareas and `field-sizing` (https://github.com/WordPress/gutenberg/pull/64208)
- Fields: Show a message in MediaEdit when the user can't upload media (https://github.com/WordPress/gutenberg/pull/82720)
- Fix playlist track selector stability (https://github.com/WordPress/gutenberg/pull/81760)
- Workflow: Remove deprecated word-wrapping (https://github.com/WordPress/gutenberg/pull/82562)
- Post publish panel: replace deprecated word-break with overflow-wrap (https://github.com/WordPress/gutenberg/pull/82495)
- CI: Run the required trunk changes check through the pr-baseline action (https://github.com/WordPress/gutenberg/pull/82725)
- Stroke icons: 3rd batch, 142 icon updates (https://github.com/WordPress/gutenberg/pull/82540)
- AI development tests: Use repository Node version (https://github.com/WordPress/gutenberg/pull/82662)
- Components: Clean up legacy focus/button overrides in Snackbar and Notice (https://github.com/WordPress/gutenberg/pull/82640)
- Command Palette: Only add the admin bar button when Core does not provide it (https://github.com/WordPress/gutenberg/pull/82733)
- Release: Verify SVN deployment after publication (https://github.com/WordPress/gutenberg/pull/82513)
- Test: Run rendered browser behavior in Vitest Browser Mode (https://github.com/WordPress/gutenberg/pull/80995)
- DOM: Find focusable image map areas (https://github.com/WordPress/gutenberg/pull/82736)
- Add backwards-compatible Y option to provider creator, do not use wp.sync directly in tests (https://github.com/WordPress/gutenberg/pull/82621)
- Fields: replace word-break with `overflow-wrap: anywhere` on slug permalink (https://github.com/WordPress/gutenberg/pull/82693)
- Env: Preserve complete lifecycle script error output (https://github.com/WordPress/gutenberg/pull/82735)
- Remove deprecated word-wrapping Stylelint suppressions (https://github.com/WordPress/gutenberg/pull/82426)
- Test: Stabilize Menu iframe listener lifecycle assertions (https://github.com/WordPress/gutenberg/pull/82575)
- Media: Stop injecting crossorigin attributes under Document-Isolation-Policy (https://github.com/WordPress/gutenberg/pull/82614)
- Global Styles: Retain responsive styles in block style variation partials (https://github.com/WordPress/gutenberg/pull/82403)
- Editor: Add a fixedRenderingMode prop for contexts with one mode (https://github.com/WordPress/gutenberg/pull/82711)
- Site Editor v2: Show the template on the routes that show the site (https://github.com/WordPress/gutenberg/pull/82712)
- Fix: Navigation: block appender button is 26×24 instead of square (https://github.com/WordPress/gutenberg/pull/82718)
- Add missing listitem role to ConnectorItem. (https://github.com/WordPress/gutenberg/pull/82664)
- Block alignment: List unavailable wide and full alignments instead of hiding them (https://github.com/WordPress/gutenberg/pull/82600)
- Test: Make browser tests independent of execution order (https://github.com/WordPress/gutenberg/pull/82743)
- Project Management: Exclude private APIs config from CODEOWNERS (https://github.com/WordPress/gutenberg/pull/82750)
- Unit Tests: Resolve @ariakit/utils through its dependents (https://github.com/WordPress/gutenberg/pull/82756)
- Interface: Convert the package to TypeScript (https://github.com/WordPress/gutenberg/pull/82753)
- Grid: Migrate Emotion styles to SCSS Modules (https://github.com/WordPress/gutenberg/pull/82571)
- Test: Finish repository Vitest migration and expand Browser Mode coverage (https://github.com/WordPress/gutenberg/pull/82742)
- Plugin: Bump minimum required WordPress version to 7.0 (https://github.com/WordPress/gutenberg/pull/82404)
- Circular Option Picker: Show focus with button's outline ring (https://github.com/WordPress/gutenberg/pull/82521)
- Interface: Fix the ActionItem click handler and selector types (https://github.com/WordPress/gutenberg/pull/82758)
- Editor: Remove pass-through more menu Slot wrappers (https://github.com/WordPress/gutenberg/pull/82759)
- Upgrade React 19 to 19.3.0 (https://github.com/WordPress/gutenberg/pull/82760)
- Edit Post: Fix meta boxes unreachable in Code Editor split view (https://github.com/WordPress/gutenberg/pull/78644)
- Docs: Add blank line between `@since` and `@param`/`@return` in block parser (https://github.com/WordPress/gutenberg/pull/82690)
- UI: Add statusContent to searchable selects (https://github.com/WordPress/gutenberg/pull/82592)
- UI: Add CheckboxGroup form primitive (https://github.com/WordPress/gutenberg/pull/82556)
- Notice: add custom icon Storybook example (https://github.com/WordPress/gutenberg/pull/82762)
- Test: Remove obsolete internal test setup and transforms (https://github.com/WordPress/gutenberg/pull/82761)
- Code Modernization: Use null coalescing operator in `WP_Block_Parser` methods (https://github.com/WordPress/gutenberg/pull/82763)
- Global Styles UI: Use UI Menu (https://github.com/WordPress/gutenberg/pull/81921)
- Icons: Allow icons to ship to WordPress Core without exposing them in the Icon block  (https://github.com/WordPress/gutenberg/pull/82634)
- Fix doubly-zipped plugin artifacts in GitHub Actions (https://github.com/WordPress/gutenberg/pull/76857)
- Icons: Ship the admin bar and admin menu icons to WordPress Core (https://github.com/WordPress/gutenberg/pull/79451)
- Autocomplete: Show focus with design system's focus ring (https://github.com/WordPress/gutenberg/pull/82766)
- Keycodes: Add a shared keyboard shortcut representation helper (https://github.com/WordPress/gutenberg/pull/82632)
- CI: Scope the required trunk changes refresh to what a move can invalidate (https://github.com/WordPress/gutenberg/pull/82767)
- Editor: Honor post types in `post-thumbnails` theme support when registering the featured image field (https://github.com/WordPress/gutenberg/pull/82773)
- Docs: Clarify parent behavior during block registration (https://github.com/WordPress/gutenberg/pull/78967)
- Cover: Prevent content cutoff when aspect ratio is set in Safari (https://github.com/WordPress/gutenberg/pull/70152)
- Docs: Clarify dependency extraction asset filename (https://github.com/WordPress/gutenberg/pull/78968)
- Re-enable editableRoot for multi-selection on mobile web (https://github.com/WordPress/gutenberg/pull/81542)
- Post Taxonomies: Replace FormTokenField in the flat term selector (https://github.com/WordPress/gutenberg/pull/80967)
- E2E: Reset preferences in the post editor preload spec (https://github.com/WordPress/gutenberg/pull/82818)
- Fonts: Remove the deprecated Fonts API BC layer and leftovers (https://github.com/WordPress/gutenberg/pull/82813)
- Commands: Avoid re-registering command loaders on every render (https://github.com/WordPress/gutenberg/pull/82819)
- Data: Remove the unused AsyncModeConsumer export (https://github.com/WordPress/gutenberg/pull/82822)
- Tooling: Extract shared TypeScript configs into a `@wordpress/config-tools` workspace (https://github.com/WordPress/gutenberg/pull/82334)
- Style states: Improve block inspector UI (https://github.com/WordPress/gutenberg/pull/82649)
- Tooling: Add @wordpress/monorepo-tools to root devDependencies (https://github.com/WordPress/gutenberg/pull/82824)
- DataViews: replace `word-break` with `overflow-wrap: anywhere` on `DataForm` panel field control (https://github.com/WordPress/gutenberg/pull/82776)
- CI: Stop actions/setup-node from invoking the bundled npm (https://github.com/WordPress/gutenberg/pull/82775)
- CI: Keep the bundled npm when devEngines is absent (https://github.com/WordPress/gutenberg/pull/82823)
- Icons: Move plugin icon registration out of the 7.1 compat directory (https://github.com/WordPress/gutenberg/pull/82832)
- Image block: stop interpreting `$`/`\` in img attributes as regex backreferences (https://github.com/WordPress/gutenberg/pull/79369)
- CI: Disable setup-node npm caching in the Create Block packed package job (https://github.com/WordPress/gutenberg/pull/82833)
- Build: Deduplicate npm dependencies (https://github.com/WordPress/gutenberg/pull/82698)
- PaletteEdit: Use @wordpress/ui Menu for palette options (https://github.com/WordPress/gutenberg/pull/82768)
- Editor: Use UI Menu for post actions (https://github.com/WordPress/gutenberg/pull/81922)
- Block Editor: Use UI Menu for bindings and variation transforms (https://github.com/WordPress/gutenberg/pull/81925)
- Select.Positioner: Revert to Base UI alignItemWithTrigger default (https://github.com/WordPress/gutenberg/pull/82043)
- API Fetch: Document that requests are meant for the current site's REST API. (https://github.com/WordPress/gutenberg/pull/82373)
- UI: Add Select.ItemLabel and ItemDescription (https://github.com/WordPress/gutenberg/pull/82369)
- Widgets: Fix the Welcome Guide menu item triggering a preference speak message (https://github.com/WordPress/gutenberg/pull/82395)
- UI: Move interaction tests to Browser Mode (https://github.com/WordPress/gutenberg/pull/82838)
- Packages: Update Ariakit to 0.4.39 (https://github.com/WordPress/gutenberg/pull/82831)
- Block Editor: replace deprecated word-wrap with overflow-wrap in responsive block control (https://github.com/WordPress/gutenberg/pull/82855)
- Button: replace deprecated `word-break` with `overflow-wrap: anywhere` (https://github.com/WordPress/gutenberg/pull/82854)
- UI: Update Base UI to 1.8.0 (https://github.com/WordPress/gutenberg/pull/82835)
- Docs: Document published dependency constraints (https://github.com/WordPress/gutenberg/pull/80631)
- Docs: Document page stability convention (https://github.com/WordPress/gutenberg/pull/80632)
- Cover Block: Fix resizable handle visibility on mobile when sidebar is opened (https://github.com/WordPress/gutenberg/pull/80355)
- Block Inspector: Stabilize display of inherited global styles and keep UI changes behind experiment (https://github.com/WordPress/gutenberg/pull/82840)
- Data: optimize store listeners and their execution (https://github.com/WordPress/gutenberg/pull/82842)
- Core Data: Fix return types on generated save/delete entity actions (https://github.com/WordPress/gutenberg/pull/77162)
- Notes: Use UI Menu for note actions (https://github.com/WordPress/gutenberg/pull/81930)
- Widget Dashboard: Use UI Menu for dashboard controls (https://github.com/WordPress/gutenberg/pull/81929)
- Media & Text Block: Add a Media section to the block inspector panel (https://github.com/WordPress/gutenberg/pull/82593)
- Fields: Hide the date, author and password fields when the user can't publish or reassign (https://github.com/WordPress/gutenberg/pull/82844)
- Docs: Guard against ESLint bulk suppression abuse (https://github.com/WordPress/gutenberg/pull/82944)
- BorderBoxControl: Restore the split borders layout (https://github.com/WordPress/gutenberg/pull/82939)
- Icons: Restore the dimmed box on the side and corner icons (https://github.com/WordPress/gutenberg/pull/82940)
- Fields: Show the template field to users who can't create templates (https://github.com/WordPress/gutenberg/pull/82857)
- Calendar Block: Use the args array signature of get_calendar() (https://github.com/WordPress/gutenberg/pull/82943)
- DataViews README: clarify readOnly vs isDisabled (https://github.com/WordPress/gutenberg/pull/82956)
- Template panel: Hide edit and create actions from users who can't create templates (https://github.com/WordPress/gutenberg/pull/82858)
- Fix stray fill rule in SelectControl. (https://github.com/WordPress/gutenberg/pull/82949)
- Stroke icons: final batch, 96 icons (https://github.com/WordPress/gutenberg/pull/82754)
- Fix Stylelint config and coding standards for font weight numeric values and disallow relative weights (https://github.com/WordPress/gutenberg/pull/82778)
- Widget Dashboard: Use UI Spinner and remove Components dependency (https://github.com/WordPress/gutenberg/pull/82837)
- Fix: Inherit link color for image block anchor elements (https://github.com/WordPress/gutenberg/pull/79401)
- Data: Fix the latest changelog entry and structure (https://github.com/WordPress/gutenberg/pull/82959)
- Menu: Fix vertical alignment across item combinations (https://github.com/WordPress/gutenberg/pull/82847)
- Docs: Fix the dead anchor in the block development environment list (https://github.com/WordPress/gutenberg/pull/82878)
- Collaborators Presence: Update to use design system's focus ring in header avatar stack (https://github.com/WordPress/gutenberg/pull/82941)
- UI: Fix highlighted item indicator in forced-colors mode (https://github.com/WordPress/gutenberg/pull/82772)
- Docs: Fix the broken Query block link in the Interactivity API guide (https://github.com/WordPress/gutenberg/pull/82862)
- Fix: Widgets customizer Undo and Redo buttons are disabled and the document tools focus style is not visible (https://github.com/WordPress/gutenberg/pull/82412)
- DataForm: Hide the edit button of disabled fields in the panel layout (https://github.com/WordPress/gutenberg/pull/82957)
- BoxControl: Migrate the side indicator to an SCSS module (https://github.com/WordPress/gutenberg/pull/82570)
- Distraction Free: raise top bar above notices when revealed by hover or keyboard focus (https://github.com/WordPress/gutenberg/pull/80349)
- Extensible Site Editor: Use the view config form for Quick Edit (https://github.com/WordPress/gutenberg/pull/82962)
- Fix: Query Pagination block ignores the parent block gap in the editor (https://github.com/WordPress/gutenberg/pull/82399)
- Customize Widgets: Await asynchronous toolbar updates in history test (https://github.com/WordPress/gutenberg/pull/82963)
- Elevation: Migrate from Emotion to SCSS modules (https://github.com/WordPress/gutenberg/pull/82572)
- Enable viewport state values for Gallery aspect ratio (https://github.com/WordPress/gutenberg/pull/82233)
- Scripts: Switch unit tests to Vitest and deprecate Jest tooling (https://github.com/WordPress/gutenberg/pull/82843)
- Speed up collaboration e2e by shortening poll interval (https://github.com/WordPress/gutenberg/pull/78746)
- UI: replace deprecated word-wrap with overflow-wrap in `VisuallyHidden` (https://github.com/WordPress/gutenberg/pull/82970)
- Block Library: replace deprecated word-wrap with overflow-wrap in screen-reader-text (https://github.com/WordPress/gutenberg/pull/82972)
- CustomGradientPicker: Show the control point's focus ring with the design system's outline (https://github.com/WordPress/gutenberg/pull/82834)
- Fix: Default block gap is ignored in the editor for themes without block gap support (https://github.com/WordPress/gutenberg/pull/82401)
- Remove the zero width space hack from getRectangleFromRange (https://github.com/WordPress/gutenberg/pull/82977)
- Block Toolbar: Show the parent selector for blocks inside patterns (https://github.com/WordPress/gutenberg/pull/82912)
- Keep the iOS keyboard capitalized after Return inside the editing host (https://github.com/WordPress/gutenberg/pull/82911)
- Docs: Say how long a notice can be, in the copy guide (https://github.com/WordPress/gutenberg/pull/81195)
- Widget Primitives: add `HostLink` over the `links` capability (https://github.com/WordPress/gutenberg/pull/82952)
- Pattern block: Run autoembed() before do_blocks() (https://github.com/WordPress/gutenberg/pull/82860)
- Widget Dashboard: default tile padding to `padding-lg` (https://github.com/WordPress/gutenberg/pull/82961)
- Upgrade wp-prettier to 3.9.6 (https://github.com/WordPress/gutenberg/pull/82731)
- Fix prettier lint issues after prettier upgrade (https://github.com/WordPress/gutenberg/pull/83015)
- Widget Dashboard: show a clipped widget title in the header infotip (https://github.com/WordPress/gutenberg/pull/82226)
- Post Title: remove the inline-block from the title link (https://github.com/WordPress/gutenberg/pull/80231)
- Collaborators Presence & Document Bar: Clean up styles by removing overrides (https://github.com/WordPress/gutenberg/pull/83013)
- Docs: document the no-hard-wrap rule for Markdown (https://github.com/WordPress/gutenberg/pull/83017)
- Icons: Allow `rect` and `circle` in the registry sanitizer (https://github.com/WordPress/gutenberg/pull/82846)
- Upgrade wp-prettier to 3.9.6 final (https://github.com/WordPress/gutenberg/pull/83026)
- Fix: Navigation submenu detection leaks between Navigation blocks. (https://github.com/WordPress/gutenberg/pull/82366)
- Use `WCSelectControl` alias for legacy SelectControl imports (https://github.com/WordPress/gutenberg/pull/83027)
- Upload media: guard processItem against re-entrant dispatch (https://github.com/WordPress/gutenberg/pull/83031)
- Math: Source the LaTeX from the MathML annotation (https://github.com/WordPress/gutenberg/pull/82987)
- Remove the interactivity-router script module data shim (https://github.com/WordPress/gutenberg/pull/83011)
- Data: Add `getResolutionArgs` to share a resolution across selector calls (https://github.com/WordPress/gutenberg/pull/82638)
- Code: Add shadow support (https://github.com/WordPress/gutenberg/pull/83014)
- Footnotes: Add shadow support (https://github.com/WordPress/gutenberg/pull/83044)
- Excerpt: Add shadow support (https://github.com/WordPress/gutenberg/pull/83018)
- Content: Add shadow support (https://github.com/WordPress/gutenberg/pull/83016)
- Icons: Test the registry sanitizer with a data provider (https://github.com/WordPress/gutenberg/pull/83024)
- Heading: Add shadow support (https://github.com/WordPress/gutenberg/pull/83045)
- Details: Add shadow support (https://github.com/WordPress/gutenberg/pull/83021)
- Post template panel: Remove the dead template read capability check (https://github.com/WordPress/gutenberg/pull/82861)
- Dependency Extraction Webpack Plugin: Add global-styles-engine and global-styles-ui as bundled packages (https://github.com/WordPress/gutenberg/pull/82589)
- Verse: Add shadow support (https://github.com/WordPress/gutenberg/pull/83057)
- Docs: Data: Fix typo in code example for __unstableNormalizeArgs (https://github.com/WordPress/gutenberg/pull/83070)
- Icons: Test that the registry sanitizer preserves every library icon (https://github.com/WordPress/gutenberg/pull/83008)
- Stylelint: add `custom-property-pattern` to disallow `--_gcd-*` custom properties (https://github.com/WordPress/gutenberg/pull/83025)
- Tooling: Add .mts and .cts support (https://github.com/WordPress/gutenberg/pull/83071)
- Block Mover: Cleanup focus ring override (https://github.com/WordPress/gutenberg/pull/83068)
- Tests: Remove obsolete internal Jest infrastructure (https://github.com/WordPress/gutenberg/pull/82975)
- Move the unit-test-date.sh script to workspace, rewrite to JS (https://github.com/WordPress/gutenberg/pull/83066)
- Gallery: Skip gap style generation for themes opting out of layout styles (https://github.com/WordPress/gutenberg/pull/81633)
- Monorepo tools: Move the experimental API audit out of bin/ (https://github.com/WordPress/gutenberg/pull/83081)
- Add category filtering to the start page options patterns modal (https://github.com/WordPress/gutenberg/pull/81396)
- UI: Mark Select and SelectControl as recommended (https://github.com/WordPress/gutenberg/pull/83030)
- Updated Changelog Entry (https://github.com/WordPress/gutenberg/pull/83037)
- Rich text: fix mobile selection hair pin grab at edge of block (https://github.com/WordPress/gutenberg/pull/83041)
- Link Control: Only tag pages as the front page or blog home (https://github.com/WordPress/gutenberg/pull/83082)
- Tooling: Name the shared tsconfig presets `tsconfig.*.json` (https://github.com/WordPress/gutenberg/pull/83077)
- Multi-line text of menu items is not aligned (https://github.com/WordPress/gutenberg/pull/70917)
- Fix Connectors and Fonts pages background color and contrast. (https://github.com/WordPress/gutenberg/pull/82827)
- Post Template: Add shadow support (https://github.com/WordPress/gutenberg/pull/83059)
- Page List: Add shadow support (https://github.com/WordPress/gutenberg/pull/83056)
- Playlist: Add shadow support (https://github.com/WordPress/gutenberg/pull/83055)
- Math: Add shadow support (https://github.com/WordPress/gutenberg/pull/83052)
- Latest Posts: Add shadow support (https://github.com/WordPress/gutenberg/pull/83051)
- Latest Comments: Add shadow support (https://github.com/WordPress/gutenberg/pull/83047)
- Home Link: Add shadow support (https://github.com/WordPress/gutenberg/pull/83046)
- Login/out: Add shadow support (https://github.com/WordPress/gutenberg/pull/83050)
- Excerpt field: Render nothing when the excerpt is empty (https://github.com/WordPress/gutenberg/pull/82423)
- No Results: Add shadow support (https://github.com/WordPress/gutenberg/pull/83054)
- ESLint: Allow string literal IDs in tests and Storybook (https://github.com/WordPress/gutenberg/pull/83090)
- UI: Add RadioGroup form primitive (https://github.com/WordPress/gutenberg/pull/83038)
- Components: Deprecate Divider (https://github.com/WordPress/gutenberg/pull/83040)
- Data: Stabilize `__unstableNormalizeArgs` as `normalizeArgs` (https://github.com/WordPress/gutenberg/pull/83067)
- Stylelint: add  `--_wp-*`  to `custom-property-pattern` rule (https://github.com/WordPress/gutenberg/pull/83075)
- Build: Declare `@wordpress/theme` as a dev dependency of `@wordpress/build` (https://github.com/WordPress/gutenberg/pull/83129)
- UI: Tighten Fieldset legend and description gap (https://github.com/WordPress/gutenberg/pull/82729)
- Core Data: Fix overwriting scored matches for duplicate ids (https://github.com/WordPress/gutenberg/pull/83113)
- Block Editor: Update LinkControl and LinkPicker to use `Badge` from `@wordpress/ui` (https://github.com/WordPress/gutenberg/pull/82684)
- Storybook: Remove obsolete manifest extractor render workaround (https://github.com/WordPress/gutenberg/pull/83124)
- UI: Add Switch form primitive (https://github.com/WordPress/gutenberg/pull/83039)
- Automated Testing: Document and validate expected changelog structure (https://github.com/WordPress/gutenberg/pull/83043)
- ESLint: Disallow Storybook build-style side-effect imports (https://github.com/WordPress/gutenberg/pull/82960)
- Global Styles: replace experimental ZStack in the palette preview (https://github.com/WordPress/gutenberg/pull/83060)
- UI: Place Fieldset description after the legend in stories (https://github.com/WordPress/gutenberg/pull/83144)
- Use WCCheckboxControl alias for legacy CheckboxControl imports. (https://github.com/WordPress/gutenberg/pull/83145)
- The image dimensions have been removed from the name. (https://github.com/WordPress/gutenberg/pull/82828)
- Fix the high-severity adm-zip audit failure in AI development tests (https://github.com/WordPress/gutenberg/pull/83170)
- Bump adm-zip from 0.6.0 to 0.6.1 (https://github.com/WordPress/gutenberg/pull/83167)
- Post Navigation Link: Add shadow support (https://github.com/WordPress/gutenberg/pull/83058)
- Bump csv-parse from 7.0.1 to 7.0.2 in /test/ai-development (https://github.com/WordPress/gutenberg/pull/82619)
- Video block: Remove GIF variation handling (https://github.com/WordPress/gutenberg/pull/82696)
- PostLastRevisionPanel: Fix doubled focus ring on the revisions button (https://github.com/WordPress/gutenberg/pull/82955)
- Navigation Overlay Close: Add shadow support (https://github.com/WordPress/gutenberg/pull/83053)
- Fix typos in comments and test descriptions (https://github.com/WordPress/gutenberg/pull/83172)
- Block Editor: Remove the deprecated `__experimentalGroup` prop (https://github.com/WordPress/gutenberg/pull/83171)
- Site Tagline: Add fit text support (https://github.com/WordPress/gutenberg/pull/83034)
- Block Editor: Highlight the block when its content list item is hovered (https://github.com/WordPress/gutenberg/pull/83049)
- Navigation: Fix always-open submenus jumping in width on hover (https://github.com/WordPress/gutenberg/pull/83142)
- Post Navigation Link: Add border and spacing support (https://github.com/WordPress/gutenberg/pull/83122)
- Preformatted: Add shadow support (https://github.com/WordPress/gutenberg/pull/83174)
- Pullquote: Add shadow support (https://github.com/WordPress/gutenberg/pull/83177)
- Quote: Add shadow support (https://github.com/WordPress/gutenberg/pull/83178)
- Site Title: Add shadow support (https://github.com/WordPress/gutenberg/pull/83182)
- Post Title: Add shadow support (https://github.com/WordPress/gutenberg/pull/83195)
- Video: Add shadow support (https://github.com/WordPress/gutenberg/pull/83196)
- Read More: Add shadow support (https://github.com/WordPress/gutenberg/pull/83180)
- Post Terms: Add shadow support (https://github.com/WordPress/gutenberg/pull/83175)
- Query Total: Add shadow support (https://github.com/WordPress/gutenberg/pull/83176)
- RSS: Add shadow support (https://github.com/WordPress/gutenberg/pull/83179)
- Tab Panel: Add shadow support (https://github.com/WordPress/gutenberg/pull/83183)
- Post Time to Read: Add shadow support (https://github.com/WordPress/gutenberg/pull/83194)
- Tab Panels: Add shadow support (https://github.com/WordPress/gutenberg/pull/83184)
- UI: Document that public --wp-ui-* CSS custom properties are frozen. (https://github.com/WordPress/gutenberg/pull/83147)
- Tag Cloud: Add shadow support (https://github.com/WordPress/gutenberg/pull/83188)
- Table of Contents: Add shadow support (https://github.com/WordPress/gutenberg/pull/83187)
- Tabs: Add shadow support (https://github.com/WordPress/gutenberg/pull/83186)
- Term Description: Add shadow support (https://github.com/WordPress/gutenberg/pull/83190)
- Term Count: Add shadow support (https://github.com/WordPress/gutenberg/pull/83189)
- Site Tagline: Add shadow support (https://github.com/WordPress/gutenberg/pull/83181)
- Terms List: Add shadow support (https://github.com/WordPress/gutenberg/pull/83193)
- Details: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83222)
- Social Icons: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83249)
- Accordion Item: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83197)
- Post Author Name: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83200)
- Code: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83204)
- Comment Author Name: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83207)
- Comment Content: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83208)
- Comment Date: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83209)
- Term Template: Add shadow support (https://github.com/WordPress/gutenberg/pull/83192)
- Footnotes: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83224)
- Post Date: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83218)
- Comments Title: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83217)
- Gallery: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83225)
- Heading: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83226)
- Term Name: Add shadow support (https://github.com/WordPress/gutenberg/pull/83191)
- Breadcrumbs: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83202)
- Comment Reply Link: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83211)
- File: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83223)
- Post Author Biography: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83199)
- Next Page: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83232)
- Post Excerpt: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83221)
- Previous Page: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83240)
- Accordion Panel: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83201)
- Post Comments Count: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83213)
- RSS: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83244)
- Columns: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83206)
- Archives: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83198)
- Latest Posts: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83228)
- Preformatted: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83239)
- Comments Previous Page: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83220)
- Read More: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83245)
- Comments Pagination: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83219)
- Query Title: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83242)
- Post Title: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83260)
- Tag Cloud: Add background and link colour support (https://github.com/WordPress/gutenberg/pull/83264)
- Storybook: List every top-level folder in the sidebar order, design system first (https://github.com/WordPress/gutenberg/pull/82429)
- Featured image field: support the `editor.PostFeaturedImage` filter in the post summary (https://github.com/WordPress/gutenberg/pull/83133)
- Storybook: Fold Foundations, DataViews, Fields, Admin UI and Icons under Design System (https://github.com/WordPress/gutenberg/pull/82430)
- Block Editor: replace denylisted layout components in the Duotone filter label (https://github.com/WordPress/gutenberg/pull/83061)
- Storybook: Group Widget Primitives, Widget Dashboard and Grid under Widgets (https://github.com/WordPress/gutenberg/pull/82431)
- Storybook: Group the editor UI under Editor (https://github.com/WordPress/gutenberg/pull/82432)
- Components: Deprecate Elevation (https://github.com/WordPress/gutenberg/pull/83269)
- Post Time to Read: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83258)
- Buttons: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83203)
- Storybook: Group component packages under Components (https://github.com/WordPress/gutenberg/pull/82433)
- Terms List: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83257)
- UI: Add SwitchControl component (https://github.com/WordPress/gutenberg/pull/83146)
- Release tools: Move the plugin ZIP build out of bin/ (https://github.com/WordPress/gutenberg/pull/83087)
- Storybook: Remove the legacy Tokens pages (https://github.com/WordPress/gutenberg/pull/82434)
- Storybook: Show the component status in the sidebar as status-* tags (https://github.com/WordPress/gutenberg/pull/82435)
- Storybook: Guard the set of top-level sidebar folders with a test (https://github.com/WordPress/gutenberg/pull/82436)
- Storybook: Rewrite the introduction page as the front door of the design system (https://github.com/WordPress/gutenberg/pull/82437)
- Workflows: Refine and complete the push and pull_request branch filters (https://github.com/WordPress/gutenberg/pull/82744)
- Public API for supporting viewport states in custom controls (https://github.com/WordPress/gutenberg/pull/82741)
- Fix: Term Name block skips the term name display filters. (https://github.com/WordPress/gutenberg/pull/82365)
- Tag Cloud: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83259)
- Comments Next Page: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83215)
- Comments Page Numbers: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83216)
- Pagination: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83236)
- Comment Edit Link: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83210)
- Page Numbers: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83235)
- Column: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83205)
- Comments: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83212)
- Post Comments Form: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83214)
- Latest Comments: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83227)
- Home Link: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83230)
- Term Description: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83254)
- Storybook: Load the media editor package styles in its stories (https://github.com/WordPress/gutenberg/pull/83303)
- Site Tagline: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83246)
- Media Editor: fix crop canvas handlers and rotation ruler in RTL (https://github.com/WordPress/gutenberg/pull/83304)
- Site Title: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83247)
- Query Total: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83243)
- Tab Panels: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83250)
- Term Template: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83256)
- Term Count: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83253)
- Math: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83231)
- Tabs: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83252)
- Table of Contents: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83251)
- Tab Panel: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83248)
- Term Name: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83255)
- Page List: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83234)
- Login/out: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83229)
- No Results: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83233)
- Post Template: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83237)
- UI: Add RadioGroupControl (https://github.com/WordPress/gutenberg/pull/83143)
- Post Terms: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83238)
- Components: Deprecate Scrollable (https://github.com/WordPress/gutenberg/pull/83273)
- Storybook: Place RadioGroup, Switch, and SwitchControl under @wordpress-ui (https://github.com/WordPress/gutenberg/pull/83314)
- Block Editor: Show the in-between inserter on wrapped lines (https://github.com/WordPress/gutenberg/pull/83276)
- Docs: Add missing `@since` tags to two functions (https://github.com/WordPress/gutenberg/pull/83116)
- Upgrade eslint-plugin-jsdoc to latest version 64. (https://github.com/WordPress/gutenberg/pull/82727)
- i18n: add context to breadcrumbs area label (https://github.com/WordPress/gutenberg/pull/78134)
- Storybook: Omit the recommended checkmark from the sidebar (https://github.com/WordPress/gutenberg/pull/83309)
- Fix: Social Icons: In-between inserter does not work (https://github.com/WordPress/gutenberg/pull/83327)
- Storybook: Convert story-only stylesheets to CSS modules (https://github.com/WordPress/gutenberg/pull/83272)
- Block Editor: replace experimental ZStack in overlapping color indicators (https://github.com/WordPress/gutenberg/pull/83062)
- FocalPointPicker: Fix Sidebar Overflow Issue (https://github.com/WordPress/gutenberg/pull/68915)
- Storybook: Reject non-module stylesheet imports (https://github.com/WordPress/gutenberg/pull/83313)
- Components: Align CheckboxControl border, hover, and disabled colors with UI (https://github.com/WordPress/gutenberg/pull/83271)
- Icons: Move the public property from icons to collections (https://github.com/WordPress/gutenberg/pull/83277)
- ESLint Plugin: Check type-only imports for undeclared dependencies (https://github.com/WordPress/gutenberg/pull/83336)
- TypeScript: Give each widget its own typecheck project (https://github.com/WordPress/gutenberg/pull/83328)
- Components: Deprecate ResponsiveWrapper (https://github.com/WordPress/gutenberg/pull/83347)
- Remove npm from package engines (https://github.com/WordPress/gutenberg/pull/83326)
- Data: keep a pending listener when store not yet registered (https://github.com/WordPress/gutenberg/pull/83346)
- Add Template: Show template descriptions in the template list (https://github.com/WordPress/gutenberg/pull/83064)
- Block Editor: Consolidate search ranking into one shared module (https://github.com/WordPress/gutenberg/pull/83312)
- DataViews: Let a picker compose its footer from the page select and its actions (https://github.com/WordPress/gutenberg/pull/83281)
- Bump the github-actions group across 1 directory with 2 updates (https://github.com/WordPress/gutenberg/pull/83080)
- Rich text: Show the format boundary when the canvas root has focus (https://github.com/WordPress/gutenberg/pull/83385)
- Rich text: Select an inline image by clicking it, and show the edit UI of the object clicked (https://github.com/WordPress/gutenberg/pull/83370)
- Global Styles: Switch the revisions screen to the DataViews pickerActivity layout (https://github.com/WordPress/gutenberg/pull/80856)
- Try: Add left border to Notes panel. (https://github.com/WordPress/gutenberg/pull/83330)
- Media: Detect HEIC uploads from the file header rather than the file name (https://github.com/WordPress/gutenberg/pull/81737)
- Revise block direct dragging to fix adjacent issues (https://github.com/WordPress/gutenberg/pull/72983)
- Submenu: Add shadow support (https://github.com/WordPress/gutenberg/pull/83185)
- Disable caching when publishing built assets (https://github.com/WordPress/gutenberg/pull/79835)
- Tabs: Add border support (https://github.com/WordPress/gutenberg/pull/83361)
- Image: Restore alt text and caption when undoing a media editor save (https://github.com/WordPress/gutenberg/pull/82829)
- Accordion: Add link, heading, and button colour support (https://github.com/WordPress/gutenberg/pull/83373)
- Navigation Overlay Close: Add border support (https://github.com/WordPress/gutenberg/pull/83362)
- Tab Panel: Hide the shadow on closed panels (https://github.com/WordPress/gutenberg/pull/83369)
- Preformatted: Add link colour support (https://github.com/WordPress/gutenberg/pull/83386)
- Audio: Add link colour support (https://github.com/WordPress/gutenberg/pull/83375)
- No Results: Add heading and button colour support (https://github.com/WordPress/gutenberg/pull/83382)
- Comment Content: Add heading and button colour support (https://github.com/WordPress/gutenberg/pull/83376)
- Tab Panel: Add border support (https://github.com/WordPress/gutenberg/pull/83363)
- Comments: Add button colour support (https://github.com/WordPress/gutenberg/pull/83378)
- Accordion Item: Add link, heading, and button colour support (https://github.com/WordPress/gutenberg/pull/83371)
- Details: Add heading and button colour support (https://github.com/WordPress/gutenberg/pull/83381)
- Media & Text: Add button colour support (https://github.com/WordPress/gutenberg/pull/83380)
- Post Comments Form: Add button colour support (https://github.com/WordPress/gutenberg/pull/83377)
- Tab Panels: Add button colour support (https://github.com/WordPress/gutenberg/pull/83388)
- Post Content: Add button colour support (https://github.com/WordPress/gutenberg/pull/83379)
- Components: Stop rendering a hidden drag preview and a media query per draggable (https://github.com/WordPress/gutenberg/pull/83423)
- Post Template: Add heading and button colour support (https://github.com/WordPress/gutenberg/pull/83384)
- Table of Contents: Add text align support (https://github.com/WordPress/gutenberg/pull/83430)
- Group: Add text columns support (https://github.com/WordPress/gutenberg/pull/83425)
- Tabs: Add typography support (https://github.com/WordPress/gutenberg/pull/83431)
- Fields: Resolve the MediaEdit picker through the editor.MediaUpload filter (https://github.com/WordPress/gutenberg/pull/82678)
- Tab Panel: Add link, heading, and button colour support (https://github.com/WordPress/gutenberg/pull/83389)
- Global Styles: Rank block search results by title match (https://github.com/WordPress/gutenberg/pull/83435)
- Post Author Biography: Add text columns support (https://github.com/WordPress/gutenberg/pull/83424)
- Block Editor: Avoid a store subscription per inserter item (https://github.com/WordPress/gutenberg/pull/83434)
- Home Link: Add border support (https://github.com/WordPress/gutenberg/pull/83360)
- Tab Panels: Add typography support (https://github.com/WordPress/gutenberg/pull/83428)
- Tab Panel: Add typography support (https://github.com/WordPress/gutenberg/pull/83426)
- Storybook: Drop CustomSelectControlV2 stories and the unused WIP tag (https://github.com/WordPress/gutenberg/pull/83349)
- Docs: clarify DEWP asset file naming rule (https://github.com/WordPress/gutenberg/pull/80620)
- Components: Deprecate ZStack (https://github.com/WordPress/gutenberg/pull/83344)
- Media Utils: Stabilize `unstableFeaturedImageFlow` as `featuredImageFlow` (https://github.com/WordPress/gutenberg/pull/83439)
- Accordion Panel: Add link, heading, and button colour support (https://github.com/WordPress/gutenberg/pull/83374)
- Terms List: Add text columns support (https://github.com/WordPress/gutenberg/pull/83432)
- Enable setting position within viewport states (https://github.com/WordPress/gutenberg/pull/83094)
- Term Count: Add text align support (https://github.com/WordPress/gutenberg/pull/83429)
- Dependency Extraction Webpack Plugin: Always pretty-print PHP asset files (https://github.com/WordPress/gutenberg/pull/79650)
- Block Editor: Drop the O(n) tie-break in orderBy (https://github.com/WordPress/gutenberg/pull/83443)
- Cover Block: Add a Media section to the block inspector panel (https://github.com/WordPress/gutenberg/pull/82751)
- Admin bar: backport removal of site icon background from 7.1.1 (https://github.com/WordPress/gutenberg/pull/83433)
- Tests: Update Testing Library DOM to 10.4.2 (https://github.com/WordPress/gutenberg/pull/83279)
- Tabs: Add link, heading, and button colour support (https://github.com/WordPress/gutenberg/pull/83390)
- Icons: Add a core-admin collection for the admin interface (https://github.com/WordPress/gutenberg/pull/83261)
- Post Content: Add text align support (https://github.com/WordPress/gutenberg/pull/83427)
- Components: Give control labels an explicit foreground color (https://github.com/WordPress/gutenberg/pull/83318)
- Radio: Expand hit target without changing visual size (https://github.com/WordPress/gutenberg/pull/83275)
- Tests: Isolate deprecation warnings between cases (https://github.com/WordPress/gutenberg/pull/83097)
- Block Toolbar: Fix parent selector inserter for locked blocks (https://github.com/WordPress/gutenberg/pull/83444)
- Icon block: Don't render icons from non-public collections on the frontend (https://github.com/WordPress/gutenberg/pull/82774)
- Hide alignment control when nothing available. (https://github.com/WordPress/gutenberg/pull/83265)
- Fields: Use the post type labels in the featured image field and drop `mediaUploadProps` (https://github.com/WordPress/gutenberg/pull/83445)
- Icons: Rebalance a few, add other new icons. (https://github.com/WordPress/gutenberg/pull/83338)
- Docs: Replace retired reduce-motion mixin in animation guidelines (https://github.com/WordPress/gutenberg/pull/83335)
- Block Editor: Update block visibility badges to use from @wordpress/ui package (https://github.com/WordPress/gutenberg/pull/82670)
- PHP-only blocks: Detect enums in array attributes (https://github.com/WordPress/gutenberg/pull/83394)
- Data: Defer async-mode useSelect notification to idle time (https://github.com/WordPress/gutenberg/pull/82821)

Developed in https://github.com/WordPress/wordpress-develop/pull/14045.

Props wildworks.
Fixes #66254.


git-svn-id: https://develop.svn.wordpress.org/trunk@64223 602fd350-edb4-49c9-b593-d223f7449a82
wporg-sync pushed a commit to WordPress/WordPress that referenced this pull request Oct 7, 2026
This updates the pinned commit hash of the Gutenberg repository from `5715a61334c4d29f21b67cf34b46061dc1b62502` to `954fe7f9e04631c41aec4552acd627a7203a2aad` (version 24.1.0).

A full list of changes included in this commit can be found on GitHub: https://github.com/WordPress/gutenberg/compare/50ad79ef7ebc5f1d2a75def068887e33a15f2634...954fe7f9e04631c41aec4552acd627a7203a2aad.

- Tabs: remove core's duplicate render_block_context filter (https://github.com/WordPress/gutenberg/pull/82610)
- Automated Testing: Fix unit test compatibility with Node.js v26 (https://github.com/WordPress/gutenberg/pull/82618)
- Test: Drop the jest-dom Vitest entry point from test files (https://github.com/WordPress/gutenberg/pull/82606)
- Packages: Replace stale jest types with the Vitest test environment (https://github.com/WordPress/gutenberg/pull/82605)
- Editor: Store the finalize response as the attachment record (https://github.com/WordPress/gutenberg/pull/81947)
- Update Style Engine block supports documentation (https://github.com/WordPress/gutenberg/pull/82585)
- Fix the high-severity sharp audit failure in AI development tests (https://github.com/WordPress/gutenberg/pull/82627)
- Bump vitest from 4.1.10 to 4.1.11 (https://github.com/WordPress/gutenberg/pull/82629)
- Editor: Render change diffs in the post title in revisions (https://github.com/WordPress/gutenberg/pull/82586)
- Editor: Derive post-only block list layout from the assigned template (https://github.com/WordPress/gutenberg/pull/82599)
- Gallery: Shorten "Use images attached to the post" button, add description (https://github.com/WordPress/gutenberg/pull/82617)
- Theme: Enforce active fill contrast (https://github.com/WordPress/gutenberg/pull/82542)
- UI: Reset completed calendar ranges by default (https://github.com/WordPress/gutenberg/pull/82612)
- Video block: switch to UI Badge (https://github.com/WordPress/gutenberg/pull/82441)
- DataViews: Remove obsolete Node 20 timezone test gate (https://github.com/WordPress/gutenberg/pull/82644)
- Disabled: keep the consumer className when isDisabled is false (https://github.com/WordPress/gutenberg/pull/82648)
- Autocompleters: Consider email address context in user mention (https://github.com/WordPress/gutenberg/pull/47249)
- Searchable selects: Hide creatable footer when it is filtered out (https://github.com/WordPress/gutenberg/pull/82566)
- Popover storybook: add infotip with link example (https://github.com/WordPress/gutenberg/pull/82653)
- Block editor, Components: Stop relying on Disabled class name (https://github.com/WordPress/gutenberg/pull/82651)
- FormTokenField: wrap to the last suggestion on ArrowUp with nothing selected (https://github.com/WordPress/gutenberg/pull/82646)
- Components: Match the @wordpress/ui disabled styles in form controls (https://github.com/WordPress/gutenberg/pull/82454)
- Framework: Update @types/node to v24 (https://github.com/WordPress/gutenberg/pull/82616)
- Bump vite from 8.2.1 to 8.2.2 (https://github.com/WordPress/gutenberg/pull/82668)
- Site editor v2: Use the canonical fields in the templates list (https://github.com/WordPress/gutenberg/pull/82666)
- api-fetch: Resolve to null for a 200 response with an empty body (https://github.com/WordPress/gutenberg/pull/79325)
- Site editor v2: Use the canonical wp_block fields in the patterns list (https://github.com/WordPress/gutenberg/pull/82672)
- Theme: Remove chroma capacity cache (https://github.com/WordPress/gutenberg/pull/82591)
- Remove the content-only inspector fields (block fields) experiment (https://github.com/WordPress/gutenberg/pull/82531)
- Site editor v2: templates take view config from endpoint (https://github.com/WordPress/gutenberg/pull/82456)
- Post URL: translate the copy permalink button label (https://github.com/WordPress/gutenberg/pull/82642)
- UI: Test Calendar raw-offset timezones (https://github.com/WordPress/gutenberg/pull/82658)
- DOM: Exclude visibility-hidden elements from focusable results (https://github.com/WordPress/gutenberg/pull/82574)
- Test: Update SWC dependencies (https://github.com/WordPress/gutenberg/pull/82660)
- Theme, Widget dashboard: Declare the @storybook/addon-docs dependency (https://github.com/WordPress/gutenberg/pull/82676)
- Update Playwright to 1.63.0 (https://github.com/WordPress/gutenberg/pull/82654)
- Site editor v2: patterns take view config from endpoint (https://github.com/WordPress/gutenberg/pull/82458)
- BlockPreview: Assert preview contents are inert (https://github.com/WordPress/gutenberg/pull/82682)
- Theme: Add bin-specific tsconfig with nodenext module resolution (https://github.com/WordPress/gutenberg/pull/82622)
- Block Editor: Remove the dead Write/Design editor tool plumbing (https://github.com/WordPress/gutenberg/pull/82677)
- Create Block: Test package at supported Node.js versions (https://github.com/WordPress/gutenberg/pull/82657)
- Update Actions and Octokit dependencies (https://github.com/WordPress/gutenberg/pull/82663)
- Theme: Use Node.js native type-stripping for scripts (https://github.com/WordPress/gutenberg/pull/82680)
- Build Scripts: Suggest --verbose when a type check fails (https://github.com/WordPress/gutenberg/pull/82604)
- e2e-test-utils-playwright: Update Lighthouse and web-vitals (https://github.com/WordPress/gutenberg/pull/81916)
- Test: Update Vitest to version 5 (https://github.com/WordPress/gutenberg/pull/82687)
- Site editor v2: template parts take view config from endpoint (https://github.com/WordPress/gutenberg/pull/82457)
- Theme: Reduce repeated color ramp search work (https://github.com/WordPress/gutenberg/pull/82545)
- Media: Only blame the browser's codecs when HEIC really cannot be decoded (https://github.com/WordPress/gutenberg/pull/82265)
- Site editor v2: Identity takes its form from the view config endpoint (https://github.com/WordPress/gutenberg/pull/82692)
- Storybook: Include stories in docgen TypeScript project (https://github.com/WordPress/gutenberg/pull/82694)
- Test: Root the Vitest browser project where its dependencies are declared (https://github.com/WordPress/gutenberg/pull/82699)
- Build: Fix regular CSS injection in Vitest Browser Mode (https://github.com/WordPress/gutenberg/pull/82154)
- Workflow: Replace cmdk with the @wordpress/ui Autocomplete primitive (https://github.com/WordPress/gutenberg/pull/82504)
- Add textShadow typography support and UI (https://github.com/WordPress/gutenberg/pull/79584)
- Block editor: migrate block-card Badge to UI Badge (https://github.com/WordPress/gutenberg/pull/82503)
- Bump github/codeql-action/upload-sarif (https://github.com/WordPress/gutenberg/pull/82339)
- Rich text: separate applying the selection from focusing the field (https://github.com/WordPress/gutenberg/pull/82581)
- Bump svgo from 3.3.4 to 3.3.5 (https://github.com/WordPress/gutenberg/pull/82631)
- Inner Blocks: Support legacy inherit-based layouts (https://github.com/WordPress/gutenberg/pull/82637)
- Bump js-yaml from 3.15.1 to 3.15.2 (https://github.com/WordPress/gutenberg/pull/82628)
- Bump colord from 2.9.3 to 2.9.4 (https://github.com/WordPress/gutenberg/pull/82625)
- Bump @humanfs/node from 0.16.7 to 0.16.8 (https://github.com/WordPress/gutenberg/pull/82352)
- Site Editor: Restore Global Styles access on the front page (https://github.com/WordPress/gutenberg/pull/82624)
- Bump browserslist from 4.28.4 to 4.28.7 (https://github.com/WordPress/gutenberg/pull/82315)
- Bump fast-uri from 3.1.5 to 3.1.7 (https://github.com/WordPress/gutenberg/pull/82351)
- DataViews: Label clickable grid media by the item title when the title is hidden (https://github.com/WordPress/gutenberg/pull/82639)
- Layout hooks: roll out usage of normalizeLegacyLayout to the block-editor layout hooks (https://github.com/WordPress/gutenberg/pull/82710)
- Checkbox: Expand hit target without changing visual size (https://github.com/WordPress/gutenberg/pull/82597)
- Components: Align CheckboxControl checkmark and disabled styles with UI (https://github.com/WordPress/gutenberg/pull/82555)
- Improve Math Inline and Block UI (https://github.com/WordPress/gutenberg/pull/77743)
- Widgets: carry declarative `attributes` through the widget pipeline (https://github.com/WordPress/gutenberg/pull/82485)
- Editor: Coerce `multiple` to a boolean in the media modal wrapper (https://github.com/WordPress/gutenberg/pull/82715)
- Packages: Backport the September 10 npm release metadata to trunk (https://github.com/WordPress/gutenberg/pull/82709)
- Update lerna to 10 and markdownlint-cli to 0.49.1 (https://github.com/WordPress/gutenberg/pull/81917)
- Navigation: don't force submenus open inside a custom overlay (https://github.com/WordPress/gutenberg/pull/82596)
- TextareaAutosize: Replace with native textareas and `field-sizing` (https://github.com/WordPress/gutenberg/pull/64208)
- Fields: Show a message in MediaEdit when the user can't upload media (https://github.com/WordPress/gutenberg/pull/82720)
- Fix playlist track selector stability (https://github.com/WordPress/gutenberg/pull/81760)
- Workflow: Remove deprecated word-wrapping (https://github.com/WordPress/gutenberg/pull/82562)
- Post publish panel: replace deprecated word-break with overflow-wrap (https://github.com/WordPress/gutenberg/pull/82495)
- CI: Run the required trunk changes check through the pr-baseline action (https://github.com/WordPress/gutenberg/pull/82725)
- Stroke icons: 3rd batch, 142 icon updates (https://github.com/WordPress/gutenberg/pull/82540)
- AI development tests: Use repository Node version (https://github.com/WordPress/gutenberg/pull/82662)
- Components: Clean up legacy focus/button overrides in Snackbar and Notice (https://github.com/WordPress/gutenberg/pull/82640)
- Command Palette: Only add the admin bar button when Core does not provide it (https://github.com/WordPress/gutenberg/pull/82733)
- Release: Verify SVN deployment after publication (https://github.com/WordPress/gutenberg/pull/82513)
- Test: Run rendered browser behavior in Vitest Browser Mode (https://github.com/WordPress/gutenberg/pull/80995)
- DOM: Find focusable image map areas (https://github.com/WordPress/gutenberg/pull/82736)
- Add backwards-compatible Y option to provider creator, do not use wp.sync directly in tests (https://github.com/WordPress/gutenberg/pull/82621)
- Fields: replace word-break with `overflow-wrap: anywhere` on slug permalink (https://github.com/WordPress/gutenberg/pull/82693)
- Env: Preserve complete lifecycle script error output (https://github.com/WordPress/gutenberg/pull/82735)
- Remove deprecated word-wrapping Stylelint suppressions (https://github.com/WordPress/gutenberg/pull/82426)
- Test: Stabilize Menu iframe listener lifecycle assertions (https://github.com/WordPress/gutenberg/pull/82575)
- Media: Stop injecting crossorigin attributes under Document-Isolation-Policy (https://github.com/WordPress/gutenberg/pull/82614)
- Global Styles: Retain responsive styles in block style variation partials (https://github.com/WordPress/gutenberg/pull/82403)
- Editor: Add a fixedRenderingMode prop for contexts with one mode (https://github.com/WordPress/gutenberg/pull/82711)
- Site Editor v2: Show the template on the routes that show the site (https://github.com/WordPress/gutenberg/pull/82712)
- Fix: Navigation: block appender button is 26×24 instead of square (https://github.com/WordPress/gutenberg/pull/82718)
- Add missing listitem role to ConnectorItem. (https://github.com/WordPress/gutenberg/pull/82664)
- Block alignment: List unavailable wide and full alignments instead of hiding them (https://github.com/WordPress/gutenberg/pull/82600)
- Test: Make browser tests independent of execution order (https://github.com/WordPress/gutenberg/pull/82743)
- Project Management: Exclude private APIs config from CODEOWNERS (https://github.com/WordPress/gutenberg/pull/82750)
- Unit Tests: Resolve @ariakit/utils through its dependents (https://github.com/WordPress/gutenberg/pull/82756)
- Interface: Convert the package to TypeScript (https://github.com/WordPress/gutenberg/pull/82753)
- Grid: Migrate Emotion styles to SCSS Modules (https://github.com/WordPress/gutenberg/pull/82571)
- Test: Finish repository Vitest migration and expand Browser Mode coverage (https://github.com/WordPress/gutenberg/pull/82742)
- Plugin: Bump minimum required WordPress version to 7.0 (https://github.com/WordPress/gutenberg/pull/82404)
- Circular Option Picker: Show focus with button's outline ring (https://github.com/WordPress/gutenberg/pull/82521)
- Interface: Fix the ActionItem click handler and selector types (https://github.com/WordPress/gutenberg/pull/82758)
- Editor: Remove pass-through more menu Slot wrappers (https://github.com/WordPress/gutenberg/pull/82759)
- Upgrade React 19 to 19.3.0 (https://github.com/WordPress/gutenberg/pull/82760)
- Edit Post: Fix meta boxes unreachable in Code Editor split view (https://github.com/WordPress/gutenberg/pull/78644)
- Docs: Add blank line between `@since` and `@param`/`@return` in block parser (https://github.com/WordPress/gutenberg/pull/82690)
- UI: Add statusContent to searchable selects (https://github.com/WordPress/gutenberg/pull/82592)
- UI: Add CheckboxGroup form primitive (https://github.com/WordPress/gutenberg/pull/82556)
- Notice: add custom icon Storybook example (https://github.com/WordPress/gutenberg/pull/82762)
- Test: Remove obsolete internal test setup and transforms (https://github.com/WordPress/gutenberg/pull/82761)
- Code Modernization: Use null coalescing operator in `WP_Block_Parser` methods (https://github.com/WordPress/gutenberg/pull/82763)
- Global Styles UI: Use UI Menu (https://github.com/WordPress/gutenberg/pull/81921)
- Icons: Allow icons to ship to WordPress Core without exposing them in the Icon block  (https://github.com/WordPress/gutenberg/pull/82634)
- Fix doubly-zipped plugin artifacts in GitHub Actions (https://github.com/WordPress/gutenberg/pull/76857)
- Icons: Ship the admin bar and admin menu icons to WordPress Core (https://github.com/WordPress/gutenberg/pull/79451)
- Autocomplete: Show focus with design system's focus ring (https://github.com/WordPress/gutenberg/pull/82766)
- Keycodes: Add a shared keyboard shortcut representation helper (https://github.com/WordPress/gutenberg/pull/82632)
- CI: Scope the required trunk changes refresh to what a move can invalidate (https://github.com/WordPress/gutenberg/pull/82767)
- Editor: Honor post types in `post-thumbnails` theme support when registering the featured image field (https://github.com/WordPress/gutenberg/pull/82773)
- Docs: Clarify parent behavior during block registration (https://github.com/WordPress/gutenberg/pull/78967)
- Cover: Prevent content cutoff when aspect ratio is set in Safari (https://github.com/WordPress/gutenberg/pull/70152)
- Docs: Clarify dependency extraction asset filename (https://github.com/WordPress/gutenberg/pull/78968)
- Re-enable editableRoot for multi-selection on mobile web (https://github.com/WordPress/gutenberg/pull/81542)
- Post Taxonomies: Replace FormTokenField in the flat term selector (https://github.com/WordPress/gutenberg/pull/80967)
- E2E: Reset preferences in the post editor preload spec (https://github.com/WordPress/gutenberg/pull/82818)
- Fonts: Remove the deprecated Fonts API BC layer and leftovers (https://github.com/WordPress/gutenberg/pull/82813)
- Commands: Avoid re-registering command loaders on every render (https://github.com/WordPress/gutenberg/pull/82819)
- Data: Remove the unused AsyncModeConsumer export (https://github.com/WordPress/gutenberg/pull/82822)
- Tooling: Extract shared TypeScript configs into a `@wordpress/config-tools` workspace (https://github.com/WordPress/gutenberg/pull/82334)
- Style states: Improve block inspector UI (https://github.com/WordPress/gutenberg/pull/82649)
- Tooling: Add @wordpress/monorepo-tools to root devDependencies (https://github.com/WordPress/gutenberg/pull/82824)
- DataViews: replace `word-break` with `overflow-wrap: anywhere` on `DataForm` panel field control (https://github.com/WordPress/gutenberg/pull/82776)
- CI: Stop actions/setup-node from invoking the bundled npm (https://github.com/WordPress/gutenberg/pull/82775)
- CI: Keep the bundled npm when devEngines is absent (https://github.com/WordPress/gutenberg/pull/82823)
- Icons: Move plugin icon registration out of the 7.1 compat directory (https://github.com/WordPress/gutenberg/pull/82832)
- Image block: stop interpreting `$`/`\` in img attributes as regex backreferences (https://github.com/WordPress/gutenberg/pull/79369)
- CI: Disable setup-node npm caching in the Create Block packed package job (https://github.com/WordPress/gutenberg/pull/82833)
- Build: Deduplicate npm dependencies (https://github.com/WordPress/gutenberg/pull/82698)
- PaletteEdit: Use @wordpress/ui Menu for palette options (https://github.com/WordPress/gutenberg/pull/82768)
- Editor: Use UI Menu for post actions (https://github.com/WordPress/gutenberg/pull/81922)
- Block Editor: Use UI Menu for bindings and variation transforms (https://github.com/WordPress/gutenberg/pull/81925)
- Select.Positioner: Revert to Base UI alignItemWithTrigger default (https://github.com/WordPress/gutenberg/pull/82043)
- API Fetch: Document that requests are meant for the current site's REST API. (https://github.com/WordPress/gutenberg/pull/82373)
- UI: Add Select.ItemLabel and ItemDescription (https://github.com/WordPress/gutenberg/pull/82369)
- Widgets: Fix the Welcome Guide menu item triggering a preference speak message (https://github.com/WordPress/gutenberg/pull/82395)
- UI: Move interaction tests to Browser Mode (https://github.com/WordPress/gutenberg/pull/82838)
- Packages: Update Ariakit to 0.4.39 (https://github.com/WordPress/gutenberg/pull/82831)
- Block Editor: replace deprecated word-wrap with overflow-wrap in responsive block control (https://github.com/WordPress/gutenberg/pull/82855)
- Button: replace deprecated `word-break` with `overflow-wrap: anywhere` (https://github.com/WordPress/gutenberg/pull/82854)
- UI: Update Base UI to 1.8.0 (https://github.com/WordPress/gutenberg/pull/82835)
- Docs: Document published dependency constraints (https://github.com/WordPress/gutenberg/pull/80631)
- Docs: Document page stability convention (https://github.com/WordPress/gutenberg/pull/80632)
- Cover Block: Fix resizable handle visibility on mobile when sidebar is opened (https://github.com/WordPress/gutenberg/pull/80355)
- Block Inspector: Stabilize display of inherited global styles and keep UI changes behind experiment (https://github.com/WordPress/gutenberg/pull/82840)
- Data: optimize store listeners and their execution (https://github.com/WordPress/gutenberg/pull/82842)
- Core Data: Fix return types on generated save/delete entity actions (https://github.com/WordPress/gutenberg/pull/77162)
- Notes: Use UI Menu for note actions (https://github.com/WordPress/gutenberg/pull/81930)
- Widget Dashboard: Use UI Menu for dashboard controls (https://github.com/WordPress/gutenberg/pull/81929)
- Media & Text Block: Add a Media section to the block inspector panel (https://github.com/WordPress/gutenberg/pull/82593)
- Fields: Hide the date, author and password fields when the user can't publish or reassign (https://github.com/WordPress/gutenberg/pull/82844)
- Docs: Guard against ESLint bulk suppression abuse (https://github.com/WordPress/gutenberg/pull/82944)
- BorderBoxControl: Restore the split borders layout (https://github.com/WordPress/gutenberg/pull/82939)
- Icons: Restore the dimmed box on the side and corner icons (https://github.com/WordPress/gutenberg/pull/82940)
- Fields: Show the template field to users who can't create templates (https://github.com/WordPress/gutenberg/pull/82857)
- Calendar Block: Use the args array signature of get_calendar() (https://github.com/WordPress/gutenberg/pull/82943)
- DataViews README: clarify readOnly vs isDisabled (https://github.com/WordPress/gutenberg/pull/82956)
- Template panel: Hide edit and create actions from users who can't create templates (https://github.com/WordPress/gutenberg/pull/82858)
- Fix stray fill rule in SelectControl. (https://github.com/WordPress/gutenberg/pull/82949)
- Stroke icons: final batch, 96 icons (https://github.com/WordPress/gutenberg/pull/82754)
- Fix Stylelint config and coding standards for font weight numeric values and disallow relative weights (https://github.com/WordPress/gutenberg/pull/82778)
- Widget Dashboard: Use UI Spinner and remove Components dependency (https://github.com/WordPress/gutenberg/pull/82837)
- Fix: Inherit link color for image block anchor elements (https://github.com/WordPress/gutenberg/pull/79401)
- Data: Fix the latest changelog entry and structure (https://github.com/WordPress/gutenberg/pull/82959)
- Menu: Fix vertical alignment across item combinations (https://github.com/WordPress/gutenberg/pull/82847)
- Docs: Fix the dead anchor in the block development environment list (https://github.com/WordPress/gutenberg/pull/82878)
- Collaborators Presence: Update to use design system's focus ring in header avatar stack (https://github.com/WordPress/gutenberg/pull/82941)
- UI: Fix highlighted item indicator in forced-colors mode (https://github.com/WordPress/gutenberg/pull/82772)
- Docs: Fix the broken Query block link in the Interactivity API guide (https://github.com/WordPress/gutenberg/pull/82862)
- Fix: Widgets customizer Undo and Redo buttons are disabled and the document tools focus style is not visible (https://github.com/WordPress/gutenberg/pull/82412)
- DataForm: Hide the edit button of disabled fields in the panel layout (https://github.com/WordPress/gutenberg/pull/82957)
- BoxControl: Migrate the side indicator to an SCSS module (https://github.com/WordPress/gutenberg/pull/82570)
- Distraction Free: raise top bar above notices when revealed by hover or keyboard focus (https://github.com/WordPress/gutenberg/pull/80349)
- Extensible Site Editor: Use the view config form for Quick Edit (https://github.com/WordPress/gutenberg/pull/82962)
- Fix: Query Pagination block ignores the parent block gap in the editor (https://github.com/WordPress/gutenberg/pull/82399)
- Customize Widgets: Await asynchronous toolbar updates in history test (https://github.com/WordPress/gutenberg/pull/82963)
- Elevation: Migrate from Emotion to SCSS modules (https://github.com/WordPress/gutenberg/pull/82572)
- Enable viewport state values for Gallery aspect ratio (https://github.com/WordPress/gutenberg/pull/82233)
- Scripts: Switch unit tests to Vitest and deprecate Jest tooling (https://github.com/WordPress/gutenberg/pull/82843)
- Speed up collaboration e2e by shortening poll interval (https://github.com/WordPress/gutenberg/pull/78746)
- UI: replace deprecated word-wrap with overflow-wrap in `VisuallyHidden` (https://github.com/WordPress/gutenberg/pull/82970)
- Block Library: replace deprecated word-wrap with overflow-wrap in screen-reader-text (https://github.com/WordPress/gutenberg/pull/82972)
- CustomGradientPicker: Show the control point's focus ring with the design system's outline (https://github.com/WordPress/gutenberg/pull/82834)
- Fix: Default block gap is ignored in the editor for themes without block gap support (https://github.com/WordPress/gutenberg/pull/82401)
- Remove the zero width space hack from getRectangleFromRange (https://github.com/WordPress/gutenberg/pull/82977)
- Block Toolbar: Show the parent selector for blocks inside patterns (https://github.com/WordPress/gutenberg/pull/82912)
- Keep the iOS keyboard capitalized after Return inside the editing host (https://github.com/WordPress/gutenberg/pull/82911)
- Docs: Say how long a notice can be, in the copy guide (https://github.com/WordPress/gutenberg/pull/81195)
- Widget Primitives: add `HostLink` over the `links` capability (https://github.com/WordPress/gutenberg/pull/82952)
- Pattern block: Run autoembed() before do_blocks() (https://github.com/WordPress/gutenberg/pull/82860)
- Widget Dashboard: default tile padding to `padding-lg` (https://github.com/WordPress/gutenberg/pull/82961)
- Upgrade wp-prettier to 3.9.6 (https://github.com/WordPress/gutenberg/pull/82731)
- Fix prettier lint issues after prettier upgrade (https://github.com/WordPress/gutenberg/pull/83015)
- Widget Dashboard: show a clipped widget title in the header infotip (https://github.com/WordPress/gutenberg/pull/82226)
- Post Title: remove the inline-block from the title link (https://github.com/WordPress/gutenberg/pull/80231)
- Collaborators Presence & Document Bar: Clean up styles by removing overrides (https://github.com/WordPress/gutenberg/pull/83013)
- Docs: document the no-hard-wrap rule for Markdown (https://github.com/WordPress/gutenberg/pull/83017)
- Icons: Allow `rect` and `circle` in the registry sanitizer (https://github.com/WordPress/gutenberg/pull/82846)
- Upgrade wp-prettier to 3.9.6 final (https://github.com/WordPress/gutenberg/pull/83026)
- Fix: Navigation submenu detection leaks between Navigation blocks. (https://github.com/WordPress/gutenberg/pull/82366)
- Use `WCSelectControl` alias for legacy SelectControl imports (https://github.com/WordPress/gutenberg/pull/83027)
- Upload media: guard processItem against re-entrant dispatch (https://github.com/WordPress/gutenberg/pull/83031)
- Math: Source the LaTeX from the MathML annotation (https://github.com/WordPress/gutenberg/pull/82987)
- Remove the interactivity-router script module data shim (https://github.com/WordPress/gutenberg/pull/83011)
- Data: Add `getResolutionArgs` to share a resolution across selector calls (https://github.com/WordPress/gutenberg/pull/82638)
- Code: Add shadow support (https://github.com/WordPress/gutenberg/pull/83014)
- Footnotes: Add shadow support (https://github.com/WordPress/gutenberg/pull/83044)
- Excerpt: Add shadow support (https://github.com/WordPress/gutenberg/pull/83018)
- Content: Add shadow support (https://github.com/WordPress/gutenberg/pull/83016)
- Icons: Test the registry sanitizer with a data provider (https://github.com/WordPress/gutenberg/pull/83024)
- Heading: Add shadow support (https://github.com/WordPress/gutenberg/pull/83045)
- Details: Add shadow support (https://github.com/WordPress/gutenberg/pull/83021)
- Post template panel: Remove the dead template read capability check (https://github.com/WordPress/gutenberg/pull/82861)
- Dependency Extraction Webpack Plugin: Add global-styles-engine and global-styles-ui as bundled packages (https://github.com/WordPress/gutenberg/pull/82589)
- Verse: Add shadow support (https://github.com/WordPress/gutenberg/pull/83057)
- Docs: Data: Fix typo in code example for __unstableNormalizeArgs (https://github.com/WordPress/gutenberg/pull/83070)
- Icons: Test that the registry sanitizer preserves every library icon (https://github.com/WordPress/gutenberg/pull/83008)
- Stylelint: add `custom-property-pattern` to disallow `--_gcd-*` custom properties (https://github.com/WordPress/gutenberg/pull/83025)
- Tooling: Add .mts and .cts support (https://github.com/WordPress/gutenberg/pull/83071)
- Block Mover: Cleanup focus ring override (https://github.com/WordPress/gutenberg/pull/83068)
- Tests: Remove obsolete internal Jest infrastructure (https://github.com/WordPress/gutenberg/pull/82975)
- Move the unit-test-date.sh script to workspace, rewrite to JS (https://github.com/WordPress/gutenberg/pull/83066)
- Gallery: Skip gap style generation for themes opting out of layout styles (https://github.com/WordPress/gutenberg/pull/81633)
- Monorepo tools: Move the experimental API audit out of bin/ (https://github.com/WordPress/gutenberg/pull/83081)
- Add category filtering to the start page options patterns modal (https://github.com/WordPress/gutenberg/pull/81396)
- UI: Mark Select and SelectControl as recommended (https://github.com/WordPress/gutenberg/pull/83030)
- Updated Changelog Entry (https://github.com/WordPress/gutenberg/pull/83037)
- Rich text: fix mobile selection hair pin grab at edge of block (https://github.com/WordPress/gutenberg/pull/83041)
- Link Control: Only tag pages as the front page or blog home (https://github.com/WordPress/gutenberg/pull/83082)
- Tooling: Name the shared tsconfig presets `tsconfig.*.json` (https://github.com/WordPress/gutenberg/pull/83077)
- Multi-line text of menu items is not aligned (https://github.com/WordPress/gutenberg/pull/70917)
- Fix Connectors and Fonts pages background color and contrast. (https://github.com/WordPress/gutenberg/pull/82827)
- Post Template: Add shadow support (https://github.com/WordPress/gutenberg/pull/83059)
- Page List: Add shadow support (https://github.com/WordPress/gutenberg/pull/83056)
- Playlist: Add shadow support (https://github.com/WordPress/gutenberg/pull/83055)
- Math: Add shadow support (https://github.com/WordPress/gutenberg/pull/83052)
- Latest Posts: Add shadow support (https://github.com/WordPress/gutenberg/pull/83051)
- Latest Comments: Add shadow support (https://github.com/WordPress/gutenberg/pull/83047)
- Home Link: Add shadow support (https://github.com/WordPress/gutenberg/pull/83046)
- Login/out: Add shadow support (https://github.com/WordPress/gutenberg/pull/83050)
- Excerpt field: Render nothing when the excerpt is empty (https://github.com/WordPress/gutenberg/pull/82423)
- No Results: Add shadow support (https://github.com/WordPress/gutenberg/pull/83054)
- ESLint: Allow string literal IDs in tests and Storybook (https://github.com/WordPress/gutenberg/pull/83090)
- UI: Add RadioGroup form primitive (https://github.com/WordPress/gutenberg/pull/83038)
- Components: Deprecate Divider (https://github.com/WordPress/gutenberg/pull/83040)
- Data: Stabilize `__unstableNormalizeArgs` as `normalizeArgs` (https://github.com/WordPress/gutenberg/pull/83067)
- Stylelint: add  `--_wp-*`  to `custom-property-pattern` rule (https://github.com/WordPress/gutenberg/pull/83075)
- Build: Declare `@wordpress/theme` as a dev dependency of `@wordpress/build` (https://github.com/WordPress/gutenberg/pull/83129)
- UI: Tighten Fieldset legend and description gap (https://github.com/WordPress/gutenberg/pull/82729)
- Core Data: Fix overwriting scored matches for duplicate ids (https://github.com/WordPress/gutenberg/pull/83113)
- Block Editor: Update LinkControl and LinkPicker to use `Badge` from `@wordpress/ui` (https://github.com/WordPress/gutenberg/pull/82684)
- Storybook: Remove obsolete manifest extractor render workaround (https://github.com/WordPress/gutenberg/pull/83124)
- UI: Add Switch form primitive (https://github.com/WordPress/gutenberg/pull/83039)
- Automated Testing: Document and validate expected changelog structure (https://github.com/WordPress/gutenberg/pull/83043)
- ESLint: Disallow Storybook build-style side-effect imports (https://github.com/WordPress/gutenberg/pull/82960)
- Global Styles: replace experimental ZStack in the palette preview (https://github.com/WordPress/gutenberg/pull/83060)
- UI: Place Fieldset description after the legend in stories (https://github.com/WordPress/gutenberg/pull/83144)
- Use WCCheckboxControl alias for legacy CheckboxControl imports. (https://github.com/WordPress/gutenberg/pull/83145)
- The image dimensions have been removed from the name. (https://github.com/WordPress/gutenberg/pull/82828)
- Fix the high-severity adm-zip audit failure in AI development tests (https://github.com/WordPress/gutenberg/pull/83170)
- Bump adm-zip from 0.6.0 to 0.6.1 (https://github.com/WordPress/gutenberg/pull/83167)
- Post Navigation Link: Add shadow support (https://github.com/WordPress/gutenberg/pull/83058)
- Bump csv-parse from 7.0.1 to 7.0.2 in /test/ai-development (https://github.com/WordPress/gutenberg/pull/82619)
- Video block: Remove GIF variation handling (https://github.com/WordPress/gutenberg/pull/82696)
- PostLastRevisionPanel: Fix doubled focus ring on the revisions button (https://github.com/WordPress/gutenberg/pull/82955)
- Navigation Overlay Close: Add shadow support (https://github.com/WordPress/gutenberg/pull/83053)
- Fix typos in comments and test descriptions (https://github.com/WordPress/gutenberg/pull/83172)
- Block Editor: Remove the deprecated `__experimentalGroup` prop (https://github.com/WordPress/gutenberg/pull/83171)
- Site Tagline: Add fit text support (https://github.com/WordPress/gutenberg/pull/83034)
- Block Editor: Highlight the block when its content list item is hovered (https://github.com/WordPress/gutenberg/pull/83049)
- Navigation: Fix always-open submenus jumping in width on hover (https://github.com/WordPress/gutenberg/pull/83142)
- Post Navigation Link: Add border and spacing support (https://github.com/WordPress/gutenberg/pull/83122)
- Preformatted: Add shadow support (https://github.com/WordPress/gutenberg/pull/83174)
- Pullquote: Add shadow support (https://github.com/WordPress/gutenberg/pull/83177)
- Quote: Add shadow support (https://github.com/WordPress/gutenberg/pull/83178)
- Site Title: Add shadow support (https://github.com/WordPress/gutenberg/pull/83182)
- Post Title: Add shadow support (https://github.com/WordPress/gutenberg/pull/83195)
- Video: Add shadow support (https://github.com/WordPress/gutenberg/pull/83196)
- Read More: Add shadow support (https://github.com/WordPress/gutenberg/pull/83180)
- Post Terms: Add shadow support (https://github.com/WordPress/gutenberg/pull/83175)
- Query Total: Add shadow support (https://github.com/WordPress/gutenberg/pull/83176)
- RSS: Add shadow support (https://github.com/WordPress/gutenberg/pull/83179)
- Tab Panel: Add shadow support (https://github.com/WordPress/gutenberg/pull/83183)
- Post Time to Read: Add shadow support (https://github.com/WordPress/gutenberg/pull/83194)
- Tab Panels: Add shadow support (https://github.com/WordPress/gutenberg/pull/83184)
- UI: Document that public --wp-ui-* CSS custom properties are frozen. (https://github.com/WordPress/gutenberg/pull/83147)
- Tag Cloud: Add shadow support (https://github.com/WordPress/gutenberg/pull/83188)
- Table of Contents: Add shadow support (https://github.com/WordPress/gutenberg/pull/83187)
- Tabs: Add shadow support (https://github.com/WordPress/gutenberg/pull/83186)
- Term Description: Add shadow support (https://github.com/WordPress/gutenberg/pull/83190)
- Term Count: Add shadow support (https://github.com/WordPress/gutenberg/pull/83189)
- Site Tagline: Add shadow support (https://github.com/WordPress/gutenberg/pull/83181)
- Terms List: Add shadow support (https://github.com/WordPress/gutenberg/pull/83193)
- Details: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83222)
- Social Icons: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83249)
- Accordion Item: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83197)
- Post Author Name: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83200)
- Code: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83204)
- Comment Author Name: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83207)
- Comment Content: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83208)
- Comment Date: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83209)
- Term Template: Add shadow support (https://github.com/WordPress/gutenberg/pull/83192)
- Footnotes: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83224)
- Post Date: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83218)
- Comments Title: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83217)
- Gallery: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83225)
- Heading: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83226)
- Term Name: Add shadow support (https://github.com/WordPress/gutenberg/pull/83191)
- Breadcrumbs: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83202)
- Comment Reply Link: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83211)
- File: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83223)
- Post Author Biography: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83199)
- Next Page: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83232)
- Post Excerpt: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83221)
- Previous Page: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83240)
- Accordion Panel: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83201)
- Post Comments Count: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83213)
- RSS: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83244)
- Columns: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83206)
- Archives: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83198)
- Latest Posts: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83228)
- Preformatted: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83239)
- Comments Previous Page: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83220)
- Read More: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83245)
- Comments Pagination: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83219)
- Query Title: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83242)
- Post Title: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83260)
- Tag Cloud: Add background and link colour support (https://github.com/WordPress/gutenberg/pull/83264)
- Storybook: List every top-level folder in the sidebar order, design system first (https://github.com/WordPress/gutenberg/pull/82429)
- Featured image field: support the `editor.PostFeaturedImage` filter in the post summary (https://github.com/WordPress/gutenberg/pull/83133)
- Storybook: Fold Foundations, DataViews, Fields, Admin UI and Icons under Design System (https://github.com/WordPress/gutenberg/pull/82430)
- Block Editor: replace denylisted layout components in the Duotone filter label (https://github.com/WordPress/gutenberg/pull/83061)
- Storybook: Group Widget Primitives, Widget Dashboard and Grid under Widgets (https://github.com/WordPress/gutenberg/pull/82431)
- Storybook: Group the editor UI under Editor (https://github.com/WordPress/gutenberg/pull/82432)
- Components: Deprecate Elevation (https://github.com/WordPress/gutenberg/pull/83269)
- Post Time to Read: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83258)
- Buttons: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83203)
- Storybook: Group component packages under Components (https://github.com/WordPress/gutenberg/pull/82433)
- Terms List: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83257)
- UI: Add SwitchControl component (https://github.com/WordPress/gutenberg/pull/83146)
- Release tools: Move the plugin ZIP build out of bin/ (https://github.com/WordPress/gutenberg/pull/83087)
- Storybook: Remove the legacy Tokens pages (https://github.com/WordPress/gutenberg/pull/82434)
- Storybook: Show the component status in the sidebar as status-* tags (https://github.com/WordPress/gutenberg/pull/82435)
- Storybook: Guard the set of top-level sidebar folders with a test (https://github.com/WordPress/gutenberg/pull/82436)
- Storybook: Rewrite the introduction page as the front door of the design system (https://github.com/WordPress/gutenberg/pull/82437)
- Workflows: Refine and complete the push and pull_request branch filters (https://github.com/WordPress/gutenberg/pull/82744)
- Public API for supporting viewport states in custom controls (https://github.com/WordPress/gutenberg/pull/82741)
- Fix: Term Name block skips the term name display filters. (https://github.com/WordPress/gutenberg/pull/82365)
- Tag Cloud: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83259)
- Comments Next Page: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83215)
- Comments Page Numbers: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83216)
- Pagination: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83236)
- Comment Edit Link: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83210)
- Page Numbers: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83235)
- Column: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83205)
- Comments: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83212)
- Post Comments Form: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83214)
- Latest Comments: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83227)
- Home Link: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83230)
- Term Description: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83254)
- Storybook: Load the media editor package styles in its stories (https://github.com/WordPress/gutenberg/pull/83303)
- Site Tagline: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83246)
- Media Editor: fix crop canvas handlers and rotation ruler in RTL (https://github.com/WordPress/gutenberg/pull/83304)
- Site Title: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83247)
- Query Total: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83243)
- Tab Panels: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83250)
- Term Template: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83256)
- Term Count: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83253)
- Math: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83231)
- Tabs: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83252)
- Table of Contents: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83251)
- Tab Panel: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83248)
- Term Name: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83255)
- Page List: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83234)
- Login/out: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83229)
- No Results: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83233)
- Post Template: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83237)
- UI: Add RadioGroupControl (https://github.com/WordPress/gutenberg/pull/83143)
- Post Terms: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83238)
- Components: Deprecate Scrollable (https://github.com/WordPress/gutenberg/pull/83273)
- Storybook: Place RadioGroup, Switch, and SwitchControl under @wordpress-ui (https://github.com/WordPress/gutenberg/pull/83314)
- Block Editor: Show the in-between inserter on wrapped lines (https://github.com/WordPress/gutenberg/pull/83276)
- Docs: Add missing `@since` tags to two functions (https://github.com/WordPress/gutenberg/pull/83116)
- Upgrade eslint-plugin-jsdoc to latest version 64. (https://github.com/WordPress/gutenberg/pull/82727)
- i18n: add context to breadcrumbs area label (https://github.com/WordPress/gutenberg/pull/78134)
- Storybook: Omit the recommended checkmark from the sidebar (https://github.com/WordPress/gutenberg/pull/83309)
- Fix: Social Icons: In-between inserter does not work (https://github.com/WordPress/gutenberg/pull/83327)
- Storybook: Convert story-only stylesheets to CSS modules (https://github.com/WordPress/gutenberg/pull/83272)
- Block Editor: replace experimental ZStack in overlapping color indicators (https://github.com/WordPress/gutenberg/pull/83062)
- FocalPointPicker: Fix Sidebar Overflow Issue (https://github.com/WordPress/gutenberg/pull/68915)
- Storybook: Reject non-module stylesheet imports (https://github.com/WordPress/gutenberg/pull/83313)
- Components: Align CheckboxControl border, hover, and disabled colors with UI (https://github.com/WordPress/gutenberg/pull/83271)
- Icons: Move the public property from icons to collections (https://github.com/WordPress/gutenberg/pull/83277)
- ESLint Plugin: Check type-only imports for undeclared dependencies (https://github.com/WordPress/gutenberg/pull/83336)
- TypeScript: Give each widget its own typecheck project (https://github.com/WordPress/gutenberg/pull/83328)
- Components: Deprecate ResponsiveWrapper (https://github.com/WordPress/gutenberg/pull/83347)
- Remove npm from package engines (https://github.com/WordPress/gutenberg/pull/83326)
- Data: keep a pending listener when store not yet registered (https://github.com/WordPress/gutenberg/pull/83346)
- Add Template: Show template descriptions in the template list (https://github.com/WordPress/gutenberg/pull/83064)
- Block Editor: Consolidate search ranking into one shared module (https://github.com/WordPress/gutenberg/pull/83312)
- DataViews: Let a picker compose its footer from the page select and its actions (https://github.com/WordPress/gutenberg/pull/83281)
- Bump the github-actions group across 1 directory with 2 updates (https://github.com/WordPress/gutenberg/pull/83080)
- Rich text: Show the format boundary when the canvas root has focus (https://github.com/WordPress/gutenberg/pull/83385)
- Rich text: Select an inline image by clicking it, and show the edit UI of the object clicked (https://github.com/WordPress/gutenberg/pull/83370)
- Global Styles: Switch the revisions screen to the DataViews pickerActivity layout (https://github.com/WordPress/gutenberg/pull/80856)
- Try: Add left border to Notes panel. (https://github.com/WordPress/gutenberg/pull/83330)
- Media: Detect HEIC uploads from the file header rather than the file name (https://github.com/WordPress/gutenberg/pull/81737)
- Revise block direct dragging to fix adjacent issues (https://github.com/WordPress/gutenberg/pull/72983)
- Submenu: Add shadow support (https://github.com/WordPress/gutenberg/pull/83185)
- Disable caching when publishing built assets (https://github.com/WordPress/gutenberg/pull/79835)
- Tabs: Add border support (https://github.com/WordPress/gutenberg/pull/83361)
- Image: Restore alt text and caption when undoing a media editor save (https://github.com/WordPress/gutenberg/pull/82829)
- Accordion: Add link, heading, and button colour support (https://github.com/WordPress/gutenberg/pull/83373)
- Navigation Overlay Close: Add border support (https://github.com/WordPress/gutenberg/pull/83362)
- Tab Panel: Hide the shadow on closed panels (https://github.com/WordPress/gutenberg/pull/83369)
- Preformatted: Add link colour support (https://github.com/WordPress/gutenberg/pull/83386)
- Audio: Add link colour support (https://github.com/WordPress/gutenberg/pull/83375)
- No Results: Add heading and button colour support (https://github.com/WordPress/gutenberg/pull/83382)
- Comment Content: Add heading and button colour support (https://github.com/WordPress/gutenberg/pull/83376)
- Tab Panel: Add border support (https://github.com/WordPress/gutenberg/pull/83363)
- Comments: Add button colour support (https://github.com/WordPress/gutenberg/pull/83378)
- Accordion Item: Add link, heading, and button colour support (https://github.com/WordPress/gutenberg/pull/83371)
- Details: Add heading and button colour support (https://github.com/WordPress/gutenberg/pull/83381)
- Media & Text: Add button colour support (https://github.com/WordPress/gutenberg/pull/83380)
- Post Comments Form: Add button colour support (https://github.com/WordPress/gutenberg/pull/83377)
- Tab Panels: Add button colour support (https://github.com/WordPress/gutenberg/pull/83388)
- Post Content: Add button colour support (https://github.com/WordPress/gutenberg/pull/83379)
- Components: Stop rendering a hidden drag preview and a media query per draggable (https://github.com/WordPress/gutenberg/pull/83423)
- Post Template: Add heading and button colour support (https://github.com/WordPress/gutenberg/pull/83384)
- Table of Contents: Add text align support (https://github.com/WordPress/gutenberg/pull/83430)
- Group: Add text columns support (https://github.com/WordPress/gutenberg/pull/83425)
- Tabs: Add typography support (https://github.com/WordPress/gutenberg/pull/83431)
- Fields: Resolve the MediaEdit picker through the editor.MediaUpload filter (https://github.com/WordPress/gutenberg/pull/82678)
- Tab Panel: Add link, heading, and button colour support (https://github.com/WordPress/gutenberg/pull/83389)
- Global Styles: Rank block search results by title match (https://github.com/WordPress/gutenberg/pull/83435)
- Post Author Biography: Add text columns support (https://github.com/WordPress/gutenberg/pull/83424)
- Block Editor: Avoid a store subscription per inserter item (https://github.com/WordPress/gutenberg/pull/83434)
- Home Link: Add border support (https://github.com/WordPress/gutenberg/pull/83360)
- Tab Panels: Add typography support (https://github.com/WordPress/gutenberg/pull/83428)
- Tab Panel: Add typography support (https://github.com/WordPress/gutenberg/pull/83426)
- Storybook: Drop CustomSelectControlV2 stories and the unused WIP tag (https://github.com/WordPress/gutenberg/pull/83349)
- Docs: clarify DEWP asset file naming rule (https://github.com/WordPress/gutenberg/pull/80620)
- Components: Deprecate ZStack (https://github.com/WordPress/gutenberg/pull/83344)
- Media Utils: Stabilize `unstableFeaturedImageFlow` as `featuredImageFlow` (https://github.com/WordPress/gutenberg/pull/83439)
- Accordion Panel: Add link, heading, and button colour support (https://github.com/WordPress/gutenberg/pull/83374)
- Terms List: Add text columns support (https://github.com/WordPress/gutenberg/pull/83432)
- Enable setting position within viewport states (https://github.com/WordPress/gutenberg/pull/83094)
- Term Count: Add text align support (https://github.com/WordPress/gutenberg/pull/83429)
- Dependency Extraction Webpack Plugin: Always pretty-print PHP asset files (https://github.com/WordPress/gutenberg/pull/79650)
- Block Editor: Drop the O(n) tie-break in orderBy (https://github.com/WordPress/gutenberg/pull/83443)
- Cover Block: Add a Media section to the block inspector panel (https://github.com/WordPress/gutenberg/pull/82751)
- Admin bar: backport removal of site icon background from 7.1.1 (https://github.com/WordPress/gutenberg/pull/83433)
- Tests: Update Testing Library DOM to 10.4.2 (https://github.com/WordPress/gutenberg/pull/83279)
- Tabs: Add link, heading, and button colour support (https://github.com/WordPress/gutenberg/pull/83390)
- Icons: Add a core-admin collection for the admin interface (https://github.com/WordPress/gutenberg/pull/83261)
- Post Content: Add text align support (https://github.com/WordPress/gutenberg/pull/83427)
- Components: Give control labels an explicit foreground color (https://github.com/WordPress/gutenberg/pull/83318)
- Radio: Expand hit target without changing visual size (https://github.com/WordPress/gutenberg/pull/83275)
- Tests: Isolate deprecation warnings between cases (https://github.com/WordPress/gutenberg/pull/83097)
- Block Toolbar: Fix parent selector inserter for locked blocks (https://github.com/WordPress/gutenberg/pull/83444)
- Icon block: Don't render icons from non-public collections on the frontend (https://github.com/WordPress/gutenberg/pull/82774)
- Hide alignment control when nothing available. (https://github.com/WordPress/gutenberg/pull/83265)
- Fields: Use the post type labels in the featured image field and drop `mediaUploadProps` (https://github.com/WordPress/gutenberg/pull/83445)
- Icons: Rebalance a few, add other new icons. (https://github.com/WordPress/gutenberg/pull/83338)
- Docs: Replace retired reduce-motion mixin in animation guidelines (https://github.com/WordPress/gutenberg/pull/83335)
- Block Editor: Update block visibility badges to use from @wordpress/ui package (https://github.com/WordPress/gutenberg/pull/82670)
- PHP-only blocks: Detect enums in array attributes (https://github.com/WordPress/gutenberg/pull/83394)
- Data: Defer async-mode useSelect notification to idle time (https://github.com/WordPress/gutenberg/pull/82821)

Developed in https://github.com/WordPress/wordpress-develop/pull/14045.

Props wildworks.
Fixes #66254.

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


git-svn-id: http://core.svn.wordpress.org/trunk@63374 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

[Feature] Client Side Media Media processing in the browser with WASM [Package] Block editor /packages/block-editor [Type] Bug An existing feature does not function as intended

Projects

None yet

5 participants