Skip to content

TypeScript: Migrate packages/list-reusable-blocks package to TypeScript#70518

Merged
manzoorwanijk merged 14 commits into
WordPress:trunkfrom
Infinite-Null:convert/list-reusable-blocks-to-typescript
Apr 13, 2026
Merged

TypeScript: Migrate packages/list-reusable-blocks package to TypeScript#70518
manzoorwanijk merged 14 commits into
WordPress:trunkfrom
Infinite-Null:convert/list-reusable-blocks-to-typescript

Conversation

@Infinite-Null

@Infinite-Null Infinite-Null commented Jun 25, 2025

Copy link
Copy Markdown
Contributor

What?

Part of: #67691
Migrating the packages/list-reusable-blocks package to TypeScript.

Why?

Type safety.

Testing Instructions

Typecheck and unit tests.

@t-hamano t-hamano mentioned this pull request Jun 24, 2025
41 tasks
@t-hamano t-hamano added the [Type] Code Quality Issues or PRs that relate to code quality label Jun 25, 2025
@Infinite-Null
Infinite-Null marked this pull request as ready for review June 26, 2025 14:22
@github-actions

github-actions Bot commented Jun 26, 2025

Copy link
Copy Markdown

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

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

Co-authored-by: Infinite-Null <ankitkumarshah@git.wordpress.org>
Co-authored-by: manzoorwanijk <manzoorwanijk@git.wordpress.org>

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

@Infinite-Null Infinite-Null changed the title [WIP] Migrate packages/list-reusable-blocks package to TypeScript TypeScript: Migrate packages/list-reusable-blocks package to TypeScript Jun 26, 2025
@manzoorwanijk

Copy link
Copy Markdown
Member

Can we update this branch from trunk and then we can review it?

Copilot AI 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.

Pull request overview

This PR migrates the packages/list-reusable-blocks package from JavaScript to TypeScript, adding type annotations and creating type definitions to improve type safety.

Changes:

  • Added TypeScript configuration files for the package and root project
  • Created type definitions for components and data structures
  • Migrated all source files (.js to .tsx/.ts) with type annotations

Reviewed changes

Copilot reviewed 8 out of 9 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
tsconfig.json Added reference to the list-reusable-blocks package
packages/list-reusable-blocks/tsconfig.json Created TypeScript configuration for the package
packages/list-reusable-blocks/src/utils/types.ts Added type definitions for components and data structures
packages/list-reusable-blocks/src/utils/import.ts Migrated to TypeScript with type annotations
packages/list-reusable-blocks/src/utils/file.ts Migrated to TypeScript with type annotations
packages/list-reusable-blocks/src/utils/export.ts Migrated to TypeScript with type annotations
packages/list-reusable-blocks/src/index.tsx Migrated to TypeScript with proper event typing
packages/list-reusable-blocks/src/components/import-form/index.tsx Migrated to TypeScript with React event types
packages/list-reusable-blocks/src/components/import-dropdown/index.tsx Migrated to TypeScript with proper prop typing
Comments suppressed due to low confidence (2)

packages/list-reusable-blocks/src/components/import-form/index.tsx:35

  • Using any type for the parameter defeats the purpose of TypeScript migration. The parameter should be typed as ReusableBlock based on the return type of importReusableBlock.
    packages/list-reusable-blocks/src/components/import-form/index.tsx:43
  • Using any type for the errors parameter defeats the purpose of TypeScript migration. Consider defining a proper error type or using Error type.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

raw: string;
};
wp_pattern_sync_status: string;
[ key: string ]: any;

Copilot AI Jan 11, 2026

Copy link

Choose a reason for hiding this comment

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

Using index signatures [ key: string ]: any weakens type safety. Consider defining specific properties or using a more restrictive approach if these extra properties are truly needed.

Copilot uses AI. Check for mistakes.
title: string;
content: string;
syncStatus?: string;
[ key: string ]: any;

Copilot AI Jan 11, 2026

Copy link

Choose a reason for hiding this comment

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

Using index signatures [ key: string ]: any weakens type safety. Consider defining specific properties or using a more restrictive approach if these extra properties are truly needed.

Suggested change
[ key: string ]: any;
[ key: string ]: unknown;

Copilot uses AI. Check for mistakes.
rendered: string;
};
status: string;
[ key: string ]: any;

Copilot AI Jan 11, 2026

Copy link

Choose a reason for hiding this comment

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

Using index signatures [ key: string ]: any weakens type safety. Consider defining specific properties or using a more restrictive approach if these extra properties are truly needed.

Suggested change
[ key: string ]: any;
[ key: string ]: unknown;

Copilot uses AI. Check for mistakes.
Comment on lines +2 to +7
onUpload: ( data: any ) => void;
}

interface ImportFormProps {
instanceId: string | number;
onUpload: ( reusableBlock: any ) => void;

Copilot AI Jan 11, 2026

Copy link

Choose a reason for hiding this comment

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

The type definitions use any type which defeats the purpose of TypeScript migration. The onUpload callback should have a properly typed parameter instead of any.

Suggested change
onUpload: ( data: any ) => void;
}
interface ImportFormProps {
instanceId: string | number;
onUpload: ( reusableBlock: any ) => void;
onUpload: ( data: ReusableBlockData ) => void;
}
interface ImportFormProps {
instanceId: string | number;
onUpload: ( reusableBlock: ReusableBlockData ) => void;

Copilot uses AI. Check for mistakes.
Comment on lines +2 to +7
onUpload: ( data: any ) => void;
}

interface ImportFormProps {
instanceId: string | number;
onUpload: ( reusableBlock: any ) => void;

Copilot AI Jan 11, 2026

Copy link

Choose a reason for hiding this comment

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

The type definitions use any type which defeats the purpose of TypeScript migration. The onUpload callback should have a properly typed parameter instead of any.

Suggested change
onUpload: ( data: any ) => void;
}
interface ImportFormProps {
instanceId: string | number;
onUpload: ( reusableBlock: any ) => void;
onUpload: ( data: ReusableBlockData ) => void;
}
interface ImportFormProps {
instanceId: string | number;
onUpload: ( reusableBlock: ReusableBlockData ) => void;

Copilot uses AI. Check for mistakes.

interface PostType {
rest_base: string;
[ key: string ]: any;

Copilot AI Jan 11, 2026

Copy link

Choose a reason for hiding this comment

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

Using index signatures [ key: string ]: any weakens type safety. Consider defining specific properties or using a more restrictive approach if these extra properties are truly needed.

Copilot uses AI. Check for mistakes.
parsedContent = JSON.parse( fileContent );
} catch {
parsedContent = JSON.parse( fileContent ) as ParsedContent;
} catch ( e ) {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
} catch ( e ) {
} catch {

Comment thread packages/list-reusable-blocks/src/utils/types.ts Outdated

Copilot AI 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.

Pull request overview

Copilot reviewed 8 out of 9 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (5)

packages/list-reusable-blocks/src/utils/file.ts:13

  • readTextFile never rejects and doesn’t handle FileReader.onerror/abort. If the read fails (or reader.result ends up null), the returned promise can hang or resolve to a non-string value (masked by the as string cast), which can later crash JSON parsing/validation. Consider wiring onerror/onabort to reject, and only resolving when typeof reader.result === 'string' (otherwise reject with a clear error).
    packages/list-reusable-blocks/src/utils/import.ts:36
  • JSON.parse can legally return non-object values (e.g. null, a string, number, array). Since parsedContent is cast to ParsedContent, the subsequent parsedContent.__file access can throw a TypeError for inputs like "null". Add a runtime guard that parsedContent is a non-null object (and ideally not an array) before accessing properties, and treat invalid shapes as an “Invalid pattern JSON file” error.
    packages/list-reusable-blocks/src/utils/import.ts:41
  • The syncStatus validation uses a truthiness check (parsedContent.syncStatus && ...), which allows invalid non-string values like 0, null, or '' (empty string skips the type check) to bypass validation. Use an explicit undefined check (e.g. parsedContent.syncStatus !== undefined) when validating the type.
    packages/list-reusable-blocks/src/components/import-form/index.tsx:49
  • importReusableBlock is already typed to resolve ReusableBlock, but the .then callback types it as any and the .catch parameter is also any. This defeats the TypeScript migration and makes errors.message unsafe. Prefer keeping the inferred ReusableBlock type in .then, and type the caught value as unknown and narrow to Error (or a custom shape) before reading .message.
    packages/list-reusable-blocks/src/index.tsx:26
  • The click handler assumes event.target is an HTMLElement and immediately reads classList/dataset. MouseEvent.target can be a non-HTMLElement (or even null), which would throw at runtime despite the cast. Add an instanceof HTMLElement (or Element) guard before accessing classList/dataset, and consider validating Number(blockId) is finite before calling exportReusableBlock to avoid /NaN requests.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Infinite-Null

Copy link
Copy Markdown
Contributor Author

Hi @manzoorwanijk,

Thanks for the clarification and for pointing that out!

I’ll revisit this and switch to using the existing Post and PostType types from core-data, instead of redefining them.

Could you please take another look and re-review the PR when you get a chance? Thanks again for the helpful feedback

@manzoorwanijk manzoorwanijk left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This looks much better now. Let us clean things up a bit and also update this branch from trunk.

Comment thread packages/list-reusable-blocks/src/utils/types.ts Outdated
Comment thread packages/list-reusable-blocks/tsconfig.json Outdated
Comment thread tsconfig.json Outdated
Comment thread packages/list-reusable-blocks/package.json Outdated
Comment thread packages/list-reusable-blocks/src/utils/export.ts Outdated
Comment thread packages/list-reusable-blocks/src/utils/export.ts Outdated
Comment thread packages/list-reusable-blocks/src/utils/import.ts Outdated
Comment thread packages/list-reusable-blocks/src/utils/import.ts Outdated
@Infinite-Null

Copy link
Copy Markdown
Contributor Author

Hi @manzoorwanijk,
I’ve addressed all the requested changes. Could you please take a moment to review the PR when you get a chance? I’d really appreciate your feedback.

@manzoorwanijk manzoorwanijk left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thank you for making the changes. This looks pretty close but I missed something in the last review - we need to add the types field to package.json and also to the exports['.'] in it.

Copilot AI 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.

Pull request overview

Copilot reviewed 9 out of 11 changed files in this pull request and generated 1 comment.

Comments suppressed due to low confidence (4)

packages/list-reusable-blocks/src/utils/file.ts:13

  • readTextFile currently never rejects and will resolve reader.result with a as string cast even though FileReader.result can be null (or non-string on other read modes). This can leave callers hanging on read errors/abort and can propagate an invalid null value. Consider wiring reader.onerror/reader.onabort to reject, and in onload verify typeof reader.result === 'string' before resolving (otherwise reject with an error).
    packages/list-reusable-blocks/src/index.tsx:18
  • The click handler casts event.target to HTMLElement and calls classList/dataset without a runtime guard. If the click originates from a non-HTMLElement target, this will throw. Prefer checking event.target instanceof HTMLElement (or using event.target as Element + 'classList' in target) before accessing classList/dataset.
    packages/list-reusable-blocks/src/index.tsx:26
  • Number( blockId ) can produce NaN (or 0 for an empty string), which then gets interpolated into the REST path in exportReusableBlock (e.g. /.../NaN?context=edit). Parse and validate the id before calling exportReusableBlock (e.g. const id = Number.parseInt(blockId, 10) and guard with Number.isFinite(id)).
    packages/list-reusable-blocks/src/utils/import.ts:36
  • After JSON.parse, the result can be null, an array, or a primitive. The validation block accesses parsedContent.__file before ensuring it’s a non-null object, which can throw a runtime error (e.g. importing a JSON file containing null). Consider parsing into unknown first and adding an typeof parsed === 'object' && parsed !== null && !Array.isArray(parsed) guard before reading properties.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread packages/list-reusable-blocks/src/utils/types.ts Outdated
@Infinite-Null

Copy link
Copy Markdown
Contributor Author

Hi @manzoorwanijk

Thank you for pointing out the missing fields in the package.json. I really appreciate your attention. I’ve made the necessary updates to the PR.

Whenever you have a moment, could you please take another look and share your feedback?

Copilot AI 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.

Pull request overview

Copilot reviewed 9 out of 11 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (2)

packages/list-reusable-blocks/src/utils/import.ts:42

  • JSON.parse() can return non-object values (e.g. null, arrays, numbers). In those cases, the subsequent property access (parsedContent.__file, etc.) will throw a runtime TypeError instead of the intended "Invalid pattern JSON file" error. Consider parsing to unknown and validating that the result is a non-null plain object with string __file/title/content before accessing properties, so invalid-but-well-formed JSON is handled gracefully.
    packages/list-reusable-blocks/src/utils/file.ts:14
  • readTextFile() never rejects: if FileReader errors/aborts the Promise will remain pending, and reader.result is cast to string even though it can be null. Add reader.onerror/reader.onabort handling to reject the Promise (or resolve to a safe default) and ensure the resolved value is actually a string before returning it.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@manzoorwanijk manzoorwanijk left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thank you for making the changes. This looks good now.

@manzoorwanijk
manzoorwanijk merged commit 4afded1 into WordPress:trunk Apr 13, 2026
45 checks passed
@github-actions github-actions Bot added this to the Gutenberg 23.0 milestone Apr 13, 2026
pento pushed a commit to WordPress/wordpress-develop that referenced this pull request Jun 30, 2026
This updates the pinned commit hash of the Gutenberg repository from `5426109cdaf45828ef28ff8527d7d38e7e75fe74` (version `22.9.0`) to `7295bd91a3c2b64bb11dde0a12313210d9d16a12` (version `23.0.0`).

A full list of changes included in this commit can be found on GitHub: https://github.com/WordPress/gutenberg/compare/v22.9.0..v23.0.0.

The following commits are included:
- Classify admin-ui and dataviews to components (WordPress/gutenberg#76959)
- Add performance metrics for client-side media processing (WordPress/gutenberg#76792)
- Connectors: Update help text from 'reset' to 'manage' (WordPress/gutenberg#76963)
- Connectors: Hide Akismet unless already installed (WordPress/gutenberg#76962)
- Remove unused catch block variables across the codebase (WordPress/gutenberg#76969)
- Wrap sync update processing in try/catch (WordPress/gutenberg#76968)
- Backport: Improve validation and permission checks for `WP_HTTP_Polling_Sync_Server` (WordPress/gutenberg#76987)
- BlockMover: Remove unused disabled button props (WordPress/gutenberg#76993)
- Core Data: Fix incorrect pagination for non-paginated entities (WordPress/gutenberg#76406)
- Block Editor: Display shortcuts for moving blocks via tooltips (WordPress/gutenberg#76992)
- Convert directories in test/ to workspaces (WordPress/gutenberg#74684)
- RTC: Fix core/table cell merging (WordPress/gutenberg#76913)
- Components: Extract the autocomplete matcher into a separate function (WordPress/gutenberg#76957)
- Added Context for Next/Prev Enlarge Image (WordPress/gutenberg#76967)
- Build Tools: Update TypeScript to 6.0.2 (WordPress/gutenberg#77010)
- Text: Remove UA margins (WordPress/gutenberg#76970)
- Fix pre-existing lint errors across the codebase (WordPress/gutenberg#77002)
- Fix failing 'WP_HTTP_Polling_Sync_Server' unit test (WordPress/gutenberg#77025)
- Card: Set default foreground color on root (WordPress/gutenberg#77013)
- TypeScript: Migrate a11y package to TS  (WordPress/gutenberg#70680)
- Button: Remove unused Storybook story stylesheet (WordPress/gutenberg#77031)
- Improve CSS setup instructions in package readmes (WordPress/gutenberg#76975)
- Use Link component in details story example (WordPress/gutenberg#76997)
- @wordpress/ui: Add global CSS defense module (WordPress/gutenberg#76783)
- Autocompleters: Move and improve links search (WordPress/gutenberg#76995)
- Autocomplete: Refactor useAutocomplete to use useReducer (WordPress/gutenberg#77020)
- Components: Fix autocomplete overlapping trigger matching (WordPress/gutenberg#77018)
- Fix: A sentence has no ending punctuation in README.md file. (WordPress/gutenberg#77027)
- `ValidatedRangeControl`: Fix aria-label rendered as [object Object] (WordPress/gutenberg#77042)
- HStack, VStack: Mark as not recommended for use (WordPress/gutenberg#77041)
- Tests: Fix wp-env scripts not found in test workspaces (WordPress/gutenberg#77055)
- Bump the github-actions group across 1 directory with 2 updates (WordPress/gutenberg#77030)
- Autocomplete: Clarify 'isDebounced' setting limitation (WordPress/gutenberg#77062)
- Fix SyntaxError in Autocompleter UI when pasting matching content (WordPress/gutenberg#76961)
- Connectors: account for mu-plugins when resolving plugin.file status (WordPress/gutenberg#76994)
- Storybook: Fix E2E subpath exports and add CI build smoke test (WordPress/gutenberg#77034)
- Fix Storybook cursor Default option passing theme token (WordPress/gutenberg#77037)
- Storybook: Enable theming toolbar for wp-components (WordPress/gutenberg#77038)
- RTC: Fix "Edit as HTML" content reset during collaboration (WordPress/gutenberg#77043)
- RTC: Fix inline inserter reset on update sync (WordPress/gutenberg#76980)
- RTC: Predefined retry schedules for disconnect dialog, make more lenient (WordPress/gutenberg#76966)
- Block Editor: Prevent Enter key from inserting paragraphs in contentOnly sections (WordPress/gutenberg#76989)
- Editor: Fix 'selectedNote' action PHPDoc (WordPress/gutenberg#77080)
- Tests: Fix argument forwarding for workspace test scripts (WordPress/gutenberg#77083)
- Search block: Derive 'isSearchFieldHidden' value (WordPress/gutenberg#77082)
- Cover block: fix embed video background Error 153 in editor (WordPress/gutenberg#76904)
- Fields: Fix `postContentInfoField` when there are edits (WordPress/gutenberg#76901)
- Restore original template registration tests alongside activation variants (WordPress/gutenberg#77068)
- i18n: Make sprintf return FormattedText for type-safe createInterpolateElement (WordPress/gutenberg#76974)
- Block Editor store: refactor controlledInnerBlocks to Set (WordPress/gutenberg#77094)
- DataForm: support disabled controls (WordPress/gutenberg#77090)
- ESLint plugin: Disable `jsx-a11y/heading-has-content` (WordPress/gutenberg#77073)
- Remove remaining esModuleInterop usage (WordPress/gutenberg#77095)
- Avoid stale values in core/cover block for RTC compatibility (WordPress/gutenberg#76916)
- RTC: Add optional `shouldSync` function to entity sync config (WordPress/gutenberg#76947)
- Bump oras-project/setup-oras (WordPress/gutenberg#77096)
- RTC: Change SyncConnectionModal to isSyncConnectionErrorHandled filter and drop IS_GUTENBERG_PLUGIN check (WordPress/gutenberg#76853)
- RTC: Respect WP_ALLOW_COLLABORATION in Gutenberg for activation hook (WordPress/gutenberg#77084)
- Add iteration issue template (WordPress/gutenberg#77113)
- Media Modal Experiment: Set matching picker grid layout properties for when a user switches between layouts (WordPress/gutenberg#77118)
- contentOnly template lock: Fix block insertion and removal rules (WordPress/gutenberg#77119)
- Global Styles Revisions: Fix footer overflow (WordPress/gutenberg#77103)
- updateBlockListSettings: convert state to Map, do all updates in one action (WordPress/gutenberg#46392)
- DataViews: Fix `compact` density clipping and remove top/bottom padding (WordPress/gutenberg#77054)
- Icons: Override WP_Icons_Registry singleton with Gutenberg icons registry (WordPress/gutenberg#76455)
- Button: Remove obsolete Safari + VoiceOver workaround (WordPress/gutenberg#77107)
- E2E Tests: Ensure artifacts generate correctly and remove unnecessary artifacts (WordPress/gutenberg#77093)
- UI `Text`: Mark as recommended (WordPress/gutenberg#77044)
- ui/AlertDialog: better async confirm APIs, fully use base ui's `AlertDialog` (WordPress/gutenberg#76937)
- BlockStyleVariationOverridesWithConfig: change name and fix lint errors (WordPress/gutenberg#77130)
- Add `.scss` files to CSS module linting (WordPress/gutenberg#77140)
- BoxControl: remove unused state for icon side (WordPress/gutenberg#77143)
- Fix overflow of Highlighted white-space in Code Block (WordPress/gutenberg#77085)
- move pseudo-state slicing logic into useStyle hook (WordPress/gutenberg#77104)
- Autocomplete: Remove getAutoCompleterUI factory pattern (WordPress/gutenberg#77048)
- Add `date` field in templates and template parts (WordPress/gutenberg#77134)
- Revisions: Simplify fetching (WordPress/gutenberg#77086)
- Remove 'Home' and 'End' key usage from Navigation Tests (WordPress/gutenberg#77102)
- Guidelines: Update actions-section and import/export workflow (WordPress/gutenberg#76621)
- Image block: Hide drag handles while an upload is in progress (WordPress/gutenberg#77121)
- Build: Fix glob ignore patterns in dot-prefixed directories (WordPress/gutenberg#75114)
- Added missing documentation in `collaboration.php` (WordPress/gutenberg#77173)
- `@wordpress/ui`: add `Popover` (WordPress/gutenberg#76438)
- Add Site Tagline and Site Title to Design > Identity panel (WordPress/gutenberg#76264)
- Revision: Fix 'Show changes' button reset state (WordPress/gutenberg#77122)
- Components: update React function names for better ESLint detection (WordPress/gutenberg#77148)
- Link picker: Decode HTML entities in link preview title (WordPress/gutenberg#77170)
- MediaEdit: handle '*' wildcard in validateMimeType (WordPress/gutenberg#77168)
- Search block : Match behaviour of global styling for border and color with local styling (inspector controls) to remove inconsistency (WordPress/gutenberg#77060)
- Re-order spacing side controls when unlinked (WordPress/gutenberg#66317)
- Dataviews: remove unneeded ref callbacks (WordPress/gutenberg#77179)
- Experiment: Add revisions panel to templates, template parts and patterns (WordPress/gutenberg#77008)
- Guidelines CPT: Changes slug from wp_content_guidelines to wp_guidelines (WordPress/gutenberg#77147)
- TextArea: add disabled styles (WordPress/gutenberg#77129)
- Writing Flow: Fix format toolbar not appearing when selecting text from block edge (WordPress/gutenberg#77136)
- DataForm: Remove `text-transform` from `panel` field labels (WordPress/gutenberg#77196)
- FormTokenField: fix disabled styles (WordPress/gutenberg#77137)
- Admin UI: Increase page header vertical padding (WordPress/gutenberg#77152)
- Use entity link title for link control preview (WordPress/gutenberg#77155)
- TypeScript: migrate annotations package to TS (WordPress/gutenberg#70602)
- refactor: migrate bin/api-docs to tools/api-docs as workspace `@wordpress/api-docs-generator` (WordPress/gutenberg#77019)
- TypeScript: Migrate viewport package (WordPress/gutenberg#71118)
- UI/Tooltip: Add usage guidelines documentation (WordPress/gutenberg#77158)
- RadioControl: add support for disabling radio group (WordPress/gutenberg#77127)
- Upgrade ESLint to v10 (WordPress/gutenberg#76654)
- Add e2e test coverage for the Guidelines settings page (WordPress/gutenberg#77192)
- Admin UI: Update Page background color to surface-neutral (WordPress/gutenberg#76869)
- Fix lint-staged API docs path (WordPress/gutenberg#77203)
- PresetInputControl: Fix clearing of numeric value in custom input control (WordPress/gutenberg#77139)
- Upload external media: Ensure notice only fires once (WordPress/gutenberg#77218)
- Checkbox: fix disabled styles (WordPress/gutenberg#77132)
- FormToggle: Update disabled styles (WordPress/gutenberg#77208)
- Calendar: fix disabled styles (WordPress/gutenberg#77138)
- Textarea: remove unnecessary styles (WordPress/gutenberg#77221)
- Search Block: Ensure color settings apply to input field when button is disabled (WordPress/gutenberg#77219)
- iAPI Docs: Fix typos, code errors, and inaccuracies in the documentation (WordPress/gutenberg#76636)
- Connectors: don't clobber third-party custom render in registerDefaultConnectors (WordPress/gutenberg#77116)
- Guidelines: Improve guideline revision UX (WordPress/gutenberg#76560)
- ui/`Dialog`: update Header layout, refactor Title to use Text (WordPress/gutenberg#77161)
- ui/docs: add additional global css setup instructions (WordPress/gutenberg#77228)
- ui/VisuallyHidden: Standardize composition pattern (WordPress/gutenberg#77190)
- ui: expose `container` portal prop on all overlay Popup components (WordPress/gutenberg#77163)
- Components: Use `--wpds-cursor-control` for interactive controls (Sass only) (WordPress/gutenberg#76786)
- Card: Remove redundant margin reset from Card.Title (WordPress/gutenberg#77187)
- Theme: Rename typography tokens to use "typography" prefix (WordPress/gutenberg#76912)
- UI: Normalize render prop and ref forwarding patterns (WordPress/gutenberg#77160)
- Ensure "Retry" button is stable during retries (WordPress/gutenberg#77234)
- RTC: Improve array attribute stability when structural changes occur (WordPress/gutenberg#77164)
- Env: Fix loopback requests when running on non-default ports (WordPress/gutenberg#77057)
- Connectors: Replace speak() with notice store for state changes (WordPress/gutenberg#77174)
- Core Data: Fix 'useEntityProp' for raw attributes (WordPress/gutenberg#77120)
- Use image.copyMemory() for batch thumbnail generation (WordPress/gutenberg#76979)
- Post Author Biography: Preserve occurance of white spaces (WordPress/gutenberg#71133)
- Fix PatternsActions prop name from postType to type (WordPress/gutenberg#77251)
- Resolve package-lock.json inconsistency for @babel/eslint-parser (WordPress/gutenberg#77256)
- Fix duotone filter not applying on style variation switch (WordPress/gutenberg#77229)
- Fix: restore editor canvas padding in classic themes (WordPress/gutenberg#76864)
- DataViews: simplify `defaultLayouts` prop (WordPress/gutenberg#77232)
- getMergedItemsIds: receive full page bigger than perPage (WordPress/gutenberg#77262)
- FormTokenField: remove unnecessary styles (WordPress/gutenberg#77263)
- TypeScript: Migrate `packages/list-reusable-blocks` package to TypeScript (WordPress/gutenberg#70518)
- RTC: Add filterable flag for meta box RTC compatibility (WordPress/gutenberg#76939)
- RTC: Fix disconnect dialog due to uneditable entity (WordPress/gutenberg#77242)
- Guidelines: Try removing the jsxRuntime pragma and see what happens (WordPress/gutenberg#77255)
- DataForm: Show tooltip in edit button in `panel` layout (WordPress/gutenberg#77024)
- blocks: Convert blocks package to TypeScript (WordPress/gutenberg#76312)
- Fix Gutenberg_REST_View_Config_Controller_7_1 PHP warnings (WordPress/gutenberg#77290)
- renamed focus visible (WordPress/gutenberg#77292)
- page.waitForFunction: fix call arguments (WordPress/gutenberg#77300)
- Tabs: Simplify anchor handling (WordPress/gutenberg#77189)
- Tests: Auto-fix some new 'eslint-plugin-playwright' warnings (WordPress/gutenberg#77314)
- Tab Menu Item: simplify active tab menu item style (WordPress/gutenberg#77195)
- Eslint: Suggest alternative in `no-setting-ds-tokens` rule (WordPress/gutenberg#77154)
- Autocomplete: Fix flaky e2e tests (WordPress/gutenberg#77322)
- UI: Update `@base-ui/react` from `1.3.0` to `1.4.0` (WordPress/gutenberg#77308)
- Docs: Add README for DatePicker and TimePicker Components (WordPress/gutenberg#70365)
- UI: use Text component for Badge typography (WordPress/gutenberg#77295)
- Block Editor: Extract getElementCSSRules from useBlockProps (WordPress/gutenberg#77327)
- Edit Post: Fix warning in 'useMetaBoxInitialization' hook (WordPress/gutenberg#77311)
- Update the page slug we link to for the AI plugin after the plugin has been installed and activated (WordPress/gutenberg#77336)
- Guidelines CPT: Rename references from content guidelines to guidelines (WordPress/gutenberg#77223)
- Dialog: add explicit margin-inline-end rule to Title (WordPress/gutenberg#77334)
- Remove sandbox `allow-same-origin` for core/html blocks (WordPress/gutenberg#77212)
- Block Directory: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77330)
- Registers wp_guideline_type taxonomy (WordPress/gutenberg#77156)
- DataForm: Add min/max date range support for date and datetime fields (WordPress/gutenberg#77201)
- Separator Block: Apply default block variation when inserting via `---` shortcut (WordPress/gutenberg#77135)
- Paragraph: Prevent `onEnter` splitting of parent block when insertion of that block type is not allowed (WordPress/gutenberg#77291)
- Media Upload Modal: Persist view configuration (WordPress/gutenberg#77288)
- Image block: Validate attachment ID exists before treating image as local (WordPress/gutenberg#77178)
- Tabs: remove sequential numbering from new tab labels (WordPress/gutenberg#77321)
- DataViews: Use `--wpds-cursor-control` design token for interactive controls (WordPress/gutenberg#77259)
- Post Editor: Store metaboxes RTC-compatible flag on location entries (WordPress/gutenberg#77361)
- Guidelines CPT: Skip registration when post type already exists (WordPress/gutenberg#77486)
- RTC: Fixed orphaned meta causing dirty editor state (WordPress/gutenberg#77529)
- Guidelines: Make the CPT type-aware (WordPress/gutenberg#77491)

Props adamsilverstein, jorbin, westonruter, wildworks.
Fixes #65557.

git-svn-id: https://develop.svn.wordpress.org/trunk@62580 602fd350-edb4-49c9-b593-d223f7449a82
markjaquith pushed a commit to markjaquith/WordPress that referenced this pull request Jun 30, 2026
This updates the pinned commit hash of the Gutenberg repository from `5426109cdaf45828ef28ff8527d7d38e7e75fe74` (version `22.9.0`) to `7295bd91a3c2b64bb11dde0a12313210d9d16a12` (version `23.0.0`).

A full list of changes included in this commit can be found on GitHub: https://github.com/WordPress/gutenberg/compare/v22.9.0..v23.0.0.

The following commits are included:
- Classify admin-ui and dataviews to components (WordPress/gutenberg#76959)
- Add performance metrics for client-side media processing (WordPress/gutenberg#76792)
- Connectors: Update help text from 'reset' to 'manage' (WordPress/gutenberg#76963)
- Connectors: Hide Akismet unless already installed (WordPress/gutenberg#76962)
- Remove unused catch block variables across the codebase (WordPress/gutenberg#76969)
- Wrap sync update processing in try/catch (WordPress/gutenberg#76968)
- Backport: Improve validation and permission checks for `WP_HTTP_Polling_Sync_Server` (WordPress/gutenberg#76987)
- BlockMover: Remove unused disabled button props (WordPress/gutenberg#76993)
- Core Data: Fix incorrect pagination for non-paginated entities (WordPress/gutenberg#76406)
- Block Editor: Display shortcuts for moving blocks via tooltips (WordPress/gutenberg#76992)
- Convert directories in test/ to workspaces (WordPress/gutenberg#74684)
- RTC: Fix core/table cell merging (WordPress/gutenberg#76913)
- Components: Extract the autocomplete matcher into a separate function (WordPress/gutenberg#76957)
- Added Context for Next/Prev Enlarge Image (WordPress/gutenberg#76967)
- Build Tools: Update TypeScript to 6.0.2 (WordPress/gutenberg#77010)
- Text: Remove UA margins (WordPress/gutenberg#76970)
- Fix pre-existing lint errors across the codebase (WordPress/gutenberg#77002)
- Fix failing 'WP_HTTP_Polling_Sync_Server' unit test (WordPress/gutenberg#77025)
- Card: Set default foreground color on root (WordPress/gutenberg#77013)
- TypeScript: Migrate a11y package to TS  (WordPress/gutenberg#70680)
- Button: Remove unused Storybook story stylesheet (WordPress/gutenberg#77031)
- Improve CSS setup instructions in package readmes (WordPress/gutenberg#76975)
- Use Link component in details story example (WordPress/gutenberg#76997)
- @wordpress/ui: Add global CSS defense module (WordPress/gutenberg#76783)
- Autocompleters: Move and improve links search (WordPress/gutenberg#76995)
- Autocomplete: Refactor useAutocomplete to use useReducer (WordPress/gutenberg#77020)
- Components: Fix autocomplete overlapping trigger matching (WordPress/gutenberg#77018)
- Fix: A sentence has no ending punctuation in README.md file. (WordPress/gutenberg#77027)
- `ValidatedRangeControl`: Fix aria-label rendered as [object Object] (WordPress/gutenberg#77042)
- HStack, VStack: Mark as not recommended for use (WordPress/gutenberg#77041)
- Tests: Fix wp-env scripts not found in test workspaces (WordPress/gutenberg#77055)
- Bump the github-actions group across 1 directory with 2 updates (WordPress/gutenberg#77030)
- Autocomplete: Clarify 'isDebounced' setting limitation (WordPress/gutenberg#77062)
- Fix SyntaxError in Autocompleter UI when pasting matching content (WordPress/gutenberg#76961)
- Connectors: account for mu-plugins when resolving plugin.file status (WordPress/gutenberg#76994)
- Storybook: Fix E2E subpath exports and add CI build smoke test (WordPress/gutenberg#77034)
- Fix Storybook cursor Default option passing theme token (WordPress/gutenberg#77037)
- Storybook: Enable theming toolbar for wp-components (WordPress/gutenberg#77038)
- RTC: Fix "Edit as HTML" content reset during collaboration (WordPress/gutenberg#77043)
- RTC: Fix inline inserter reset on update sync (WordPress/gutenberg#76980)
- RTC: Predefined retry schedules for disconnect dialog, make more lenient (WordPress/gutenberg#76966)
- Block Editor: Prevent Enter key from inserting paragraphs in contentOnly sections (WordPress/gutenberg#76989)
- Editor: Fix 'selectedNote' action PHPDoc (WordPress/gutenberg#77080)
- Tests: Fix argument forwarding for workspace test scripts (WordPress/gutenberg#77083)
- Search block: Derive 'isSearchFieldHidden' value (WordPress/gutenberg#77082)
- Cover block: fix embed video background Error 153 in editor (WordPress/gutenberg#76904)
- Fields: Fix `postContentInfoField` when there are edits (WordPress/gutenberg#76901)
- Restore original template registration tests alongside activation variants (WordPress/gutenberg#77068)
- i18n: Make sprintf return FormattedText for type-safe createInterpolateElement (WordPress/gutenberg#76974)
- Block Editor store: refactor controlledInnerBlocks to Set (WordPress/gutenberg#77094)
- DataForm: support disabled controls (WordPress/gutenberg#77090)
- ESLint plugin: Disable `jsx-a11y/heading-has-content` (WordPress/gutenberg#77073)
- Remove remaining esModuleInterop usage (WordPress/gutenberg#77095)
- Avoid stale values in core/cover block for RTC compatibility (WordPress/gutenberg#76916)
- RTC: Add optional `shouldSync` function to entity sync config (WordPress/gutenberg#76947)
- Bump oras-project/setup-oras (WordPress/gutenberg#77096)
- RTC: Change SyncConnectionModal to isSyncConnectionErrorHandled filter and drop IS_GUTENBERG_PLUGIN check (WordPress/gutenberg#76853)
- RTC: Respect WP_ALLOW_COLLABORATION in Gutenberg for activation hook (WordPress/gutenberg#77084)
- Add iteration issue template (WordPress/gutenberg#77113)
- Media Modal Experiment: Set matching picker grid layout properties for when a user switches between layouts (WordPress/gutenberg#77118)
- contentOnly template lock: Fix block insertion and removal rules (WordPress/gutenberg#77119)
- Global Styles Revisions: Fix footer overflow (WordPress/gutenberg#77103)
- updateBlockListSettings: convert state to Map, do all updates in one action (WordPress/gutenberg#46392)
- DataViews: Fix `compact` density clipping and remove top/bottom padding (WordPress/gutenberg#77054)
- Icons: Override WP_Icons_Registry singleton with Gutenberg icons registry (WordPress/gutenberg#76455)
- Button: Remove obsolete Safari + VoiceOver workaround (WordPress/gutenberg#77107)
- E2E Tests: Ensure artifacts generate correctly and remove unnecessary artifacts (WordPress/gutenberg#77093)
- UI `Text`: Mark as recommended (WordPress/gutenberg#77044)
- ui/AlertDialog: better async confirm APIs, fully use base ui's `AlertDialog` (WordPress/gutenberg#76937)
- BlockStyleVariationOverridesWithConfig: change name and fix lint errors (WordPress/gutenberg#77130)
- Add `.scss` files to CSS module linting (WordPress/gutenberg#77140)
- BoxControl: remove unused state for icon side (WordPress/gutenberg#77143)
- Fix overflow of Highlighted white-space in Code Block (WordPress/gutenberg#77085)
- move pseudo-state slicing logic into useStyle hook (WordPress/gutenberg#77104)
- Autocomplete: Remove getAutoCompleterUI factory pattern (WordPress/gutenberg#77048)
- Add `date` field in templates and template parts (WordPress/gutenberg#77134)
- Revisions: Simplify fetching (WordPress/gutenberg#77086)
- Remove 'Home' and 'End' key usage from Navigation Tests (WordPress/gutenberg#77102)
- Guidelines: Update actions-section and import/export workflow (WordPress/gutenberg#76621)
- Image block: Hide drag handles while an upload is in progress (WordPress/gutenberg#77121)
- Build: Fix glob ignore patterns in dot-prefixed directories (WordPress/gutenberg#75114)
- Added missing documentation in `collaboration.php` (WordPress/gutenberg#77173)
- `@wordpress/ui`: add `Popover` (WordPress/gutenberg#76438)
- Add Site Tagline and Site Title to Design > Identity panel (WordPress/gutenberg#76264)
- Revision: Fix 'Show changes' button reset state (WordPress/gutenberg#77122)
- Components: update React function names for better ESLint detection (WordPress/gutenberg#77148)
- Link picker: Decode HTML entities in link preview title (WordPress/gutenberg#77170)
- MediaEdit: handle '*' wildcard in validateMimeType (WordPress/gutenberg#77168)
- Search block : Match behaviour of global styling for border and color with local styling (inspector controls) to remove inconsistency (WordPress/gutenberg#77060)
- Re-order spacing side controls when unlinked (WordPress/gutenberg#66317)
- Dataviews: remove unneeded ref callbacks (WordPress/gutenberg#77179)
- Experiment: Add revisions panel to templates, template parts and patterns (WordPress/gutenberg#77008)
- Guidelines CPT: Changes slug from wp_content_guidelines to wp_guidelines (WordPress/gutenberg#77147)
- TextArea: add disabled styles (WordPress/gutenberg#77129)
- Writing Flow: Fix format toolbar not appearing when selecting text from block edge (WordPress/gutenberg#77136)
- DataForm: Remove `text-transform` from `panel` field labels (WordPress/gutenberg#77196)
- FormTokenField: fix disabled styles (WordPress/gutenberg#77137)
- Admin UI: Increase page header vertical padding (WordPress/gutenberg#77152)
- Use entity link title for link control preview (WordPress/gutenberg#77155)
- TypeScript: migrate annotations package to TS (WordPress/gutenberg#70602)
- refactor: migrate bin/api-docs to tools/api-docs as workspace `@wordpress/api-docs-generator` (WordPress/gutenberg#77019)
- TypeScript: Migrate viewport package (WordPress/gutenberg#71118)
- UI/Tooltip: Add usage guidelines documentation (WordPress/gutenberg#77158)
- RadioControl: add support for disabling radio group (WordPress/gutenberg#77127)
- Upgrade ESLint to v10 (WordPress/gutenberg#76654)
- Add e2e test coverage for the Guidelines settings page (WordPress/gutenberg#77192)
- Admin UI: Update Page background color to surface-neutral (WordPress/gutenberg#76869)
- Fix lint-staged API docs path (WordPress/gutenberg#77203)
- PresetInputControl: Fix clearing of numeric value in custom input control (WordPress/gutenberg#77139)
- Upload external media: Ensure notice only fires once (WordPress/gutenberg#77218)
- Checkbox: fix disabled styles (WordPress/gutenberg#77132)
- FormToggle: Update disabled styles (WordPress/gutenberg#77208)
- Calendar: fix disabled styles (WordPress/gutenberg#77138)
- Textarea: remove unnecessary styles (WordPress/gutenberg#77221)
- Search Block: Ensure color settings apply to input field when button is disabled (WordPress/gutenberg#77219)
- iAPI Docs: Fix typos, code errors, and inaccuracies in the documentation (WordPress/gutenberg#76636)
- Connectors: don't clobber third-party custom render in registerDefaultConnectors (WordPress/gutenberg#77116)
- Guidelines: Improve guideline revision UX (WordPress/gutenberg#76560)
- ui/`Dialog`: update Header layout, refactor Title to use Text (WordPress/gutenberg#77161)
- ui/docs: add additional global css setup instructions (WordPress/gutenberg#77228)
- ui/VisuallyHidden: Standardize composition pattern (WordPress/gutenberg#77190)
- ui: expose `container` portal prop on all overlay Popup components (WordPress/gutenberg#77163)
- Components: Use `--wpds-cursor-control` for interactive controls (Sass only) (WordPress/gutenberg#76786)
- Card: Remove redundant margin reset from Card.Title (WordPress/gutenberg#77187)
- Theme: Rename typography tokens to use "typography" prefix (WordPress/gutenberg#76912)
- UI: Normalize render prop and ref forwarding patterns (WordPress/gutenberg#77160)
- Ensure "Retry" button is stable during retries (WordPress/gutenberg#77234)
- RTC: Improve array attribute stability when structural changes occur (WordPress/gutenberg#77164)
- Env: Fix loopback requests when running on non-default ports (WordPress/gutenberg#77057)
- Connectors: Replace speak() with notice store for state changes (WordPress/gutenberg#77174)
- Core Data: Fix 'useEntityProp' for raw attributes (WordPress/gutenberg#77120)
- Use image.copyMemory() for batch thumbnail generation (WordPress/gutenberg#76979)
- Post Author Biography: Preserve occurance of white spaces (WordPress/gutenberg#71133)
- Fix PatternsActions prop name from postType to type (WordPress/gutenberg#77251)
- Resolve package-lock.json inconsistency for @babel/eslint-parser (WordPress/gutenberg#77256)
- Fix duotone filter not applying on style variation switch (WordPress/gutenberg#77229)
- Fix: restore editor canvas padding in classic themes (WordPress/gutenberg#76864)
- DataViews: simplify `defaultLayouts` prop (WordPress/gutenberg#77232)
- getMergedItemsIds: receive full page bigger than perPage (WordPress/gutenberg#77262)
- FormTokenField: remove unnecessary styles (WordPress/gutenberg#77263)
- TypeScript: Migrate `packages/list-reusable-blocks` package to TypeScript (WordPress/gutenberg#70518)
- RTC: Add filterable flag for meta box RTC compatibility (WordPress/gutenberg#76939)
- RTC: Fix disconnect dialog due to uneditable entity (WordPress/gutenberg#77242)
- Guidelines: Try removing the jsxRuntime pragma and see what happens (WordPress/gutenberg#77255)
- DataForm: Show tooltip in edit button in `panel` layout (WordPress/gutenberg#77024)
- blocks: Convert blocks package to TypeScript (WordPress/gutenberg#76312)
- Fix Gutenberg_REST_View_Config_Controller_7_1 PHP warnings (WordPress/gutenberg#77290)
- renamed focus visible (WordPress/gutenberg#77292)
- page.waitForFunction: fix call arguments (WordPress/gutenberg#77300)
- Tabs: Simplify anchor handling (WordPress/gutenberg#77189)
- Tests: Auto-fix some new 'eslint-plugin-playwright' warnings (WordPress/gutenberg#77314)
- Tab Menu Item: simplify active tab menu item style (WordPress/gutenberg#77195)
- Eslint: Suggest alternative in `no-setting-ds-tokens` rule (WordPress/gutenberg#77154)
- Autocomplete: Fix flaky e2e tests (WordPress/gutenberg#77322)
- UI: Update `@base-ui/react` from `1.3.0` to `1.4.0` (WordPress/gutenberg#77308)
- Docs: Add README for DatePicker and TimePicker Components (WordPress/gutenberg#70365)
- UI: use Text component for Badge typography (WordPress/gutenberg#77295)
- Block Editor: Extract getElementCSSRules from useBlockProps (WordPress/gutenberg#77327)
- Edit Post: Fix warning in 'useMetaBoxInitialization' hook (WordPress/gutenberg#77311)
- Update the page slug we link to for the AI plugin after the plugin has been installed and activated (WordPress/gutenberg#77336)
- Guidelines CPT: Rename references from content guidelines to guidelines (WordPress/gutenberg#77223)
- Dialog: add explicit margin-inline-end rule to Title (WordPress/gutenberg#77334)
- Remove sandbox `allow-same-origin` for core/html blocks (WordPress/gutenberg#77212)
- Block Directory: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77330)
- Registers wp_guideline_type taxonomy (WordPress/gutenberg#77156)
- DataForm: Add min/max date range support for date and datetime fields (WordPress/gutenberg#77201)
- Separator Block: Apply default block variation when inserting via `---` shortcut (WordPress/gutenberg#77135)
- Paragraph: Prevent `onEnter` splitting of parent block when insertion of that block type is not allowed (WordPress/gutenberg#77291)
- Media Upload Modal: Persist view configuration (WordPress/gutenberg#77288)
- Image block: Validate attachment ID exists before treating image as local (WordPress/gutenberg#77178)
- Tabs: remove sequential numbering from new tab labels (WordPress/gutenberg#77321)
- DataViews: Use `--wpds-cursor-control` design token for interactive controls (WordPress/gutenberg#77259)
- Post Editor: Store metaboxes RTC-compatible flag on location entries (WordPress/gutenberg#77361)
- Guidelines CPT: Skip registration when post type already exists (WordPress/gutenberg#77486)
- RTC: Fixed orphaned meta causing dirty editor state (WordPress/gutenberg#77529)
- Guidelines: Make the CPT type-aware (WordPress/gutenberg#77491)

Props adamsilverstein, jorbin, westonruter, wildworks.
Fixes #65557.
Built from https://develop.svn.wordpress.org/trunk@62580


git-svn-id: http://core.svn.wordpress.org/trunk@61860 1a063a9b-81f0-0310-95a4-ce76da25c4cd
KhushalSainS pushed a commit to KhushalSainS/wordpress-develop that referenced this pull request Jul 1, 2026
This updates the pinned commit hash of the Gutenberg repository from `5426109cdaf45828ef28ff8527d7d38e7e75fe74` (version `22.9.0`) to `7295bd91a3c2b64bb11dde0a12313210d9d16a12` (version `23.0.0`).

A full list of changes included in this commit can be found on GitHub: https://github.com/WordPress/gutenberg/compare/v22.9.0..v23.0.0.

The following commits are included:
- Classify admin-ui and dataviews to components (WordPress/gutenberg#76959)
- Add performance metrics for client-side media processing (WordPress/gutenberg#76792)
- Connectors: Update help text from 'reset' to 'manage' (WordPress/gutenberg#76963)
- Connectors: Hide Akismet unless already installed (WordPress/gutenberg#76962)
- Remove unused catch block variables across the codebase (WordPress/gutenberg#76969)
- Wrap sync update processing in try/catch (WordPress/gutenberg#76968)
- Backport: Improve validation and permission checks for `WP_HTTP_Polling_Sync_Server` (WordPress/gutenberg#76987)
- BlockMover: Remove unused disabled button props (WordPress/gutenberg#76993)
- Core Data: Fix incorrect pagination for non-paginated entities (WordPress/gutenberg#76406)
- Block Editor: Display shortcuts for moving blocks via tooltips (WordPress/gutenberg#76992)
- Convert directories in test/ to workspaces (WordPress/gutenberg#74684)
- RTC: Fix core/table cell merging (WordPress/gutenberg#76913)
- Components: Extract the autocomplete matcher into a separate function (WordPress/gutenberg#76957)
- Added Context for Next/Prev Enlarge Image (WordPress/gutenberg#76967)
- Build Tools: Update TypeScript to 6.0.2 (WordPress/gutenberg#77010)
- Text: Remove UA margins (WordPress/gutenberg#76970)
- Fix pre-existing lint errors across the codebase (WordPress/gutenberg#77002)
- Fix failing 'WP_HTTP_Polling_Sync_Server' unit test (WordPress/gutenberg#77025)
- Card: Set default foreground color on root (WordPress/gutenberg#77013)
- TypeScript: Migrate a11y package to TS  (WordPress/gutenberg#70680)
- Button: Remove unused Storybook story stylesheet (WordPress/gutenberg#77031)
- Improve CSS setup instructions in package readmes (WordPress/gutenberg#76975)
- Use Link component in details story example (WordPress/gutenberg#76997)
- @wordpress/ui: Add global CSS defense module (WordPress/gutenberg#76783)
- Autocompleters: Move and improve links search (WordPress/gutenberg#76995)
- Autocomplete: Refactor useAutocomplete to use useReducer (WordPress/gutenberg#77020)
- Components: Fix autocomplete overlapping trigger matching (WordPress/gutenberg#77018)
- Fix: A sentence has no ending punctuation in README.md file. (WordPress/gutenberg#77027)
- `ValidatedRangeControl`: Fix aria-label rendered as [object Object] (WordPress/gutenberg#77042)
- HStack, VStack: Mark as not recommended for use (WordPress/gutenberg#77041)
- Tests: Fix wp-env scripts not found in test workspaces (WordPress/gutenberg#77055)
- Bump the github-actions group across 1 directory with 2 updates (WordPress/gutenberg#77030)
- Autocomplete: Clarify 'isDebounced' setting limitation (WordPress/gutenberg#77062)
- Fix SyntaxError in Autocompleter UI when pasting matching content (WordPress/gutenberg#76961)
- Connectors: account for mu-plugins when resolving plugin.file status (WordPress/gutenberg#76994)
- Storybook: Fix E2E subpath exports and add CI build smoke test (WordPress/gutenberg#77034)
- Fix Storybook cursor Default option passing theme token (WordPress/gutenberg#77037)
- Storybook: Enable theming toolbar for wp-components (WordPress/gutenberg#77038)
- RTC: Fix "Edit as HTML" content reset during collaboration (WordPress/gutenberg#77043)
- RTC: Fix inline inserter reset on update sync (WordPress/gutenberg#76980)
- RTC: Predefined retry schedules for disconnect dialog, make more lenient (WordPress/gutenberg#76966)
- Block Editor: Prevent Enter key from inserting paragraphs in contentOnly sections (WordPress/gutenberg#76989)
- Editor: Fix 'selectedNote' action PHPDoc (WordPress/gutenberg#77080)
- Tests: Fix argument forwarding for workspace test scripts (WordPress/gutenberg#77083)
- Search block: Derive 'isSearchFieldHidden' value (WordPress/gutenberg#77082)
- Cover block: fix embed video background Error 153 in editor (WordPress/gutenberg#76904)
- Fields: Fix `postContentInfoField` when there are edits (WordPress/gutenberg#76901)
- Restore original template registration tests alongside activation variants (WordPress/gutenberg#77068)
- i18n: Make sprintf return FormattedText for type-safe createInterpolateElement (WordPress/gutenberg#76974)
- Block Editor store: refactor controlledInnerBlocks to Set (WordPress/gutenberg#77094)
- DataForm: support disabled controls (WordPress/gutenberg#77090)
- ESLint plugin: Disable `jsx-a11y/heading-has-content` (WordPress/gutenberg#77073)
- Remove remaining esModuleInterop usage (WordPress/gutenberg#77095)
- Avoid stale values in core/cover block for RTC compatibility (WordPress/gutenberg#76916)
- RTC: Add optional `shouldSync` function to entity sync config (WordPress/gutenberg#76947)
- Bump oras-project/setup-oras (WordPress/gutenberg#77096)
- RTC: Change SyncConnectionModal to isSyncConnectionErrorHandled filter and drop IS_GUTENBERG_PLUGIN check (WordPress/gutenberg#76853)
- RTC: Respect WP_ALLOW_COLLABORATION in Gutenberg for activation hook (WordPress/gutenberg#77084)
- Add iteration issue template (WordPress/gutenberg#77113)
- Media Modal Experiment: Set matching picker grid layout properties for when a user switches between layouts (WordPress/gutenberg#77118)
- contentOnly template lock: Fix block insertion and removal rules (WordPress/gutenberg#77119)
- Global Styles Revisions: Fix footer overflow (WordPress/gutenberg#77103)
- updateBlockListSettings: convert state to Map, do all updates in one action (WordPress/gutenberg#46392)
- DataViews: Fix `compact` density clipping and remove top/bottom padding (WordPress/gutenberg#77054)
- Icons: Override WP_Icons_Registry singleton with Gutenberg icons registry (WordPress/gutenberg#76455)
- Button: Remove obsolete Safari + VoiceOver workaround (WordPress/gutenberg#77107)
- E2E Tests: Ensure artifacts generate correctly and remove unnecessary artifacts (WordPress/gutenberg#77093)
- UI `Text`: Mark as recommended (WordPress/gutenberg#77044)
- ui/AlertDialog: better async confirm APIs, fully use base ui's `AlertDialog` (WordPress/gutenberg#76937)
- BlockStyleVariationOverridesWithConfig: change name and fix lint errors (WordPress/gutenberg#77130)
- Add `.scss` files to CSS module linting (WordPress/gutenberg#77140)
- BoxControl: remove unused state for icon side (WordPress/gutenberg#77143)
- Fix overflow of Highlighted white-space in Code Block (WordPress/gutenberg#77085)
- move pseudo-state slicing logic into useStyle hook (WordPress/gutenberg#77104)
- Autocomplete: Remove getAutoCompleterUI factory pattern (WordPress/gutenberg#77048)
- Add `date` field in templates and template parts (WordPress/gutenberg#77134)
- Revisions: Simplify fetching (WordPress/gutenberg#77086)
- Remove 'Home' and 'End' key usage from Navigation Tests (WordPress/gutenberg#77102)
- Guidelines: Update actions-section and import/export workflow (WordPress/gutenberg#76621)
- Image block: Hide drag handles while an upload is in progress (WordPress/gutenberg#77121)
- Build: Fix glob ignore patterns in dot-prefixed directories (WordPress/gutenberg#75114)
- Added missing documentation in `collaboration.php` (WordPress/gutenberg#77173)
- `@wordpress/ui`: add `Popover` (WordPress/gutenberg#76438)
- Add Site Tagline and Site Title to Design > Identity panel (WordPress/gutenberg#76264)
- Revision: Fix 'Show changes' button reset state (WordPress/gutenberg#77122)
- Components: update React function names for better ESLint detection (WordPress/gutenberg#77148)
- Link picker: Decode HTML entities in link preview title (WordPress/gutenberg#77170)
- MediaEdit: handle '*' wildcard in validateMimeType (WordPress/gutenberg#77168)
- Search block : Match behaviour of global styling for border and color with local styling (inspector controls) to remove inconsistency (WordPress/gutenberg#77060)
- Re-order spacing side controls when unlinked (WordPress/gutenberg#66317)
- Dataviews: remove unneeded ref callbacks (WordPress/gutenberg#77179)
- Experiment: Add revisions panel to templates, template parts and patterns (WordPress/gutenberg#77008)
- Guidelines CPT: Changes slug from wp_content_guidelines to wp_guidelines (WordPress/gutenberg#77147)
- TextArea: add disabled styles (WordPress/gutenberg#77129)
- Writing Flow: Fix format toolbar not appearing when selecting text from block edge (WordPress/gutenberg#77136)
- DataForm: Remove `text-transform` from `panel` field labels (WordPress/gutenberg#77196)
- FormTokenField: fix disabled styles (WordPress/gutenberg#77137)
- Admin UI: Increase page header vertical padding (WordPress/gutenberg#77152)
- Use entity link title for link control preview (WordPress/gutenberg#77155)
- TypeScript: migrate annotations package to TS (WordPress/gutenberg#70602)
- refactor: migrate bin/api-docs to tools/api-docs as workspace `@wordpress/api-docs-generator` (WordPress/gutenberg#77019)
- TypeScript: Migrate viewport package (WordPress/gutenberg#71118)
- UI/Tooltip: Add usage guidelines documentation (WordPress/gutenberg#77158)
- RadioControl: add support for disabling radio group (WordPress/gutenberg#77127)
- Upgrade ESLint to v10 (WordPress/gutenberg#76654)
- Add e2e test coverage for the Guidelines settings page (WordPress/gutenberg#77192)
- Admin UI: Update Page background color to surface-neutral (WordPress/gutenberg#76869)
- Fix lint-staged API docs path (WordPress/gutenberg#77203)
- PresetInputControl: Fix clearing of numeric value in custom input control (WordPress/gutenberg#77139)
- Upload external media: Ensure notice only fires once (WordPress/gutenberg#77218)
- Checkbox: fix disabled styles (WordPress/gutenberg#77132)
- FormToggle: Update disabled styles (WordPress/gutenberg#77208)
- Calendar: fix disabled styles (WordPress/gutenberg#77138)
- Textarea: remove unnecessary styles (WordPress/gutenberg#77221)
- Search Block: Ensure color settings apply to input field when button is disabled (WordPress/gutenberg#77219)
- iAPI Docs: Fix typos, code errors, and inaccuracies in the documentation (WordPress/gutenberg#76636)
- Connectors: don't clobber third-party custom render in registerDefaultConnectors (WordPress/gutenberg#77116)
- Guidelines: Improve guideline revision UX (WordPress/gutenberg#76560)
- ui/`Dialog`: update Header layout, refactor Title to use Text (WordPress/gutenberg#77161)
- ui/docs: add additional global css setup instructions (WordPress/gutenberg#77228)
- ui/VisuallyHidden: Standardize composition pattern (WordPress/gutenberg#77190)
- ui: expose `container` portal prop on all overlay Popup components (WordPress/gutenberg#77163)
- Components: Use `--wpds-cursor-control` for interactive controls (Sass only) (WordPress/gutenberg#76786)
- Card: Remove redundant margin reset from Card.Title (WordPress/gutenberg#77187)
- Theme: Rename typography tokens to use "typography" prefix (WordPress/gutenberg#76912)
- UI: Normalize render prop and ref forwarding patterns (WordPress/gutenberg#77160)
- Ensure "Retry" button is stable during retries (WordPress/gutenberg#77234)
- RTC: Improve array attribute stability when structural changes occur (WordPress/gutenberg#77164)
- Env: Fix loopback requests when running on non-default ports (WordPress/gutenberg#77057)
- Connectors: Replace speak() with notice store for state changes (WordPress/gutenberg#77174)
- Core Data: Fix 'useEntityProp' for raw attributes (WordPress/gutenberg#77120)
- Use image.copyMemory() for batch thumbnail generation (WordPress/gutenberg#76979)
- Post Author Biography: Preserve occurance of white spaces (WordPress/gutenberg#71133)
- Fix PatternsActions prop name from postType to type (WordPress/gutenberg#77251)
- Resolve package-lock.json inconsistency for @babel/eslint-parser (WordPress/gutenberg#77256)
- Fix duotone filter not applying on style variation switch (WordPress/gutenberg#77229)
- Fix: restore editor canvas padding in classic themes (WordPress/gutenberg#76864)
- DataViews: simplify `defaultLayouts` prop (WordPress/gutenberg#77232)
- getMergedItemsIds: receive full page bigger than perPage (WordPress/gutenberg#77262)
- FormTokenField: remove unnecessary styles (WordPress/gutenberg#77263)
- TypeScript: Migrate `packages/list-reusable-blocks` package to TypeScript (WordPress/gutenberg#70518)
- RTC: Add filterable flag for meta box RTC compatibility (WordPress/gutenberg#76939)
- RTC: Fix disconnect dialog due to uneditable entity (WordPress/gutenberg#77242)
- Guidelines: Try removing the jsxRuntime pragma and see what happens (WordPress/gutenberg#77255)
- DataForm: Show tooltip in edit button in `panel` layout (WordPress/gutenberg#77024)
- blocks: Convert blocks package to TypeScript (WordPress/gutenberg#76312)
- Fix Gutenberg_REST_View_Config_Controller_7_1 PHP warnings (WordPress/gutenberg#77290)
- renamed focus visible (WordPress/gutenberg#77292)
- page.waitForFunction: fix call arguments (WordPress/gutenberg#77300)
- Tabs: Simplify anchor handling (WordPress/gutenberg#77189)
- Tests: Auto-fix some new 'eslint-plugin-playwright' warnings (WordPress/gutenberg#77314)
- Tab Menu Item: simplify active tab menu item style (WordPress/gutenberg#77195)
- Eslint: Suggest alternative in `no-setting-ds-tokens` rule (WordPress/gutenberg#77154)
- Autocomplete: Fix flaky e2e tests (WordPress/gutenberg#77322)
- UI: Update `@base-ui/react` from `1.3.0` to `1.4.0` (WordPress/gutenberg#77308)
- Docs: Add README for DatePicker and TimePicker Components (WordPress/gutenberg#70365)
- UI: use Text component for Badge typography (WordPress/gutenberg#77295)
- Block Editor: Extract getElementCSSRules from useBlockProps (WordPress/gutenberg#77327)
- Edit Post: Fix warning in 'useMetaBoxInitialization' hook (WordPress/gutenberg#77311)
- Update the page slug we link to for the AI plugin after the plugin has been installed and activated (WordPress/gutenberg#77336)
- Guidelines CPT: Rename references from content guidelines to guidelines (WordPress/gutenberg#77223)
- Dialog: add explicit margin-inline-end rule to Title (WordPress/gutenberg#77334)
- Remove sandbox `allow-same-origin` for core/html blocks (WordPress/gutenberg#77212)
- Block Directory: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77330)
- Registers wp_guideline_type taxonomy (WordPress/gutenberg#77156)
- DataForm: Add min/max date range support for date and datetime fields (WordPress/gutenberg#77201)
- Separator Block: Apply default block variation when inserting via `---` shortcut (WordPress/gutenberg#77135)
- Paragraph: Prevent `onEnter` splitting of parent block when insertion of that block type is not allowed (WordPress/gutenberg#77291)
- Media Upload Modal: Persist view configuration (WordPress/gutenberg#77288)
- Image block: Validate attachment ID exists before treating image as local (WordPress/gutenberg#77178)
- Tabs: remove sequential numbering from new tab labels (WordPress/gutenberg#77321)
- DataViews: Use `--wpds-cursor-control` design token for interactive controls (WordPress/gutenberg#77259)
- Post Editor: Store metaboxes RTC-compatible flag on location entries (WordPress/gutenberg#77361)
- Guidelines CPT: Skip registration when post type already exists (WordPress/gutenberg#77486)
- RTC: Fixed orphaned meta causing dirty editor state (WordPress/gutenberg#77529)
- Guidelines: Make the CPT type-aware (WordPress/gutenberg#77491)

Props adamsilverstein, jorbin, westonruter, wildworks.
Fixes #65557.

git-svn-id: https://develop.svn.wordpress.org/trunk@62580 602fd350-edb4-49c9-b593-d223f7449a82
SteelWagstaff pushed a commit to SteelWagstaff/wordpress-develop that referenced this pull request Jul 2, 2026
This updates the pinned commit hash of the Gutenberg repository from `5426109cdaf45828ef28ff8527d7d38e7e75fe74` (version `22.9.0`) to `7295bd91a3c2b64bb11dde0a12313210d9d16a12` (version `23.0.0`).

A full list of changes included in this commit can be found on GitHub: https://github.com/WordPress/gutenberg/compare/v22.9.0..v23.0.0.

The following commits are included:
- Classify admin-ui and dataviews to components (WordPress/gutenberg#76959)
- Add performance metrics for client-side media processing (WordPress/gutenberg#76792)
- Connectors: Update help text from 'reset' to 'manage' (WordPress/gutenberg#76963)
- Connectors: Hide Akismet unless already installed (WordPress/gutenberg#76962)
- Remove unused catch block variables across the codebase (WordPress/gutenberg#76969)
- Wrap sync update processing in try/catch (WordPress/gutenberg#76968)
- Backport: Improve validation and permission checks for `WP_HTTP_Polling_Sync_Server` (WordPress/gutenberg#76987)
- BlockMover: Remove unused disabled button props (WordPress/gutenberg#76993)
- Core Data: Fix incorrect pagination for non-paginated entities (WordPress/gutenberg#76406)
- Block Editor: Display shortcuts for moving blocks via tooltips (WordPress/gutenberg#76992)
- Convert directories in test/ to workspaces (WordPress/gutenberg#74684)
- RTC: Fix core/table cell merging (WordPress/gutenberg#76913)
- Components: Extract the autocomplete matcher into a separate function (WordPress/gutenberg#76957)
- Added Context for Next/Prev Enlarge Image (WordPress/gutenberg#76967)
- Build Tools: Update TypeScript to 6.0.2 (WordPress/gutenberg#77010)
- Text: Remove UA margins (WordPress/gutenberg#76970)
- Fix pre-existing lint errors across the codebase (WordPress/gutenberg#77002)
- Fix failing 'WP_HTTP_Polling_Sync_Server' unit test (WordPress/gutenberg#77025)
- Card: Set default foreground color on root (WordPress/gutenberg#77013)
- TypeScript: Migrate a11y package to TS  (WordPress/gutenberg#70680)
- Button: Remove unused Storybook story stylesheet (WordPress/gutenberg#77031)
- Improve CSS setup instructions in package readmes (WordPress/gutenberg#76975)
- Use Link component in details story example (WordPress/gutenberg#76997)
- @wordpress/ui: Add global CSS defense module (WordPress/gutenberg#76783)
- Autocompleters: Move and improve links search (WordPress/gutenberg#76995)
- Autocomplete: Refactor useAutocomplete to use useReducer (WordPress/gutenberg#77020)
- Components: Fix autocomplete overlapping trigger matching (WordPress/gutenberg#77018)
- Fix: A sentence has no ending punctuation in README.md file. (WordPress/gutenberg#77027)
- `ValidatedRangeControl`: Fix aria-label rendered as [object Object] (WordPress/gutenberg#77042)
- HStack, VStack: Mark as not recommended for use (WordPress/gutenberg#77041)
- Tests: Fix wp-env scripts not found in test workspaces (WordPress/gutenberg#77055)
- Bump the github-actions group across 1 directory with 2 updates (WordPress/gutenberg#77030)
- Autocomplete: Clarify 'isDebounced' setting limitation (WordPress/gutenberg#77062)
- Fix SyntaxError in Autocompleter UI when pasting matching content (WordPress/gutenberg#76961)
- Connectors: account for mu-plugins when resolving plugin.file status (WordPress/gutenberg#76994)
- Storybook: Fix E2E subpath exports and add CI build smoke test (WordPress/gutenberg#77034)
- Fix Storybook cursor Default option passing theme token (WordPress/gutenberg#77037)
- Storybook: Enable theming toolbar for wp-components (WordPress/gutenberg#77038)
- RTC: Fix "Edit as HTML" content reset during collaboration (WordPress/gutenberg#77043)
- RTC: Fix inline inserter reset on update sync (WordPress/gutenberg#76980)
- RTC: Predefined retry schedules for disconnect dialog, make more lenient (WordPress/gutenberg#76966)
- Block Editor: Prevent Enter key from inserting paragraphs in contentOnly sections (WordPress/gutenberg#76989)
- Editor: Fix 'selectedNote' action PHPDoc (WordPress/gutenberg#77080)
- Tests: Fix argument forwarding for workspace test scripts (WordPress/gutenberg#77083)
- Search block: Derive 'isSearchFieldHidden' value (WordPress/gutenberg#77082)
- Cover block: fix embed video background Error 153 in editor (WordPress/gutenberg#76904)
- Fields: Fix `postContentInfoField` when there are edits (WordPress/gutenberg#76901)
- Restore original template registration tests alongside activation variants (WordPress/gutenberg#77068)
- i18n: Make sprintf return FormattedText for type-safe createInterpolateElement (WordPress/gutenberg#76974)
- Block Editor store: refactor controlledInnerBlocks to Set (WordPress/gutenberg#77094)
- DataForm: support disabled controls (WordPress/gutenberg#77090)
- ESLint plugin: Disable `jsx-a11y/heading-has-content` (WordPress/gutenberg#77073)
- Remove remaining esModuleInterop usage (WordPress/gutenberg#77095)
- Avoid stale values in core/cover block for RTC compatibility (WordPress/gutenberg#76916)
- RTC: Add optional `shouldSync` function to entity sync config (WordPress/gutenberg#76947)
- Bump oras-project/setup-oras (WordPress/gutenberg#77096)
- RTC: Change SyncConnectionModal to isSyncConnectionErrorHandled filter and drop IS_GUTENBERG_PLUGIN check (WordPress/gutenberg#76853)
- RTC: Respect WP_ALLOW_COLLABORATION in Gutenberg for activation hook (WordPress/gutenberg#77084)
- Add iteration issue template (WordPress/gutenberg#77113)
- Media Modal Experiment: Set matching picker grid layout properties for when a user switches between layouts (WordPress/gutenberg#77118)
- contentOnly template lock: Fix block insertion and removal rules (WordPress/gutenberg#77119)
- Global Styles Revisions: Fix footer overflow (WordPress/gutenberg#77103)
- updateBlockListSettings: convert state to Map, do all updates in one action (WordPress/gutenberg#46392)
- DataViews: Fix `compact` density clipping and remove top/bottom padding (WordPress/gutenberg#77054)
- Icons: Override WP_Icons_Registry singleton with Gutenberg icons registry (WordPress/gutenberg#76455)
- Button: Remove obsolete Safari + VoiceOver workaround (WordPress/gutenberg#77107)
- E2E Tests: Ensure artifacts generate correctly and remove unnecessary artifacts (WordPress/gutenberg#77093)
- UI `Text`: Mark as recommended (WordPress/gutenberg#77044)
- ui/AlertDialog: better async confirm APIs, fully use base ui's `AlertDialog` (WordPress/gutenberg#76937)
- BlockStyleVariationOverridesWithConfig: change name and fix lint errors (WordPress/gutenberg#77130)
- Add `.scss` files to CSS module linting (WordPress/gutenberg#77140)
- BoxControl: remove unused state for icon side (WordPress/gutenberg#77143)
- Fix overflow of Highlighted white-space in Code Block (WordPress/gutenberg#77085)
- move pseudo-state slicing logic into useStyle hook (WordPress/gutenberg#77104)
- Autocomplete: Remove getAutoCompleterUI factory pattern (WordPress/gutenberg#77048)
- Add `date` field in templates and template parts (WordPress/gutenberg#77134)
- Revisions: Simplify fetching (WordPress/gutenberg#77086)
- Remove 'Home' and 'End' key usage from Navigation Tests (WordPress/gutenberg#77102)
- Guidelines: Update actions-section and import/export workflow (WordPress/gutenberg#76621)
- Image block: Hide drag handles while an upload is in progress (WordPress/gutenberg#77121)
- Build: Fix glob ignore patterns in dot-prefixed directories (WordPress/gutenberg#75114)
- Added missing documentation in `collaboration.php` (WordPress/gutenberg#77173)
- `@wordpress/ui`: add `Popover` (WordPress/gutenberg#76438)
- Add Site Tagline and Site Title to Design > Identity panel (WordPress/gutenberg#76264)
- Revision: Fix 'Show changes' button reset state (WordPress/gutenberg#77122)
- Components: update React function names for better ESLint detection (WordPress/gutenberg#77148)
- Link picker: Decode HTML entities in link preview title (WordPress/gutenberg#77170)
- MediaEdit: handle '*' wildcard in validateMimeType (WordPress/gutenberg#77168)
- Search block : Match behaviour of global styling for border and color with local styling (inspector controls) to remove inconsistency (WordPress/gutenberg#77060)
- Re-order spacing side controls when unlinked (WordPress/gutenberg#66317)
- Dataviews: remove unneeded ref callbacks (WordPress/gutenberg#77179)
- Experiment: Add revisions panel to templates, template parts and patterns (WordPress/gutenberg#77008)
- Guidelines CPT: Changes slug from wp_content_guidelines to wp_guidelines (WordPress/gutenberg#77147)
- TextArea: add disabled styles (WordPress/gutenberg#77129)
- Writing Flow: Fix format toolbar not appearing when selecting text from block edge (WordPress/gutenberg#77136)
- DataForm: Remove `text-transform` from `panel` field labels (WordPress/gutenberg#77196)
- FormTokenField: fix disabled styles (WordPress/gutenberg#77137)
- Admin UI: Increase page header vertical padding (WordPress/gutenberg#77152)
- Use entity link title for link control preview (WordPress/gutenberg#77155)
- TypeScript: migrate annotations package to TS (WordPress/gutenberg#70602)
- refactor: migrate bin/api-docs to tools/api-docs as workspace `@wordpress/api-docs-generator` (WordPress/gutenberg#77019)
- TypeScript: Migrate viewport package (WordPress/gutenberg#71118)
- UI/Tooltip: Add usage guidelines documentation (WordPress/gutenberg#77158)
- RadioControl: add support for disabling radio group (WordPress/gutenberg#77127)
- Upgrade ESLint to v10 (WordPress/gutenberg#76654)
- Add e2e test coverage for the Guidelines settings page (WordPress/gutenberg#77192)
- Admin UI: Update Page background color to surface-neutral (WordPress/gutenberg#76869)
- Fix lint-staged API docs path (WordPress/gutenberg#77203)
- PresetInputControl: Fix clearing of numeric value in custom input control (WordPress/gutenberg#77139)
- Upload external media: Ensure notice only fires once (WordPress/gutenberg#77218)
- Checkbox: fix disabled styles (WordPress/gutenberg#77132)
- FormToggle: Update disabled styles (WordPress/gutenberg#77208)
- Calendar: fix disabled styles (WordPress/gutenberg#77138)
- Textarea: remove unnecessary styles (WordPress/gutenberg#77221)
- Search Block: Ensure color settings apply to input field when button is disabled (WordPress/gutenberg#77219)
- iAPI Docs: Fix typos, code errors, and inaccuracies in the documentation (WordPress/gutenberg#76636)
- Connectors: don't clobber third-party custom render in registerDefaultConnectors (WordPress/gutenberg#77116)
- Guidelines: Improve guideline revision UX (WordPress/gutenberg#76560)
- ui/`Dialog`: update Header layout, refactor Title to use Text (WordPress/gutenberg#77161)
- ui/docs: add additional global css setup instructions (WordPress/gutenberg#77228)
- ui/VisuallyHidden: Standardize composition pattern (WordPress/gutenberg#77190)
- ui: expose `container` portal prop on all overlay Popup components (WordPress/gutenberg#77163)
- Components: Use `--wpds-cursor-control` for interactive controls (Sass only) (WordPress/gutenberg#76786)
- Card: Remove redundant margin reset from Card.Title (WordPress/gutenberg#77187)
- Theme: Rename typography tokens to use "typography" prefix (WordPress/gutenberg#76912)
- UI: Normalize render prop and ref forwarding patterns (WordPress/gutenberg#77160)
- Ensure "Retry" button is stable during retries (WordPress/gutenberg#77234)
- RTC: Improve array attribute stability when structural changes occur (WordPress/gutenberg#77164)
- Env: Fix loopback requests when running on non-default ports (WordPress/gutenberg#77057)
- Connectors: Replace speak() with notice store for state changes (WordPress/gutenberg#77174)
- Core Data: Fix 'useEntityProp' for raw attributes (WordPress/gutenberg#77120)
- Use image.copyMemory() for batch thumbnail generation (WordPress/gutenberg#76979)
- Post Author Biography: Preserve occurance of white spaces (WordPress/gutenberg#71133)
- Fix PatternsActions prop name from postType to type (WordPress/gutenberg#77251)
- Resolve package-lock.json inconsistency for @babel/eslint-parser (WordPress/gutenberg#77256)
- Fix duotone filter not applying on style variation switch (WordPress/gutenberg#77229)
- Fix: restore editor canvas padding in classic themes (WordPress/gutenberg#76864)
- DataViews: simplify `defaultLayouts` prop (WordPress/gutenberg#77232)
- getMergedItemsIds: receive full page bigger than perPage (WordPress/gutenberg#77262)
- FormTokenField: remove unnecessary styles (WordPress/gutenberg#77263)
- TypeScript: Migrate `packages/list-reusable-blocks` package to TypeScript (WordPress/gutenberg#70518)
- RTC: Add filterable flag for meta box RTC compatibility (WordPress/gutenberg#76939)
- RTC: Fix disconnect dialog due to uneditable entity (WordPress/gutenberg#77242)
- Guidelines: Try removing the jsxRuntime pragma and see what happens (WordPress/gutenberg#77255)
- DataForm: Show tooltip in edit button in `panel` layout (WordPress/gutenberg#77024)
- blocks: Convert blocks package to TypeScript (WordPress/gutenberg#76312)
- Fix Gutenberg_REST_View_Config_Controller_7_1 PHP warnings (WordPress/gutenberg#77290)
- renamed focus visible (WordPress/gutenberg#77292)
- page.waitForFunction: fix call arguments (WordPress/gutenberg#77300)
- Tabs: Simplify anchor handling (WordPress/gutenberg#77189)
- Tests: Auto-fix some new 'eslint-plugin-playwright' warnings (WordPress/gutenberg#77314)
- Tab Menu Item: simplify active tab menu item style (WordPress/gutenberg#77195)
- Eslint: Suggest alternative in `no-setting-ds-tokens` rule (WordPress/gutenberg#77154)
- Autocomplete: Fix flaky e2e tests (WordPress/gutenberg#77322)
- UI: Update `@base-ui/react` from `1.3.0` to `1.4.0` (WordPress/gutenberg#77308)
- Docs: Add README for DatePicker and TimePicker Components (WordPress/gutenberg#70365)
- UI: use Text component for Badge typography (WordPress/gutenberg#77295)
- Block Editor: Extract getElementCSSRules from useBlockProps (WordPress/gutenberg#77327)
- Edit Post: Fix warning in 'useMetaBoxInitialization' hook (WordPress/gutenberg#77311)
- Update the page slug we link to for the AI plugin after the plugin has been installed and activated (WordPress/gutenberg#77336)
- Guidelines CPT: Rename references from content guidelines to guidelines (WordPress/gutenberg#77223)
- Dialog: add explicit margin-inline-end rule to Title (WordPress/gutenberg#77334)
- Remove sandbox `allow-same-origin` for core/html blocks (WordPress/gutenberg#77212)
- Block Directory: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77330)
- Registers wp_guideline_type taxonomy (WordPress/gutenberg#77156)
- DataForm: Add min/max date range support for date and datetime fields (WordPress/gutenberg#77201)
- Separator Block: Apply default block variation when inserting via `---` shortcut (WordPress/gutenberg#77135)
- Paragraph: Prevent `onEnter` splitting of parent block when insertion of that block type is not allowed (WordPress/gutenberg#77291)
- Media Upload Modal: Persist view configuration (WordPress/gutenberg#77288)
- Image block: Validate attachment ID exists before treating image as local (WordPress/gutenberg#77178)
- Tabs: remove sequential numbering from new tab labels (WordPress/gutenberg#77321)
- DataViews: Use `--wpds-cursor-control` design token for interactive controls (WordPress/gutenberg#77259)
- Post Editor: Store metaboxes RTC-compatible flag on location entries (WordPress/gutenberg#77361)
- Guidelines CPT: Skip registration when post type already exists (WordPress/gutenberg#77486)
- RTC: Fixed orphaned meta causing dirty editor state (WordPress/gutenberg#77529)
- Guidelines: Make the CPT type-aware (WordPress/gutenberg#77491)

Props adamsilverstein, jorbin, westonruter, wildworks.
Fixes #65557.

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

Labels

[Type] Code Quality Issues or PRs that relate to code quality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants