Skip to content

Menu: Align group labels and separators with indented item labels. - #83993

Merged
jameskoster merged 2 commits into
trunkfrom
menu-align-group-labels
Oct 2, 2026
Merged

jameskoster merged 2 commits into
trunkfrom
menu-align-group-labels

Conversation

@jameskoster

Copy link
Copy Markdown
Contributor

Follow-up to #81564.

What?

Align Menu group labels and separators with item labels when a radio or checkbox column indents those labels.

Why?

A radio or checkbox reserves a column for the whole menu, so every item label shifts right. Group headings and dividers kept the original inset, which left them sitting to the left of the text and made the menu harder to scan.

How?

Group labels and separators now start after the shared selection track and end with the item content column. Prefix icons stay in their own per-group column, so an icon in one group does not shift headings and dividers in the rest of the menu. --wp-ui-menu-group-head-padding-inline still nudges both edges; its default adds no extra offset.

Testing Instructions

  1. Open a post and open the Options menu.
  2. Confirm the View, Editor, and Tools headings, and the dividers between them, line up with labels such as Appearance, Visual editor, and Keyboard shortcuts.
  3. In Storybook, open Components / @wordpress-ui / Menu and check Default, Checkbox items, and Radio items.
  4. Confirm a menu with no radio or checkbox still uses the original heading and divider inset.
  5. Confirm a prefix icon indents only the labels in its own group, not every heading and divider in the menu.

Testing Instructions for Keyboard

  1. Move focus to the Options button and press Enter to open the menu.
  2. Move through the items with the arrow keys.
  3. Confirm the item order, roles, and shortcuts are unchanged. This change is visual alignment only.

Screenshots or screencast

Before After
Screenshot 2026-10-01 at 15 49 17 Screenshot 2026-10-01 at 15 43 14

Use of AI Tools

Cursor (Grok 4.7) assisted with the implementation. The change was reviewed before commit.

When a radio or checkbox column shifts item labels, headings and dividers follow that same inset so the menu reads as one column.

Co-authored-by: Cursor <cursoragent@cursor.com>
@jameskoster
jameskoster requested a review from a team as a code owner October 1, 2026 14:50
@jameskoster jameskoster added [Type] Enhancement A suggestion for improvement. Design System Issues related to the system of combining components according to best practices. [Package] UI /packages/ui labels Oct 1, 2026
Co-authored-by: Cursor <cursoragent@cursor.com>
@jameskoster
jameskoster requested review from a team and richtabor October 1, 2026 14:51
@github-actions

github-actions Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

🤖 PR meta 🤖

🎉 Props

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: jameskoster <jameskoster@git.wordpress.org>
Co-authored-by: ciampo <mciampini@git.wordpress.org>
Co-authored-by: jasmussen <joen@git.wordpress.org>
Co-authored-by: mirka <0mirka00@git.wordpress.org>
Co-authored-by: fcoveram <fcoveram@git.wordpress.org>
Co-authored-by: Mamaduka <mamaduka@git.wordpress.org>

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

Updated as activity occurs, without notifying anyone named here. Add the props-bot label to refresh.

📦 Bundle size

Size Change: +328 B (0%)

Total Size: 8.25 MB

📦 View Changed
Filename Size Change
build/scripts/block-editor/index.min.js 516 kB +61 B (+0.01%)
build/scripts/components/index.min.js 333 kB +54 B (+0.02%)
build/scripts/edit-site/index.min.js 382 kB +63 B (+0.02%)
build/scripts/editor/index.min.js 616 kB +89 B (+0.01%)
build/scripts/media-utils/index.min.js 206 kB +61 B (+0.03%)

910974a Run

⚡ Performance

Show the results

Client side metrics exclude the server response time.

front-end-block-theme

Metric 34780a3 trunk % Change
timeToFirstByte 56.5 ms +14.69% -2.48% 55.75 ms +4.84% -2.06% 1.35%
largestContentfulPaint 98 ms +6.12% -6.12% 98 ms +2.04% -10.2% 0%
lcpMinusTtfb 36.95 ms +12.45% -8.66% 39.2 ms +13.39% -14.16% -5.74%
wpBeforeTemplate 27.29 ms +23.45% -1.1% 27.15 ms +9.24% -1.47% 0.52%
wpTemplate 24.88 ms +6.35% -3.01% 24.11 ms +4.81% -2.45% 3.19%
wpTotal 52.56 ms +14.19% -2.63% 51.73 ms +4.85% -1.86% 1.6%
wpMemoryUsage 7.62 MB +0% -0% 7.59 MB +0% -0% 0.46%
wpDbQueries 17 +0% -0% 17 +0% -0% 0%

front-end-classic-theme

Metric 34780a3 trunk % Change
timeToFirstByte 47.15 ms +5.73% -2.76% 44.85 ms +6.13% -1% 5.13%
largestContentfulPaint 104 ms +3.85% -3.85% 100 ms +2% -2% 4%
lcpMinusTtfb 56.85 ms +1.76% -3.17% 54.8 ms +1.28% -3.47% 3.74%
wpBeforeTemplate 24.79 ms +6.09% -1.53% 23.73 ms +6.41% -1.39% 4.47%
wpTemplate 18.66 ms +2.2% -3.22% 17.85 ms +2.35% -1.18% 4.54%
wpTotal 43.78 ms +5.94% -2.79% 41.64 ms +6.53% -1.01% 5.14%
wpMemoryUsage 6.25 MB +0% -0% 6.20 MB +0% -0% 0.71%
wpDbQueries 14 +0% -0% 14 +0% -0% 0%

media-processing

Metric 34780a3 trunk % Change
mediaProcessingJpeg 418.45 ms +0.67% -1.6% 413.12 ms +1.18% -1.04% 1.29%
mediaProcessingAvif 6201.25 ms +0.16% -0.3% 6202.84 ms +0.18% -0.2% -0.03%
mediaProcessingJpegToAvif 4321.11 ms +0.83% -0.41% 4314.49 ms +0.16% -0.15% 0.15%

media-upload

Metric 34780a3 trunk % Change
jpegUploadProcessing 1466.66 ms +33.24% -2.53% 1435.8 ms +1.1% -1.15% 2.15%
pngUploadProcessing 210.64 ms +5.54% -14.8% 217.05 ms +3.42% -20.24% -2.95%
largeJpegUploadProcessing 1425.44 ms +0.6% -0.87% 1416.12 ms +0.99% -0.12% 0.66%
multipleImageUploadProcessing 1607.78 ms +9.97% -1.65% 1602.43 ms +25.84% -3.12% 0.33%

post-editor

Metric 34780a3 trunk % Change
serverResponse 417.38 ms +1.06% -5.79% 422.8 ms +4.25% -8.23% -1.28%
firstPaint 246.07 ms +16.8% -18.22% 222.64 ms +6.85% -10.87% 10.52%
domContentLoaded 1061 ms +1.6% -1.58% 1073.39 ms +1.86% -1.91% -1.15%
loaded 1062.04 ms +1.59% -1.56% 1074.76 ms +1.87% -1.93% -1.18%
firstContentfulPaint 446.98 ms +3.6% -2.71% 444.34 ms +3.74% -2.26% 0.59%
firstBlock 3062.41 ms +2.37% -0.94% 3219.14 ms +1.56% -2.27% -4.87%
type 17.83 ms +1.91% -2.8% 19.67 ms +7.47% -4.78% -9.35%
typeWithoutInspector 17.17 ms +3.09% -2.27% 18.38 ms +2.5% -2.72% -6.58%
typeWithTopToolbar 22.76 ms +2.68% -5.05% 25.22 ms +2.7% -2.22% -9.75%
typeContainer 7.92 ms +7.2% -4.29% 8.78 ms +4.33% -6.38% -9.79%
focus 65.88 ms +14.97% -2.09% 69.74 ms +0.89% -3.5% -5.53%
firstFocus 188.13 ms +0% -0% 176.8 ms +0% -0% 6.41%
selectAll 482.44 ms +0.57% -0.63% 515.03 ms +1.61% -1.46% -6.33%
listViewOpen 56.1 ms +7.59% -10.53% 61.72 ms +6.71% -9.38% -9.11%
inserterOpen 22.39 ms +9.25% -13.09% 24.16 ms +17.09% -7.91% -7.33%
inserterHover 2.39 ms +8.37% -13.39% 2.32 ms +6.47% -9.48% 3.02%
inserterSearch 7.75 ms +5.68% -3.35% 8.72 ms +4.82% -2.75% -11.12%
loadPatterns 643.89 ms +2.53% -3.42% 650.21 ms +5.26% -1.04% -0.97%
wpTotal 406.39 ms +0.79% -6.1% 411.58 ms +4.22% -8.47% -1.26%
wpMemoryUsage 13.17 MB +0% -0% 13.13 MB +0% -0% 0.28%
wpDbQueries 54 +0% -0% 54 +0% -1.85% 0%

site-editor

Metric 34780a3 trunk % Change
serverResponse 500.26 ms +3.81% -6.72% 505.63 ms +1.42% -1.74% -1.06%
firstPaint 267.04 ms +62.8% -14.16% 234.75 ms +34.69% -15.59% 13.76%
domContentLoaded 1134.42 ms +1.02% -0.89% 1121.4 ms +1.65% -0.94% 1.16%
loaded 1135.82 ms +1% -0.89% 1122.63 ms +1.65% -0.94% 1.17%
firstContentfulPaint 446.06 ms +1.86% -1.45% 449.12 ms +1.27% -0.99% -0.68%
firstBlock 4182.56 ms +3.02% -1.16% 4124.09 ms +1.27% -0.35% 1.42%
type 17.38 ms +8.17% -8.34% 17.26 ms +4.92% -3.07% 0.7%
navigate 115.98 ms +15.23% -5.55% 116.22 ms +2.22% -2.58% -0.21%
loadPatterns 1288.42 ms +12.62% -3.61% 1268.11 ms +1.73% -2.01% 1.6%
loadPages 1041.8 ms +2.89% -0.78% 1054.52 ms +2.26% -2.01% -1.21%
wpTotal 490.62 ms +3.76% -6.92% 495.95 ms +1.41% -1.81% -1.07%
wpMemoryUsage 12.14 MB +0% -0% 12.09 MB +0% -0% 0.41%
wpDbQueries 43 +2.33% -0% 43.5 +1.15% -1.15% -1.15%

910974a Run

@jasmussen

Copy link
Copy Markdown
Contributor

Seems a good small step. One thing I'd love is to make the icons smaller, and to make the reserved space/indentation on the left smaller too. Not in this branch, but is that feasible now we have stroke icons?

@mirka

mirka commented Oct 2, 2026

Copy link
Copy Markdown
Member

Would you like us to change the group label alignment for the other item popup components as well? We currently do this:

Searchable select

@jasmussen

Copy link
Copy Markdown
Contributor

If you're asking me, re: the items on the left, I want to note that it's a soft feeling. I don't think what we have is very poor, I think it's very close and able to benefit from just small iterative PRs like this one. I'm a fan of your work, all of you. So to answer: I think it's a matter of freeing up about 12 to 18px of space on the indented side of menus. About making menu items about as small as we can make them. The MacOS menu bar is actually a good model to follow:

image

The icon is about 18x18, there's about 4px of outer padding, 6px of inner padding, very little gap. I defer to you all on what's possible.

@ciampo

ciampo commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Would you like us to change the group label alignment for the other item popup components as well? We currently do this:

My expectation would be that yes, we should apply the same feedback where applicable to other components

I think it's a matter of freeing up about 12 to 18px of space on the indented side of menus

I agree and I think we need more changes:

  • keep the alignment of group labels and separators with the start of the item content (as done in this PR)
  • move the checkmark / radio to the left, make that column smaller, all to shift the item content to the left as much as possible a leave a smaller empty gap to the left of non-radio/checkbox items (MacOS is a good example)
  • consider marking the prefix icon's size smaller
  • tweak remaining spacing as needed

More controversial choices:

  • we've discussed this many times, but it keeps coming back: maybe we should just always use a checkmark icon (instead of radio dots). It doesn't seem to be particularly recognizable by end users, which defeats the point of using it. Always using a checkmark will also make the new component feel closer to the legacy menu
  • Re. Group labels, assess whether, in the current configuration, they "hurt" the ease of scanning / visual balance. I noticed that MacOS menus rarely use them, and when they do, they are not all caps
Screenshot 2026-10-02 at 09 34 22

@mirka

mirka commented Oct 2, 2026 •

Copy link
Copy Markdown
Member

Group labels, assess whether, in the current configuration, they "hurt" the ease of scanning / visual balance.

Menus may be a special case, but for the selection popups, I tried to establish in the documented patterns that groups with labels don't need separators:

Grouped select Select with separator

@fcoveram

fcoveram commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

Here my thoughts:

  • +1 to align group labels and separators with item labels
  • +1 to @mirka’s question on aligning the same elements in other popovers. That also applies to the emoji search happening in Add emoji picker with Autocomplete grid  #83538
  • +1 to make the radio/check column width narrow.
  • +1 to @jasmussen’s idea of making the icon smaller. Maybe 20px works well.

we've discussed this many times, but it keeps coming back: maybe we should just always use a checkmark icon (instead of radio dots).

But how is it recognizable before interacting which options are single-select or multi-select? To me, this is the main problem, and the check or dot visual language is already used in checkboxes and radio buttons, so there is nothing new to learn.

Re. Group labels, assess whether, in the current configuration, they "hurt" the ease of scanning / visual balance. I noticed that MacOS menus rarely use them, and when they do, they are not all caps

I was thinking about this too. I don’t dislike the all caps version, but as part of the practices, we need to avoid using it because menus are contextual to the element that triggered them. The ellipsis menu in the Editor is trickier because it gathers different types of actions, but in most cases, the options displayed are already contextualized. IE, the ellipsis menu of a block in the ListView sidebar.

In addition to the above, I was thinking about using icons to highlight certain items. In the Editor’s options menu, showing an icon for the “Style” item makes sense, as it’s a section some users might not be aware of, but “Export” seems unnecessary, as the action is widely understood and the help text clearly explains what it does.

CleanShot 2026-10-02 at 10 00 04@2x

The rule that makes sense there is to show an icon on all group items if one item shows it.

@Mamaduka

Mamaduka commented Oct 2, 2026

Copy link
Copy Markdown
Member

A small update: this is how the options menu looks now. We removed the export icon.

The items in the Panels submenu are usually from 3rd parties, where we have less control. Icons could help there to differentiate sources (in most cases).

Screenshot

CleanShot 2026-10-02 at 12 14 47

@ciampo

ciampo commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Menus may be a special case, but for the selection popups, I tried to establish in the documented patterns that groups with labels don't need separators:

Good point, we should understand if we need separators in menus. My instinct says "yes", but curious to hear what others think, too

we've discussed this many times, but it keeps coming back: maybe we should just always use a checkmark icon (instead of radio dots).

But how is it recognizable before interacting which options are single-select or multi-select? To me, this is the main problem, and the check or dot visual language is already used in checkboxes and radio buttons, so there is nothing new to learn.

I know, and I was strongly in favour of radio dots.

But we keep getting pushback from design and product stakeholders, and users don't always seem to understand what the radio dot means anyway.

So that's why I'm proposing we use checkmark: it makes the new menu closer to the legacy (ie. less overwhelming), it trades off a better visual affordance of the behaviour, for fewer "signals" to scan.

I now believe that we should use checkmarks, at least initially, and separately investigate if / how to put radios back in a way that is aestatically more pleasing and more clear to end users .

MacOS doesn't use radios, for example. Base UI examples don't either

Screenshot 2026-10-02 at 10 20 31

The rule that makes sense there is to show an icon on all group items if one item shows it.

Yes, but this is tricky to enforce at the component level: we can mention it more prominently in the docs, and potentially even add dev-time warnings for it, but ultimately consumers will have to add those icons themselves.

@Mamaduka

Mamaduka commented Oct 2, 2026

Copy link
Copy Markdown
Member

Yes, but this is tricky to enforce at the component level: we can mention it more prominently in the docs, and potentially even add dev-time warnings for it, but ultimately consumers will have to add those icons themselves.

I think this doc is how most libraries or guidelines communicate similar requirements. "Yes, you can, but we recommend against it since it will look bad."

Warnings add extra complexity and could also be ignored by consumers.

@ciampo

ciampo commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

I opened #84015 stacked on top of this PR to work on spacing around checkbox/radio and prefix icon sizing.

I will also open a separate PR soon to test the "checkmark for radio items" change.

@ciampo ciampo 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.

I think this is an improvement over what we have on trunk 🚀

Implementation is clean and reuses current grid tracks

@jameskoster

Copy link
Copy Markdown
Contributor Author

My 2c:

  • Yes to indenting group labels (and dividers) across all popups.
  • Yes to narrowing the radio/checkmark column (again, across all popups).
  • Let’s try smaller icons.
  • I still see value in differentiating radio vs checkbox mechanics, but it’s not a hill I’ll die on.
  • Agree we should review group labels and dividers and codify the pattern. I don’t think group labels hurt scanning so long as they’re well aligned, but we should scrutinise when we use them. I don't think any of the labels here are adding much value:
Screenshot 2026-10-02 at 10 00 04

@fcoveram

fcoveram commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Implementation suggestions

I acknowledge the lack of control over what others can do, my suggestion points to the default system and the patterns we can document for designing menus. In that vein, the design itself suggests a preferred outcome, as showing just one icon adds empty space for the whole group and breaks the layout. Removing the icon in Export fixes that unnecessary indentation.

So the "Yes, you can, but we recommend against it since it will look bad” sounds good to me.

Checkmark or not

I trust you all instincts in using checkmark as a single language, I’m mainly concern of cases where both single- and multi-selection are side by side, but that can also be addressed by putting these elements inside submenus.

In that vein, given the extender’s flexibility and adaptability, can it automatically generate a menu instead of creating a set menu when only one item exists? A submenu with a single option is not a good decision. I haven’t looked at #82974 where this work happened.

CleanShot 2026-10-02 at 11 59 02@2x

Design idea

Here is an idea that involves all points mentioned by @jameskoster here

CleanShot 2026-10-02 at 12 11 32@2x

And here adapted to the current Editor's options menu in 7.1

CleanShot 2026-10-02 at 12 12 24@2x

Design

Link to Figma file in dev mode

@jameskoster

Copy link
Copy Markdown
Contributor Author

I'm going to merge this, let's continue to discuss the other details elsewhere.

@jameskoster
jameskoster merged commit 1ec14c8 into trunk Oct 2, 2026
130 of 132 checks passed
@jameskoster
jameskoster deleted the menu-align-group-labels branch October 2, 2026 11:05
@github-actions github-actions Bot added this to the Gutenberg 24.2 milestone Oct 2, 2026
widoz pushed a commit to widoz/gutenberg that referenced this pull request Oct 2, 2026
…ordPress#83993)

Co-authored-by: jameskoster <jameskoster@git.wordpress.org>
Co-authored-by: ciampo <mciampini@git.wordpress.org>
Co-authored-by: jasmussen <joen@git.wordpress.org>
Co-authored-by: mirka <0mirka00@git.wordpress.org>
Co-authored-by: fcoveram <fcoveram@git.wordpress.org>
Co-authored-by: Mamaduka <mamaduka@git.wordpress.org>
@ciampo

ciampo commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

can it automatically generate a menu instead of creating a set menu when only one item exists?

That could be tricky, but not impossible. We'd need to check

One alternative is to treat those items as regular menu items instead of radio, ie. items that, when clicked, perform an action (open/pick a panel).

This is what MacOS does when choosing a window alignmen option:

Screenshot 2026-10-02 at 13 17 13

@Mamaduka

Mamaduka commented Oct 2, 2026

Copy link
Copy Markdown
Member

In that vein, given the extender’s flexibility and adaptability, can it automatically generate a menu instead of creating a set menu when only one item exists? A submenu with a single option is not a good decision.

Need to double-check the internals, but I think that should be possible. I'll have a look on Monday.

@ciampo

ciampo commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

Trying an approach in #84033, which also adds an Inspector panel entry

wporg-sync pushed a commit to WordPress/wordpress-develop that referenced this pull request Oct 20, 2026
This updates the pinned commit hash of the Gutenberg repository from 954fe7f9e04631c41aec4552acd627a7203a2aad to 7b95ee96b54de2e35886971ccf7eb449c324c830 (version 24.2.0).

A full list of changes included in this commit can be found on GitHub: WordPress/gutenberg@954fe7f...7b95ee9

- useServerSideRender: parse messages from caught errors (WordPress/gutenberg#83365)
- Docs: Fix published Vitest migration-guide links (WordPress/gutenberg#83449)
- Fix: Whitespace changes are not shown in the Resolve Block diff. (WordPress/gutenberg#82397)
- Editor: Use SearchableSelect for the post author field (WordPress/gutenberg#83323)
- Docs: Note that block attributes and global styles values are untrusted at render time (WordPress/gutenberg#83473)
- RichText: Remove dead exports and consolidate deprecations (WordPress/gutenberg#83461)
- Inserter: Manage roving tab index to skip re-rendering every item (WordPress/gutenberg#83437)
- SearchableSelectControl: Add to @wordpress/ui (WordPress/gutenberg#80979)
- Try: Bolder "B" icon (WordPress/gutenberg#83321)
- Ignore composer vendor files from top-level gitignore. (WordPress/gutenberg#22283)
- Tests: Add floating notes e2e coverage (WordPress/gutenberg#83477)
- Block Editor: Check the inserter's fallback containers unmemoized (WordPress/gutenberg#83446)
- Packages: Update Ariakit to 0.4.40 (WordPress/gutenberg#83278)
- Tests: Enforce per-call Vitest console expectations (WordPress/gutenberg#83095)
- Theme: Fix virtual modules, root styles, and seed validation (WordPress/gutenberg#83355)
- DataViews: Fix README to describe sort() as receiving field values, not items (WordPress/gutenberg#83483)
- Combobox: Label popup dialogs in stories (WordPress/gutenberg#83476)
- Block editor: Isolate mutable test fixtures (WordPress/gutenberg#83098)
- Blocks: Isolate registration state in tests (WordPress/gutenberg#83099)
- UI: Remove automatic Notice announcements (WordPress/gutenberg#82737)
- Text: Migrate Emotion styles to an SCSS Module (WordPress/gutenberg#82573)
- Block library: Isolate order-sensitive test interactions (WordPress/gutenberg#83101)
- Format Library: unify FormatEditProps to one type, move private types (WordPress/gutenberg#83487)
- UI: Announce selected chips in SearchableChipSelect (WordPress/gutenberg#82863)
- Card: Migrate from Emotion to SCSS modules (WordPress/gutenberg#82577)
- Components: Deprecate the private Menu API (WordPress/gutenberg#82947)
- CustomGradientPicker: Migrate control wrappers to an SCSS module (WordPress/gutenberg#82576)
- Components: Isolate order-sensitive UI tests (WordPress/gutenberg#83103)
- Tests: Isolate mutable configuration fixtures (WordPress/gutenberg#83104)
- Core data: Finish deferred selection updates in RTC test (WordPress/gutenberg#83366)
- Block editor: Wait for final keyboard link suggestions (WordPress/gutenberg#83489)
- Data: Assert and silence resolution error in useSuspenseSelect test (WordPress/gutenberg#83491)
- Tests: Isolate deprecation warning state (WordPress/gutenberg#83107)
- UI: Align selection popup checkmarks with the first label line (WordPress/gutenberg#82942)
- Tests: Resolve Browser Mode commands against the live iframe (WordPress/gutenberg#83495)
- Ensure position type is a string (WordPress/gutenberg#83500)
- MediaUpload: Fix console error when reopening Gallery media library (WordPress/gutenberg#76749)
- Refactor stylelint config detection in lint-style.js (WordPress/gutenberg#79280)
- Docs: Recommend UI Tabs for switching views (WordPress/gutenberg#83516)
- Popover: Close non-modal popovers on iframe interaction (WordPress/gutenberg#83509)
- Typography: List only the weights inside a variable font's range (WordPress/gutenberg#83128)
- Style book: Add link to example text. (WordPress/gutenberg#83448)
- Tests: Add Vitest Browser Mode failure artifacts (WordPress/gutenberg#83093)
- Theme: Make JavaScript token fallback transforms syntax-aware (WordPress/gutenberg#83356)
- Editor: Fix new posts being published with the `auto-draft` slug (WordPress/gutenberg#83518)
- Editor: Gather the View group of the Options menu into submenus (WordPress/gutenberg#82976)
- Tests: Fix PostCSS browser-externalized warnings in Vitest (WordPress/gutenberg#83091)
- Tests: Shuffle test cases in CI (WordPress/gutenberg#83111)
- Update Styles > Blocks description. (WordPress/gutenberg#83515)
- Columns: Remove the column count slider (WordPress/gutenberg#83262)
- BorderControl: Remove `%` from the border width units (WordPress/gutenberg#83492)
- Fields: Fix AuthorView for users who can't edit users (WordPress/gutenberg#83498)
- Update and add justify icons. (WordPress/gutenberg#83519)
- RichText: Refactor useMarkPersistent, fix StrictMode mount mark (WordPress/gutenberg#83463)
- Theme: Improve accessibility, API documentation, and compatibility checks (WordPress/gutenberg#83358)
- Theme: Preserve global token references in Lightning CSS (WordPress/gutenberg#83359)
- Tests: Migrate internal linting to Vitest and remove unused Jest dependencies (WordPress/gutenberg#83502)
- Improve specificity of lightbox button selector (WordPress/gutenberg#70800)
- TextControl: Use design system colors when disabled (WordPress/gutenberg#83307)
- Fix: Image lightbox: overlay becomes unusable (can't close) when it isn't a direct child of `<body>` (WordPress/gutenberg#83480)
- Notes: Extract note selection sync into useNoteSelection hook (WordPress/gutenberg#83528)
- Block Parser: Document `\WP_Block_Parser::$stack` as a list (WordPress/gutenberg#82695)
- CollapsibleCard: Scope the header focus ring to its own trigger (WordPress/gutenberg#81314)
- Fix broken links in docs (WordPress/gutenberg#83545)
- Icons: Use assertEqualHTML() in icons registry tests (WordPress/gutenberg#83544)
- Editor: Merge adjacent revision inline diffs (WordPress/gutenberg#80579)
- Date: Ignore trailing format backslash instead of printing undefined (WordPress/gutenberg#81528)
- Block Supports: Add background-clip block support infrastructure (WordPress/gutenberg#77141)
- Block Editor: Fix translator comments for block count announcements (WordPress/gutenberg#83555)
- Paste: replace non-breaking spaces at the edges of text with regular spaces (WordPress/gutenberg#83464)
- Media Editor: Fix pan drag flooding undo history after wheel zoom (WordPress/gutenberg#83558)
- Rich text: fix iOS double tap selection, preventing focus capture under editable host (WordPress/gutenberg#81042)
- Block editor: migrate state-control badges to UI Badge (WordPress/gutenberg#82608)
- Gallery: Add Order By controls for static gallery, consolidate controls in settings sidebar (WordPress/gutenberg#83438)
- Media editor: show an error when saving attachment details fails (WordPress/gutenberg#83560)
- Position controls: Fix useSelect warning for selected state viewports (WordPress/gutenberg#83570)
- Inserter: Use design system focus ring for previews (WordPress/gutenberg#83126)
- Image: Fix lightbox using thumbnail aspect ratio instead of original image ratio (WordPress/gutenberg#79058)
- Docs: Clarify @wordpress/ui icon color requirements (WordPress/gutenberg#83564)
- docker compose -T if stdin is not a tty (WordPress/gutenberg#78374)
- Storybook: Add new contributing page. (WordPress/gutenberg#83345)
- Widget Primitives: Avoid Vite warnings for runtime widget modules (WordPress/gutenberg#83602)
- Build: Update Vite to 8.3.1 and simplify Storybook tooling (WordPress/gutenberg#83569)
- doc(wp-env) Change core branch from trunk to master in doc (WordPress/gutenberg#83566)
- wp-build: Remove the unused boot, private-apis, and route optional peer dependencies (WordPress/gutenberg#83601)
- CI: Check CHANGELOG presence for published tooling and config packages (WordPress/gutenberg#83577)
- Tests: Enforce Vitest assertion coverage (WordPress/gutenberg#83572)
- Icons: Update heading level icons for optical balance (WordPress/gutenberg#83268)
- ESLint: Add allowUseWithCaution option to use-recommended-components (WordPress/gutenberg#83536)
- Notes: Refactor floating board measurement (WordPress/gutenberg#83485)
- Inserter: Stop re-rendering the block list on block selection change (WordPress/gutenberg#83284)
- Paste: Give each pasted data-URI image unique filename to avoid upload collisions. (WordPress/gutenberg#79480)
- Changelog validator: ignore markdown & configs d46223 (WordPress/gutenberg#83618)
- Font Library: Use UI Menu for collection actions (WordPress/gutenberg#82965)
- Storybook: Show prop descriptions in Canvas controls (WordPress/gutenberg#83581)
- test: Link upstream warning fixes in config (WordPress/gutenberg#83632)
- Storybook: Use one block-editor store module (WordPress/gutenberg#83636)
- Tests: Use strict assertions synced from Core changeset 63934. (WordPress/gutenberg#83619)
- Math: Store cell alignment in the MathML and polyfill alignment and overlines in Chromium (WordPress/gutenberg#83164)
- Storybook: Reuse PostCSS browser resolver in smoke tests (WordPress/gutenberg#83635)
- Editor: Use UI Menu for template options (WordPress/gutenberg#82964)
- RTC: Add a EntitySyncManager interface in core-data (WordPress/gutenberg#83410)
- Term Count: Add margin support (WordPress/gutenberg#83608)
- Archives: Add minimum height support (WordPress/gutenberg#83573)
- Media Editor: Stop the crop pixel snap from recording undo history (WordPress/gutenberg#83571)
- Term Name: Add margin support (WordPress/gutenberg#83606)
- Post Author Biography: Add text indent support (WordPress/gutenberg#83614)
- Code: Add minimum width and height support (WordPress/gutenberg#83574)
- Details: Add minimum width support (WordPress/gutenberg#83576)
- Post Content: Add minimum width support (WordPress/gutenberg#83575)
- Post Excerpt: Add minimum width and height support (WordPress/gutenberg#83578)
- Post Title: Add minimum width and height support (WordPress/gutenberg#83600)
- Footnotes: Add minimum width and height support (WordPress/gutenberg#83579)
- Storybook: Place Notice announcements under Components (WordPress/gutenberg#83617)
- InputControl: Darken the field border on hover (WordPress/gutenberg#83306)
- npm: Switch from legacy-peer-deps to strict-peer-deps (WordPress/gutenberg#81029)
- Term Name: Add minimum width and height support (WordPress/gutenberg#83599)
- Columns: Allow dropping a column at the outer edges (WordPress/gutenberg#83274)
- E2E: Pin the site title in the Interactivity API router specs and give the E2E Storybook build more heap. (WordPress/gutenberg#83474)
- Heading: Add minimum width and height support (WordPress/gutenberg#83580)
- Login/out: Add minimum width and height support (WordPress/gutenberg#83583)
- Verse: Add minimum width support (WordPress/gutenberg#83609)
- Video, Cover: Don't autoplay in the editor when reduced motion is preferred (WordPress/gutenberg#83337)
- Media & Text: Lower the specificity of the content padding (WordPress/gutenberg#83563)
- Pagination: Add padding, margin, and block gap support (WordPress/gutenberg#83743)
- Fix peer dependency conflicts left in the lockfile (WordPress/gutenberg#83754)
- Comments Pagination: Add padding, margin, and block gap support (WordPress/gutenberg#83744)
- Term Count: Add minimum width and height support (WordPress/gutenberg#83596)
- Read More: Add border style support (WordPress/gutenberg#83735)
- Cover: Don't autoplay embedded background videos when reduced motion is preferred (WordPress/gutenberg#83452)
- No Results: Add minimum width and height support (WordPress/gutenberg#83584)
- RichText: Rename utils.jsx to utils.js (WordPress/gutenberg#83758)
- Quote: Add minimum width support (WordPress/gutenberg#83592)
- Upgrade typescript-eslint to v8.70.1 (WordPress/gutenberg#83760)
- Tabs: Add minimum width support (WordPress/gutenberg#83595)
- Site Tagline: Add minimum width and height support (WordPress/gutenberg#83589)
- Heading: Add text indent support (WordPress/gutenberg#83615)
- Site Title: Add minimum width and height support (WordPress/gutenberg#83593)
- Home Link: Add padding and margin support (WordPress/gutenberg#83607)
- Preformatted: Add minimum width and height support (WordPress/gutenberg#83587)
- Include E2E Storybook sources in docgen (WordPress/gutenberg#83634)
- Extensible Site Editor: Pass custom block categories to the blocks store (WordPress/gutenberg#83762)
- Packages: Declare missing peer dependencies and check them in CI (WordPress/gutenberg#83765)
- Post Terms: Add minimum width and height support (WordPress/gutenberg#83586)
- Group, Cover: Track drop zone element in state (WordPress/gutenberg#83756)
- Global Styles: Add pseudo-state controls for Navigation Link (WordPress/gutenberg#83451)
- storybook: Register playground core blocks once (WordPress/gutenberg#83637)
- Document Outline: Show the design system focus ring instead of legacy box-shadow (WordPress/gutenberg#83755)
- storybook: Update BlockPopover fixture to API version 3 (WordPress/gutenberg#83642)
- Add typing to iAPI's getConfig() (WordPress/gutenberg#71692)
- Components: deprecate Badge (WordPress/gutenberg#82379)
- Block Editor: Fix style / nested attribute overwrite during multi-selection (WordPress/gutenberg#80070)
- Notes: Restrict menu actions for resolution notes and resolved threads (WordPress/gutenberg#73243)
- UI: Add change actions to form primitive stories (WordPress/gutenberg#83591)
- Icons: Support keyword-based search in the icons registry (WordPress/gutenberg#82367)
- Avatar: Explain that avatars use the Gravatar service (WordPress/gutenberg#83567)
- UI: Add item labels and descriptions to remaining popups (WordPress/gutenberg#83493)
- PaletteEdit: Stop changing the slug when renaming a preset (WordPress/gutenberg#83750)
- Storybook: Fix missing block styles in BlockCanvas playground stories (WordPress/gutenberg#81070)
- Tests: Enforce Vitest callback, promise, and title rules (WordPress/gutenberg#83620)
- ItemGroup: Use design system focus ring (WordPress/gutenberg#83764)
- Keep the legacy CheckboxControl visually consistent across viewports (WordPress/gutenberg#83612)
- Media editor: Use UI Menu for crop aspect ratio (WordPress/gutenberg#82968)
- Use strict assertions in override script tests (WordPress/gutenberg#83782)
- Home Link: Add minimum width and height support (WordPress/gutenberg#83582)
- Tab Panels: Add minimum height support (WordPress/gutenberg#83594)
- Post Time to Read: Add minimum width and height support (WordPress/gutenberg#83598)
- Term Description: Add minimum width and height support (WordPress/gutenberg#83597)
- UI: Keep InputLayout chrome at md on small viewports (WordPress/gutenberg#82764)
- Math: Add minimum width and height support (WordPress/gutenberg#83585)
- Tests: Bump undici in the AI development test lockfile (WordPress/gutenberg#83799)
- Bump brace-expansion in /test/ai-development (WordPress/gutenberg#83807)
- Bump js-yaml and promptfoo in /test/ai-development (WordPress/gutenberg#83797)
- Bump fast-uri from 3.1.7 to 3.1.8 (WordPress/gutenberg#83829)
- Update AI Development package versions after npm audit (WordPress/gutenberg#83830)
- Notes: Add show and hide options for floating notes (WordPress/gutenberg#83768)
- Add separators to item popup components (WordPress/gutenberg#83776)
- Components: Align RadioControl colors with UI Radio (WordPress/gutenberg#83270)
- E2E: Mock Openverse in image drag-and-drop inserter test (WordPress/gutenberg#83842)
- FormToggle: Match Switch colors across states (WordPress/gutenberg#83773)
- Bump `@react-spring/web` from 9.4.5 to 10.1.2 (WordPress/gutenberg#83796)
- ColorPalette: Show design system focus ring on custom color button (WordPress/gutenberg#83841)
- Docs: Remove CheckboxControl heading from InspectorControls example (WordPress/gutenberg#83844)
- Base Styles: Default the admin theme color to Blueberry (WordPress/gutenberg#83749)
- Menu: Guard against nesting Group and RadioGroup (WordPress/gutenberg#83792)
- Template Part: Fall back to rendering a template part from the theme file if the db version is unavailable (WordPress/gutenberg#83809)
- Tests: Reset deprecation history in shared Vitest setup (WordPress/gutenberg#83849)
- Menu: Disable triggers instead of roots in consumers (WordPress/gutenberg#83791)
- Playlist: Replace the waveform player patch with its no-autoinit entry (WordPress/gutenberg#83132)
- Update UI Spinner appearance and add a color prop (WordPress/gutenberg#83775)
- UI: Align component names with their semantics (WordPress/gutenberg#83789)
- Checkbox: Prevent rounded themes from making checkboxes circular (WordPress/gutenberg#83526)
- Storybook: Update manifest snapshot for Spinner color prop (WordPress/gutenberg#83856)
- Button: Only open the link popover on explicit user action (WordPress/gutenberg#30166)
- Gallery Lightbox: Prevent image click from closing the dialog when navigation is enabled (WordPress/gutenberg#78898)
- UI: Recommend Checkbox family components (WordPress/gutenberg#83771)
- RadioControl: Keep a 16px visual with a larger hit target (WordPress/gutenberg#83840)
- Table: replace deprecated word-break with overflow-wrap: anywhere (WordPress/gutenberg#82480)
- Tag Cloud: Update styles and add `!important` (WordPress/gutenberg#70224)
- Correctly document the `blockName` property as being nullable (WordPress/gutenberg#70900)
- Add inertValue helper and use it for setting inert attribute (WordPress/gutenberg#83871)
- Enable editableRoot for the list item block for multi-selection on mobile (WordPress/gutenberg#82816)
- Verify localized data retention in override script test (WordPress/gutenberg#83845)
- Tests: Bump ibm-cloud-sdk-core in the AI development test lockfile (WordPress/gutenberg#83887)
- UI: Recommend Notice component (WordPress/gutenberg#82685)
- Fix: MediaUpload `gallery` prop ignores `allowedTypes` (WordPress/gutenberg#78257)
- Media editor: Add a session boundary above the cropper (WordPress/gutenberg#83550)
- DataViews: Measure the container as the data view mounts to avoid a single column flash (WordPress/gutenberg#83752)
- Pullquote: Add minimum width support (WordPress/gutenberg#83588)
- Media editor: Remove initial state seeding from the session (WordPress/gutenberg#83893)
- UI: Add e2e Storybook popup item layout fixtures (WordPress/gutenberg#83488)
- Storybook: Give CI job a distinct name (WordPress/gutenberg#83869)
- Coding standards: Skip anonymous class methods in block library function name sniff (WordPress/gutenberg#83900)
- Pagination: Add border support (WordPress/gutenberg#83745)
- PR meta: Move the props list into the shared comment (WordPress/gutenberg#82302)
- Comments Pagination: Add border support (WordPress/gutenberg#83746)
- Scripts: Resolve default configs without hoisted dependencies (WordPress/gutenberg#83902)
- Image: Fix invalid CSS url() value in circle-mask style (WordPress/gutenberg#82333)
- Query Total: Add minimum width and height support (WordPress/gutenberg#83590)
- Scripts: Treat files passed after --fix as file arguments (WordPress/gutenberg#83521)
- Editor: Remove icon for 'Export' more menu item (WordPress/gutenberg#83901)
- Dashboard Widgets: let a mounted widget declare actions at runtime (WordPress/gutenberg#83877)
- Framework: Switch from hoisted to isolated dependencies (WordPress/gutenberg#83847)
- Test: Run Vitest type graph validation in process (WordPress/gutenberg#83851)
- Remove use-memo-one usage (missing React 19 compat) (WordPress/gutenberg#83952)
- Fix Post Featured Image crash when isLink is enabled (WordPress/gutenberg#81584)
- Experiment: restyle classic wp-admin controls from design system tokens (WordPress/gutenberg#82425)
- Tests: Lint JavaScript Vitest mock imports (WordPress/gutenberg#83783)
- Build: Remove patch-package (WordPress/gutenberg#83982)
- Docs: Update deprecation testing guidance for shared reset (WordPress/gutenberg#83989)
- DataViews: list hideable fields alphabetically in the view config (WordPress/gutenberg#83947)
- Core Data: Rank link suggestions by type, and stop discarding merged results (WordPress/gutenberg#83407)
- Add new react-inert-value package with inertValue helper (WordPress/gutenberg#83987)
- Connectors: Keep a stored API key read-only when it can't be verified (WordPress/gutenberg#83889)
- Navigation: Search every entity type from the link UI (WordPress/gutenberg#83408)
- Tests: Cover translation setup in override script tests (WordPress/gutenberg#83886)
- Build: Update Vite to 8.3.2 and remove the PostCSS browser resolver (WordPress/gutenberg#83992)
- Update readme title to match block name (WordPress/gutenberg#83999)
- RTC: Fix undo breaking for non-synced entities (WordPress/gutenberg#83888)
- CI: Cover the AI development lockfile with Dependabot instead of npm audit (WordPress/gutenberg#83997)
- Latest Posts: Add minimum width and height support (WordPress/gutenberg#83905)
- Avatar: Add shadow support (WordPress/gutenberg#83929)
- Tab List: Add shadow support (WordPress/gutenberg#83922)
- Buttons: Add minimum width and height support (WordPress/gutenberg#83894)
- Social Icons: Add shadow support (WordPress/gutenberg#83920)
- Columns: Add minimum width and height support (WordPress/gutenberg#83895)
- Gallery: Add shadow support (WordPress/gutenberg#83919)
- File: Add shadow support (WordPress/gutenberg#83918)
- Page List: Add minimum width and height support (WordPress/gutenberg#83908)
- Build Tooling: Read npm v12 pack --json output (WordPress/gutenberg#84011)
- Accordion Heading: Add line height support (WordPress/gutenberg#83958)
- Paragraph: Add shadow support (WordPress/gutenberg#83926)
- Media & Text: Add minimum width and height support (WordPress/gutenberg#83906)
- Tests: Patch basic-ftp in AI development dependencies (WordPress/gutenberg#84000)
- Env, E2E: Update dependencies that ran native install scripts (WordPress/gutenberg#84012)
- Tests: Update Vitest to 5.0.3 and Storybook to 10.6.1 (WordPress/gutenberg#83996)
- Search: Add padding support (WordPress/gutenberg#83984)
- Block editor: Honour background skip serialization in the editor (WordPress/gutenberg#83943)
- Framework: Declare React types in the workspaces that use them (WordPress/gutenberg#84013)
- Fit text: Size each block instance in a loop independently (WordPress/gutenberg#83985)
- FocalPointPicker: end a drag released over the editor canvas (WordPress/gutenberg#83348)
- Tests: Cover Menu scroll lock and LinkControl protocols in browsers (WordPress/gutenberg#83991)
- List: Add shadow support (WordPress/gutenberg#83923)
- UI: Add Progress with custom color support (WordPress/gutenberg#83781)
- ESLint: Allow non-module stylesheet imports in unit tests (WordPress/gutenberg#84019)
- Canvas loader: Use UI Progress and pass color via the indicator prop (WordPress/gutenberg#83860)
- Menu: Align group labels and separators with indented item labels. (WordPress/gutenberg#83993)
- react-inert-value: add missing types/react peer dep (WordPress/gutenberg#84024)
- Docs: Refine design system agent guidance (WordPress/gutenberg#84007)
- Navigation: List allowed blocks in the link UI search results + add transformSuggestions to Link Control (WordPress/gutenberg#83652)
- Sync: Remove exposed wp.sync package (WordPress/gutenberg#81999)
- Style: Update color to use CSS variable in edit-site (WordPress/gutenberg#79002)
- Popover: drop the will-change hint once the popover stops moving (WordPress/gutenberg#77359)
- MediaEdit: Show a checkerboard background behind image previews (WordPress/gutenberg#83846)
- Quote: Add button colour support (WordPress/gutenberg#83983)
- Media & Text: Add duotone support (WordPress/gutenberg#83981)
- Gallery: Add duotone support (WordPress/gutenberg#83978)
- Interactivity API Router: Add reactive navigation lifecycle and initiator API (WordPress/gutenberg#83280)
- Notes: Move floating notes into a canvas margin (WordPress/gutenberg#83786)
- Verse: Add text columns and indent support (WordPress/gutenberg#83962)
- Notes: Scroll floating notes with the canvas (WordPress/gutenberg#83852)
- Notes: Add Undo to deleted note snackbar (WordPress/gutenberg#83988)
- Framework: Move @typescript/native from the root to the workspaces that use it (WordPress/gutenberg#84027)
- Repair invalid peer dependencies in the lockfile (WordPress/gutenberg#84062)
- Term Template: Add minimum width and height support (WordPress/gutenberg#83914)
- Fix check type declarations (WordPress/gutenberg#84070)
- Media: track the original attachment id for edited images (WordPress/gutenberg#81803)
- Post Comments Form: Add font family support (WordPress/gutenberg#83967)
- Media Utils: Add `MediaEdit` as a private API (WordPress/gutenberg#84046)
- Build Tools: Fix flaky ESM package types test timeout (WordPress/gutenberg#84068)
- Embed: Add padding support (WordPress/gutenberg#83963)
- Interactivity API: Add a data-wp-html directive (WordPress/gutenberg#83092)
- Typography and "block-default icon polish. (WordPress/gutenberg#84073)
- Release Tooling: Read the npm v12 JSON output shapes (WordPress/gutenberg#84075)
- Menu: Align submenu labels and highlight open parents (WordPress/gutenberg#84031)
- Props Bot: Skip bare reviews that duplicate their review comment runs (WordPress/gutenberg#84076)
- Dataviews: use inertValue in CompositeGrid (WordPress/gutenberg#84072)
- UI: Add Meter (WordPress/gutenberg#83855)
- Media & Text: Add shadow support (WordPress/gutenberg#83976)
- Media editor: restore original image in modal (WordPress/gutenberg#81805)
- List: Add background image, size, and gradient support (WordPress/gutenberg#83935)
- List Item: Add background image, size, and gradient support (WordPress/gutenberg#83936)
- Block Editor: Fix 'Manage allowed blocks' not shown when its the only 'Advanced' control (WordPress/gutenberg#84067)
- Design System: Clarify tooltip labeling and UI review guidance (WordPress/gutenberg#83898)
- Gallery: Add minimum width and height support (WordPress/gutenberg#83897)
- File: Add minimum width and height support (WordPress/gutenberg#83896)
- Media: Return 0 from the edit root lookup when there is no edit root (WordPress/gutenberg#84096)
- Read More: Add minimum width and height support (WordPress/gutenberg#83912)
- UI: Recommend Radio family components (WordPress/gutenberg#83872)
- Latest Comments: Add minimum width and height support (WordPress/gutenberg#83904)
- chore: Use v24 in .nvmrc (WordPress/gutenberg#84061)
- Embed: Add minimum width and height support (WordPress/gutenberg#83903)
- Post Comments Form: Add minimum width and height support (WordPress/gutenberg#83910)
- Post Featured Image: Add border style support (WordPress/gutenberg#83956)
- Buttons: Add shadow support (WordPress/gutenberg#83916)
- Poetry: Add fit text support (WordPress/gutenberg#83980)
- Video: Add duotone support (WordPress/gutenberg#83979)
- Notes: Keep anchor writes out of undo history (WordPress/gutenberg#84079)
- ProgressBar: Use WPDS color tokens (WordPress/gutenberg#83779)
- REST API: Add action-trash link to posts and comments (WordPress/gutenberg#84045)
- RSS: Add minimum width and height support (WordPress/gutenberg#83913)
- Notes: Reset paragraph top margin in floating notes (WordPress/gutenberg#84101)
- Global Styles: Fix popover position in Styles screen (WordPress/gutenberg#84048)
- Block Switcher: Show design system focus ring on pattern previews (WordPress/gutenberg#83933)
- MediaEdit: Use design system focus ring (WordPress/gutenberg#83854)
- Notes: Delete permanently when the trash is disabled (WordPress/gutenberg#84102)
- Release: Rewrite SVN publication scripts in Node.js (WordPress/gutenberg#84034)
- ContentEditableControl: Keep a disabled field focusable (WordPress/gutenberg#84083)
- States: Scope per-instance rules to the block's root element (WordPress/gutenberg#83986)
- List Item: Add shadow support (WordPress/gutenberg#83925)
- DataViews: Truncate filter chips instead of wrapping them (WordPress/gutenberg#83879)
- Experiments: Turn the React 19 experiment on by default (WordPress/gutenberg#83784)
- Notes: Extract NoteReply and lift AddNote gating (WordPress/gutenberg#84106)
- Interactivity API: Remove expired deprecated behaviors (WordPress/gutenberg#84098)
- Breadcrumbs: Fix typo in aria label translation context (WordPress/gutenberg#84112)
- ESLint: Allow generated test titles (WordPress/gutenberg#83995)
- Icons: Add keywords to icon manifest (WordPress/gutenberg#83884)
- Tooltip: Control the hover delay cancellation test clock (WordPress/gutenberg#84113)
- VS Code: Add managed workspace config (WordPress/gutenberg#84025)
- Breadcrumb: fix getMeasurementRender for React 19 (WordPress/gutenberg#84069)
- Notes: Fix flaky thread scroll e2e test (WordPress/gutenberg#84118)
- Detect the database client in the unit test debug step. (WordPress/gutenberg#84089)
- UI: Preserve Autocomplete item type inference (WordPress/gutenberg#84095)
- UI: Recommend Switch family components (WordPress/gutenberg#84097)
- Env: Add an option to choose the MariaDB version (WordPress/gutenberg#83751)
- UI: Preserve Combobox source item generics (WordPress/gutenberg#84094)
- Menu: Tighten spacing, use 16px prefix icons, and cap width at 320px (WordPress/gutenberg#84028)
- Notes: Preserve unsent note and reply drafts (WordPress/gutenberg#84110)
- Theme: Add integration test coverage for seed colors in artifacts (WordPress/gutenberg#81161)
- Progress: Migrate remaining ProgressBar usages and recommend UI Progress (WordPress/gutenberg#84021)
- Components: Fix polymorphism typings leaking `as` prop (WordPress/gutenberg#82704)
- Media & Text: Add background image, size, and gradient support (WordPress/gutenberg#83927)
- Experiments: Use a mock plugin slug that no WordPress build ships in the unrelated-plugin test (WordPress/gutenberg#84133)
- Button: Add background image, size, and gradient support (WordPress/gutenberg#83950)
- Tests: Isolate Ajv per test in wp-env schema tests to avoid order dependence (WordPress/gutenberg#84139)
- Storybook: Read icon keywords from the manifest (WordPress/gutenberg#84127)
- SandBox: Fix embed previews that require a referrer in Safari (WordPress/gutenberg#84014)
- Notes: Restore child notes trashed along with their parent note (WordPress/gutenberg#84100)
- Style states: fix exception when there's no selected block (WordPress/gutenberg#84140)
- Chore: Use v24.20 in  `.nvmrc` config file. (WordPress/gutenberg#84138)
- Security: Opt in to the npm v12 supply-chain defaults (WordPress/gutenberg#82689)
- Docs: Describe isolated dependencies for agents and contributors (WordPress/gutenberg#84141)
- Upgrade code and types to React 19 (WordPress/gutenberg#83941)
- Latest Comments: Add border support (WordPress/gutenberg#84148)
- Add prettier, eslint and stylelint to the root package.json (WordPress/gutenberg#84017)
- FontSizePicker: Migrate Emotion styles to SCSS Modules (WordPress/gutenberg#84126)
- Fields API: Add the server-side registry and REST route (WordPress/gutenberg#84078)
- Block bindings: add support to `icon` attribute of `core/icon` (WordPress/gutenberg#80730)
- VisuallyHidden: Move hiding styles outside CSS cascade layers (WordPress/gutenberg#84114)
- Theme: Generate complete border token modes for Figma testing (WordPress/gutenberg#84035)
- Developer tools: Simplify editor setup and add Zed settings (WordPress/gutenberg#84143)
- Consolidate wp-admin container radiuses onto the design system scale (WordPress/gutenberg#82427)
- CustomGradientPicker: Extend control point targets to the bar height (WordPress/gutenberg#84124)
- Notes: Draw the canvas divider from body so it uses the theme text color (WordPress/gutenberg#84158)
- Icons: Experiment with proportional stroke scaling (WordPress/gutenberg#84081)
- Global Styles: Ignore theme.json values of unexpected types (WordPress/gutenberg#84523)
- React 19 codemod: apply defaultProps when rendering a memo component (WordPress/gutenberg#84568)
- React 19: add new incompatible plugins (WordPress/gutenberg#84607)
- Tests: Fix HTML comparison tests (WordPress/gutenberg#84294)
- Tests: Fix list item unsafe markup test on older WordPress versions (WordPress/gutenberg#84302)
- Experiments: don't invalidate saved option with a legacy key (WordPress/gutenberg#84619)
- Tests: Scope Classic block media checkbox locator (WordPress/gutenberg#84524)

Props mamaduka.
See #66340



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

A full list of changes included in this commit can be found on GitHub: WordPress/gutenberg@954fe7f...7b95ee9

- useServerSideRender: parse messages from caught errors (WordPress/gutenberg#83365)
- Docs: Fix published Vitest migration-guide links (WordPress/gutenberg#83449)
- Fix: Whitespace changes are not shown in the Resolve Block diff. (WordPress/gutenberg#82397)
- Editor: Use SearchableSelect for the post author field (WordPress/gutenberg#83323)
- Docs: Note that block attributes and global styles values are untrusted at render time (WordPress/gutenberg#83473)
- RichText: Remove dead exports and consolidate deprecations (WordPress/gutenberg#83461)
- Inserter: Manage roving tab index to skip re-rendering every item (WordPress/gutenberg#83437)
- SearchableSelectControl: Add to @wordpress/ui (WordPress/gutenberg#80979)
- Try: Bolder "B" icon (WordPress/gutenberg#83321)
- Ignore composer vendor files from top-level gitignore. (WordPress/gutenberg#22283)
- Tests: Add floating notes e2e coverage (WordPress/gutenberg#83477)
- Block Editor: Check the inserter's fallback containers unmemoized (WordPress/gutenberg#83446)
- Packages: Update Ariakit to 0.4.40 (WordPress/gutenberg#83278)
- Tests: Enforce per-call Vitest console expectations (WordPress/gutenberg#83095)
- Theme: Fix virtual modules, root styles, and seed validation (WordPress/gutenberg#83355)
- DataViews: Fix README to describe sort() as receiving field values, not items (WordPress/gutenberg#83483)
- Combobox: Label popup dialogs in stories (WordPress/gutenberg#83476)
- Block editor: Isolate mutable test fixtures (WordPress/gutenberg#83098)
- Blocks: Isolate registration state in tests (WordPress/gutenberg#83099)
- UI: Remove automatic Notice announcements (WordPress/gutenberg#82737)
- Text: Migrate Emotion styles to an SCSS Module (WordPress/gutenberg#82573)
- Block library: Isolate order-sensitive test interactions (WordPress/gutenberg#83101)
- Format Library: unify FormatEditProps to one type, move private types (WordPress/gutenberg#83487)
- UI: Announce selected chips in SearchableChipSelect (WordPress/gutenberg#82863)
- Card: Migrate from Emotion to SCSS modules (WordPress/gutenberg#82577)
- Components: Deprecate the private Menu API (WordPress/gutenberg#82947)
- CustomGradientPicker: Migrate control wrappers to an SCSS module (WordPress/gutenberg#82576)
- Components: Isolate order-sensitive UI tests (WordPress/gutenberg#83103)
- Tests: Isolate mutable configuration fixtures (WordPress/gutenberg#83104)
- Core data: Finish deferred selection updates in RTC test (WordPress/gutenberg#83366)
- Block editor: Wait for final keyboard link suggestions (WordPress/gutenberg#83489)
- Data: Assert and silence resolution error in useSuspenseSelect test (WordPress/gutenberg#83491)
- Tests: Isolate deprecation warning state (WordPress/gutenberg#83107)
- UI: Align selection popup checkmarks with the first label line (WordPress/gutenberg#82942)
- Tests: Resolve Browser Mode commands against the live iframe (WordPress/gutenberg#83495)
- Ensure position type is a string (WordPress/gutenberg#83500)
- MediaUpload: Fix console error when reopening Gallery media library (WordPress/gutenberg#76749)
- Refactor stylelint config detection in lint-style.js (WordPress/gutenberg#79280)
- Docs: Recommend UI Tabs for switching views (WordPress/gutenberg#83516)
- Popover: Close non-modal popovers on iframe interaction (WordPress/gutenberg#83509)
- Typography: List only the weights inside a variable font's range (WordPress/gutenberg#83128)
- Style book: Add link to example text. (WordPress/gutenberg#83448)
- Tests: Add Vitest Browser Mode failure artifacts (WordPress/gutenberg#83093)
- Theme: Make JavaScript token fallback transforms syntax-aware (WordPress/gutenberg#83356)
- Editor: Fix new posts being published with the `auto-draft` slug (WordPress/gutenberg#83518)
- Editor: Gather the View group of the Options menu into submenus (WordPress/gutenberg#82976)
- Tests: Fix PostCSS browser-externalized warnings in Vitest (WordPress/gutenberg#83091)
- Tests: Shuffle test cases in CI (WordPress/gutenberg#83111)
- Update Styles > Blocks description. (WordPress/gutenberg#83515)
- Columns: Remove the column count slider (WordPress/gutenberg#83262)
- BorderControl: Remove `%` from the border width units (WordPress/gutenberg#83492)
- Fields: Fix AuthorView for users who can't edit users (WordPress/gutenberg#83498)
- Update and add justify icons. (WordPress/gutenberg#83519)
- RichText: Refactor useMarkPersistent, fix StrictMode mount mark (WordPress/gutenberg#83463)
- Theme: Improve accessibility, API documentation, and compatibility checks (WordPress/gutenberg#83358)
- Theme: Preserve global token references in Lightning CSS (WordPress/gutenberg#83359)
- Tests: Migrate internal linting to Vitest and remove unused Jest dependencies (WordPress/gutenberg#83502)
- Improve specificity of lightbox button selector (WordPress/gutenberg#70800)
- TextControl: Use design system colors when disabled (WordPress/gutenberg#83307)
- Fix: Image lightbox: overlay becomes unusable (can't close) when it isn't a direct child of `<body>` (WordPress/gutenberg#83480)
- Notes: Extract note selection sync into useNoteSelection hook (WordPress/gutenberg#83528)
- Block Parser: Document `\WP_Block_Parser::$stack` as a list (WordPress/gutenberg#82695)
- CollapsibleCard: Scope the header focus ring to its own trigger (WordPress/gutenberg#81314)
- Fix broken links in docs (WordPress/gutenberg#83545)
- Icons: Use assertEqualHTML() in icons registry tests (WordPress/gutenberg#83544)
- Editor: Merge adjacent revision inline diffs (WordPress/gutenberg#80579)
- Date: Ignore trailing format backslash instead of printing undefined (WordPress/gutenberg#81528)
- Block Supports: Add background-clip block support infrastructure (WordPress/gutenberg#77141)
- Block Editor: Fix translator comments for block count announcements (WordPress/gutenberg#83555)
- Paste: replace non-breaking spaces at the edges of text with regular spaces (WordPress/gutenberg#83464)
- Media Editor: Fix pan drag flooding undo history after wheel zoom (WordPress/gutenberg#83558)
- Rich text: fix iOS double tap selection, preventing focus capture under editable host (WordPress/gutenberg#81042)
- Block editor: migrate state-control badges to UI Badge (WordPress/gutenberg#82608)
- Gallery: Add Order By controls for static gallery, consolidate controls in settings sidebar (WordPress/gutenberg#83438)
- Media editor: show an error when saving attachment details fails (WordPress/gutenberg#83560)
- Position controls: Fix useSelect warning for selected state viewports (WordPress/gutenberg#83570)
- Inserter: Use design system focus ring for previews (WordPress/gutenberg#83126)
- Image: Fix lightbox using thumbnail aspect ratio instead of original image ratio (WordPress/gutenberg#79058)
- Docs: Clarify @wordpress/ui icon color requirements (WordPress/gutenberg#83564)
- docker compose -T if stdin is not a tty (WordPress/gutenberg#78374)
- Storybook: Add new contributing page. (WordPress/gutenberg#83345)
- Widget Primitives: Avoid Vite warnings for runtime widget modules (WordPress/gutenberg#83602)
- Build: Update Vite to 8.3.1 and simplify Storybook tooling (WordPress/gutenberg#83569)
- doc(wp-env) Change core branch from trunk to master in doc (WordPress/gutenberg#83566)
- wp-build: Remove the unused boot, private-apis, and route optional peer dependencies (WordPress/gutenberg#83601)
- CI: Check CHANGELOG presence for published tooling and config packages (WordPress/gutenberg#83577)
- Tests: Enforce Vitest assertion coverage (WordPress/gutenberg#83572)
- Icons: Update heading level icons for optical balance (WordPress/gutenberg#83268)
- ESLint: Add allowUseWithCaution option to use-recommended-components (WordPress/gutenberg#83536)
- Notes: Refactor floating board measurement (WordPress/gutenberg#83485)
- Inserter: Stop re-rendering the block list on block selection change (WordPress/gutenberg#83284)
- Paste: Give each pasted data-URI image unique filename to avoid upload collisions. (WordPress/gutenberg#79480)
- Changelog validator: ignore markdown & configs d46223 (WordPress/gutenberg#83618)
- Font Library: Use UI Menu for collection actions (WordPress/gutenberg#82965)
- Storybook: Show prop descriptions in Canvas controls (WordPress/gutenberg#83581)
- test: Link upstream warning fixes in config (WordPress/gutenberg#83632)
- Storybook: Use one block-editor store module (WordPress/gutenberg#83636)
- Tests: Use strict assertions synced from Core changeset 63934. (WordPress/gutenberg#83619)
- Math: Store cell alignment in the MathML and polyfill alignment and overlines in Chromium (WordPress/gutenberg#83164)
- Storybook: Reuse PostCSS browser resolver in smoke tests (WordPress/gutenberg#83635)
- Editor: Use UI Menu for template options (WordPress/gutenberg#82964)
- RTC: Add a EntitySyncManager interface in core-data (WordPress/gutenberg#83410)
- Term Count: Add margin support (WordPress/gutenberg#83608)
- Archives: Add minimum height support (WordPress/gutenberg#83573)
- Media Editor: Stop the crop pixel snap from recording undo history (WordPress/gutenberg#83571)
- Term Name: Add margin support (WordPress/gutenberg#83606)
- Post Author Biography: Add text indent support (WordPress/gutenberg#83614)
- Code: Add minimum width and height support (WordPress/gutenberg#83574)
- Details: Add minimum width support (WordPress/gutenberg#83576)
- Post Content: Add minimum width support (WordPress/gutenberg#83575)
- Post Excerpt: Add minimum width and height support (WordPress/gutenberg#83578)
- Post Title: Add minimum width and height support (WordPress/gutenberg#83600)
- Footnotes: Add minimum width and height support (WordPress/gutenberg#83579)
- Storybook: Place Notice announcements under Components (WordPress/gutenberg#83617)
- InputControl: Darken the field border on hover (WordPress/gutenberg#83306)
- npm: Switch from legacy-peer-deps to strict-peer-deps (WordPress/gutenberg#81029)
- Term Name: Add minimum width and height support (WordPress/gutenberg#83599)
- Columns: Allow dropping a column at the outer edges (WordPress/gutenberg#83274)
- E2E: Pin the site title in the Interactivity API router specs and give the E2E Storybook build more heap. (WordPress/gutenberg#83474)
- Heading: Add minimum width and height support (WordPress/gutenberg#83580)
- Login/out: Add minimum width and height support (WordPress/gutenberg#83583)
- Verse: Add minimum width support (WordPress/gutenberg#83609)
- Video, Cover: Don't autoplay in the editor when reduced motion is preferred (WordPress/gutenberg#83337)
- Media & Text: Lower the specificity of the content padding (WordPress/gutenberg#83563)
- Pagination: Add padding, margin, and block gap support (WordPress/gutenberg#83743)
- Fix peer dependency conflicts left in the lockfile (WordPress/gutenberg#83754)
- Comments Pagination: Add padding, margin, and block gap support (WordPress/gutenberg#83744)
- Term Count: Add minimum width and height support (WordPress/gutenberg#83596)
- Read More: Add border style support (WordPress/gutenberg#83735)
- Cover: Don't autoplay embedded background videos when reduced motion is preferred (WordPress/gutenberg#83452)
- No Results: Add minimum width and height support (WordPress/gutenberg#83584)
- RichText: Rename utils.jsx to utils.js (WordPress/gutenberg#83758)
- Quote: Add minimum width support (WordPress/gutenberg#83592)
- Upgrade typescript-eslint to v8.70.1 (WordPress/gutenberg#83760)
- Tabs: Add minimum width support (WordPress/gutenberg#83595)
- Site Tagline: Add minimum width and height support (WordPress/gutenberg#83589)
- Heading: Add text indent support (WordPress/gutenberg#83615)
- Site Title: Add minimum width and height support (WordPress/gutenberg#83593)
- Home Link: Add padding and margin support (WordPress/gutenberg#83607)
- Preformatted: Add minimum width and height support (WordPress/gutenberg#83587)
- Include E2E Storybook sources in docgen (WordPress/gutenberg#83634)
- Extensible Site Editor: Pass custom block categories to the blocks store (WordPress/gutenberg#83762)
- Packages: Declare missing peer dependencies and check them in CI (WordPress/gutenberg#83765)
- Post Terms: Add minimum width and height support (WordPress/gutenberg#83586)
- Group, Cover: Track drop zone element in state (WordPress/gutenberg#83756)
- Global Styles: Add pseudo-state controls for Navigation Link (WordPress/gutenberg#83451)
- storybook: Register playground core blocks once (WordPress/gutenberg#83637)
- Document Outline: Show the design system focus ring instead of legacy box-shadow (WordPress/gutenberg#83755)
- storybook: Update BlockPopover fixture to API version 3 (WordPress/gutenberg#83642)
- Add typing to iAPI's getConfig() (WordPress/gutenberg#71692)
- Components: deprecate Badge (WordPress/gutenberg#82379)
- Block Editor: Fix style / nested attribute overwrite during multi-selection (WordPress/gutenberg#80070)
- Notes: Restrict menu actions for resolution notes and resolved threads (WordPress/gutenberg#73243)
- UI: Add change actions to form primitive stories (WordPress/gutenberg#83591)
- Icons: Support keyword-based search in the icons registry (WordPress/gutenberg#82367)
- Avatar: Explain that avatars use the Gravatar service (WordPress/gutenberg#83567)
- UI: Add item labels and descriptions to remaining popups (WordPress/gutenberg#83493)
- PaletteEdit: Stop changing the slug when renaming a preset (WordPress/gutenberg#83750)
- Storybook: Fix missing block styles in BlockCanvas playground stories (WordPress/gutenberg#81070)
- Tests: Enforce Vitest callback, promise, and title rules (WordPress/gutenberg#83620)
- ItemGroup: Use design system focus ring (WordPress/gutenberg#83764)
- Keep the legacy CheckboxControl visually consistent across viewports (WordPress/gutenberg#83612)
- Media editor: Use UI Menu for crop aspect ratio (WordPress/gutenberg#82968)
- Use strict assertions in override script tests (WordPress/gutenberg#83782)
- Home Link: Add minimum width and height support (WordPress/gutenberg#83582)
- Tab Panels: Add minimum height support (WordPress/gutenberg#83594)
- Post Time to Read: Add minimum width and height support (WordPress/gutenberg#83598)
- Term Description: Add minimum width and height support (WordPress/gutenberg#83597)
- UI: Keep InputLayout chrome at md on small viewports (WordPress/gutenberg#82764)
- Math: Add minimum width and height support (WordPress/gutenberg#83585)
- Tests: Bump undici in the AI development test lockfile (WordPress/gutenberg#83799)
- Bump brace-expansion in /test/ai-development (WordPress/gutenberg#83807)
- Bump js-yaml and promptfoo in /test/ai-development (WordPress/gutenberg#83797)
- Bump fast-uri from 3.1.7 to 3.1.8 (WordPress/gutenberg#83829)
- Update AI Development package versions after npm audit (WordPress/gutenberg#83830)
- Notes: Add show and hide options for floating notes (WordPress/gutenberg#83768)
- Add separators to item popup components (WordPress/gutenberg#83776)
- Components: Align RadioControl colors with UI Radio (WordPress/gutenberg#83270)
- E2E: Mock Openverse in image drag-and-drop inserter test (WordPress/gutenberg#83842)
- FormToggle: Match Switch colors across states (WordPress/gutenberg#83773)
- Bump `@react-spring/web` from 9.4.5 to 10.1.2 (WordPress/gutenberg#83796)
- ColorPalette: Show design system focus ring on custom color button (WordPress/gutenberg#83841)
- Docs: Remove CheckboxControl heading from InspectorControls example (WordPress/gutenberg#83844)
- Base Styles: Default the admin theme color to Blueberry (WordPress/gutenberg#83749)
- Menu: Guard against nesting Group and RadioGroup (WordPress/gutenberg#83792)
- Template Part: Fall back to rendering a template part from the theme file if the db version is unavailable (WordPress/gutenberg#83809)
- Tests: Reset deprecation history in shared Vitest setup (WordPress/gutenberg#83849)
- Menu: Disable triggers instead of roots in consumers (WordPress/gutenberg#83791)
- Playlist: Replace the waveform player patch with its no-autoinit entry (WordPress/gutenberg#83132)
- Update UI Spinner appearance and add a color prop (WordPress/gutenberg#83775)
- UI: Align component names with their semantics (WordPress/gutenberg#83789)
- Checkbox: Prevent rounded themes from making checkboxes circular (WordPress/gutenberg#83526)
- Storybook: Update manifest snapshot for Spinner color prop (WordPress/gutenberg#83856)
- Button: Only open the link popover on explicit user action (WordPress/gutenberg#30166)
- Gallery Lightbox: Prevent image click from closing the dialog when navigation is enabled (WordPress/gutenberg#78898)
- UI: Recommend Checkbox family components (WordPress/gutenberg#83771)
- RadioControl: Keep a 16px visual with a larger hit target (WordPress/gutenberg#83840)
- Table: replace deprecated word-break with overflow-wrap: anywhere (WordPress/gutenberg#82480)
- Tag Cloud: Update styles and add `!important` (WordPress/gutenberg#70224)
- Correctly document the `blockName` property as being nullable (WordPress/gutenberg#70900)
- Add inertValue helper and use it for setting inert attribute (WordPress/gutenberg#83871)
- Enable editableRoot for the list item block for multi-selection on mobile (WordPress/gutenberg#82816)
- Verify localized data retention in override script test (WordPress/gutenberg#83845)
- Tests: Bump ibm-cloud-sdk-core in the AI development test lockfile (WordPress/gutenberg#83887)
- UI: Recommend Notice component (WordPress/gutenberg#82685)
- Fix: MediaUpload `gallery` prop ignores `allowedTypes` (WordPress/gutenberg#78257)
- Media editor: Add a session boundary above the cropper (WordPress/gutenberg#83550)
- DataViews: Measure the container as the data view mounts to avoid a single column flash (WordPress/gutenberg#83752)
- Pullquote: Add minimum width support (WordPress/gutenberg#83588)
- Media editor: Remove initial state seeding from the session (WordPress/gutenberg#83893)
- UI: Add e2e Storybook popup item layout fixtures (WordPress/gutenberg#83488)
- Storybook: Give CI job a distinct name (WordPress/gutenberg#83869)
- Coding standards: Skip anonymous class methods in block library function name sniff (WordPress/gutenberg#83900)
- Pagination: Add border support (WordPress/gutenberg#83745)
- PR meta: Move the props list into the shared comment (WordPress/gutenberg#82302)
- Comments Pagination: Add border support (WordPress/gutenberg#83746)
- Scripts: Resolve default configs without hoisted dependencies (WordPress/gutenberg#83902)
- Image: Fix invalid CSS url() value in circle-mask style (WordPress/gutenberg#82333)
- Query Total: Add minimum width and height support (WordPress/gutenberg#83590)
- Scripts: Treat files passed after --fix as file arguments (WordPress/gutenberg#83521)
- Editor: Remove icon for 'Export' more menu item (WordPress/gutenberg#83901)
- Dashboard Widgets: let a mounted widget declare actions at runtime (WordPress/gutenberg#83877)
- Framework: Switch from hoisted to isolated dependencies (WordPress/gutenberg#83847)
- Test: Run Vitest type graph validation in process (WordPress/gutenberg#83851)
- Remove use-memo-one usage (missing React 19 compat) (WordPress/gutenberg#83952)
- Fix Post Featured Image crash when isLink is enabled (WordPress/gutenberg#81584)
- Experiment: restyle classic wp-admin controls from design system tokens (WordPress/gutenberg#82425)
- Tests: Lint JavaScript Vitest mock imports (WordPress/gutenberg#83783)
- Build: Remove patch-package (WordPress/gutenberg#83982)
- Docs: Update deprecation testing guidance for shared reset (WordPress/gutenberg#83989)
- DataViews: list hideable fields alphabetically in the view config (WordPress/gutenberg#83947)
- Core Data: Rank link suggestions by type, and stop discarding merged results (WordPress/gutenberg#83407)
- Add new react-inert-value package with inertValue helper (WordPress/gutenberg#83987)
- Connectors: Keep a stored API key read-only when it can't be verified (WordPress/gutenberg#83889)
- Navigation: Search every entity type from the link UI (WordPress/gutenberg#83408)
- Tests: Cover translation setup in override script tests (WordPress/gutenberg#83886)
- Build: Update Vite to 8.3.2 and remove the PostCSS browser resolver (WordPress/gutenberg#83992)
- Update readme title to match block name (WordPress/gutenberg#83999)
- RTC: Fix undo breaking for non-synced entities (WordPress/gutenberg#83888)
- CI: Cover the AI development lockfile with Dependabot instead of npm audit (WordPress/gutenberg#83997)
- Latest Posts: Add minimum width and height support (WordPress/gutenberg#83905)
- Avatar: Add shadow support (WordPress/gutenberg#83929)
- Tab List: Add shadow support (WordPress/gutenberg#83922)
- Buttons: Add minimum width and height support (WordPress/gutenberg#83894)
- Social Icons: Add shadow support (WordPress/gutenberg#83920)
- Columns: Add minimum width and height support (WordPress/gutenberg#83895)
- Gallery: Add shadow support (WordPress/gutenberg#83919)
- File: Add shadow support (WordPress/gutenberg#83918)
- Page List: Add minimum width and height support (WordPress/gutenberg#83908)
- Build Tooling: Read npm v12 pack --json output (WordPress/gutenberg#84011)
- Accordion Heading: Add line height support (WordPress/gutenberg#83958)
- Paragraph: Add shadow support (WordPress/gutenberg#83926)
- Media & Text: Add minimum width and height support (WordPress/gutenberg#83906)
- Tests: Patch basic-ftp in AI development dependencies (WordPress/gutenberg#84000)
- Env, E2E: Update dependencies that ran native install scripts (WordPress/gutenberg#84012)
- Tests: Update Vitest to 5.0.3 and Storybook to 10.6.1 (WordPress/gutenberg#83996)
- Search: Add padding support (WordPress/gutenberg#83984)
- Block editor: Honour background skip serialization in the editor (WordPress/gutenberg#83943)
- Framework: Declare React types in the workspaces that use them (WordPress/gutenberg#84013)
- Fit text: Size each block instance in a loop independently (WordPress/gutenberg#83985)
- FocalPointPicker: end a drag released over the editor canvas (WordPress/gutenberg#83348)
- Tests: Cover Menu scroll lock and LinkControl protocols in browsers (WordPress/gutenberg#83991)
- List: Add shadow support (WordPress/gutenberg#83923)
- UI: Add Progress with custom color support (WordPress/gutenberg#83781)
- ESLint: Allow non-module stylesheet imports in unit tests (WordPress/gutenberg#84019)
- Canvas loader: Use UI Progress and pass color via the indicator prop (WordPress/gutenberg#83860)
- Menu: Align group labels and separators with indented item labels. (WordPress/gutenberg#83993)
- react-inert-value: add missing types/react peer dep (WordPress/gutenberg#84024)
- Docs: Refine design system agent guidance (WordPress/gutenberg#84007)
- Navigation: List allowed blocks in the link UI search results + add transformSuggestions to Link Control (WordPress/gutenberg#83652)
- Sync: Remove exposed wp.sync package (WordPress/gutenberg#81999)
- Style: Update color to use CSS variable in edit-site (WordPress/gutenberg#79002)
- Popover: drop the will-change hint once the popover stops moving (WordPress/gutenberg#77359)
- MediaEdit: Show a checkerboard background behind image previews (WordPress/gutenberg#83846)
- Quote: Add button colour support (WordPress/gutenberg#83983)
- Media & Text: Add duotone support (WordPress/gutenberg#83981)
- Gallery: Add duotone support (WordPress/gutenberg#83978)
- Interactivity API Router: Add reactive navigation lifecycle and initiator API (WordPress/gutenberg#83280)
- Notes: Move floating notes into a canvas margin (WordPress/gutenberg#83786)
- Verse: Add text columns and indent support (WordPress/gutenberg#83962)
- Notes: Scroll floating notes with the canvas (WordPress/gutenberg#83852)
- Notes: Add Undo to deleted note snackbar (WordPress/gutenberg#83988)
- Framework: Move @typescript/native from the root to the workspaces that use it (WordPress/gutenberg#84027)
- Repair invalid peer dependencies in the lockfile (WordPress/gutenberg#84062)
- Term Template: Add minimum width and height support (WordPress/gutenberg#83914)
- Fix check type declarations (WordPress/gutenberg#84070)
- Media: track the original attachment id for edited images (WordPress/gutenberg#81803)
- Post Comments Form: Add font family support (WordPress/gutenberg#83967)
- Media Utils: Add `MediaEdit` as a private API (WordPress/gutenberg#84046)
- Build Tools: Fix flaky ESM package types test timeout (WordPress/gutenberg#84068)
- Embed: Add padding support (WordPress/gutenberg#83963)
- Interactivity API: Add a data-wp-html directive (WordPress/gutenberg#83092)
- Typography and "block-default icon polish. (WordPress/gutenberg#84073)
- Release Tooling: Read the npm v12 JSON output shapes (WordPress/gutenberg#84075)
- Menu: Align submenu labels and highlight open parents (WordPress/gutenberg#84031)
- Props Bot: Skip bare reviews that duplicate their review comment runs (WordPress/gutenberg#84076)
- Dataviews: use inertValue in CompositeGrid (WordPress/gutenberg#84072)
- UI: Add Meter (WordPress/gutenberg#83855)
- Media & Text: Add shadow support (WordPress/gutenberg#83976)
- Media editor: restore original image in modal (WordPress/gutenberg#81805)
- List: Add background image, size, and gradient support (WordPress/gutenberg#83935)
- List Item: Add background image, size, and gradient support (WordPress/gutenberg#83936)
- Block Editor: Fix 'Manage allowed blocks' not shown when its the only 'Advanced' control (WordPress/gutenberg#84067)
- Design System: Clarify tooltip labeling and UI review guidance (WordPress/gutenberg#83898)
- Gallery: Add minimum width and height support (WordPress/gutenberg#83897)
- File: Add minimum width and height support (WordPress/gutenberg#83896)
- Media: Return 0 from the edit root lookup when there is no edit root (WordPress/gutenberg#84096)
- Read More: Add minimum width and height support (WordPress/gutenberg#83912)
- UI: Recommend Radio family components (WordPress/gutenberg#83872)
- Latest Comments: Add minimum width and height support (WordPress/gutenberg#83904)
- chore: Use v24 in .nvmrc (WordPress/gutenberg#84061)
- Embed: Add minimum width and height support (WordPress/gutenberg#83903)
- Post Comments Form: Add minimum width and height support (WordPress/gutenberg#83910)
- Post Featured Image: Add border style support (WordPress/gutenberg#83956)
- Buttons: Add shadow support (WordPress/gutenberg#83916)
- Poetry: Add fit text support (WordPress/gutenberg#83980)
- Video: Add duotone support (WordPress/gutenberg#83979)
- Notes: Keep anchor writes out of undo history (WordPress/gutenberg#84079)
- ProgressBar: Use WPDS color tokens (WordPress/gutenberg#83779)
- REST API: Add action-trash link to posts and comments (WordPress/gutenberg#84045)
- RSS: Add minimum width and height support (WordPress/gutenberg#83913)
- Notes: Reset paragraph top margin in floating notes (WordPress/gutenberg#84101)
- Global Styles: Fix popover position in Styles screen (WordPress/gutenberg#84048)
- Block Switcher: Show design system focus ring on pattern previews (WordPress/gutenberg#83933)
- MediaEdit: Use design system focus ring (WordPress/gutenberg#83854)
- Notes: Delete permanently when the trash is disabled (WordPress/gutenberg#84102)
- Release: Rewrite SVN publication scripts in Node.js (WordPress/gutenberg#84034)
- ContentEditableControl: Keep a disabled field focusable (WordPress/gutenberg#84083)
- States: Scope per-instance rules to the block's root element (WordPress/gutenberg#83986)
- List Item: Add shadow support (WordPress/gutenberg#83925)
- DataViews: Truncate filter chips instead of wrapping them (WordPress/gutenberg#83879)
- Experiments: Turn the React 19 experiment on by default (WordPress/gutenberg#83784)
- Notes: Extract NoteReply and lift AddNote gating (WordPress/gutenberg#84106)
- Interactivity API: Remove expired deprecated behaviors (WordPress/gutenberg#84098)
- Breadcrumbs: Fix typo in aria label translation context (WordPress/gutenberg#84112)
- ESLint: Allow generated test titles (WordPress/gutenberg#83995)
- Icons: Add keywords to icon manifest (WordPress/gutenberg#83884)
- Tooltip: Control the hover delay cancellation test clock (WordPress/gutenberg#84113)
- VS Code: Add managed workspace config (WordPress/gutenberg#84025)
- Breadcrumb: fix getMeasurementRender for React 19 (WordPress/gutenberg#84069)
- Notes: Fix flaky thread scroll e2e test (WordPress/gutenberg#84118)
- Detect the database client in the unit test debug step. (WordPress/gutenberg#84089)
- UI: Preserve Autocomplete item type inference (WordPress/gutenberg#84095)
- UI: Recommend Switch family components (WordPress/gutenberg#84097)
- Env: Add an option to choose the MariaDB version (WordPress/gutenberg#83751)
- UI: Preserve Combobox source item generics (WordPress/gutenberg#84094)
- Menu: Tighten spacing, use 16px prefix icons, and cap width at 320px (WordPress/gutenberg#84028)
- Notes: Preserve unsent note and reply drafts (WordPress/gutenberg#84110)
- Theme: Add integration test coverage for seed colors in artifacts (WordPress/gutenberg#81161)
- Progress: Migrate remaining ProgressBar usages and recommend UI Progress (WordPress/gutenberg#84021)
- Components: Fix polymorphism typings leaking `as` prop (WordPress/gutenberg#82704)
- Media & Text: Add background image, size, and gradient support (WordPress/gutenberg#83927)
- Experiments: Use a mock plugin slug that no WordPress build ships in the unrelated-plugin test (WordPress/gutenberg#84133)
- Button: Add background image, size, and gradient support (WordPress/gutenberg#83950)
- Tests: Isolate Ajv per test in wp-env schema tests to avoid order dependence (WordPress/gutenberg#84139)
- Storybook: Read icon keywords from the manifest (WordPress/gutenberg#84127)
- SandBox: Fix embed previews that require a referrer in Safari (WordPress/gutenberg#84014)
- Notes: Restore child notes trashed along with their parent note (WordPress/gutenberg#84100)
- Style states: fix exception when there's no selected block (WordPress/gutenberg#84140)
- Chore: Use v24.20 in  `.nvmrc` config file. (WordPress/gutenberg#84138)
- Security: Opt in to the npm v12 supply-chain defaults (WordPress/gutenberg#82689)
- Docs: Describe isolated dependencies for agents and contributors (WordPress/gutenberg#84141)
- Upgrade code and types to React 19 (WordPress/gutenberg#83941)
- Latest Comments: Add border support (WordPress/gutenberg#84148)
- Add prettier, eslint and stylelint to the root package.json (WordPress/gutenberg#84017)
- FontSizePicker: Migrate Emotion styles to SCSS Modules (WordPress/gutenberg#84126)
- Fields API: Add the server-side registry and REST route (WordPress/gutenberg#84078)
- Block bindings: add support to `icon` attribute of `core/icon` (WordPress/gutenberg#80730)
- VisuallyHidden: Move hiding styles outside CSS cascade layers (WordPress/gutenberg#84114)
- Theme: Generate complete border token modes for Figma testing (WordPress/gutenberg#84035)
- Developer tools: Simplify editor setup and add Zed settings (WordPress/gutenberg#84143)
- Consolidate wp-admin container radiuses onto the design system scale (WordPress/gutenberg#82427)
- CustomGradientPicker: Extend control point targets to the bar height (WordPress/gutenberg#84124)
- Notes: Draw the canvas divider from body so it uses the theme text color (WordPress/gutenberg#84158)
- Icons: Experiment with proportional stroke scaling (WordPress/gutenberg#84081)
- Global Styles: Ignore theme.json values of unexpected types (WordPress/gutenberg#84523)
- React 19 codemod: apply defaultProps when rendering a memo component (WordPress/gutenberg#84568)
- React 19: add new incompatible plugins (WordPress/gutenberg#84607)
- Tests: Fix HTML comparison tests (WordPress/gutenberg#84294)
- Tests: Fix list item unsafe markup test on older WordPress versions (WordPress/gutenberg#84302)
- Experiments: don't invalidate saved option with a legacy key (WordPress/gutenberg#84619)
- Tests: Scope Classic block media checkbox locator (WordPress/gutenberg#84524)

Props mamaduka.
See #66340


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


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

Labels

Design System Issues related to the system of combining components according to best practices. [Package] UI /packages/ui [Type] Enhancement A suggestion for improvement.

Projects

Status: 💫 Done

Development

Successfully merging this pull request may close these issues.

6 participants