Skip to content

Icons Registry: Don't expose "internal" icons#75526

Merged
mcsf merged 8 commits intotrunkfrom
update/hide-icons-from-library
Feb 16, 2026
Merged

Icons Registry: Don't expose "internal" icons#75526
mcsf merged 8 commits intotrunkfrom
update/hide-icons-from-library

Conversation

@mcsf
Copy link
Contributor

@mcsf mcsf commented Feb 13, 2026

What?

Follow-up of #72215

Follow @jasmussen's recommendation to try to distinguish icons meant for internal use only and those we'd like to expose to consumers such as the Icon block (#71227), i.e. those icons that users are more likely to want to use in the front end:

icons-public-private

How?

  • In the icons manifest, introduce an optional array property public
  • In the icons registry, ignore any manifest entry that doesn't have 'public' => true

Why not simply remove them from the manifest?

We can, but by keeping them (and adding this property) we can keep our validate-collection script, which helps us ensure that the manifest and the SVG files never go out of sync. This seems like a better tradeoff.

Testing Instructions

(outdated) To properly visualise the icons grid, apply the following patch — which is a modified version of @t-hamano's snippet from #75273 — then, in a fresh post editor, insert block "Icon List Test".

(outdated snippet)
diff --git a/lib/experimental/class-wp-icons-registry.php b/lib/experimental/class-wp-icons-registry.php
index aefd83f718c..7ce27c23eca 100644
--- a/lib/experimental/class-wp-icons-registry.php
+++ b/lib/experimental/class-wp-icons-registry.php
@@ -63,8 +63,10 @@ if ( ! class_exists( 'WP_Icons_Registry' ) ) {
 					continue;
 				}
 
+				$tail = $status !== '' ? '--ignored' : '';
+
 				$this->register(
-					'core/' . $icon_name,
+					'core/' . $icon_name . $tail,
 					array(
 						'label'    => $icon_data['label'],
 						'filePath' => $icons_directory . $icon_data['filePath'],
diff --git a/packages/block-library/src/index.js b/packages/block-library/src/index.js
index f891ec38c0a..422b141db18 100644
--- a/packages/block-library/src/index.js
+++ b/packages/block-library/src/index.js
@@ -446,3 +446,55 @@ export const __experimentalRegisterExperimentalCoreBlocks =
 		: undefined;
 
 export { privateApis } from './private-apis';
+
+wp.blocks.registerBlockType( 'test/icon-list', {
+	apiVersion: 3,
+	title: 'Icon List Test',
+	edit: class Edit extends wp.element.Component {
+		constructor( props ) {
+			super( props );
+			this.state = { icons: [] };
+		}
+		componentDidMount() {
+			wp.apiFetch( { path: '/wp/v2/icons' } ).then( ( data ) => {
+				this.setState( {
+					icons: Array.isArray( data ) ? data : [],
+				} );
+			} );
+		}
+		render() {
+			return wp.element.createElement(
+				'div',
+				{},
+				wp.element.createElement(
+					'div',
+					{
+						style: {
+							display: 'grid',
+							gridTemplateColumns:
+								'repeat(21, minmax(32px, 1fr))',
+							gap: '4px',
+							padding: 0,
+						},
+					},
+					this.state.icons.map( ( icon ) =>
+						wp.element.createElement( 'div', {
+							key: icon.name,
+							style: {
+								width: 32,
+								height: 32,
+								opacity: icon.name.endsWith( '--ignored' )
+									? 0.3
+									: 1,
+							},
+							title: icon.name,
+							dangerouslySetInnerHTML: {
+								__html: icon.content || '',
+							},
+						} )
+					)
+				)
+			);
+		}
+	},
+} );

To view the full set, including disabled icons, comment out the statement continue; in WP_Icons_Registry::__construct where it ignores hidden/disabled icons.

Screenshots or screencast

Comparison of expected and actual grid:

Screenshot 2026-02-13 at 15 08 30
@mcsf mcsf requested a review from spacedmonkey as a code owner February 13, 2026 15:42
@github-actions github-actions bot added the [Package] Icons /packages/icons label Feb 13, 2026
@github-actions
Copy link

github-actions bot commented Feb 13, 2026

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: mcsf <mcsf@git.wordpress.org>
Co-authored-by: jasmussen <joen@git.wordpress.org>
Co-authored-by: ellatrix <ellatrix@git.wordpress.org>

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

@mcsf mcsf added the [Type] Enhancement A suggestion for improvement. label Feb 13, 2026
@t-hamano t-hamano added the [Block] Icon Affects the Icon block label Feb 15, 2026
@jasmussen
Copy link
Contributor

Thanks for the ping, thanks for the work!

On whether to land this or not, I'll entirely defer to project leads, including yourself. I'm a big fan of the Icons block, and SVG support in WordPress, I think the best way to move this work forward is to land it as soon as possible, so we can iterate and improve. And it certainly needs a default icon set for that to happen, and the WordPress one is an obvious one.

The main reason I'm cautious, and wanting to start with as little as possible—perhaps even fewer than I shared in that image you included here—does not have to do with my skepticism of the feature, it's purely from a "start with less" philosophy based in the fact that adding icons is trivial, but removing them once added is virtually impossible. In that, a related question worth answering for this PR: what if we mean to deprecate an icon? Coming to mind, we have two "copy" icons, a big one and a small one, and they're minimally different so IMO we should deprecate one of them. Would that be harder/impossible if those icons were included in this package? If yes, we probably want to always defer to not including, start with as little as possible that is still meaningful, and then add on a per-icon basis once this is out there. The icon I'm referring to here is this one:

image

We should probably omit that as well, given what I outlined above.

We can presumably iterate/improve icons, if they maintain the same meaning going forward? Or does that also lock in? This is important for narrowing down to even fewer icons if the flexibility is limited.

@mcsf
Copy link
Contributor Author

mcsf commented Feb 16, 2026

The main reason I'm cautious, and wanting to start with as little as possible—perhaps even fewer than I shared in that image you included here—does not have to do with my skepticism of the feature, it's purely from a "start with less" philosophy based in the fact that adding icons is trivial, but removing them once added is virtually impossible.

This is exactly how I feel too.

In that, a related question worth answering for this PR: what if we mean to deprecate an icon? Coming to mind, we have two "copy" icons, a big one and a small one, and they're minimally different so IMO we should deprecate one of them. Would that be harder/impossible if those icons were included in this package? If yes, we probably want to always defer to not including, start with as little as possible that is still meaningful, and then add on a per-icon basis once this is out there.

Right, deprecating will be tricky, and it's always easier to add than remove. The problem isn't adding icons to the package (since the package is a bundled one, it doesn't get exposed as window.wp.icons, and consumers of the package can use NPM versioning to avoid breaking changes). The problem is adding them to the icons registry, after which they are available to API consumers.

I have some preliminary ideas on handling icons deprecations. We don't need a plan right away, but I'm just sharing for completeness:

  • Once icon core/foo is marked as as deprecated:
    • When making a request for all icons, i.e. to /wp/v2/icons, the icon will no longer be listed there
    • But nothing changes when making an API request to /wp/v2/icons/core/foo
      • We may call _doing_it_wrong to log a deprecation warning, but probably not: this isn't an API deprecation, it's closer to user content. So we probably just silently serve the deprecated icon forever.

So yes, I'd default to not including icons from the start.

We can presumably iterate/improve icons, if they maintain the same meaning going forward? Or does that also lock in? This is important for narrowing down to even fewer icons if the flexibility is limited.

In my opinion, we can and should iterate on existing icons as long as their meaning is preserved.

Of the two Copy icons, currently only copy-small is exposed, not copy. Is that still how you'd like it?

mcsf added 4 commits February 16, 2026 15:15
Refactored using AWK:

	/^		'status'/ {
		status = $0
		next
	}

	/^	),/ {
		if (!status) print "		'public'   => true,"
		print
		next
	}

	/^	'/ {
		status = 0
	}

	1
@ellatrix
Copy link
Member

In my opinion, we can and should iterate on existing icons as long as their meaning is preserved.

Imo, we'd have to version them when making edits. We shouldn't cause updates to the front-end of people's sites?

@github-actions
Copy link

Flaky tests detected in 942da47.
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/22069707677
📝 Reported issues:

Copy link
Member

@ellatrix ellatrix left a comment

Choose a reason for hiding this comment

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

Makes sense to me to be cautious and to exclude icons rather than exposing everything.

@mcsf
Copy link
Contributor Author

mcsf commented Feb 16, 2026

In my opinion, we can and should iterate on existing icons as long as their meaning is preserved.

Imo, we'd have to version them when making edits. We shouldn't cause updates to the front-end of people's sites?

Isn't this what happens with all of our dynamic blocks? And also with our static-but-server-enhanced blocks. They are subject to change, as long as no user content is ever lost and as long as the changes are reasonable and don't change the meaning of anything.

Likewise, themes evolve, and in that process they can change the front end.

@mcsf mcsf merged commit 9d5c94b into trunk Feb 16, 2026
48 of 49 checks passed
@mcsf mcsf deleted the update/hide-icons-from-library branch February 16, 2026 16:51
@github-actions github-actions bot added this to the Gutenberg 22.6 milestone Feb 16, 2026
@ellatrix
Copy link
Member

Right, I think you convinced me. :)

@jasmussen
Copy link
Contributor

Of the two Copy icons, currently only copy-small is exposed, not copy. Is that still how you'd like it?

I'd like to actually remove both, for now. Here's an updated list that's even more conservative, based on the conversation here.

Frame 3

All that sounds very cautious, I know, but I'm sharing it with excitement. There's fresh energy on icons, and I personally think this means all those icon changes we've been wanting to do for a while gets new priority.

pento pushed a commit to WordPress/wordpress-develop that referenced this pull request Feb 18, 2026
Developed in #10968.

Props ellatrix, adamsilverstein, youknowriad.
See #64595.

---

I've included a log of the Gutenberg changes with the following command:

git log --reverse --format="- %s" 59a08c5496008ca88f4b6b86f38838c3612d88c8..7a11a53377a95cba4d3786d71cadd4c2f0c5ac52 | sed 's|#\([0-9][0-9]*\)|https://github.com/WordPress/gutenberg/pull/\1|g; /github\.com\/WordPress\/gutenberg\/pull/!d' | pbcopy

- Remove unnecessary block deprecation from experimental tabs (WordPress/gutenberg#75208)
- Block Editor: The insertBlock(s) actions should receive the same arguments (WordPress/gutenberg#75197)
- Storybook: Always load design tokens in Design System section (WordPress/gutenberg#74899)
- Default all initial suggested results to 20 for navigation link ui (WordPress/gutenberg#75186)
- Navigation overlay: remove experiment (WordPress/gutenberg#74968)
- Move AwarenessState to @wordpress/core-data (WordPress/gutenberg#75216)
- RichText: Avoid stale active formats when deleting the text (WordPress/gutenberg#75227)
- Fix <CollaboratorsPresence> type imports (WordPress/gutenberg#75232)
- Block Editor: Add l10n context to 'Manage allowed blocks' string (WordPress/gutenberg#75239)
- Fixed: Custom colors are now reflected in the editor for heading blocks (WordPress/gutenberg#75234)
- Real-time Collaboration: Fix revision restore bug (WordPress/gutenberg#75233)
- Real-time collaboration: Update 'sync.providers' filter inline comments (WordPress/gutenberg#75248)
- Real-time collaboration: Make the collaborators presense button translatable (WordPress/gutenberg#75252)
- Fix: Navigation Overlay Close Block: Add missing @SInCE tag WordPress/gutenberg#75247 (WordPress/gutenberg#75250)
- Cover: Add new "fullheight" icon, and use for Cover (WordPress/gutenberg#75240)
- Real-time collaboration: Remove @wordpress/sync from bundled packages and add private APIs (WordPress/gutenberg#74671)
- Navigation Link: Clarify Link To invalid and draft state messages (WordPress/gutenberg#74054)
- Docs: Simplifying Gutenberg versions table (WordPress/gutenberg#75209)
- UI: Remove Box component abstraction (WordPress/gutenberg#74986)
- Docs: Remove private GitHub team links in repository management (WordPress/gutenberg#75255)
- UI: Add `Textarea` primitive (WordPress/gutenberg#74707)
- Components: Add usage guidance for agents and Storybook (WordPress/gutenberg#74815)
- Theme: Update elevation tokens to use abbreviated size names (WordPress/gutenberg#75103)
- Navigation link: fix resetting link from the tools panel (WordPress/gutenberg#75228)
- List View Support: Only render list view on top level block with support (WordPress/gutenberg#75166)
- Gallery: Add lightbox support (WordPress/gutenberg#62906)
- Workflows: Ignore icons manifest for manual backports (WordPress/gutenberg#75245)
- Add new `adaptiveSelect` DataForm control (WordPress/gutenberg#74937)
- Site Editor Pages: QuickEdit as a modal (WordPress/gutenberg#75173)
- Add block rename keyboard shortcut (WordPress/gutenberg#74454)
- Playlist block: Remove border (WordPress/gutenberg#75202)
- Widget Area: Disable renaming and visibility support (WordPress/gutenberg#75279)
- @wordpress/theme: add missing CHANGELOG entries (WordPress/gutenberg#75281)
- Storybook: Add Stories for LetterSpacingControl component (WordPress/gutenberg#73480)
- Remove the client from the awareness state when they disconnect (WordPress/gutenberg#75253)
- Fix awareness timeout documentation unit (WordPress/gutenberg#75284)
- Add global setting to enable real-time collaboration (WordPress/gutenberg#75286)
- Notes: Pressing Escape should cancel adding a note (WordPress/gutenberg#75288)
- Real-time Collaboration: Change users to collaborators (WordPress/gutenberg#75237)
- Add timestamp when publishing next versions (WordPress/gutenberg#75293)
- Storybook: Preserve export order for stories (WordPress/gutenberg#75295)
- ToggleControl: Prevent console warning for `__nextHasNoMarginBottom` (WordPress/gutenberg#75296)
- Quick edit: Make footer sticky (WordPress/gutenberg#75297)
- DataForm Regular layout: label always uppercase (WordPress/gutenberg#75292)
- @wordpress/ui: add Dialog component (WordPress/gutenberg#75183)
- Navigation Link: Go to page link and edit page for inspector sidebar (WordPress/gutenberg#75262)
- SiteEditor Pages: prevent QuickEdit modal from being triggered in list layout via URL param (WordPress/gutenberg#75300)
- Link Control: Fix validation timing (WordPress/gutenberg#75267)
- Publishing packages: fix next timestamp (WordPress/gutenberg#75301)
- Add storybook for ColorPaletteControl (WordPress/gutenberg#74425)
- Post Comments Form: Migrate to text-align block support (WordPress/gutenberg#75322)
- Post Comments Count: Migrate to text-align block support (WordPress/gutenberg#75321)
- Optimize tabsList computation with useRef for comparison (WordPress/gutenberg#75219)
- Accordion block: Add list view support (WordPress/gutenberg#75271)
- Media Fields: Filter author field to only show users with authoring capabilities (WordPress/gutenberg#75328)
- Fields: Fix `authorField` query (WordPress/gutenberg#75298)
- Slot: fix ref forwarding (WordPress/gutenberg#75274)
- wp-env: Add --config option for custom config files (WordPress/gutenberg#75087)
- Update Emotion for React 19 compat (WordPress/gutenberg#75324)
- Block Visibility: Show keyboard shortcut hint in context menu (WordPress/gutenberg#75334)
- Updated Typo in template-activate file (WordPress/gutenberg#75333)
- wp-env: fix status command (WordPress/gutenberg#75325)
- Playlist block:Inherit more CSS (WordPress/gutenberg#75256)
- DataViews: Add onReset prop for view persistence reset (WordPress/gutenberg#75093)
- Notes: Add a keyboard shortcut for creating a new note (WordPress/gutenberg#75287)
- Storybook: Fix missing props on certain components (WordPress/gutenberg#75316)
- Pattern Editing: Allow click through to List View (WordPress/gutenberg#75246)
- Block Bindings: Have block fields panel reflects bound attribute value (WordPress/gutenberg#72096)
- Fix: ISO 8601 compliant year formatting in TimePicker (WordPress/gutenberg#75343)
- Prevent fatal error when the inline CSS duotone variable is an array (WordPress/gutenberg#75283)
- Bugfix: Set the removed users to empty for awareness (WordPress/gutenberg#75337)
- Button: prevent outline flicker when focused and active at the same time (WordPress/gutenberg#75346)
- Real-time collaboration: Always target autosave revision (WordPress/gutenberg#75105)
- In-editor revisions: add visual diffing (WordPress/gutenberg#75049)
- iAPI Router: Update cached styles for re-fetched pages (WordPress/gutenberg#75097)
- Add tests for the awareness code in core-data (WordPress/gutenberg#75074)
- Add tests for the awareness code in sync (WordPress/gutenberg#75077)
- Lock save button during Client Side Media processing and uploading (WordPress/gutenberg#74951)
- Real-time Collaboration: Fix broken unit tests for awareness (WordPress/gutenberg#75362)
- Boot: Fix mobile admin bar covering single-page mode headers (WordPress/gutenberg#75339)
- Design System: Add guidelines for save and submit UX (WordPress/gutenberg#74811)
- Featured Image: fix select-default-value (WordPress/gutenberg#75358)
- Breadcrumbs: Improve loading state rendering (WordPress/gutenberg#75383)
- Block Editor: Remove formatting controls restriction private API (WordPress/gutenberg#75382)
- Link Control: Validate on submit (WordPress/gutenberg#75310)
- Rich Text: Remove min-width inline style causing flex layout issues (WordPress/gutenberg#75370)
- Tabs: Tidy up UI for controls (WordPress/gutenberg#75309)
- Core Block Reference: Fix object empty inner key processing (WordPress/gutenberg#75391)
- Improve sync performance metrics (WordPress/gutenberg#75029)
- DataForm: update panel trigger (WordPress/gutenberg#75290)
- Block Editor: Fix Columns block horizontal spacing when setting vertical gap (WordPress/gutenberg#75355)
- DataViews Filters: Fix styling of long values in filter dropdown (WordPress/gutenberg#75369)
- Try swapping tabs (WordPress/gutenberg#75194)
- RichText: move useFormatTypes to rich-text package (WordPress/gutenberg#75387)
- Make all navigation overlay close buttons work (WordPress/gutenberg#75384)
- Block Editor: Improve Background panel UI in Global Styles (WordPress/gutenberg#75230)
- Tabs: Update Tabs block icons (WordPress/gutenberg#75376)
- Accordion: Move Accordion icons to Icon library (WordPress/gutenberg#75380)
- Fix: Changing URL in link after changing text outside the popover resets it (WordPress/gutenberg#75342)
- Update icon manifest acronyms. (WordPress/gutenberg#75418)
- Code Modernization: Use null coalescing operator in additional `isset() ternaries. (WordPress/gutenberg#75419)
- Pattern Editing: Move List View selectors to private-selectors (WordPress/gutenberg#75414)
- DataViews: Use public ColorPicker instead of internal Picker export (WordPress/gutenberg#75394)
- Abilities: Allow nested namespace ability names (2-4 segments) (WordPress/gutenberg#75393)
- Fix: Remove backport changelog committed by mistake (WordPress/gutenberg#75441)
- Block Visibility: Simplify toolbar for hidden blocks (WordPress/gutenberg#75335)
- Block Visibility: Centralize modal state in block-editor store (WordPress/gutenberg#75367)
- Allow grid to use style variation blockGap values for columns calculation (WordPress/gutenberg#75360)
- Langauge Format: Add missing attribute definiton (WordPress/gutenberg#75422)
- Block transform command: pass the block icon src rather than a BlockIcon component (WordPress/gutenberg#75365)
- Note: Remove block highlight when deleting parent note (WordPress/gutenberg#75453)
- Core Data: Improve blocks cache in useEntityBlockEditor (WordPress/gutenberg#75400)
- MediaEdit: Support ordered values and reordering of items (WordPress/gutenberg#75207)
- Writing flow: fix select all with full formatting (WordPress/gutenberg#64934)
- Filter navigation category patterns to only show in navigation-overlay template part context (WordPress/gutenberg#75276)
- Update Testing Library for React 19 compat (WordPress/gutenberg#75340)
- Writing Flow: Fix block selection from partially selected RichText (WordPress/gutenberg#75449)
- Notes: Fix sidebar display logic for small screens (WordPress/gutenberg#75454)
- Post editor: iframe: check inserted rather than registered block versions (WordPress/gutenberg#75187)
- Block Visibility: Disable visibility toggle for children of sections (WordPress/gutenberg#75447)
- Notes: Update shortcut category (WordPress/gutenberg#75461)
- Add dedicated navigation-overlay icon (WordPress/gutenberg#75249) (WordPress/gutenberg#75426)
- Docs: Rename Interactivity API's 'API Reference' to 'Directives and Store' (WordPress/gutenberg#74974)
- DataForm: Fix color picker styles (WordPress/gutenberg#75427)
- Post Excerpt Block: Remove REST API filter for excerpt length in post excerpt block (WordPress/gutenberg#75299)
- Move experimental PR out of backport log (WordPress/gutenberg#75465)
- Add paste logging to writing flow (WordPress/gutenberg#73885)
- Real-time collaboration: Sync post content and undefined `blocks` value (WordPress/gutenberg#75437)
- Gutenberg plugin: always enforce the iframe in the post editor (WordPress/gutenberg#75475)
- New Block: Icon Block (WordPress/gutenberg#71227)
- Tabs: Improve tab keyboard nav (WordPress/gutenberg#75471)
- Pre-populate Navigation Page Creator with Search Text  (WordPress/gutenberg#75154)
- Block Library: Hide navigation-overlay template parts from inserter (WordPress/gutenberg#75478)
- Tabs: Add text and background color support (WordPress/gutenberg#75482)
- Preserve existing URLInput defaults (WordPress/gutenberg#75392)
- UI: Remove unnecessary jest.setTimeout from Select test (WordPress/gutenberg#75444)
- Fix missed dimension token migration in UI package (WordPress/gutenberg#75446)
- Render default density selector last in design tokens CSS (WordPress/gutenberg#75474)
- Navigation: Improved help text in create a page flow (WordPress/gutenberg#75349)
- Fix gap token migration guide in changelog (WordPress/gutenberg#75492)
- Block Visibility: Disable Apply button on non-dirty state (WordPress/gutenberg#75494)
- Real-time Collaboration: Use Y.text for title, content and excerpt (WordPress/gutenberg#75448)
- DataForm: Style SummaryButton in panel layout with `is-disabled` classname (WordPress/gutenberg#75470)
- Gallery: Add list view block support (WordPress/gutenberg#75407)
- Types: consistently use the React namespace (WordPress/gutenberg#75499)
- Enhance block appender labels to reflect default block type (WordPress/gutenberg#71502)
- Import Yjs correctly (WordPress/gutenberg#75500)
- Add testsEnvironment option and split Gutenberg wp-env configs (WordPress/gutenberg#75341)
- Add `clearEntityRecordEdits` action to core-data (WordPress/gutenberg#75397)
- Tabs: Stabilize Tabs blocks (WordPress/gutenberg#75424)
- Simplify Tabs Menu Item editing (WordPress/gutenberg#75416)
- Fix LinkControl URL Normalization (WordPress/gutenberg#75488)
- Navigation Submenu: Restore openSubmenusOnClick to usesContext for backward compatibility. (WordPress/gutenberg#75435)
- Tabs: Add `@since 7.0.0` annotations (WordPress/gutenberg#75521)
- Story types: fix StoryFns used as React components (WordPress/gutenberg#75472)
- Tabs: fix incorrect fixtures (WordPress/gutenberg#75523)
- AGENTS.md: Add CLAUDE.md symlinks, architecture decisions, and common pitfalls (WordPress/gutenberg#75507)
- Use contextual snackbar text when activating a theme from preview (WordPress/gutenberg#75385)
- Pick user fields instead of spreading the entire object (WordPress/gutenberg#75528)
- Real-time collaboration: Move PHP code to compat / backports directory (WordPress/gutenberg#75366)
- Icons: Fix incorrect attributes for SVG (WordPress/gutenberg#75273)
- Icons: Make full height icon label title case (WordPress/gutenberg#75524)
- Respect deprecated openSubmenusOnClick value on frontend rendering (WordPress/gutenberg#75439)
- useRef: always supply initial value (WordPress/gutenberg#75513)
- Code Modernization: Replace isset() checks with null coalescing operator (WordPress/gutenberg#75425)
- Prefix usages of JSX namespaces with React.JSX (WordPress/gutenberg#75508)
- Cleanup: Remove unnecessary array check in `WP_Theme_JSON_Gutenberg` (WordPress/gutenberg#75515)
- Real-time collaboration: Add collaborators cursor awareness (WordPress/gutenberg#75398)
- Post Comments Link: Migrate to Text-Align Block Support (WordPress/gutenberg#75332)
- Post time to read: Migrate to Text-Align Block Support (WordPress/gutenberg#75541)
- ExternalLink: Prevent Twemoji from replacing arrow (WordPress/gutenberg#75538)
- Duotone: add sgomes as owner (WordPress/gutenberg#75519)
- Use null coalescing operator for common isset patterns (WordPress/gutenberg#75487)
- Term Description: Migrate to Text-Align Block Support (WordPress/gutenberg#75542)
- Create sub-sized images (WordPress/gutenberg#74566)
- Add EXIF metadata tests for Client Side Media (WordPress/gutenberg#74909)
- Add AVIF, WebP and MozJPEG output encoding support (WordPress/gutenberg#75081)
- Post Terms: Migrate to Text-Align Block Support (WordPress/gutenberg#75545)
- Tabs: Make Example preview translatable (WordPress/gutenberg#75555)
- List View tab: Ensure it's populated when first selecting a container block (WordPress/gutenberg#75558)
- Fix auto draft bug for Y.text titles (WordPress/gutenberg#75560)
- Border Support: Fix editor split border style fallback (WordPress/gutenberg#75546)
- Block Editor: Avoid unnecessary state churn in controlled inner blocks reducers (WordPress/gutenberg#75458)
- Block Lock: Disable Apply button on non-dirty state (WordPress/gutenberg#75495)
- Post Terms: Avoid unbound queries when the post context isn't available (WordPress/gutenberg#75536)
- wp-env Playground: improve mapping and core source handling (WordPress/gutenberg#75527)
- DataForm: add edit variant (WordPress/gutenberg#75462)
- Tabs: Improve Tab Panel accessibility (WordPress/gutenberg#75484)
- Tabs: Remove name editing UI (WordPress/gutenberg#75554)
- useBlockSync: stop reconstructing controlled inner blocks (WordPress/gutenberg#75562)
- Notes: Fix new note creation from the List View (WordPress/gutenberg#75566)
- Navigation: Update overlay template part naming to "Navigation Overlay" (WordPress/gutenberg#75564)
- Update usage of RefObject types (React 19 compat) (WordPress/gutenberg#75567)
- useMergeRefs: migrate to TypeScript (WordPress/gutenberg#75569)
- Improve link preview badges (WordPress/gutenberg#75318)
- Add getDimensionsClassesAndStyles function and related tests (WordPress/gutenberg#74524)
- Informational Parity between Inspector Link Preview and on Canvas Link Preview (WordPress/gutenberg#75399)
- Icons Registry: Don't expose "internal" icons (WordPress/gutenberg#75526)
- ui/Button: fix disabled styles and variable composition (WordPress/gutenberg#75568)
- Tabs: Set explicit font-family on tab buttons (WordPress/gutenberg#75537)
- Interactivity API: Export `watch` from `@preact/signals`'s `effect` (WordPress/gutenberg#75563)
- iAPI router: Move internal properties to a private store (WordPress/gutenberg#70882)
- Post Excerpt: Add text columns support (WordPress/gutenberg#75587)
- Update gutenberg to match core after WordPress/gutenberg#75360 sync (WordPress/gutenberg#75594)
- Block Visibility: Show viewport icons and tooltip in list view for hidden blocks (WordPress/gutenberg#75404)
- [Real-time collaboration] Refine collaborator overlay with Avatar component integration (WordPress/gutenberg#75595)
- Media Utils: Auto-select uploaded files in media modal experiment (WordPress/gutenberg#75597)
- Try enabling paragraphs to be added to contentOnly patterns (WordPress/gutenberg#73222)
- Implement WebAssembly support detection and fallbacks (WordPress/gutenberg#74827)
- Icon block: Skip serialization and increase default size (WordPress/gutenberg#75553)
- In-editor Revisions: Update success notice message (WordPress/gutenberg#75411)
- Stabilize PHP-Only Block Registration (WordPress/gutenberg#75543)
- Add comments around expandRevision functionality (WordPress/gutenberg#75573)
- Tab Block: Ensure label formatting works correctly (WordPress/gutenberg#75548)
- Tabs: Fix saved HTML (WordPress/gutenberg#75580)
- [Real-time collaboration] Fix <CollaboratorsPresence> layout issue (WordPress/gutenberg#75599)
- Notes: Fix block toolbar click action (WordPress/gutenberg#75614)
- Commands: Add category property to command registration (WordPress/gutenberg#75612)
- fix tab color-reset-all-filter (WordPress/gutenberg#75606)
- Fix selection restoration after entity navigation (WordPress/gutenberg#75371)
- Tabs: Sanitize tab_id (WordPress/gutenberg#75615)
- Inherit text color for tabs-menu-item blocks (WordPress/gutenberg#75621)
- Auto-switch viewport based on Overlay Visibility setting when entering overlay editor (WordPress/gutenberg#75386)
- Fix: Show and hook up submenu visibility for Page Lists within Navigation Blocks (WordPress/gutenberg#75531)
- Remove useEffect guard rail to enforce minimum width. (WordPress/gutenberg#75624)
- Navigation: select list view tab on contentOnly. Alternative with explicit solution (WordPress/gutenberg#75578)
- Navigation overlay: added basic e2e tests (WordPress/gutenberg#75581)
- Revert Tabs block to experimental block (WordPress/gutenberg#75572)
- List Block: Prevent content loss when merging into a fresh empty list item (WordPress/gutenberg#74382)
- Fix Overlay core patterns not showing on design tab (WordPress/gutenberg#75618)
- Rename Verse block to Poetry (WordPress/gutenberg#74121)
- Fix Navigation block button showing "View custom" instead of "View link" for external URLs (WordPress/gutenberg#75571)
- Removed Unused Global Documentation (WordPress/gutenberg#75631)
- Real-time collaboration: Add sync connection status handling (WordPress/gutenberg#75066)
- Add e2e test for selection restoration after pattern entity navigation (WordPress/gutenberg#75575)
- Remove the Icon Block and Icon SVG API from experiments (WordPress/gutenberg#75576)
- Block editor cross origin isolation: attempt to gracefully deal with race conditions (WordPress/gutenberg#75600)
- Update diff package (WordPress/gutenberg#75644)
- Upload Media: rebase of 75547 (WordPress/gutenberg#75646)
- Block Editor: Allow disabling content-only editing for unsynced patterns (WordPress/gutenberg#75457)
- Real-Time Collaboration: Add e2e tests for RTC (WordPress/gutenberg#75598)
- Update the y-protocols versin and remove the unncessary types (WordPress/gutenberg#75657)
- Pattern Editing: Add "Edit section" button to unsynced pattern toolbar (WordPress/gutenberg#75602)
- PHP-Only Block Registration: Remove client-side schema validation (WordPress/gutenberg#75623)
- Navigation: Add 'expectedDeprecated' annotations (WordPress/gutenberg#75659)
- Site Editor: make QuickEdit stable + change template to select (WordPress/gutenberg#75565)
- Icon Block: Move default width rule to theme.json instead of block.json (WordPress/gutenberg#75653)
- Add e2e test for loading settings in site editor preload spec (WordPress/gutenberg#75661)
- Update Ariakit packages (WordPress/gutenberg#75620)
- Upgrade Playwright to v1.58 (WordPress/gutenberg#75632)
- GitHub actions: Exclude lib/theme.json from backport changelog check (WordPress/gutenberg#75666)
- theme.json: Enable width support for icon block by default (WordPress/gutenberg#75665)
- Icons: Trim list of public icons further (WordPress/gutenberg#75630)
- Update Navigation block tests to use non-deprecated API (WordPress/gutenberg#75660)
- Update navigation block tests to use gutenberg version of block_core_navigation_block_tree_has_block_type - works on old wp versions (WordPress/gutenberg#75673)
- Update copy (WordPress/gutenberg#75663)
- Commands: Display category labels and enforce category icons (WordPress/gutenberg#75669)
- Heading Block: Fix preview display (WordPress/gutenberg#75675)
- Iframe: memoize src URL globally keyed by resolvedAssets (WordPress/gutenberg#75619)
- ContrastChecker: Fix check for button block colors (WordPress/gutenberg#71959)
- Writing flow: skip non-empty blocks on arrow key nav (WordPress/gutenberg#75141)
- Comments Link: fix transforms textAlign (WordPress/gutenberg#75676)
- Add initialSearchState to avoid console warnings from LinkControl inputValue change (WordPress/gutenberg#75643)
- Migrate `EditorSnackbar` and `EditorNotices` components to the `@wordpress/notices` package (WordPress/gutenberg#74384)
- Add minimum cap check to sync endpoint (WordPress/gutenberg#75681)
- Fix: Hide link controls in sidebar when submenus open on click (WordPress/gutenberg#75637)
- Set snackbar position to center  (WordPress/gutenberg#75294)
- Gallery: Fix PHP warning in random order image reordering (WordPress/gutenberg#75678)
- DateCalendar, DateRangeCalendar: use lighter gray for disabled dates (WordPress/gutenberg#75683)
- Pass unsupported formats directly to the server (WordPress/gutenberg#74910)
- RTC: Compact on request with encodeStateAsUpdate (WordPress/gutenberg#75682)
- Icons: Generate manifest PHP file based on JSON file (WordPress/gutenberg#75684)
- ui/IconButton: make icon always 24px regardless of `size` prop (WordPress/gutenberg#75677)
- Gallery: Skip interactivity directives when no images have lightbox enabled (WordPress/gutenberg#75680)
- DataForm: Fix focus loss and refactor Card layout (WordPress/gutenberg#75689)
- Remove IS_GUTENBERG_PLUGIN checks for collaborative editing (WordPress/gutenberg#75699)


git-svn-id: https://develop.svn.wordpress.org/trunk@61680 602fd350-edb4-49c9-b593-d223f7449a82
markjaquith pushed a commit to markjaquith/WordPress that referenced this pull request Feb 18, 2026
Developed in WordPress/wordpress-develop#10968.

Props ellatrix, adamsilverstein, youknowriad.
See #64595.

---

I've included a log of the Gutenberg changes with the following command:

git log --reverse --format="- %s" 59a08c5496008ca88f4b6b86f38838c3612d88c8..7a11a53377a95cba4d3786d71cadd4c2f0c5ac52 | sed 's|#\([0-9][0-9]*\)|https://github.com/WordPress/gutenberg/pull/\1|g; /github\.com\/WordPress\/gutenberg\/pull/!d' | pbcopy

- Remove unnecessary block deprecation from experimental tabs (WordPress/gutenberg#75208)
- Block Editor: The insertBlock(s) actions should receive the same arguments (WordPress/gutenberg#75197)
- Storybook: Always load design tokens in Design System section (WordPress/gutenberg#74899)
- Default all initial suggested results to 20 for navigation link ui (WordPress/gutenberg#75186)
- Navigation overlay: remove experiment (WordPress/gutenberg#74968)
- Move AwarenessState to @wordpress/core-data (WordPress/gutenberg#75216)
- RichText: Avoid stale active formats when deleting the text (WordPress/gutenberg#75227)
- Fix <CollaboratorsPresence> type imports (WordPress/gutenberg#75232)
- Block Editor: Add l10n context to 'Manage allowed blocks' string (WordPress/gutenberg#75239)
- Fixed: Custom colors are now reflected in the editor for heading blocks (WordPress/gutenberg#75234)
- Real-time Collaboration: Fix revision restore bug (WordPress/gutenberg#75233)
- Real-time collaboration: Update 'sync.providers' filter inline comments (WordPress/gutenberg#75248)
- Real-time collaboration: Make the collaborators presense button translatable (WordPress/gutenberg#75252)
- Fix: Navigation Overlay Close Block: Add missing @SInCE tag WordPress/gutenberg#75247 (WordPress/gutenberg#75250)
- Cover: Add new "fullheight" icon, and use for Cover (WordPress/gutenberg#75240)
- Real-time collaboration: Remove @wordpress/sync from bundled packages and add private APIs (WordPress/gutenberg#74671)
- Navigation Link: Clarify Link To invalid and draft state messages (WordPress/gutenberg#74054)
- Docs: Simplifying Gutenberg versions table (WordPress/gutenberg#75209)
- UI: Remove Box component abstraction (WordPress/gutenberg#74986)
- Docs: Remove private GitHub team links in repository management (WordPress/gutenberg#75255)
- UI: Add `Textarea` primitive (WordPress/gutenberg#74707)
- Components: Add usage guidance for agents and Storybook (WordPress/gutenberg#74815)
- Theme: Update elevation tokens to use abbreviated size names (WordPress/gutenberg#75103)
- Navigation link: fix resetting link from the tools panel (WordPress/gutenberg#75228)
- List View Support: Only render list view on top level block with support (WordPress/gutenberg#75166)
- Gallery: Add lightbox support (WordPress/gutenberg#62906)
- Workflows: Ignore icons manifest for manual backports (WordPress/gutenberg#75245)
- Add new `adaptiveSelect` DataForm control (WordPress/gutenberg#74937)
- Site Editor Pages: QuickEdit as a modal (WordPress/gutenberg#75173)
- Add block rename keyboard shortcut (WordPress/gutenberg#74454)
- Playlist block: Remove border (WordPress/gutenberg#75202)
- Widget Area: Disable renaming and visibility support (WordPress/gutenberg#75279)
- @wordpress/theme: add missing CHANGELOG entries (WordPress/gutenberg#75281)
- Storybook: Add Stories for LetterSpacingControl component (WordPress/gutenberg#73480)
- Remove the client from the awareness state when they disconnect (WordPress/gutenberg#75253)
- Fix awareness timeout documentation unit (WordPress/gutenberg#75284)
- Add global setting to enable real-time collaboration (WordPress/gutenberg#75286)
- Notes: Pressing Escape should cancel adding a note (WordPress/gutenberg#75288)
- Real-time Collaboration: Change users to collaborators (WordPress/gutenberg#75237)
- Add timestamp when publishing next versions (WordPress/gutenberg#75293)
- Storybook: Preserve export order for stories (WordPress/gutenberg#75295)
- ToggleControl: Prevent console warning for `__nextHasNoMarginBottom` (WordPress/gutenberg#75296)
- Quick edit: Make footer sticky (WordPress/gutenberg#75297)
- DataForm Regular layout: label always uppercase (WordPress/gutenberg#75292)
- @wordpress/ui: add Dialog component (WordPress/gutenberg#75183)
- Navigation Link: Go to page link and edit page for inspector sidebar (WordPress/gutenberg#75262)
- SiteEditor Pages: prevent QuickEdit modal from being triggered in list layout via URL param (WordPress/gutenberg#75300)
- Link Control: Fix validation timing (WordPress/gutenberg#75267)
- Publishing packages: fix next timestamp (WordPress/gutenberg#75301)
- Add storybook for ColorPaletteControl (WordPress/gutenberg#74425)
- Post Comments Form: Migrate to text-align block support (WordPress/gutenberg#75322)
- Post Comments Count: Migrate to text-align block support (WordPress/gutenberg#75321)
- Optimize tabsList computation with useRef for comparison (WordPress/gutenberg#75219)
- Accordion block: Add list view support (WordPress/gutenberg#75271)
- Media Fields: Filter author field to only show users with authoring capabilities (WordPress/gutenberg#75328)
- Fields: Fix `authorField` query (WordPress/gutenberg#75298)
- Slot: fix ref forwarding (WordPress/gutenberg#75274)
- wp-env: Add --config option for custom config files (WordPress/gutenberg#75087)
- Update Emotion for React 19 compat (WordPress/gutenberg#75324)
- Block Visibility: Show keyboard shortcut hint in context menu (WordPress/gutenberg#75334)
- Updated Typo in template-activate file (WordPress/gutenberg#75333)
- wp-env: fix status command (WordPress/gutenberg#75325)
- Playlist block:Inherit more CSS (WordPress/gutenberg#75256)
- DataViews: Add onReset prop for view persistence reset (WordPress/gutenberg#75093)
- Notes: Add a keyboard shortcut for creating a new note (WordPress/gutenberg#75287)
- Storybook: Fix missing props on certain components (WordPress/gutenberg#75316)
- Pattern Editing: Allow click through to List View (WordPress/gutenberg#75246)
- Block Bindings: Have block fields panel reflects bound attribute value (WordPress/gutenberg#72096)
- Fix: ISO 8601 compliant year formatting in TimePicker (WordPress/gutenberg#75343)
- Prevent fatal error when the inline CSS duotone variable is an array (WordPress/gutenberg#75283)
- Bugfix: Set the removed users to empty for awareness (WordPress/gutenberg#75337)
- Button: prevent outline flicker when focused and active at the same time (WordPress/gutenberg#75346)
- Real-time collaboration: Always target autosave revision (WordPress/gutenberg#75105)
- In-editor revisions: add visual diffing (WordPress/gutenberg#75049)
- iAPI Router: Update cached styles for re-fetched pages (WordPress/gutenberg#75097)
- Add tests for the awareness code in core-data (WordPress/gutenberg#75074)
- Add tests for the awareness code in sync (WordPress/gutenberg#75077)
- Lock save button during Client Side Media processing and uploading (WordPress/gutenberg#74951)
- Real-time Collaboration: Fix broken unit tests for awareness (WordPress/gutenberg#75362)
- Boot: Fix mobile admin bar covering single-page mode headers (WordPress/gutenberg#75339)
- Design System: Add guidelines for save and submit UX (WordPress/gutenberg#74811)
- Featured Image: fix select-default-value (WordPress/gutenberg#75358)
- Breadcrumbs: Improve loading state rendering (WordPress/gutenberg#75383)
- Block Editor: Remove formatting controls restriction private API (WordPress/gutenberg#75382)
- Link Control: Validate on submit (WordPress/gutenberg#75310)
- Rich Text: Remove min-width inline style causing flex layout issues (WordPress/gutenberg#75370)
- Tabs: Tidy up UI for controls (WordPress/gutenberg#75309)
- Core Block Reference: Fix object empty inner key processing (WordPress/gutenberg#75391)
- Improve sync performance metrics (WordPress/gutenberg#75029)
- DataForm: update panel trigger (WordPress/gutenberg#75290)
- Block Editor: Fix Columns block horizontal spacing when setting vertical gap (WordPress/gutenberg#75355)
- DataViews Filters: Fix styling of long values in filter dropdown (WordPress/gutenberg#75369)
- Try swapping tabs (WordPress/gutenberg#75194)
- RichText: move useFormatTypes to rich-text package (WordPress/gutenberg#75387)
- Make all navigation overlay close buttons work (WordPress/gutenberg#75384)
- Block Editor: Improve Background panel UI in Global Styles (WordPress/gutenberg#75230)
- Tabs: Update Tabs block icons (WordPress/gutenberg#75376)
- Accordion: Move Accordion icons to Icon library (WordPress/gutenberg#75380)
- Fix: Changing URL in link after changing text outside the popover resets it (WordPress/gutenberg#75342)
- Update icon manifest acronyms. (WordPress/gutenberg#75418)
- Code Modernization: Use null coalescing operator in additional `isset() ternaries. (WordPress/gutenberg#75419)
- Pattern Editing: Move List View selectors to private-selectors (WordPress/gutenberg#75414)
- DataViews: Use public ColorPicker instead of internal Picker export (WordPress/gutenberg#75394)
- Abilities: Allow nested namespace ability names (2-4 segments) (WordPress/gutenberg#75393)
- Fix: Remove backport changelog committed by mistake (WordPress/gutenberg#75441)
- Block Visibility: Simplify toolbar for hidden blocks (WordPress/gutenberg#75335)
- Block Visibility: Centralize modal state in block-editor store (WordPress/gutenberg#75367)
- Allow grid to use style variation blockGap values for columns calculation (WordPress/gutenberg#75360)
- Langauge Format: Add missing attribute definiton (WordPress/gutenberg#75422)
- Block transform command: pass the block icon src rather than a BlockIcon component (WordPress/gutenberg#75365)
- Note: Remove block highlight when deleting parent note (WordPress/gutenberg#75453)
- Core Data: Improve blocks cache in useEntityBlockEditor (WordPress/gutenberg#75400)
- MediaEdit: Support ordered values and reordering of items (WordPress/gutenberg#75207)
- Writing flow: fix select all with full formatting (WordPress/gutenberg#64934)
- Filter navigation category patterns to only show in navigation-overlay template part context (WordPress/gutenberg#75276)
- Update Testing Library for React 19 compat (WordPress/gutenberg#75340)
- Writing Flow: Fix block selection from partially selected RichText (WordPress/gutenberg#75449)
- Notes: Fix sidebar display logic for small screens (WordPress/gutenberg#75454)
- Post editor: iframe: check inserted rather than registered block versions (WordPress/gutenberg#75187)
- Block Visibility: Disable visibility toggle for children of sections (WordPress/gutenberg#75447)
- Notes: Update shortcut category (WordPress/gutenberg#75461)
- Add dedicated navigation-overlay icon (WordPress/gutenberg#75249) (WordPress/gutenberg#75426)
- Docs: Rename Interactivity API's 'API Reference' to 'Directives and Store' (WordPress/gutenberg#74974)
- DataForm: Fix color picker styles (WordPress/gutenberg#75427)
- Post Excerpt Block: Remove REST API filter for excerpt length in post excerpt block (WordPress/gutenberg#75299)
- Move experimental PR out of backport log (WordPress/gutenberg#75465)
- Add paste logging to writing flow (WordPress/gutenberg#73885)
- Real-time collaboration: Sync post content and undefined `blocks` value (WordPress/gutenberg#75437)
- Gutenberg plugin: always enforce the iframe in the post editor (WordPress/gutenberg#75475)
- New Block: Icon Block (WordPress/gutenberg#71227)
- Tabs: Improve tab keyboard nav (WordPress/gutenberg#75471)
- Pre-populate Navigation Page Creator with Search Text  (WordPress/gutenberg#75154)
- Block Library: Hide navigation-overlay template parts from inserter (WordPress/gutenberg#75478)
- Tabs: Add text and background color support (WordPress/gutenberg#75482)
- Preserve existing URLInput defaults (WordPress/gutenberg#75392)
- UI: Remove unnecessary jest.setTimeout from Select test (WordPress/gutenberg#75444)
- Fix missed dimension token migration in UI package (WordPress/gutenberg#75446)
- Render default density selector last in design tokens CSS (WordPress/gutenberg#75474)
- Navigation: Improved help text in create a page flow (WordPress/gutenberg#75349)
- Fix gap token migration guide in changelog (WordPress/gutenberg#75492)
- Block Visibility: Disable Apply button on non-dirty state (WordPress/gutenberg#75494)
- Real-time Collaboration: Use Y.text for title, content and excerpt (WordPress/gutenberg#75448)
- DataForm: Style SummaryButton in panel layout with `is-disabled` classname (WordPress/gutenberg#75470)
- Gallery: Add list view block support (WordPress/gutenberg#75407)
- Types: consistently use the React namespace (WordPress/gutenberg#75499)
- Enhance block appender labels to reflect default block type (WordPress/gutenberg#71502)
- Import Yjs correctly (WordPress/gutenberg#75500)
- Add testsEnvironment option and split Gutenberg wp-env configs (WordPress/gutenberg#75341)
- Add `clearEntityRecordEdits` action to core-data (WordPress/gutenberg#75397)
- Tabs: Stabilize Tabs blocks (WordPress/gutenberg#75424)
- Simplify Tabs Menu Item editing (WordPress/gutenberg#75416)
- Fix LinkControl URL Normalization (WordPress/gutenberg#75488)
- Navigation Submenu: Restore openSubmenusOnClick to usesContext for backward compatibility. (WordPress/gutenberg#75435)
- Tabs: Add `@since 7.0.0` annotations (WordPress/gutenberg#75521)
- Story types: fix StoryFns used as React components (WordPress/gutenberg#75472)
- Tabs: fix incorrect fixtures (WordPress/gutenberg#75523)
- AGENTS.md: Add CLAUDE.md symlinks, architecture decisions, and common pitfalls (WordPress/gutenberg#75507)
- Use contextual snackbar text when activating a theme from preview (WordPress/gutenberg#75385)
- Pick user fields instead of spreading the entire object (WordPress/gutenberg#75528)
- Real-time collaboration: Move PHP code to compat / backports directory (WordPress/gutenberg#75366)
- Icons: Fix incorrect attributes for SVG (WordPress/gutenberg#75273)
- Icons: Make full height icon label title case (WordPress/gutenberg#75524)
- Respect deprecated openSubmenusOnClick value on frontend rendering (WordPress/gutenberg#75439)
- useRef: always supply initial value (WordPress/gutenberg#75513)
- Code Modernization: Replace isset() checks with null coalescing operator (WordPress/gutenberg#75425)
- Prefix usages of JSX namespaces with React.JSX (WordPress/gutenberg#75508)
- Cleanup: Remove unnecessary array check in `WP_Theme_JSON_Gutenberg` (WordPress/gutenberg#75515)
- Real-time collaboration: Add collaborators cursor awareness (WordPress/gutenberg#75398)
- Post Comments Link: Migrate to Text-Align Block Support (WordPress/gutenberg#75332)
- Post time to read: Migrate to Text-Align Block Support (WordPress/gutenberg#75541)
- ExternalLink: Prevent Twemoji from replacing arrow (WordPress/gutenberg#75538)
- Duotone: add sgomes as owner (WordPress/gutenberg#75519)
- Use null coalescing operator for common isset patterns (WordPress/gutenberg#75487)
- Term Description: Migrate to Text-Align Block Support (WordPress/gutenberg#75542)
- Create sub-sized images (WordPress/gutenberg#74566)
- Add EXIF metadata tests for Client Side Media (WordPress/gutenberg#74909)
- Add AVIF, WebP and MozJPEG output encoding support (WordPress/gutenberg#75081)
- Post Terms: Migrate to Text-Align Block Support (WordPress/gutenberg#75545)
- Tabs: Make Example preview translatable (WordPress/gutenberg#75555)
- List View tab: Ensure it's populated when first selecting a container block (WordPress/gutenberg#75558)
- Fix auto draft bug for Y.text titles (WordPress/gutenberg#75560)
- Border Support: Fix editor split border style fallback (WordPress/gutenberg#75546)
- Block Editor: Avoid unnecessary state churn in controlled inner blocks reducers (WordPress/gutenberg#75458)
- Block Lock: Disable Apply button on non-dirty state (WordPress/gutenberg#75495)
- Post Terms: Avoid unbound queries when the post context isn't available (WordPress/gutenberg#75536)
- wp-env Playground: improve mapping and core source handling (WordPress/gutenberg#75527)
- DataForm: add edit variant (WordPress/gutenberg#75462)
- Tabs: Improve Tab Panel accessibility (WordPress/gutenberg#75484)
- Tabs: Remove name editing UI (WordPress/gutenberg#75554)
- useBlockSync: stop reconstructing controlled inner blocks (WordPress/gutenberg#75562)
- Notes: Fix new note creation from the List View (WordPress/gutenberg#75566)
- Navigation: Update overlay template part naming to "Navigation Overlay" (WordPress/gutenberg#75564)
- Update usage of RefObject types (React 19 compat) (WordPress/gutenberg#75567)
- useMergeRefs: migrate to TypeScript (WordPress/gutenberg#75569)
- Improve link preview badges (WordPress/gutenberg#75318)
- Add getDimensionsClassesAndStyles function and related tests (WordPress/gutenberg#74524)
- Informational Parity between Inspector Link Preview and on Canvas Link Preview (WordPress/gutenberg#75399)
- Icons Registry: Don't expose "internal" icons (WordPress/gutenberg#75526)
- ui/Button: fix disabled styles and variable composition (WordPress/gutenberg#75568)
- Tabs: Set explicit font-family on tab buttons (WordPress/gutenberg#75537)
- Interactivity API: Export `watch` from `@preact/signals`'s `effect` (WordPress/gutenberg#75563)
- iAPI router: Move internal properties to a private store (WordPress/gutenberg#70882)
- Post Excerpt: Add text columns support (WordPress/gutenberg#75587)
- Update gutenberg to match core after WordPress/gutenberg#75360 sync (WordPress/gutenberg#75594)
- Block Visibility: Show viewport icons and tooltip in list view for hidden blocks (WordPress/gutenberg#75404)
- [Real-time collaboration] Refine collaborator overlay with Avatar component integration (WordPress/gutenberg#75595)
- Media Utils: Auto-select uploaded files in media modal experiment (WordPress/gutenberg#75597)
- Try enabling paragraphs to be added to contentOnly patterns (WordPress/gutenberg#73222)
- Implement WebAssembly support detection and fallbacks (WordPress/gutenberg#74827)
- Icon block: Skip serialization and increase default size (WordPress/gutenberg#75553)
- In-editor Revisions: Update success notice message (WordPress/gutenberg#75411)
- Stabilize PHP-Only Block Registration (WordPress/gutenberg#75543)
- Add comments around expandRevision functionality (WordPress/gutenberg#75573)
- Tab Block: Ensure label formatting works correctly (WordPress/gutenberg#75548)
- Tabs: Fix saved HTML (WordPress/gutenberg#75580)
- [Real-time collaboration] Fix <CollaboratorsPresence> layout issue (WordPress/gutenberg#75599)
- Notes: Fix block toolbar click action (WordPress/gutenberg#75614)
- Commands: Add category property to command registration (WordPress/gutenberg#75612)
- fix tab color-reset-all-filter (WordPress/gutenberg#75606)
- Fix selection restoration after entity navigation (WordPress/gutenberg#75371)
- Tabs: Sanitize tab_id (WordPress/gutenberg#75615)
- Inherit text color for tabs-menu-item blocks (WordPress/gutenberg#75621)
- Auto-switch viewport based on Overlay Visibility setting when entering overlay editor (WordPress/gutenberg#75386)
- Fix: Show and hook up submenu visibility for Page Lists within Navigation Blocks (WordPress/gutenberg#75531)
- Remove useEffect guard rail to enforce minimum width. (WordPress/gutenberg#75624)
- Navigation: select list view tab on contentOnly. Alternative with explicit solution (WordPress/gutenberg#75578)
- Navigation overlay: added basic e2e tests (WordPress/gutenberg#75581)
- Revert Tabs block to experimental block (WordPress/gutenberg#75572)
- List Block: Prevent content loss when merging into a fresh empty list item (WordPress/gutenberg#74382)
- Fix Overlay core patterns not showing on design tab (WordPress/gutenberg#75618)
- Rename Verse block to Poetry (WordPress/gutenberg#74121)
- Fix Navigation block button showing "View custom" instead of "View link" for external URLs (WordPress/gutenberg#75571)
- Removed Unused Global Documentation (WordPress/gutenberg#75631)
- Real-time collaboration: Add sync connection status handling (WordPress/gutenberg#75066)
- Add e2e test for selection restoration after pattern entity navigation (WordPress/gutenberg#75575)
- Remove the Icon Block and Icon SVG API from experiments (WordPress/gutenberg#75576)
- Block editor cross origin isolation: attempt to gracefully deal with race conditions (WordPress/gutenberg#75600)
- Update diff package (WordPress/gutenberg#75644)
- Upload Media: rebase of 75547 (WordPress/gutenberg#75646)
- Block Editor: Allow disabling content-only editing for unsynced patterns (WordPress/gutenberg#75457)
- Real-Time Collaboration: Add e2e tests for RTC (WordPress/gutenberg#75598)
- Update the y-protocols versin and remove the unncessary types (WordPress/gutenberg#75657)
- Pattern Editing: Add "Edit section" button to unsynced pattern toolbar (WordPress/gutenberg#75602)
- PHP-Only Block Registration: Remove client-side schema validation (WordPress/gutenberg#75623)
- Navigation: Add 'expectedDeprecated' annotations (WordPress/gutenberg#75659)
- Site Editor: make QuickEdit stable + change template to select (WordPress/gutenberg#75565)
- Icon Block: Move default width rule to theme.json instead of block.json (WordPress/gutenberg#75653)
- Add e2e test for loading settings in site editor preload spec (WordPress/gutenberg#75661)
- Update Ariakit packages (WordPress/gutenberg#75620)
- Upgrade Playwright to v1.58 (WordPress/gutenberg#75632)
- GitHub actions: Exclude lib/theme.json from backport changelog check (WordPress/gutenberg#75666)
- theme.json: Enable width support for icon block by default (WordPress/gutenberg#75665)
- Icons: Trim list of public icons further (WordPress/gutenberg#75630)
- Update Navigation block tests to use non-deprecated API (WordPress/gutenberg#75660)
- Update navigation block tests to use gutenberg version of block_core_navigation_block_tree_has_block_type - works on old wp versions (WordPress/gutenberg#75673)
- Update copy (WordPress/gutenberg#75663)
- Commands: Display category labels and enforce category icons (WordPress/gutenberg#75669)
- Heading Block: Fix preview display (WordPress/gutenberg#75675)
- Iframe: memoize src URL globally keyed by resolvedAssets (WordPress/gutenberg#75619)
- ContrastChecker: Fix check for button block colors (WordPress/gutenberg#71959)
- Writing flow: skip non-empty blocks on arrow key nav (WordPress/gutenberg#75141)
- Comments Link: fix transforms textAlign (WordPress/gutenberg#75676)
- Add initialSearchState to avoid console warnings from LinkControl inputValue change (WordPress/gutenberg#75643)
- Migrate `EditorSnackbar` and `EditorNotices` components to the `@wordpress/notices` package (WordPress/gutenberg#74384)
- Add minimum cap check to sync endpoint (WordPress/gutenberg#75681)
- Fix: Hide link controls in sidebar when submenus open on click (WordPress/gutenberg#75637)
- Set snackbar position to center  (WordPress/gutenberg#75294)
- Gallery: Fix PHP warning in random order image reordering (WordPress/gutenberg#75678)
- DateCalendar, DateRangeCalendar: use lighter gray for disabled dates (WordPress/gutenberg#75683)
- Pass unsupported formats directly to the server (WordPress/gutenberg#74910)
- RTC: Compact on request with encodeStateAsUpdate (WordPress/gutenberg#75682)
- Icons: Generate manifest PHP file based on JSON file (WordPress/gutenberg#75684)
- ui/IconButton: make icon always 24px regardless of `size` prop (WordPress/gutenberg#75677)
- Gallery: Skip interactivity directives when no images have lightbox enabled (WordPress/gutenberg#75680)
- DataForm: Fix focus loss and refactor Card layout (WordPress/gutenberg#75689)
- Remove IS_GUTENBERG_PLUGIN checks for collaborative editing (WordPress/gutenberg#75699)

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


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

Labels

[Block] Icon Affects the Icon block [Package] Icons /packages/icons [Type] Enhancement A suggestion for improvement.

4 participants