Experiment: Add revisions panel to templates, template parts and patterns#77008
Conversation
| */ | ||
| const PANEL_NAME = 'post-status'; | ||
|
|
||
| export function OpenRevisionsClassicScreen( { revisionId } ) { |
There was a problem hiding this comment.
This change is not related to the revisions panel, but it's a leftover I noticed now, from my previous refactoring when I created PostRevisionSummary.
|
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 If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message. To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
|
Size Change: -5 B (0%) Total Size: 7.74 MB 📦 View Changed
ℹ️ View Unchanged
|
|
Flaky tests detected in aba4492. 🔍 Workflow run URL: https://github.com/WordPress/gutenberg/actions/runs/24183788295
|
|
I've made my reservations for this panel; I think I mentioned this in the issue. I don't think this timeline is very useful when editing a template or post, and it will take up space in the sidebar. Maybe we should replace the topbar slider with this panel when the user is viewing revisions. P.S. @t-hamano, I agree that reduced padding looks better. |
This will be looked into again in DataViews layer (see 1, 2).
I'd defer to @WordPress/gutenberg-design for thoughts on that. Personally I think it's fine to have a way to select quickly among the last ones and that the slider is better UI to navigate a whole bunch of revisions. The panel space in sidebar is something that it does takes some space, although it's collapsed..
I'll take a look into it. It's probably a line of code and it will work, but I had focused on templates for start, testing multiple things. If it's the one liner I'll add it here. |
6efe8d9 to
45ebf3d
Compare
|
@t-hamano I tested now and added the panel for template parts and patterns. |
| <TemplateContentPanel /> | ||
| { window?.__experimentalDataFormInspector && | ||
| [ 'post', 'page' ].includes( postType ) && ( | ||
| [ |
There was a problem hiding this comment.
Small practical thing: can we have this logic in a single place? The sidebar component could be that place, which means we move these checks to the sidebar.
By doing the above, the bigger question is more obvious. How do we absorb all the parts of the inspector into the view config endpoint? Right now, it only provides the DataForm config for the summary. What are the blockers, if any, to provide config for every panel?
There was a problem hiding this comment.
Small practical thing: can we have this logic in a single place? The sidebar component could be that place, which means we move these checks to the sidebar.
Tracked this at #76076 as "Centralize logic to load experiment in the sidebar component (conversation)."
There was a problem hiding this comment.
By doing the above, the bigger question is more obvious. How do we absorb all the parts of the inspector into the view config endpoint? Right now, it only provides the DataForm config for the summary. What are the blockers, if any, to provide config for every panel?
This is connected with a conversation I had with @mcsf that's tracked #76544
Identifier. How do we support screens that don't match 1:1 to entities (e.g., Connectors, Settings?).
This is the case here as well: revisions are not an entity, but a feature of an entity. Alternatives we discussed are:
- Switch to a specific id. For example, to address this, we could have
postType/templateas id (for the summary) but alsopostType/template/revisionsas an id for the revisions part. - Alternatively, we could add a 3rd parameter (
variant) to address those alternate situations related to the kind/name. In this case,kind: postType,name: template,variant: revisions, for example.
In both cases, we'd have two requests to the endpoint to retrieve the data we need (summary and revisions of the entity).
There was a problem hiding this comment.
Or, given this premise: revisions are not an entity, but a feature of an entity, we add revisions by default as a new prop in the view config endpoint. But, again, the view config endpoint may need to work with screens that don't match 1:1 to entities (in which case, what'd be the usage of the revisions prop for them?).
There was a problem hiding this comment.
I encountered part of what you describe (1:1 match) in this PR where we want a template to have a form for site settings and even for a different page altogether (see blog title). I used different forms in that case and I think that's something the consumer should need to handle per use case - for us it was post-summary with more forms.
Small practical thing: can we have this logic in a single place? The sidebar component could be that place, which means we move these checks to the sidebar.
If I'm understanding right, you'd like to have a way for the view config endpoint to return panels too?
| render: ( { item } ) => { | ||
| const dateNowInMs = getDate( null ).getTime(); | ||
| const date = getDate( item[ dateField ] ?? null ); | ||
| const displayDate = | ||
| dateNowInMs - date.getTime() > DAY_IN_MILLISECONDS | ||
| ? dateI18n( | ||
| getSettings().formats.datetimeAbbreviated, | ||
| date | ||
| ) | ||
| : humanTimeDiff( date ); | ||
| return ( | ||
| <time | ||
| className="editor-post-revisions-panel__revision-date" | ||
| dateTime={ item[ dateField ] } | ||
| > | ||
| { displayDate } | ||
| </time> | ||
| ); | ||
| }, |
There was a problem hiding this comment.
All this render code can be replaced by:
{
id: 'date',
label: __( 'Datetime' ),
type: 'datetime'
}And the only difference are the styles attached to the field (uppercase, font weight&size).
| Before | After |
|---|---|
![]() |
![]() |
Some questions:
- Are those styles necessary? If so, how can we make it easier for consumers to provide styles for fields without having to reimplement a render function that's already provided by DataViews via the type? Note the render provided by the type also handles formats.
- What if we moved this field definition to the fields package?
There was a problem hiding this comment.
The styles were added in v1 to match the GS revisions. Since we want to see if we can consolidate those two, it's the minor detail for now.
All this render code can be replaced by:...
And the only difference are the styles attached to the field (uppercase, font weight&size).
I guess the datetimeAbbreviated could be supplied as the datetime format, but the other thing missing is the humanTimeDiff and the handling of conditional logic of when to show it (here is only for changes in the same day).
how can we make it easier for consumers to provide styles for fields without having to reimplement a render function that's already provided by DataViews via the type?
Maybe we need to explore supporting a render declarative config like we do for Edit? 🤔 It would probably require a wrapper for each field and a className prop at least?
What if we moved this field definition to the fields package?
This is tied with humanTimeDiff specific logic. If we want to keep that, it's too specific for being reused - at least for now where there are no other cases.
45ebf3d to
b42151d
Compare
|
I don't disagree about revisiting the revisions UI in general and the feedback is good, but this PR shouldn't be blocked by it. I think it's better to create a new issue about this and involve design. I think the temp blocker for this to land would be the change for templates' date field. |
b42151d to
aba4492
Compare
The thing I agree with here: we should add a timeline view to the document inspector in the revisions screen. That was the plan, but got distracted with general 7.0 stuff. I'm also not sure how much it makes sense to add a timeline "preview" as a panel in the editor, it feels like it would only be harder to get to the revisions screen. The thing I disagree with: to remove the slider. Having two distinct ways to navigate the revisions is fine. One navigates revisions on a coarse level and allows you to browse them really quickly. It will also allow us to add a sort of "flame graph" in the next release. (Didn't have time for that either this cycle.) The timeline proves a finer way to navigate revisions with different details. It's a bit like a sewing machine having a pedal to sew fast and a wheel to slowly get through a tricky part. Having different ways to browse something is not a bad thing in my opinion, I don't think we have to choose. |
|
Agree with all the feedback. In the context of this PR I suppose it raises a question about whether we need to show the timeline in both locations. Access to revisions could theoretically be much simpler if we're going to display the timeline in the Revisions UI, for instance maybe the "Last edited 2 days ago" text links through and we don't need a dedicated panel? Fine to explore separately I guess. |
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
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
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
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





What?
Part of: #76076
Extracted from: #76934
In the linked PR I'm working on expanding the
Editor Inspector: Use DataFormexperiment to other post types (focusing on templates so far). This PR adds the revisions panel (under the experiment) fortemplates, template parts and patterns.Noting that in this PR revisions are shown both in the post summary and the experimental panel, but it's fine for now in order to iterate with smaller PRs.
Testing Instructions
Editor Inspector: Use DataFormexperimentTesting Instructions for Keyboard
Site editor template editing
Screen.Recording.2026-04-02.at.7.56.33.PM.mov
Post editor template editing
Screen.Recording.2026-04-02.at.7.57.43.PM.mov