Skip to content

TypeScript: migrate annotations package to TS#70602

Merged
manzoorwanijk merged 17 commits into
WordPress:trunkfrom
kushagra-goyal-14:try/migrate-annotations-ts
Apr 9, 2026
Merged

TypeScript: migrate annotations package to TS#70602
manzoorwanijk merged 17 commits into
WordPress:trunkfrom
kushagra-goyal-14:try/migrate-annotations-ts

Conversation

@kushagra-goyal-14

Copy link
Copy Markdown
Contributor

What?

Part of #67691

Migrating the annotations package to TypeScript.

Why?

To enhance DX and add type safety.

How?

By porting the code and tests to TypeScript.

Testing Instructions

Typecheck and unit tests.

@kushagra-goyal-14
kushagra-goyal-14 marked this pull request as ready for review July 3, 2025 11:14
@github-actions

github-actions Bot commented Jul 3, 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: kushagra-goyal-14 <kush123@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.

@t-hamano t-hamano mentioned this pull request Jul 4, 2025
41 tasks
@t-hamano t-hamano added [Type] Code Quality Issues or PRs that relate to code quality [Feature] Annotations Adding annotation functionality labels Jul 4, 2025
Comment thread packages/annotations/src/block/index.ts Outdated
Comment on lines +19 to +20
const addAnnotationClassName = ( OriginalComponent: any ) => {
return ( withSelect as any )(

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.

I would prefer to avoid these two any here, which means, we probably should first convert withSelect to typescript.

@manzoorwanijk

Copy link
Copy Markdown
Member

What is the status here?

@kushagra-goyal-14

Copy link
Copy Markdown
Contributor Author

Hi @manzoorwanijk, I made some changes since it seems withSelect has been migrated. Can you please review them?

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

Migrates the @wordpress/annotations package implementation and tests to TypeScript as part of the broader “convert packages to TS” effort, adding explicit types for annotations, store actions/state, and format registration.

Changes:

  • Adds a new TS project config for packages/annotations and wires it into the root TS project references.
  • Ports annotations store (actions/reducer/selectors) and related runtime modules (format + block filter) to TypeScript and introduces shared types.ts.
  • Updates docs autogen tokens to point at the new .ts sources.

Reviewed changes

Copilot reviewed 15 out of 17 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
tsconfig.json Adds packages/annotations as a TS project reference.
packages/annotations/tsconfig.json New package-level TS config (rootDir, declarationDir, references).
packages/annotations/src/types.ts Introduces core annotation/store/format TypeScript types.
packages/annotations/src/store/actions.ts Ports store actions to TS, adds typed action union usage.
packages/annotations/src/store/reducer.ts Ports reducer to TS and adds typed helpers/validation.
packages/annotations/src/store/selectors.ts Adds TS types for selector inputs/outputs and tightens JSDoc.
packages/annotations/src/store/index.ts Keeps store registration; minor JSDoc cleanup.
packages/annotations/src/store/constants.ts Minor JSDoc cleanup.
packages/annotations/src/store/test/reducer.ts Updates tests for TS types and stricter action shapes.
packages/annotations/src/index.ts New TS entrypoint importing format/block side effects and exporting store.
packages/annotations/src/format/index.ts TS adjustment for registering the annotation rich-text format.
packages/annotations/src/format/annotation.ts Adds RichTextValue typing + TS-safe handling in format utilities.
packages/annotations/src/block/index.ts Ports block filter to TS and uses the exported store in select.
docs/reference-guides/data/data-core-annotations.md Updates autogen tokens to reference .ts sources.
Comments suppressed due to low confidence (1)

packages/annotations/src/format/index.ts:13

  • registerFormatType is being called with settings as any, which defeats the goal of the TS migration. It looks like the annotation format object is missing required properties from the WPFormat shape (notably interactive and object); adding them to the format definition (and to the AnnotationFormat type) should allow removing this cast.

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

@@ -0,0 +1,20 @@
{

Copilot AI Apr 3, 2026

Copy link

Choose a reason for hiding this comment

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

The tsconfig files in this repo typically include the $schema field for editor/validation support. Consider adding it here for consistency with other package tsconfigs (e.g. packages/keycodes/tsconfig.json).

Suggested change
{
{
"$schema": "https://json.schemastore.org/tsconfig",

Copilot uses AI. Check for mistakes.
* The `block` attribute refers to a block ID that needs to be annotated.
* `isBlockAnnotation` controls whether or not the annotation is a block
* annotation. The `source` is the source of the annotation, this will be used
* to identity groups of annotations.

Copilot AI Apr 3, 2026

Copy link

Choose a reason for hiding this comment

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

The JSDoc says "to identity groups of annotations" which reads like a typo/grammar issue. This should likely be "to identify groups of annotations".

Suggested change
* to identity groups of annotations.
* to identify groups of annotations.

Copilot uses AI. Check for mistakes.
Comment on lines +56 to +59
if ( selector === 'range' ) {
(
action as Extract< AnnotationAction, { type: 'ANNOTATION_ADD' } >
).range = range as WPAnnotationRange;

Copilot AI Apr 3, 2026

Copy link

Choose a reason for hiding this comment

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

range is declared as WPAnnotationRange | null in AddAnnotationParameters, but this code force-casts it to WPAnnotationRange and assigns it even when it may be null. This weakens type safety and can hide invalid dispatches; consider only setting action.range when range is non-null (or update the AnnotationAction type to reflect null if it's intentionally allowed).

Suggested change
if ( selector === 'range' ) {
(
action as Extract< AnnotationAction, { type: 'ANNOTATION_ADD' } >
).range = range as WPAnnotationRange;
if ( selector === 'range' && range !== null ) {
(
action as Extract< AnnotationAction, { type: 'ANNOTATION_ADD' } >
).range = range;

Copilot uses AI. Check for mistakes.
attributes: {
className: string;
id: string;
};

Copilot AI Apr 3, 2026

Copy link

Choose a reason for hiding this comment

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

AnnotationFormat doesn't include the interactive and object properties that @wordpress/rich-text's registerFormatType expects for a WPFormat, which is likely why settings as any is needed in format/index.ts. Consider adding these fields (e.g. as booleans) so the format object can be passed to registerFormatType without an unsafe cast.

Suggested change
};
};
interactive: boolean;
object: boolean;

Copilot uses AI. Check for mistakes.
Comment on lines +16 to +20
* @property {number} start The offset where the annotation should start.
* @property {number} end The offset where the annotation should end.
*/

/**

Copilot AI Apr 3, 2026

Copy link

Choose a reason for hiding this comment

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

This standalone JSDoc block with only @property tags looks like a leftover from the old @typedef WPAnnotationRange and is no longer attached to any symbol (since WPAnnotationRange is now a TS interface). Consider removing it to avoid confusing doc generation / JSDoc linting.

Suggested change
* @property {number} start The offset where the annotation should start.
* @property {number} end The offset where the annotation should end.
*/
/**

Copilot uses AI. Check for mistakes.
@kushagra-goyal-14

Copy link
Copy Markdown
Contributor Author

@manzoorwanijk I have made the changes as per the Copilot review. Can you please re-check? Thanks

@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 good. I have some suggestions for further improvements.

Comment thread packages/annotations/tsconfig.json Outdated
Comment on lines +3 to +6
"compilerOptions": {
"rootDir": "src",
"declarationDir": "build-types"
},

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.

We don't need these overrides.

Suggested change
"compilerOptions": {
"rootDir": "src",
"declarationDir": "build-types"
},

Comment thread packages/annotations/tsconfig.json Outdated
Comment on lines +12 to +19
],
"include": [ "src/**/*" ],
"exclude": [
"src/**/*.test.ts",
"src/**/*.test.tsx",
"src/**/test/**/*.ts",
"src/**/test/**/*.tsx"
]

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.

We don't need these overrides either

Suggested change
],
"include": [ "src/**/*" ],
"exclude": [
"src/**/*.test.ts",
"src/**/*.test.tsx",
"src/**/test/**/*.ts",
"src/**/test/**/*.tsx"
]
]

selector: 'range',
range: {
start: 'not a number',
start: 'not a number' as any,

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.

It's better to use // @ts-expect-error in such cases with a comment explaining why.

range: {
start: 100,
end: 'not a number',
end: 'not a number' as any,

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.

Same here about using // @ts-expect-error.

Comment thread packages/annotations/src/types.ts Outdated
/**
* Represents a range in text content.
*/
export interface WPAnnotationRange {

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.

Let us remove the WP prefix here.

Comment thread packages/annotations/src/types.ts Outdated
/**
* Base annotation interface.
*/
export interface WPAnnotation {

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.

No need of WP prefix.

Comment thread tsconfig.json Outdated
"references": [
{ "path": "bin" },
{ "path": "packages/a11y" },
{ "path": "packages/annotations" },

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.

Let us place it in the correct place in alphabetical order.

@manzoorwanijk
manzoorwanijk requested a review from Copilot April 7, 2026 17:51

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

We haven't added the types field to package.json here. We also need to add it to the exports['.'] field there.

@manzoorwanijk

Copy link
Copy Markdown
Member

@claude Review this

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 14 out of 16 changed files in this pull request and generated 1 comment.

Comments suppressed due to low confidence (1)

packages/annotations/src/store/selectors.ts:76

  • In __experimentalGetAnnotationsForRichText, range is typed as AnnotationRange | null | undefined (since Annotation.range is optional/nullable), but the code spreads it ({ ...range, ...other }). With strict TS this will error because object spread requires a non-null object type. Consider narrowing in the filter (e.g., ensure annotation.range is present) or otherwise making range non-null before spreading so this selector typechecks and matches the reducer invariant (range annotations always have a range).

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

Comment thread packages/annotations/src/types.ts Outdated
Comment on lines +59 to +61
export interface AnnotationsState {
[ blockClientId: string ]: Annotation[];
}

Copilot AI Apr 7, 2026

Copy link

Choose a reason for hiding this comment

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

AnnotationsState is currently defined with a string index signature returning Annotation[], which implies every key lookup returns an array even when the blockClientId key is missing. The rest of the code already treats missing keys as undefined (e.g. state?.[ blockClientId ] ?? []), so the state type is unsound. Consider changing it to something like Record<string, Annotation[] | undefined> (or Partial<Record<string, Annotation[]>>) to reflect runtime behavior and avoid incorrect assumptions in consumers.

Suggested change
export interface AnnotationsState {
[ blockClientId: string ]: Annotation[];
}
export type AnnotationsState = Partial< Record< string, Annotation[] > >;

Copilot uses AI. Check for mistakes.
@manzoorwanijk

Copy link
Copy Markdown
Member

Let us make CI happy and please mention me when it's ready again. Thank you for your contributions.

…xperimentalGetAnnotations to filter out undefined values in selectors.ts
@kushagra-goyal-14

Copy link
Copy Markdown
Contributor Author

Hi @manzoorwanijk, I have made the changes, just waiting for the CI.

@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 good now. Thank you.

@manzoorwanijk
manzoorwanijk merged commit 8969243 into WordPress:trunk Apr 9, 2026
40 checks passed
@github-actions github-actions Bot added this to the Gutenberg 23.0 milestone Apr 9, 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

[Feature] Annotations Adding annotation functionality [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