Repository navigation
Docs: Auto-generate per-block API reference pages from block.json - #77612
Conversation
|
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: 0 B Total Size: 8.21 MB |
|
Flaky tests detected in 07961d3. 🔍 Workflow run URL: https://github.com/WordPress/gutenberg/actions/runs/27067091738
|
|
@Mamaduka @ciampo @manzoorwanijk — since you flagged a lack of consensus that led to the revert of #77350, could you advise on what next steps would give this PR a real chance to move forward? What would be required from your perspective to merge this? |
|
@juanmaguitar, Do you mind rebasing this PR on top of trunk? This should eliminate the unintended "Common blocks" category. See #61916 |
…cript - Created README.md files for the following blocks: - core/template-part - core/term-count - core/term-description - core/term-name - core/term-template - core/terms-query - core/text-columns (deprecated) - core/verse - core/video - Implemented a new script to automate the generation of block documentation from block.json files, ensuring consistent formatting and inclusion of relevant metadata.
…for core blocks - Updated parent, ancestor, and allowed inner blocks in various block README files to use markdown links for better navigation. - Implemented a new function in the documentation generation script to automatically create links based on block names and their categories.
- Updated README files for various blocks to include links to the Block Supports reference for each property. - Improved the `generate-block-docs.mjs` script to automatically generate these links based on property names. - Ensured that all relevant properties in the documentation are now clickable, providing easier access to detailed information.
…onsistency - Updated links in README.md files across various blocks to replace dots with hyphens in the URLs for block supports. - Adjusted the `generate-block-docs.mjs` script to ensure that links are generated with hyphens instead of dots.
…tion - Updated block supports documentation across multiple blocks to remove unnecessary array notation for properties such as `margin`, `padding`, and `clientNavigation`. - Enhanced the `generate-block-docs` script to improve the handling of sub-properties in the documentation links, ensuring that only relevant properties have dedicated anchors.
…ion script to create headers without descriptions.
…ons, and block types; enhance attribute, support, context, and style sections with definitions; and standardize dynamic, hybrid, and static block descriptions with links to the rendering guide.
…n-block-lib-list.js
… allowed inner blocks - Added markdown links for "Parent blocks (direct)" in various block README files to reference the block metadata documentation. - Updated "Ancestor blocks" sections to include links in relevant README files. - Modified "Allowed inner blocks" sections to include links in applicable README files. - Adjusted the `generate-block-docs.mjs` script to automatically format these links in the generated documentation.
- Updated attribute tables across multiple block README files to standardize the format for Type and Default columns. - Enhanced descriptions to include links to relevant sections in the block attributes documentation. - Added validation for attribute anchors in the documentation generation script to ensure consistency with the block attributes reference.
…AttributeAnchors function
…anchor validation logic
andreawetzel
left a comment
There was a problem hiding this comment.
I was able to test the markdown docs generation steps and the files looked good to me. I confirmed that recently renamed blocks such as Verse/Poetry and Page Title/Title are using the correct new names.
manzoorwanijk
left a comment
There was a problem hiding this comment.
I think this is good to merge after addressing the concern raised by @t-hamano in #77612 (comment)
…eveloper.wordpress.org links Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…s/gutenberg into build/docs-blocks-generation-v2
Restore the per-block doc generator to the commit-time flow so the docs
stay in sync with block.json, matching the existing API/component docs
pattern and the behavior the PR description already promises.
- Add docs:blocks-detail to the packages/**/*.{js,ts,tsx,json} lint-staged
array (after docs:blocks). The existing docs:check-api-docs-unstaged gate
already covers block READMEs (they carry the START TOKEN), so a drifted
README now blocks the commit with no new machinery.
- Add block-library/src/*/README.md to the manifest-regeneration glob, for
parity with the components/src/*/**/README.md entry: getBlockManifest only
includes blocks whose README exists, so a new/removed README must trigger
a manifest rebuild.
- Regenerate playlist/README.md, which was missing the Block Styles section
trunk added to playlist/block.json, so the baseline is clean.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Deprecated blocks are now published under their assigned category in the manifest (3e6dd74), so they have real handbook pages. Two link guards were left over from when they didn't, rendering deprecated block names as plain code instead of links. - gen-block-lib-list.js: link the Name entry for every block, dropping the deprecated-only plain-code branch (and the now-unused destructured vars). - generate-block-docs.mjs: drop the isDeprecated short-circuit in blockLink() so relationship references to a deprecated block link to its page too. The blockJsonExists guard still covers blocks that genuinely have no page. Regenerates the core blocks summary: the four deprecated blocks (comment-author-avatar, post-author, post-comment, text-columns) now link to their detail pages, matching the manifest URLs. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…s/gutenberg into build/docs-blocks-generation-v2
t-hamano
left a comment
There was a problem hiding this comment.
Thank you for your continued work on this PR. After this PR is released, let's make improvements as needed based on community feedback.
These 4 component README files were regenerated with a stale @types/react (19.x) during an earlier trunk merge, producing 2-arg type signatures that diverged from trunk. Regenerating against the locked @types/react (18.3.27) restores them to match trunk, fixing the failing check-local-changes CI job. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sync the auto-generated per-block API reference pages with the simplified layout/supports definitions in the tab blocks' block.json, following trunk's move to block.json-driven docs (#77612). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Thanks, @juanmaguitar! Nice work all around! |
* Tabs: Lock orientation to horizontal and prune redundant block supports Disable layout editing on the Tabs block so users can no longer switch between horizontal and vertical orientations, and drop the supporting is-vertical detection in PHP/view keyboard handling that becomes unreachable as a result. Also strip block support settings that already match their defaults (reusable on parent-bound child blocks, dimensions with all features off, anchor:false, spacing.margin:false, renaming:true) to keep the block.json files focused on intentional overrides. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * Tabs: Remove dead CSS left over from orientation switching With horizontal orientation now the only supported layout and the flex container removed from tab-panels, the flex-child sizing overrides, box-sizing resets, and first/last-child margin resets on tab-panel and tab no longer have any effect. The tab-list and tab editor styles were also matching selectors that never exist with the current useBlockProps API. Drop the dead rules and the now-empty editor/style stylesheets to avoid shipping CSS that does nothing. * Tabs: Drop @use references to deleted stylesheets The previous commit removed tab-list/editor.scss, tab/editor.scss, and tab-panels/style.scss but left their @use imports in the block-library aggregate stylesheets, which breaks SCSS compilation. * Tabs: Align block.json asset fields with core block conventions The tab-related blocks declared editorScript and CSS assets via file:./ paths, while every other core block relies on the wp-block-{name}/wp-block-{name}-editor handles auto-registered by gutenberg_register_core_block_assets() and omits editorScript entirely. Drop the editorScript fields, replace the file:./ style references with the standard handle names, and remove the editorStyle entry on tabs since no editor.scss exists for it. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * Tabs: Remove unused setAttributes prop from Edit component The Edit component no longer writes any attributes, so destructuring setAttributes is dead code. Drop it to keep the props minimal. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * Docs: Regenerate tab block reference pages after supports simplification Sync the auto-generated per-block API reference pages with the simplified layout/supports definitions in the tab blocks' block.json, following trunk's move to block.json-driven docs (#77612). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: t-hamano <wildworks@git.wordpress.org> Co-authored-by: carolinan <poena@git.wordpress.org> Co-authored-by: fabiankaegy <fabiankaegy@git.wordpress.org> Co-authored-by: jasmussen <joen@git.wordpress.org>
This updates the pinned commit hash of the Gutenberg repository from `14db4ab9395a9e96430eed678e4288a59eecbd15 ` (version `23.3.0`) to `14db4ab9395a9e96430eed678e4288a59eecbd15` (version `23.4.0`). A full list of changes included in this commit can be found on GitHub: https://github.com/WordPress/gutenberg/compare/v23.3.0..v23.4.0. The following commits are included: - Hide image dimension tools when a state is selected (WordPress/gutenberg#78670) - Changed labels to consistently use Patterns in favor of Block patterns (WordPress/gutenberg#56880) - Fix: Restrict parent page API search to post titles only (WordPress/gutenberg#78683) - Update AGENTS.md to mention additional pitfalls: (WordPress/gutenberg#78718) - Docs: Fix big_image_size_threshold xref typo (WordPress/gutenberg#76299) - Compose: Fully deprecate the 'pure' HoC (WordPress/gutenberg#78674) - Common CSS: avoid false-positive border-style on custom properties (WordPress/gutenberg#77476) - Compose: Fix SSR crash in useMediaQuery and useViewportMatch (WordPress/gutenberg#78725) - CI: Skip plugin repo release when SVN tag already exists (WordPress/gutenberg#78476) - Dashboard: Hello Dolly (WordPress/gutenberg#78648) - UI: `Tooltip.Provider` — forward upstream `closeDelay` and `timeout` props (WordPress/gutenberg#78642) - Compose: Support React 19 ref callback cleanups in `useMergeRefs` (WordPress/gutenberg#78685) - Add copilot-instructions.md file (WordPress/gutenberg#78584) - Dashboard: show ghost widgets visually & allow easy removal (WordPress/gutenberg#78502) - Bump fast-xml-builder from 1.0.0 to 1.2.0 (WordPress/gutenberg#78272) - Bump actions/stale (WordPress/gutenberg#78745) - Bump fast-xml-parser from 4.5.0 to 4.5.6 (WordPress/gutenberg#77167) - Bump actions/github-script from 8.0.0 to 9.0.0 in /.github/workflows (WordPress/gutenberg#78591) - @wordpress/theme: deduplicate addFallbackToVar helper (WordPress/gutenberg#78666) - Add Combobox primitives (WordPress/gutenberg#78399) - Editor: Fix keyboard activation of the template actions preview (WordPress/gutenberg#78641) - Theme: drop `density` support from `@wordpress/theme` (WordPress/gutenberg#78741) - Tooltip migration: fields + media-editor + media-fields + global-styles-ui (4/5) (WordPress/gutenberg#78691) - List View: Expose block visibility label to assistive technology (WordPress/gutenberg#78640) - Hide paragraph Drop cap control when a state is selected (WordPress/gutenberg#78672) - Image cropper: round zoom control values and display as percentages (WordPress/gutenberg#78757) - Media Editor Modal: Try placing the save and cancel buttons in the footer (WordPress/gutenberg#78708) - Unset grid span defaults with viewport states enabled (WordPress/gutenberg#78709) - Media Editor: Remove resize handles toggle from crop panel (WordPress/gutenberg#78758) - Image Editor: focus return after closing image crop modal (WordPress/gutenberg#78711) - Add dashboard Events widget (WordPress/gutenberg#78553) - Writing flow: Delete at end of nested list item should merge into next block (WordPress/gutenberg#78742) - RTC: Re-render collaborators overlay when the block tree changes (WordPress/gutenberg#78636) - Dashboard: rename `widget-types` to `widget-primitives` and consolidate the widget contract (WordPress/gutenberg#78749) - Fix Gutenberg plugin assuming its directory is named "gutenberg" (WordPress/gutenberg#78705) - Codemods: Remove one-shot Tooltip migration codemod (WordPress/gutenberg#78669) - Dashboard: rename `WidgetChrome` to `DashboardWidgetChrome` (WordPress/gutenberg#78751) - Paragraph: Strip stale block-support classes from className during align attribute migration (WordPress/gutenberg#78731) - Global Styles: Fix CSS not applying to Custom CSS textarea in Advanced panel (WordPress/gutenberg#78773) - scripts: Use require.resolve for SVG loaders to fix pnpm compat (WordPress/gutenberg#78777) - Post list: Remove close button from Quick Edit drawer (WordPress/gutenberg#78730) - Revert "Gate client-side media processing as plugin-only (WordPress/gutenberg#76700)" (WordPress/gutenberg#76751) - Tooltip migration: boot consumers + shell-level Tooltip.Provider (5/5) (WordPress/gutenberg#78692) - Dashboard: replace `surface` with `host` in widget contract docs (WordPress/gutenberg#78778) - Shortcode block: Fix editor crash when selecting transform menu (WordPress/gutenberg#78770) - Make `@wordpress/nux` a no-op compatibility package (WordPress/gutenberg#77773) - Tests: Temporarily disable REST index output-format assertions (WordPress/gutenberg#78788) - Hide Cover overlay controls for viewport states (WordPress/gutenberg#78763) - Fix type of `$block_instance` parameter in `block_core_image_render_lightbox()` (WordPress/gutenberg#78790) - TypeScript: Migrate server-side-render package to TS (WordPress/gutenberg#71383) - feat: Migrate performance results to tools release (WordPress/gutenberg#78761) - wp-build: Fix black flash on wp-admin pages before hydration (WordPress/gutenberg#78493) - Icons: maintain absolute stroke-width regardless of icon-size (WordPress/gutenberg#78774) - Dashboard: Use Howdy greeting for page title (WordPress/gutenberg#78740) - Block Editor: Refactor Inserter to a function component (WordPress/gutenberg#78766) - Dashboard: Move layout settings to customize toolbar (WordPress/gutenberg#78738) - Build: update changelog (WordPress/gutenberg#78807) - Icons: rename timeToRead to time (WordPress/gutenberg#78804) - RTC: Prevent slower polling filters (WordPress/gutenberg#78811) - Button.Icon: Fix clipped icons (WordPress/gutenberg#78614) - Bump docker/login-action (WordPress/gutenberg#78819) - RTC: Return forbidden rooms together (WordPress/gutenberg#78748) - Update browserslist (WordPress/gutenberg#78840) - Try allowing transforms to a variation of another block (WordPress/gutenberg#78713) - Elements: Guard against non-string className in render filter (WordPress/gutenberg#78841) - e2e-test-utils-playwright: add src to published NPM files (WordPress/gutenberg#78847) - Editor: Refactor 'PostPublishButton' into function component (WordPress/gutenberg#78737) - Dashboard: Promote WidgetRender into widget-primitives (WordPress/gutenberg#78821) - Notes: Show default avatar in the indicator when user avatars are disabled (WordPress/gutenberg#78849) - Revert "Icons: maintain absolute stroke-width regardless of icon-size (WordPress/gutenberg#78774)" (WordPress/gutenberg#78854) - Media: Send Document-Isolation-Policy header on the site preview frame (WordPress/gutenberg#78404) - Revert navigation morph & playlist commits pushed directly to trunk (WordPress/gutenberg#78857) - Fix Update button staying active when changes are reverted. (WordPress/gutenberg#78567) - Docs: Fix and improve documentation (WordPress/gutenberg#78686) - Abilities: Add validation tests pinning behavior for WP-specific schema keywords (WordPress/gutenberg#78783) - Tools: migrate docs/tool into tools/docs workspace (WordPress/gutenberg#78870) - Dashboard: Fix Add widget error on non-secure HTTP origins (WordPress/gutenberg#78850) - Docs: Fix @wordpress/data README fragment links (WordPress/gutenberg#78866) - bin: Remove obsolete bin/setup-local-env.sh (WordPress/gutenberg#78871) - Boot navigation: wrap items in a list role for valid listitem semantics (WordPress/gutenberg#78829) - wp-build: Document generated page hooks per WordPress standards. (WordPress/gutenberg#78826) - Update CODEOWNERS for tooling directories (WordPress/gutenberg#78874) - Block Visibility: Keep hide-everywhere working after a block opts out of visibility support (WordPress/gutenberg#78780) - Dashboard: Replace grid row height controls with size presets. (WordPress/gutenberg#78735) - Prevent font-size propagation in Navigation items causing `em` compounding (WordPress/gutenberg#77419) - Media Editor Modal: Reorder details fields so the editable regular layout fields appear at the top (WordPress/gutenberg#78792) - Fix media editor sidebar close button label (WordPress/gutenberg#78895) - Dashboard: event widget iteration (WordPress/gutenberg#78815) - Playlist Block: Add visualization style selector (WordPress/gutenberg#76147) - [Content Types]: Fix extra Page padding causing vertical scrollbar (WordPress/gutenberg#78661) - Remove migrated dependencies from root package.json (WordPress/gutenberg#78813) - Packages: Declare missing `@types/react` dependency (WordPress/gutenberg#78882) - Fix collapsed experiment cards not stretching to full width (WordPress/gutenberg#78910) - Element: add polyfills for render, hydrate, unmountComponentAtNode (WordPress/gutenberg#78899) - Revert "wp-build: Replace getter-based exports with data properties" (WordPress/gutenberg#78917) - React: add ReactCurrentOwner polyfill (WordPress/gutenberg#78923) - Fix playlist metadata edits recreating player (WordPress/gutenberg#78876) - Media Editor: Fix sidebar overflowing the modal between the small and medium breakpoints (WordPress/gutenberg#78931) - Media: Move client-side media compat file to wordpress-7.1 directory (WordPress/gutenberg#78852) - env: Replace extract-zip with adm-zip to fix hang on Node 24.16 (WordPress/gutenberg#78828) - Media Editor: refactor modal layout (WordPress/gutenberg#78896) - Optimize wp-env source downloads with Git partial clones (WordPress/gutenberg#78918) - Fix: Escape URLs in block render functions using `esc_url()` (WordPress/gutenberg#78912) - Blocks: Allow the Login/out block as an inner block in the Navigation Submenu block (WordPress/gutenberg#75497) - Fix sprintf format specifiers in post-date and read-more blocks (WordPress/gutenberg#78933) - Refactor: Remove jest/test deps from root package.json (WordPress/gutenberg#78801) - Upload Media: Add retry with exponential backoff and network resilience (WordPress/gutenberg#76765) - Build Scripts: Fix Windows path handling in dev script (WordPress/gutenberg#78939) - Revert React 19 upgrade (WordPress/gutenberg#78940) - Fix: block auto-complete for AI API Keys in Connectors (WordPress/gutenberg#78946) - Dashboard: Opinionated grid columns with container breakpoints (WordPress/gutenberg#78732) - Skip including inactive or experimental routes when building for WordPress Core (WordPress/gutenberg#76715) - RTC: Fix Yjs undo manager to update UI state when undo stack changes (WordPress/gutenberg#78864) - Storybook: Enhance Theme Provider example with admin-ui Page. (WordPress/gutenberg#78814) - RTC: Fix CRDT deferred updates resulting in jumbled typing (WordPress/gutenberg#78756) - Add playlist track length setting (WordPress/gutenberg#78954) - Add aspect ratio control to media editor mobile toolbar (WordPress/gutenberg#78935) - Media Editor: Replace the zoom slider with +/- buttons (WordPress/gutenberg#78928) - Use omit-unchanged for compressed-size-action (WordPress/gutenberg#78976) - DataViewsPicker: Add a new `pickerActivity` layout (WordPress/gutenberg#78941) - refactor: move babel dependencies to workspace configuration (WordPress/gutenberg#78974) - feat: Migrate the browserlintrc file to `packages/postcss-plugins-preset` (WordPress/gutenberg#78764) - Storybook: Declare workspace dependencies for theme example story. (WordPress/gutenberg#78979) - Refactor: Move React dependencies from root to workspaces (WordPress/gutenberg#78981) - UI: Update `@base-ui/react` to `1.5.0` (WordPress/gutenberg#78448) - ui/AlertDialog: Fix footer layout style override (WordPress/gutenberg#78953) - Font Library: Fix focus issue when navigating (WordPress/gutenberg#78671) - Docs: Auto-generate per-block API reference pages from block.json (WordPress/gutenberg#77612) - Patterns: fix focus loss when dismissing Create pattern dialog (WordPress/gutenberg#78957) - Show media upload progress in a snackbar (WordPress/gutenberg#77249) - Upload Media: Gate very large images out of client-side processing (WordPress/gutenberg#78949) - Media: Add UltraHDR (ISO 21496-1) gain map support (WordPress/gutenberg#74873) - Site Editor: Apply the user's admin color scheme (WordPress/gutenberg#78397) - Navigation Link: fix duplicate block html attributes in editor (WordPress/gutenberg#78973) - Added Missing Global Documentation (WordPress/gutenberg#78997) - Post Revisions: Upgrade `diff` from v4 to v8 (WordPress/gutenberg#77992) - Theme: Increase stroke1 contrast target to 2.9 (WordPress/gutenberg#77599) - Tooltip: Use md border radius for portaled popups. (WordPress/gutenberg#78983) - Framework: Remove invalid stale nested npm package references (WordPress/gutenberg#79014) - Theme package: Add element size design tokens (WordPress/gutenberg#76545) - Inserter: use forwardRef for refs (WordPress/gutenberg#79006) - RTC: Add separate doc persistence endpoint (WordPress/gutenberg#78891) - DataViews: Add DataViews components to components manifest (WordPress/gutenberg#78960) - Media Editor: Keep crop handles operable on large images (WordPress/gutenberg#79011) - Media editor: tweak paddings and margins (WordPress/gutenberg#79009) - Media Editor: Remove lag when toggling the sidebar (WordPress/gutenberg#79024) - Elements: Align class name parsing with custom CSS implementation (WordPress/gutenberg#79023) - CI: Suppress lint:js warnings on static checks (WordPress/gutenberg#79025) - Remove React Native implementation, framework, and dependencies (WordPress/gutenberg#78747) - e2e-test-utils-playwright: start transpiling again, but faster (WordPress/gutenberg#79026) - CI: Remove Validate Gradle Wrapper workflow (WordPress/gutenberg#79030) - Remove dead native code branches from Platform usages (WordPress/gutenberg#79031) - Remove orphaned README files for deleted native-only components (WordPress/gutenberg#79035) - Remove orphaned mobile bug report issue template (WordPress/gutenberg#79038) - Inserter: Fix error being thrown for spoken message when inserting default/direct block (WordPress/gutenberg#79004) - Editor: Remove dead native guard in block removal warnings (WordPress/gutenberg#79039) - Preserve nested list when deleting a selection across sibling list items (WordPress/gutenberg#78776) - Remove platform-docs Docusaurus site (WordPress/gutenberg#79034) - Align dependency versions across workspaces (WordPress/gutenberg#77954) - RichText: Remove dead native-only prop filtering (WordPress/gutenberg#79037) - Navigable Container: Hoist getFocusableContext out of the component (WordPress/gutenberg#79029) - Tools: Lint dependency version consistency with Syncpack (WordPress/gutenberg#77950) - Extract entity view config into a filterable API (WordPress/gutenberg#78977) - Rich text: use subscribeDelegatedListener for element event listeners (WordPress/gutenberg#79047) - theme/ThemeProvider: rename `color.bg` prop to `color.background` (WordPress/gutenberg#79007) - Format Library: Migrate to recommended `@wordpress/ui` components (WordPress/gutenberg#79059) - Syncpack: ban `classnames` from being reintroduced (WordPress/gutenberg#79061) - UI: Update CSS cascade layers to use nesting (WordPress/gutenberg#78959) - Docs: Remove stale mobile references from tooling and primitives docs (WordPress/gutenberg#79041) - Release: Drop mobile-specific changelog omit rules (WordPress/gutenberg#79042) - Bump actions/checkout (WordPress/gutenberg#79033) - `ColorPalette`: don't render when custom colors disabled and no colors passed (WordPress/gutenberg#72402) - Bump minimatch and lerna (WordPress/gutenberg#76750) - Image block: don't show crop icon while image is uploading (WordPress/gutenberg#79103) - Add React 19 as an experimental flag (WordPress/gutenberg#79077) - Media modal: small tweak to gutters (WordPress/gutenberg#79168) - Add more React internals polyfills (WordPress/gutenberg#79142) - Media editor modal: Fix keyboard resizing for locked aspect-ratio crops (WordPress/gutenberg#79207) - Fix responsive element styles front end output (WordPress/gutenberg#79135) (WordPress/gutenberg#79215) Props adamsilverstein, jorbin, westonruter, wildworks. Fixes #65368. git-svn-id: https://develop.svn.wordpress.org/trunk@62584 602fd350-edb4-49c9-b593-d223f7449a82
This updates the pinned commit hash of the Gutenberg repository from `14db4ab9395a9e96430eed678e4288a59eecbd15 ` (version `23.3.0`) to `14db4ab9395a9e96430eed678e4288a59eecbd15` (version `23.4.0`). A full list of changes included in this commit can be found on GitHub: https://github.com/WordPress/gutenberg/compare/v23.3.0..v23.4.0. The following commits are included: - Hide image dimension tools when a state is selected (WordPress/gutenberg#78670) - Changed labels to consistently use Patterns in favor of Block patterns (WordPress/gutenberg#56880) - Fix: Restrict parent page API search to post titles only (WordPress/gutenberg#78683) - Update AGENTS.md to mention additional pitfalls: (WordPress/gutenberg#78718) - Docs: Fix big_image_size_threshold xref typo (WordPress/gutenberg#76299) - Compose: Fully deprecate the 'pure' HoC (WordPress/gutenberg#78674) - Common CSS: avoid false-positive border-style on custom properties (WordPress/gutenberg#77476) - Compose: Fix SSR crash in useMediaQuery and useViewportMatch (WordPress/gutenberg#78725) - CI: Skip plugin repo release when SVN tag already exists (WordPress/gutenberg#78476) - Dashboard: Hello Dolly (WordPress/gutenberg#78648) - UI: `Tooltip.Provider` — forward upstream `closeDelay` and `timeout` props (WordPress/gutenberg#78642) - Compose: Support React 19 ref callback cleanups in `useMergeRefs` (WordPress/gutenberg#78685) - Add copilot-instructions.md file (WordPress/gutenberg#78584) - Dashboard: show ghost widgets visually & allow easy removal (WordPress/gutenberg#78502) - Bump fast-xml-builder from 1.0.0 to 1.2.0 (WordPress/gutenberg#78272) - Bump actions/stale (WordPress/gutenberg#78745) - Bump fast-xml-parser from 4.5.0 to 4.5.6 (WordPress/gutenberg#77167) - Bump actions/github-script from 8.0.0 to 9.0.0 in /.github/workflows (WordPress/gutenberg#78591) - @wordpress/theme: deduplicate addFallbackToVar helper (WordPress/gutenberg#78666) - Add Combobox primitives (WordPress/gutenberg#78399) - Editor: Fix keyboard activation of the template actions preview (WordPress/gutenberg#78641) - Theme: drop `density` support from `@wordpress/theme` (WordPress/gutenberg#78741) - Tooltip migration: fields + media-editor + media-fields + global-styles-ui (4/5) (WordPress/gutenberg#78691) - List View: Expose block visibility label to assistive technology (WordPress/gutenberg#78640) - Hide paragraph Drop cap control when a state is selected (WordPress/gutenberg#78672) - Image cropper: round zoom control values and display as percentages (WordPress/gutenberg#78757) - Media Editor Modal: Try placing the save and cancel buttons in the footer (WordPress/gutenberg#78708) - Unset grid span defaults with viewport states enabled (WordPress/gutenberg#78709) - Media Editor: Remove resize handles toggle from crop panel (WordPress/gutenberg#78758) - Image Editor: focus return after closing image crop modal (WordPress/gutenberg#78711) - Add dashboard Events widget (WordPress/gutenberg#78553) - Writing flow: Delete at end of nested list item should merge into next block (WordPress/gutenberg#78742) - RTC: Re-render collaborators overlay when the block tree changes (WordPress/gutenberg#78636) - Dashboard: rename `widget-types` to `widget-primitives` and consolidate the widget contract (WordPress/gutenberg#78749) - Fix Gutenberg plugin assuming its directory is named "gutenberg" (WordPress/gutenberg#78705) - Codemods: Remove one-shot Tooltip migration codemod (WordPress/gutenberg#78669) - Dashboard: rename `WidgetChrome` to `DashboardWidgetChrome` (WordPress/gutenberg#78751) - Paragraph: Strip stale block-support classes from className during align attribute migration (WordPress/gutenberg#78731) - Global Styles: Fix CSS not applying to Custom CSS textarea in Advanced panel (WordPress/gutenberg#78773) - scripts: Use require.resolve for SVG loaders to fix pnpm compat (WordPress/gutenberg#78777) - Post list: Remove close button from Quick Edit drawer (WordPress/gutenberg#78730) - Revert "Gate client-side media processing as plugin-only (WordPress/gutenberg#76700)" (WordPress/gutenberg#76751) - Tooltip migration: boot consumers + shell-level Tooltip.Provider (5/5) (WordPress/gutenberg#78692) - Dashboard: replace `surface` with `host` in widget contract docs (WordPress/gutenberg#78778) - Shortcode block: Fix editor crash when selecting transform menu (WordPress/gutenberg#78770) - Make `@wordpress/nux` a no-op compatibility package (WordPress/gutenberg#77773) - Tests: Temporarily disable REST index output-format assertions (WordPress/gutenberg#78788) - Hide Cover overlay controls for viewport states (WordPress/gutenberg#78763) - Fix type of `$block_instance` parameter in `block_core_image_render_lightbox()` (WordPress/gutenberg#78790) - TypeScript: Migrate server-side-render package to TS (WordPress/gutenberg#71383) - feat: Migrate performance results to tools release (WordPress/gutenberg#78761) - wp-build: Fix black flash on wp-admin pages before hydration (WordPress/gutenberg#78493) - Icons: maintain absolute stroke-width regardless of icon-size (WordPress/gutenberg#78774) - Dashboard: Use Howdy greeting for page title (WordPress/gutenberg#78740) - Block Editor: Refactor Inserter to a function component (WordPress/gutenberg#78766) - Dashboard: Move layout settings to customize toolbar (WordPress/gutenberg#78738) - Build: update changelog (WordPress/gutenberg#78807) - Icons: rename timeToRead to time (WordPress/gutenberg#78804) - RTC: Prevent slower polling filters (WordPress/gutenberg#78811) - Button.Icon: Fix clipped icons (WordPress/gutenberg#78614) - Bump docker/login-action (WordPress/gutenberg#78819) - RTC: Return forbidden rooms together (WordPress/gutenberg#78748) - Update browserslist (WordPress/gutenberg#78840) - Try allowing transforms to a variation of another block (WordPress/gutenberg#78713) - Elements: Guard against non-string className in render filter (WordPress/gutenberg#78841) - e2e-test-utils-playwright: add src to published NPM files (WordPress/gutenberg#78847) - Editor: Refactor 'PostPublishButton' into function component (WordPress/gutenberg#78737) - Dashboard: Promote WidgetRender into widget-primitives (WordPress/gutenberg#78821) - Notes: Show default avatar in the indicator when user avatars are disabled (WordPress/gutenberg#78849) - Revert "Icons: maintain absolute stroke-width regardless of icon-size (WordPress/gutenberg#78774)" (WordPress/gutenberg#78854) - Media: Send Document-Isolation-Policy header on the site preview frame (WordPress/gutenberg#78404) - Revert navigation morph & playlist commits pushed directly to trunk (WordPress/gutenberg#78857) - Fix Update button staying active when changes are reverted. (WordPress/gutenberg#78567) - Docs: Fix and improve documentation (WordPress/gutenberg#78686) - Abilities: Add validation tests pinning behavior for WP-specific schema keywords (WordPress/gutenberg#78783) - Tools: migrate docs/tool into tools/docs workspace (WordPress/gutenberg#78870) - Dashboard: Fix Add widget error on non-secure HTTP origins (WordPress/gutenberg#78850) - Docs: Fix @wordpress/data README fragment links (WordPress/gutenberg#78866) - bin: Remove obsolete bin/setup-local-env.sh (WordPress/gutenberg#78871) - Boot navigation: wrap items in a list role for valid listitem semantics (WordPress/gutenberg#78829) - wp-build: Document generated page hooks per WordPress standards. (WordPress/gutenberg#78826) - Update CODEOWNERS for tooling directories (WordPress/gutenberg#78874) - Block Visibility: Keep hide-everywhere working after a block opts out of visibility support (WordPress/gutenberg#78780) - Dashboard: Replace grid row height controls with size presets. (WordPress/gutenberg#78735) - Prevent font-size propagation in Navigation items causing `em` compounding (WordPress/gutenberg#77419) - Media Editor Modal: Reorder details fields so the editable regular layout fields appear at the top (WordPress/gutenberg#78792) - Fix media editor sidebar close button label (WordPress/gutenberg#78895) - Dashboard: event widget iteration (WordPress/gutenberg#78815) - Playlist Block: Add visualization style selector (WordPress/gutenberg#76147) - [Content Types]: Fix extra Page padding causing vertical scrollbar (WordPress/gutenberg#78661) - Remove migrated dependencies from root package.json (WordPress/gutenberg#78813) - Packages: Declare missing `@types/react` dependency (WordPress/gutenberg#78882) - Fix collapsed experiment cards not stretching to full width (WordPress/gutenberg#78910) - Element: add polyfills for render, hydrate, unmountComponentAtNode (WordPress/gutenberg#78899) - Revert "wp-build: Replace getter-based exports with data properties" (WordPress/gutenberg#78917) - React: add ReactCurrentOwner polyfill (WordPress/gutenberg#78923) - Fix playlist metadata edits recreating player (WordPress/gutenberg#78876) - Media Editor: Fix sidebar overflowing the modal between the small and medium breakpoints (WordPress/gutenberg#78931) - Media: Move client-side media compat file to wordpress-7.1 directory (WordPress/gutenberg#78852) - env: Replace extract-zip with adm-zip to fix hang on Node 24.16 (WordPress/gutenberg#78828) - Media Editor: refactor modal layout (WordPress/gutenberg#78896) - Optimize wp-env source downloads with Git partial clones (WordPress/gutenberg#78918) - Fix: Escape URLs in block render functions using `esc_url()` (WordPress/gutenberg#78912) - Blocks: Allow the Login/out block as an inner block in the Navigation Submenu block (WordPress/gutenberg#75497) - Fix sprintf format specifiers in post-date and read-more blocks (WordPress/gutenberg#78933) - Refactor: Remove jest/test deps from root package.json (WordPress/gutenberg#78801) - Upload Media: Add retry with exponential backoff and network resilience (WordPress/gutenberg#76765) - Build Scripts: Fix Windows path handling in dev script (WordPress/gutenberg#78939) - Revert React 19 upgrade (WordPress/gutenberg#78940) - Fix: block auto-complete for AI API Keys in Connectors (WordPress/gutenberg#78946) - Dashboard: Opinionated grid columns with container breakpoints (WordPress/gutenberg#78732) - Skip including inactive or experimental routes when building for WordPress Core (WordPress/gutenberg#76715) - RTC: Fix Yjs undo manager to update UI state when undo stack changes (WordPress/gutenberg#78864) - Storybook: Enhance Theme Provider example with admin-ui Page. (WordPress/gutenberg#78814) - RTC: Fix CRDT deferred updates resulting in jumbled typing (WordPress/gutenberg#78756) - Add playlist track length setting (WordPress/gutenberg#78954) - Add aspect ratio control to media editor mobile toolbar (WordPress/gutenberg#78935) - Media Editor: Replace the zoom slider with +/- buttons (WordPress/gutenberg#78928) - Use omit-unchanged for compressed-size-action (WordPress/gutenberg#78976) - DataViewsPicker: Add a new `pickerActivity` layout (WordPress/gutenberg#78941) - refactor: move babel dependencies to workspace configuration (WordPress/gutenberg#78974) - feat: Migrate the browserlintrc file to `packages/postcss-plugins-preset` (WordPress/gutenberg#78764) - Storybook: Declare workspace dependencies for theme example story. (WordPress/gutenberg#78979) - Refactor: Move React dependencies from root to workspaces (WordPress/gutenberg#78981) - UI: Update `@base-ui/react` to `1.5.0` (WordPress/gutenberg#78448) - ui/AlertDialog: Fix footer layout style override (WordPress/gutenberg#78953) - Font Library: Fix focus issue when navigating (WordPress/gutenberg#78671) - Docs: Auto-generate per-block API reference pages from block.json (WordPress/gutenberg#77612) - Patterns: fix focus loss when dismissing Create pattern dialog (WordPress/gutenberg#78957) - Show media upload progress in a snackbar (WordPress/gutenberg#77249) - Upload Media: Gate very large images out of client-side processing (WordPress/gutenberg#78949) - Media: Add UltraHDR (ISO 21496-1) gain map support (WordPress/gutenberg#74873) - Site Editor: Apply the user's admin color scheme (WordPress/gutenberg#78397) - Navigation Link: fix duplicate block html attributes in editor (WordPress/gutenberg#78973) - Added Missing Global Documentation (WordPress/gutenberg#78997) - Post Revisions: Upgrade `diff` from v4 to v8 (WordPress/gutenberg#77992) - Theme: Increase stroke1 contrast target to 2.9 (WordPress/gutenberg#77599) - Tooltip: Use md border radius for portaled popups. (WordPress/gutenberg#78983) - Framework: Remove invalid stale nested npm package references (WordPress/gutenberg#79014) - Theme package: Add element size design tokens (WordPress/gutenberg#76545) - Inserter: use forwardRef for refs (WordPress/gutenberg#79006) - RTC: Add separate doc persistence endpoint (WordPress/gutenberg#78891) - DataViews: Add DataViews components to components manifest (WordPress/gutenberg#78960) - Media Editor: Keep crop handles operable on large images (WordPress/gutenberg#79011) - Media editor: tweak paddings and margins (WordPress/gutenberg#79009) - Media Editor: Remove lag when toggling the sidebar (WordPress/gutenberg#79024) - Elements: Align class name parsing with custom CSS implementation (WordPress/gutenberg#79023) - CI: Suppress lint:js warnings on static checks (WordPress/gutenberg#79025) - Remove React Native implementation, framework, and dependencies (WordPress/gutenberg#78747) - e2e-test-utils-playwright: start transpiling again, but faster (WordPress/gutenberg#79026) - CI: Remove Validate Gradle Wrapper workflow (WordPress/gutenberg#79030) - Remove dead native code branches from Platform usages (WordPress/gutenberg#79031) - Remove orphaned README files for deleted native-only components (WordPress/gutenberg#79035) - Remove orphaned mobile bug report issue template (WordPress/gutenberg#79038) - Inserter: Fix error being thrown for spoken message when inserting default/direct block (WordPress/gutenberg#79004) - Editor: Remove dead native guard in block removal warnings (WordPress/gutenberg#79039) - Preserve nested list when deleting a selection across sibling list items (WordPress/gutenberg#78776) - Remove platform-docs Docusaurus site (WordPress/gutenberg#79034) - Align dependency versions across workspaces (WordPress/gutenberg#77954) - RichText: Remove dead native-only prop filtering (WordPress/gutenberg#79037) - Navigable Container: Hoist getFocusableContext out of the component (WordPress/gutenberg#79029) - Tools: Lint dependency version consistency with Syncpack (WordPress/gutenberg#77950) - Extract entity view config into a filterable API (WordPress/gutenberg#78977) - Rich text: use subscribeDelegatedListener for element event listeners (WordPress/gutenberg#79047) - theme/ThemeProvider: rename `color.bg` prop to `color.background` (WordPress/gutenberg#79007) - Format Library: Migrate to recommended `@wordpress/ui` components (WordPress/gutenberg#79059) - Syncpack: ban `classnames` from being reintroduced (WordPress/gutenberg#79061) - UI: Update CSS cascade layers to use nesting (WordPress/gutenberg#78959) - Docs: Remove stale mobile references from tooling and primitives docs (WordPress/gutenberg#79041) - Release: Drop mobile-specific changelog omit rules (WordPress/gutenberg#79042) - Bump actions/checkout (WordPress/gutenberg#79033) - `ColorPalette`: don't render when custom colors disabled and no colors passed (WordPress/gutenberg#72402) - Bump minimatch and lerna (WordPress/gutenberg#76750) - Image block: don't show crop icon while image is uploading (WordPress/gutenberg#79103) - Add React 19 as an experimental flag (WordPress/gutenberg#79077) - Media modal: small tweak to gutters (WordPress/gutenberg#79168) - Add more React internals polyfills (WordPress/gutenberg#79142) - Media editor modal: Fix keyboard resizing for locked aspect-ratio crops (WordPress/gutenberg#79207) - Fix responsive element styles front end output (WordPress/gutenberg#79135) (WordPress/gutenberg#79215) Props adamsilverstein, jorbin, westonruter, wildworks. Fixes #65368. Built from https://develop.svn.wordpress.org/trunk@62584 git-svn-id: http://core.svn.wordpress.org/trunk@61864 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This updates the pinned commit hash of the Gutenberg repository from `14db4ab9395a9e96430eed678e4288a59eecbd15 ` (version `23.3.0`) to `14db4ab9395a9e96430eed678e4288a59eecbd15` (version `23.4.0`). A full list of changes included in this commit can be found on GitHub: https://github.com/WordPress/gutenberg/compare/v23.3.0..v23.4.0. The following commits are included: - Hide image dimension tools when a state is selected (WordPress/gutenberg#78670) - Changed labels to consistently use Patterns in favor of Block patterns (WordPress/gutenberg#56880) - Fix: Restrict parent page API search to post titles only (WordPress/gutenberg#78683) - Update AGENTS.md to mention additional pitfalls: (WordPress/gutenberg#78718) - Docs: Fix big_image_size_threshold xref typo (WordPress/gutenberg#76299) - Compose: Fully deprecate the 'pure' HoC (WordPress/gutenberg#78674) - Common CSS: avoid false-positive border-style on custom properties (WordPress/gutenberg#77476) - Compose: Fix SSR crash in useMediaQuery and useViewportMatch (WordPress/gutenberg#78725) - CI: Skip plugin repo release when SVN tag already exists (WordPress/gutenberg#78476) - Dashboard: Hello Dolly (WordPress/gutenberg#78648) - UI: `Tooltip.Provider` — forward upstream `closeDelay` and `timeout` props (WordPress/gutenberg#78642) - Compose: Support React 19 ref callback cleanups in `useMergeRefs` (WordPress/gutenberg#78685) - Add copilot-instructions.md file (WordPress/gutenberg#78584) - Dashboard: show ghost widgets visually & allow easy removal (WordPress/gutenberg#78502) - Bump fast-xml-builder from 1.0.0 to 1.2.0 (WordPress/gutenberg#78272) - Bump actions/stale (WordPress/gutenberg#78745) - Bump fast-xml-parser from 4.5.0 to 4.5.6 (WordPress/gutenberg#77167) - Bump actions/github-script from 8.0.0 to 9.0.0 in /.github/workflows (WordPress/gutenberg#78591) - @wordpress/theme: deduplicate addFallbackToVar helper (WordPress/gutenberg#78666) - Add Combobox primitives (WordPress/gutenberg#78399) - Editor: Fix keyboard activation of the template actions preview (WordPress/gutenberg#78641) - Theme: drop `density` support from `@wordpress/theme` (WordPress/gutenberg#78741) - Tooltip migration: fields + media-editor + media-fields + global-styles-ui (4/5) (WordPress/gutenberg#78691) - List View: Expose block visibility label to assistive technology (WordPress/gutenberg#78640) - Hide paragraph Drop cap control when a state is selected (WordPress/gutenberg#78672) - Image cropper: round zoom control values and display as percentages (WordPress/gutenberg#78757) - Media Editor Modal: Try placing the save and cancel buttons in the footer (WordPress/gutenberg#78708) - Unset grid span defaults with viewport states enabled (WordPress/gutenberg#78709) - Media Editor: Remove resize handles toggle from crop panel (WordPress/gutenberg#78758) - Image Editor: focus return after closing image crop modal (WordPress/gutenberg#78711) - Add dashboard Events widget (WordPress/gutenberg#78553) - Writing flow: Delete at end of nested list item should merge into next block (WordPress/gutenberg#78742) - RTC: Re-render collaborators overlay when the block tree changes (WordPress/gutenberg#78636) - Dashboard: rename `widget-types` to `widget-primitives` and consolidate the widget contract (WordPress/gutenberg#78749) - Fix Gutenberg plugin assuming its directory is named "gutenberg" (WordPress/gutenberg#78705) - Codemods: Remove one-shot Tooltip migration codemod (WordPress/gutenberg#78669) - Dashboard: rename `WidgetChrome` to `DashboardWidgetChrome` (WordPress/gutenberg#78751) - Paragraph: Strip stale block-support classes from className during align attribute migration (WordPress/gutenberg#78731) - Global Styles: Fix CSS not applying to Custom CSS textarea in Advanced panel (WordPress/gutenberg#78773) - scripts: Use require.resolve for SVG loaders to fix pnpm compat (WordPress/gutenberg#78777) - Post list: Remove close button from Quick Edit drawer (WordPress/gutenberg#78730) - Revert "Gate client-side media processing as plugin-only (WordPress/gutenberg#76700)" (WordPress/gutenberg#76751) - Tooltip migration: boot consumers + shell-level Tooltip.Provider (5/5) (WordPress/gutenberg#78692) - Dashboard: replace `surface` with `host` in widget contract docs (WordPress/gutenberg#78778) - Shortcode block: Fix editor crash when selecting transform menu (WordPress/gutenberg#78770) - Make `@wordpress/nux` a no-op compatibility package (WordPress/gutenberg#77773) - Tests: Temporarily disable REST index output-format assertions (WordPress/gutenberg#78788) - Hide Cover overlay controls for viewport states (WordPress/gutenberg#78763) - Fix type of `$block_instance` parameter in `block_core_image_render_lightbox()` (WordPress/gutenberg#78790) - TypeScript: Migrate server-side-render package to TS (WordPress/gutenberg#71383) - feat: Migrate performance results to tools release (WordPress/gutenberg#78761) - wp-build: Fix black flash on wp-admin pages before hydration (WordPress/gutenberg#78493) - Icons: maintain absolute stroke-width regardless of icon-size (WordPress/gutenberg#78774) - Dashboard: Use Howdy greeting for page title (WordPress/gutenberg#78740) - Block Editor: Refactor Inserter to a function component (WordPress/gutenberg#78766) - Dashboard: Move layout settings to customize toolbar (WordPress/gutenberg#78738) - Build: update changelog (WordPress/gutenberg#78807) - Icons: rename timeToRead to time (WordPress/gutenberg#78804) - RTC: Prevent slower polling filters (WordPress/gutenberg#78811) - Button.Icon: Fix clipped icons (WordPress/gutenberg#78614) - Bump docker/login-action (WordPress/gutenberg#78819) - RTC: Return forbidden rooms together (WordPress/gutenberg#78748) - Update browserslist (WordPress/gutenberg#78840) - Try allowing transforms to a variation of another block (WordPress/gutenberg#78713) - Elements: Guard against non-string className in render filter (WordPress/gutenberg#78841) - e2e-test-utils-playwright: add src to published NPM files (WordPress/gutenberg#78847) - Editor: Refactor 'PostPublishButton' into function component (WordPress/gutenberg#78737) - Dashboard: Promote WidgetRender into widget-primitives (WordPress/gutenberg#78821) - Notes: Show default avatar in the indicator when user avatars are disabled (WordPress/gutenberg#78849) - Revert "Icons: maintain absolute stroke-width regardless of icon-size (WordPress/gutenberg#78774)" (WordPress/gutenberg#78854) - Media: Send Document-Isolation-Policy header on the site preview frame (WordPress/gutenberg#78404) - Revert navigation morph & playlist commits pushed directly to trunk (WordPress/gutenberg#78857) - Fix Update button staying active when changes are reverted. (WordPress/gutenberg#78567) - Docs: Fix and improve documentation (WordPress/gutenberg#78686) - Abilities: Add validation tests pinning behavior for WP-specific schema keywords (WordPress/gutenberg#78783) - Tools: migrate docs/tool into tools/docs workspace (WordPress/gutenberg#78870) - Dashboard: Fix Add widget error on non-secure HTTP origins (WordPress/gutenberg#78850) - Docs: Fix @wordpress/data README fragment links (WordPress/gutenberg#78866) - bin: Remove obsolete bin/setup-local-env.sh (WordPress/gutenberg#78871) - Boot navigation: wrap items in a list role for valid listitem semantics (WordPress/gutenberg#78829) - wp-build: Document generated page hooks per WordPress standards. (WordPress/gutenberg#78826) - Update CODEOWNERS for tooling directories (WordPress/gutenberg#78874) - Block Visibility: Keep hide-everywhere working after a block opts out of visibility support (WordPress/gutenberg#78780) - Dashboard: Replace grid row height controls with size presets. (WordPress/gutenberg#78735) - Prevent font-size propagation in Navigation items causing `em` compounding (WordPress/gutenberg#77419) - Media Editor Modal: Reorder details fields so the editable regular layout fields appear at the top (WordPress/gutenberg#78792) - Fix media editor sidebar close button label (WordPress/gutenberg#78895) - Dashboard: event widget iteration (WordPress/gutenberg#78815) - Playlist Block: Add visualization style selector (WordPress/gutenberg#76147) - [Content Types]: Fix extra Page padding causing vertical scrollbar (WordPress/gutenberg#78661) - Remove migrated dependencies from root package.json (WordPress/gutenberg#78813) - Packages: Declare missing `@types/react` dependency (WordPress/gutenberg#78882) - Fix collapsed experiment cards not stretching to full width (WordPress/gutenberg#78910) - Element: add polyfills for render, hydrate, unmountComponentAtNode (WordPress/gutenberg#78899) - Revert "wp-build: Replace getter-based exports with data properties" (WordPress/gutenberg#78917) - React: add ReactCurrentOwner polyfill (WordPress/gutenberg#78923) - Fix playlist metadata edits recreating player (WordPress/gutenberg#78876) - Media Editor: Fix sidebar overflowing the modal between the small and medium breakpoints (WordPress/gutenberg#78931) - Media: Move client-side media compat file to wordpress-7.1 directory (WordPress/gutenberg#78852) - env: Replace extract-zip with adm-zip to fix hang on Node 24.16 (WordPress/gutenberg#78828) - Media Editor: refactor modal layout (WordPress/gutenberg#78896) - Optimize wp-env source downloads with Git partial clones (WordPress/gutenberg#78918) - Fix: Escape URLs in block render functions using `esc_url()` (WordPress/gutenberg#78912) - Blocks: Allow the Login/out block as an inner block in the Navigation Submenu block (WordPress/gutenberg#75497) - Fix sprintf format specifiers in post-date and read-more blocks (WordPress/gutenberg#78933) - Refactor: Remove jest/test deps from root package.json (WordPress/gutenberg#78801) - Upload Media: Add retry with exponential backoff and network resilience (WordPress/gutenberg#76765) - Build Scripts: Fix Windows path handling in dev script (WordPress/gutenberg#78939) - Revert React 19 upgrade (WordPress/gutenberg#78940) - Fix: block auto-complete for AI API Keys in Connectors (WordPress/gutenberg#78946) - Dashboard: Opinionated grid columns with container breakpoints (WordPress/gutenberg#78732) - Skip including inactive or experimental routes when building for WordPress Core (WordPress/gutenberg#76715) - RTC: Fix Yjs undo manager to update UI state when undo stack changes (WordPress/gutenberg#78864) - Storybook: Enhance Theme Provider example with admin-ui Page. (WordPress/gutenberg#78814) - RTC: Fix CRDT deferred updates resulting in jumbled typing (WordPress/gutenberg#78756) - Add playlist track length setting (WordPress/gutenberg#78954) - Add aspect ratio control to media editor mobile toolbar (WordPress/gutenberg#78935) - Media Editor: Replace the zoom slider with +/- buttons (WordPress/gutenberg#78928) - Use omit-unchanged for compressed-size-action (WordPress/gutenberg#78976) - DataViewsPicker: Add a new `pickerActivity` layout (WordPress/gutenberg#78941) - refactor: move babel dependencies to workspace configuration (WordPress/gutenberg#78974) - feat: Migrate the browserlintrc file to `packages/postcss-plugins-preset` (WordPress/gutenberg#78764) - Storybook: Declare workspace dependencies for theme example story. (WordPress/gutenberg#78979) - Refactor: Move React dependencies from root to workspaces (WordPress/gutenberg#78981) - UI: Update `@base-ui/react` to `1.5.0` (WordPress/gutenberg#78448) - ui/AlertDialog: Fix footer layout style override (WordPress/gutenberg#78953) - Font Library: Fix focus issue when navigating (WordPress/gutenberg#78671) - Docs: Auto-generate per-block API reference pages from block.json (WordPress/gutenberg#77612) - Patterns: fix focus loss when dismissing Create pattern dialog (WordPress/gutenberg#78957) - Show media upload progress in a snackbar (WordPress/gutenberg#77249) - Upload Media: Gate very large images out of client-side processing (WordPress/gutenberg#78949) - Media: Add UltraHDR (ISO 21496-1) gain map support (WordPress/gutenberg#74873) - Site Editor: Apply the user's admin color scheme (WordPress/gutenberg#78397) - Navigation Link: fix duplicate block html attributes in editor (WordPress/gutenberg#78973) - Added Missing Global Documentation (WordPress/gutenberg#78997) - Post Revisions: Upgrade `diff` from v4 to v8 (WordPress/gutenberg#77992) - Theme: Increase stroke1 contrast target to 2.9 (WordPress/gutenberg#77599) - Tooltip: Use md border radius for portaled popups. (WordPress/gutenberg#78983) - Framework: Remove invalid stale nested npm package references (WordPress/gutenberg#79014) - Theme package: Add element size design tokens (WordPress/gutenberg#76545) - Inserter: use forwardRef for refs (WordPress/gutenberg#79006) - RTC: Add separate doc persistence endpoint (WordPress/gutenberg#78891) - DataViews: Add DataViews components to components manifest (WordPress/gutenberg#78960) - Media Editor: Keep crop handles operable on large images (WordPress/gutenberg#79011) - Media editor: tweak paddings and margins (WordPress/gutenberg#79009) - Media Editor: Remove lag when toggling the sidebar (WordPress/gutenberg#79024) - Elements: Align class name parsing with custom CSS implementation (WordPress/gutenberg#79023) - CI: Suppress lint:js warnings on static checks (WordPress/gutenberg#79025) - Remove React Native implementation, framework, and dependencies (WordPress/gutenberg#78747) - e2e-test-utils-playwright: start transpiling again, but faster (WordPress/gutenberg#79026) - CI: Remove Validate Gradle Wrapper workflow (WordPress/gutenberg#79030) - Remove dead native code branches from Platform usages (WordPress/gutenberg#79031) - Remove orphaned README files for deleted native-only components (WordPress/gutenberg#79035) - Remove orphaned mobile bug report issue template (WordPress/gutenberg#79038) - Inserter: Fix error being thrown for spoken message when inserting default/direct block (WordPress/gutenberg#79004) - Editor: Remove dead native guard in block removal warnings (WordPress/gutenberg#79039) - Preserve nested list when deleting a selection across sibling list items (WordPress/gutenberg#78776) - Remove platform-docs Docusaurus site (WordPress/gutenberg#79034) - Align dependency versions across workspaces (WordPress/gutenberg#77954) - RichText: Remove dead native-only prop filtering (WordPress/gutenberg#79037) - Navigable Container: Hoist getFocusableContext out of the component (WordPress/gutenberg#79029) - Tools: Lint dependency version consistency with Syncpack (WordPress/gutenberg#77950) - Extract entity view config into a filterable API (WordPress/gutenberg#78977) - Rich text: use subscribeDelegatedListener for element event listeners (WordPress/gutenberg#79047) - theme/ThemeProvider: rename `color.bg` prop to `color.background` (WordPress/gutenberg#79007) - Format Library: Migrate to recommended `@wordpress/ui` components (WordPress/gutenberg#79059) - Syncpack: ban `classnames` from being reintroduced (WordPress/gutenberg#79061) - UI: Update CSS cascade layers to use nesting (WordPress/gutenberg#78959) - Docs: Remove stale mobile references from tooling and primitives docs (WordPress/gutenberg#79041) - Release: Drop mobile-specific changelog omit rules (WordPress/gutenberg#79042) - Bump actions/checkout (WordPress/gutenberg#79033) - `ColorPalette`: don't render when custom colors disabled and no colors passed (WordPress/gutenberg#72402) - Bump minimatch and lerna (WordPress/gutenberg#76750) - Image block: don't show crop icon while image is uploading (WordPress/gutenberg#79103) - Add React 19 as an experimental flag (WordPress/gutenberg#79077) - Media modal: small tweak to gutters (WordPress/gutenberg#79168) - Add more React internals polyfills (WordPress/gutenberg#79142) - Media editor modal: Fix keyboard resizing for locked aspect-ratio crops (WordPress/gutenberg#79207) - Fix responsive element styles front end output (WordPress/gutenberg#79135) (WordPress/gutenberg#79215) Props adamsilverstein, jorbin, westonruter, wildworks. Fixes #65368. git-svn-id: https://develop.svn.wordpress.org/trunk@62584 602fd350-edb4-49c9-b593-d223f7449a82
This updates the pinned commit hash of the Gutenberg repository from `14db4ab9395a9e96430eed678e4288a59eecbd15 ` (version `23.3.0`) to `14db4ab9395a9e96430eed678e4288a59eecbd15` (version `23.4.0`). A full list of changes included in this commit can be found on GitHub: https://github.com/WordPress/gutenberg/compare/v23.3.0..v23.4.0. The following commits are included: - Hide image dimension tools when a state is selected (WordPress/gutenberg#78670) - Changed labels to consistently use Patterns in favor of Block patterns (WordPress/gutenberg#56880) - Fix: Restrict parent page API search to post titles only (WordPress/gutenberg#78683) - Update AGENTS.md to mention additional pitfalls: (WordPress/gutenberg#78718) - Docs: Fix big_image_size_threshold xref typo (WordPress/gutenberg#76299) - Compose: Fully deprecate the 'pure' HoC (WordPress/gutenberg#78674) - Common CSS: avoid false-positive border-style on custom properties (WordPress/gutenberg#77476) - Compose: Fix SSR crash in useMediaQuery and useViewportMatch (WordPress/gutenberg#78725) - CI: Skip plugin repo release when SVN tag already exists (WordPress/gutenberg#78476) - Dashboard: Hello Dolly (WordPress/gutenberg#78648) - UI: `Tooltip.Provider` — forward upstream `closeDelay` and `timeout` props (WordPress/gutenberg#78642) - Compose: Support React 19 ref callback cleanups in `useMergeRefs` (WordPress/gutenberg#78685) - Add copilot-instructions.md file (WordPress/gutenberg#78584) - Dashboard: show ghost widgets visually & allow easy removal (WordPress/gutenberg#78502) - Bump fast-xml-builder from 1.0.0 to 1.2.0 (WordPress/gutenberg#78272) - Bump actions/stale (WordPress/gutenberg#78745) - Bump fast-xml-parser from 4.5.0 to 4.5.6 (WordPress/gutenberg#77167) - Bump actions/github-script from 8.0.0 to 9.0.0 in /.github/workflows (WordPress/gutenberg#78591) - @wordpress/theme: deduplicate addFallbackToVar helper (WordPress/gutenberg#78666) - Add Combobox primitives (WordPress/gutenberg#78399) - Editor: Fix keyboard activation of the template actions preview (WordPress/gutenberg#78641) - Theme: drop `density` support from `@wordpress/theme` (WordPress/gutenberg#78741) - Tooltip migration: fields + media-editor + media-fields + global-styles-ui (4/5) (WordPress/gutenberg#78691) - List View: Expose block visibility label to assistive technology (WordPress/gutenberg#78640) - Hide paragraph Drop cap control when a state is selected (WordPress/gutenberg#78672) - Image cropper: round zoom control values and display as percentages (WordPress/gutenberg#78757) - Media Editor Modal: Try placing the save and cancel buttons in the footer (WordPress/gutenberg#78708) - Unset grid span defaults with viewport states enabled (WordPress/gutenberg#78709) - Media Editor: Remove resize handles toggle from crop panel (WordPress/gutenberg#78758) - Image Editor: focus return after closing image crop modal (WordPress/gutenberg#78711) - Add dashboard Events widget (WordPress/gutenberg#78553) - Writing flow: Delete at end of nested list item should merge into next block (WordPress/gutenberg#78742) - RTC: Re-render collaborators overlay when the block tree changes (WordPress/gutenberg#78636) - Dashboard: rename `widget-types` to `widget-primitives` and consolidate the widget contract (WordPress/gutenberg#78749) - Fix Gutenberg plugin assuming its directory is named "gutenberg" (WordPress/gutenberg#78705) - Codemods: Remove one-shot Tooltip migration codemod (WordPress/gutenberg#78669) - Dashboard: rename `WidgetChrome` to `DashboardWidgetChrome` (WordPress/gutenberg#78751) - Paragraph: Strip stale block-support classes from className during align attribute migration (WordPress/gutenberg#78731) - Global Styles: Fix CSS not applying to Custom CSS textarea in Advanced panel (WordPress/gutenberg#78773) - scripts: Use require.resolve for SVG loaders to fix pnpm compat (WordPress/gutenberg#78777) - Post list: Remove close button from Quick Edit drawer (WordPress/gutenberg#78730) - Revert "Gate client-side media processing as plugin-only (WordPress/gutenberg#76700)" (WordPress/gutenberg#76751) - Tooltip migration: boot consumers + shell-level Tooltip.Provider (5/5) (WordPress/gutenberg#78692) - Dashboard: replace `surface` with `host` in widget contract docs (WordPress/gutenberg#78778) - Shortcode block: Fix editor crash when selecting transform menu (WordPress/gutenberg#78770) - Make `@wordpress/nux` a no-op compatibility package (WordPress/gutenberg#77773) - Tests: Temporarily disable REST index output-format assertions (WordPress/gutenberg#78788) - Hide Cover overlay controls for viewport states (WordPress/gutenberg#78763) - Fix type of `$block_instance` parameter in `block_core_image_render_lightbox()` (WordPress/gutenberg#78790) - TypeScript: Migrate server-side-render package to TS (WordPress/gutenberg#71383) - feat: Migrate performance results to tools release (WordPress/gutenberg#78761) - wp-build: Fix black flash on wp-admin pages before hydration (WordPress/gutenberg#78493) - Icons: maintain absolute stroke-width regardless of icon-size (WordPress/gutenberg#78774) - Dashboard: Use Howdy greeting for page title (WordPress/gutenberg#78740) - Block Editor: Refactor Inserter to a function component (WordPress/gutenberg#78766) - Dashboard: Move layout settings to customize toolbar (WordPress/gutenberg#78738) - Build: update changelog (WordPress/gutenberg#78807) - Icons: rename timeToRead to time (WordPress/gutenberg#78804) - RTC: Prevent slower polling filters (WordPress/gutenberg#78811) - Button.Icon: Fix clipped icons (WordPress/gutenberg#78614) - Bump docker/login-action (WordPress/gutenberg#78819) - RTC: Return forbidden rooms together (WordPress/gutenberg#78748) - Update browserslist (WordPress/gutenberg#78840) - Try allowing transforms to a variation of another block (WordPress/gutenberg#78713) - Elements: Guard against non-string className in render filter (WordPress/gutenberg#78841) - e2e-test-utils-playwright: add src to published NPM files (WordPress/gutenberg#78847) - Editor: Refactor 'PostPublishButton' into function component (WordPress/gutenberg#78737) - Dashboard: Promote WidgetRender into widget-primitives (WordPress/gutenberg#78821) - Notes: Show default avatar in the indicator when user avatars are disabled (WordPress/gutenberg#78849) - Revert "Icons: maintain absolute stroke-width regardless of icon-size (WordPress/gutenberg#78774)" (WordPress/gutenberg#78854) - Media: Send Document-Isolation-Policy header on the site preview frame (WordPress/gutenberg#78404) - Revert navigation morph & playlist commits pushed directly to trunk (WordPress/gutenberg#78857) - Fix Update button staying active when changes are reverted. (WordPress/gutenberg#78567) - Docs: Fix and improve documentation (WordPress/gutenberg#78686) - Abilities: Add validation tests pinning behavior for WP-specific schema keywords (WordPress/gutenberg#78783) - Tools: migrate docs/tool into tools/docs workspace (WordPress/gutenberg#78870) - Dashboard: Fix Add widget error on non-secure HTTP origins (WordPress/gutenberg#78850) - Docs: Fix @wordpress/data README fragment links (WordPress/gutenberg#78866) - bin: Remove obsolete bin/setup-local-env.sh (WordPress/gutenberg#78871) - Boot navigation: wrap items in a list role for valid listitem semantics (WordPress/gutenberg#78829) - wp-build: Document generated page hooks per WordPress standards. (WordPress/gutenberg#78826) - Update CODEOWNERS for tooling directories (WordPress/gutenberg#78874) - Block Visibility: Keep hide-everywhere working after a block opts out of visibility support (WordPress/gutenberg#78780) - Dashboard: Replace grid row height controls with size presets. (WordPress/gutenberg#78735) - Prevent font-size propagation in Navigation items causing `em` compounding (WordPress/gutenberg#77419) - Media Editor Modal: Reorder details fields so the editable regular layout fields appear at the top (WordPress/gutenberg#78792) - Fix media editor sidebar close button label (WordPress/gutenberg#78895) - Dashboard: event widget iteration (WordPress/gutenberg#78815) - Playlist Block: Add visualization style selector (WordPress/gutenberg#76147) - [Content Types]: Fix extra Page padding causing vertical scrollbar (WordPress/gutenberg#78661) - Remove migrated dependencies from root package.json (WordPress/gutenberg#78813) - Packages: Declare missing `@types/react` dependency (WordPress/gutenberg#78882) - Fix collapsed experiment cards not stretching to full width (WordPress/gutenberg#78910) - Element: add polyfills for render, hydrate, unmountComponentAtNode (WordPress/gutenberg#78899) - Revert "wp-build: Replace getter-based exports with data properties" (WordPress/gutenberg#78917) - React: add ReactCurrentOwner polyfill (WordPress/gutenberg#78923) - Fix playlist metadata edits recreating player (WordPress/gutenberg#78876) - Media Editor: Fix sidebar overflowing the modal between the small and medium breakpoints (WordPress/gutenberg#78931) - Media: Move client-side media compat file to wordpress-7.1 directory (WordPress/gutenberg#78852) - env: Replace extract-zip with adm-zip to fix hang on Node 24.16 (WordPress/gutenberg#78828) - Media Editor: refactor modal layout (WordPress/gutenberg#78896) - Optimize wp-env source downloads with Git partial clones (WordPress/gutenberg#78918) - Fix: Escape URLs in block render functions using `esc_url()` (WordPress/gutenberg#78912) - Blocks: Allow the Login/out block as an inner block in the Navigation Submenu block (WordPress/gutenberg#75497) - Fix sprintf format specifiers in post-date and read-more blocks (WordPress/gutenberg#78933) - Refactor: Remove jest/test deps from root package.json (WordPress/gutenberg#78801) - Upload Media: Add retry with exponential backoff and network resilience (WordPress/gutenberg#76765) - Build Scripts: Fix Windows path handling in dev script (WordPress/gutenberg#78939) - Revert React 19 upgrade (WordPress/gutenberg#78940) - Fix: block auto-complete for AI API Keys in Connectors (WordPress/gutenberg#78946) - Dashboard: Opinionated grid columns with container breakpoints (WordPress/gutenberg#78732) - Skip including inactive or experimental routes when building for WordPress Core (WordPress/gutenberg#76715) - RTC: Fix Yjs undo manager to update UI state when undo stack changes (WordPress/gutenberg#78864) - Storybook: Enhance Theme Provider example with admin-ui Page. (WordPress/gutenberg#78814) - RTC: Fix CRDT deferred updates resulting in jumbled typing (WordPress/gutenberg#78756) - Add playlist track length setting (WordPress/gutenberg#78954) - Add aspect ratio control to media editor mobile toolbar (WordPress/gutenberg#78935) - Media Editor: Replace the zoom slider with +/- buttons (WordPress/gutenberg#78928) - Use omit-unchanged for compressed-size-action (WordPress/gutenberg#78976) - DataViewsPicker: Add a new `pickerActivity` layout (WordPress/gutenberg#78941) - refactor: move babel dependencies to workspace configuration (WordPress/gutenberg#78974) - feat: Migrate the browserlintrc file to `packages/postcss-plugins-preset` (WordPress/gutenberg#78764) - Storybook: Declare workspace dependencies for theme example story. (WordPress/gutenberg#78979) - Refactor: Move React dependencies from root to workspaces (WordPress/gutenberg#78981) - UI: Update `@base-ui/react` to `1.5.0` (WordPress/gutenberg#78448) - ui/AlertDialog: Fix footer layout style override (WordPress/gutenberg#78953) - Font Library: Fix focus issue when navigating (WordPress/gutenberg#78671) - Docs: Auto-generate per-block API reference pages from block.json (WordPress/gutenberg#77612) - Patterns: fix focus loss when dismissing Create pattern dialog (WordPress/gutenberg#78957) - Show media upload progress in a snackbar (WordPress/gutenberg#77249) - Upload Media: Gate very large images out of client-side processing (WordPress/gutenberg#78949) - Media: Add UltraHDR (ISO 21496-1) gain map support (WordPress/gutenberg#74873) - Site Editor: Apply the user's admin color scheme (WordPress/gutenberg#78397) - Navigation Link: fix duplicate block html attributes in editor (WordPress/gutenberg#78973) - Added Missing Global Documentation (WordPress/gutenberg#78997) - Post Revisions: Upgrade `diff` from v4 to v8 (WordPress/gutenberg#77992) - Theme: Increase stroke1 contrast target to 2.9 (WordPress/gutenberg#77599) - Tooltip: Use md border radius for portaled popups. (WordPress/gutenberg#78983) - Framework: Remove invalid stale nested npm package references (WordPress/gutenberg#79014) - Theme package: Add element size design tokens (WordPress/gutenberg#76545) - Inserter: use forwardRef for refs (WordPress/gutenberg#79006) - RTC: Add separate doc persistence endpoint (WordPress/gutenberg#78891) - DataViews: Add DataViews components to components manifest (WordPress/gutenberg#78960) - Media Editor: Keep crop handles operable on large images (WordPress/gutenberg#79011) - Media editor: tweak paddings and margins (WordPress/gutenberg#79009) - Media Editor: Remove lag when toggling the sidebar (WordPress/gutenberg#79024) - Elements: Align class name parsing with custom CSS implementation (WordPress/gutenberg#79023) - CI: Suppress lint:js warnings on static checks (WordPress/gutenberg#79025) - Remove React Native implementation, framework, and dependencies (WordPress/gutenberg#78747) - e2e-test-utils-playwright: start transpiling again, but faster (WordPress/gutenberg#79026) - CI: Remove Validate Gradle Wrapper workflow (WordPress/gutenberg#79030) - Remove dead native code branches from Platform usages (WordPress/gutenberg#79031) - Remove orphaned README files for deleted native-only components (WordPress/gutenberg#79035) - Remove orphaned mobile bug report issue template (WordPress/gutenberg#79038) - Inserter: Fix error being thrown for spoken message when inserting default/direct block (WordPress/gutenberg#79004) - Editor: Remove dead native guard in block removal warnings (WordPress/gutenberg#79039) - Preserve nested list when deleting a selection across sibling list items (WordPress/gutenberg#78776) - Remove platform-docs Docusaurus site (WordPress/gutenberg#79034) - Align dependency versions across workspaces (WordPress/gutenberg#77954) - RichText: Remove dead native-only prop filtering (WordPress/gutenberg#79037) - Navigable Container: Hoist getFocusableContext out of the component (WordPress/gutenberg#79029) - Tools: Lint dependency version consistency with Syncpack (WordPress/gutenberg#77950) - Extract entity view config into a filterable API (WordPress/gutenberg#78977) - Rich text: use subscribeDelegatedListener for element event listeners (WordPress/gutenberg#79047) - theme/ThemeProvider: rename `color.bg` prop to `color.background` (WordPress/gutenberg#79007) - Format Library: Migrate to recommended `@wordpress/ui` components (WordPress/gutenberg#79059) - Syncpack: ban `classnames` from being reintroduced (WordPress/gutenberg#79061) - UI: Update CSS cascade layers to use nesting (WordPress/gutenberg#78959) - Docs: Remove stale mobile references from tooling and primitives docs (WordPress/gutenberg#79041) - Release: Drop mobile-specific changelog omit rules (WordPress/gutenberg#79042) - Bump actions/checkout (WordPress/gutenberg#79033) - `ColorPalette`: don't render when custom colors disabled and no colors passed (WordPress/gutenberg#72402) - Bump minimatch and lerna (WordPress/gutenberg#76750) - Image block: don't show crop icon while image is uploading (WordPress/gutenberg#79103) - Add React 19 as an experimental flag (WordPress/gutenberg#79077) - Media modal: small tweak to gutters (WordPress/gutenberg#79168) - Add more React internals polyfills (WordPress/gutenberg#79142) - Media editor modal: Fix keyboard resizing for locked aspect-ratio crops (WordPress/gutenberg#79207) - Fix responsive element styles front end output (WordPress/gutenberg#79135) (WordPress/gutenberg#79215) Props adamsilverstein, jorbin, westonruter, wildworks. Fixes #65368. git-svn-id: https://develop.svn.wordpress.org/trunk@62584 602fd350-edb4-49c9-b593-d223f7449a82
What?
Important
The post Proposal: Auto-generate Block Editor Handbook docs from block.json was published on make.wordpress.org/core to gather feedback about this proposal and a hallway hangout was held to explain the outcome of the PR and receive feedback. All feedback and technical concerns have been addressed. See related comment
Continuation of #77350, which was merged and later reverted in #77590 after concerns were raised about a lack of consensus.
core-blocks-docs-demo.mp4
This PR, built on top of the work started by @jonathanbossenger, adds auto-generated per-block API reference pages following the same approach already used for component documentation in this repo:
README.mdinside each block's source directory (packages/block-library/src/{block}/README.md), just asgen-components-docsgeneratesREADME.mdfiles inside each component's directory (packages/components/src/{component}/README.md).{{blocks}}token intoc.json, following the existing{{components}}and{{packages}}pattern.<!-- START TOKEN / END TOKEN -->delimiters so hand-written content in existing READMEs is preserved — the same convention used by the package API docs generator (update-api-docs.js).These pages are wired into the Block Editor Handbook manifest as a 3-level hierarchy: Core Blocks Reference → Category → Block.
Why?
The only official documentation for core blocks is the flat summary at Core Blocks Reference. It lists block names, supports, and attribute keys — but lacks detail on attribute types, defaults, context, CSS selectors, styles, and block markup patterns.
Developers working with core blocks need this information and currently have to dig through source code. Having structured, per-block reference pages makes the block API surface discoverable and keeps the documentation in sync with the codebase via a generator script.
How?
New script:
tools/api-docs/generate-block-docs.mjsReads each block's
block.jsonand source file structure, then generates:packages/block-library/src/{block}/— each containing attributes table (types, defaults, source, selector, role), supports detail, context (uses/provides), block styles, CSS selectors, block markup examples, and source file links.docs/reference-guides/core-blocks/category-{cat}.md— listing blocks in each category with links to their handbook pages.Token-delimited content — generated content is wrapped in
<!-- START TOKEN(Autogenerated block API docs) -->/<!-- END TOKEN(...) -->delimiters, following the same pattern used by the existing package API docs generator. This means:navigation,social-link) keep their content intact — generated API reference is appended below the hand-written prose, and only the content between tokens is updated on subsequent runs.Cross-linking throughout — generated pages link to relevant reference docs:
block.jsonproperty reference (e.g., "Defined via theattributesproperty in block.json.").block.jsonto both the GitHub source and the Block Metadata reference.Updated:
tools/api-docs/gen-block-lib-list.jsThe existing summary page generator (
core-blocks.md) now:**Name:** [core/accordion](/block-editor/...)).([Source](...))link after each description (source links are now in each block's detail page).Manifest integration
docs/toc.json—core-blocks.mdentry updated from[]to"{{blocks}}", following the existing{{components}}and{{packages}}pattern.docs/tool/manifest.js— newgetBlockManifest()function readsblock.jsonfiles directly for metadata (title, category) instead of parsing markdown. Pointsmarkdown_sourceto../packages/block-library/src/{block}/README.md. Produces a 3-level hierarchy:parent: 'core-blocks', slug:core-blocks-{category}parent: 'core-blocks-{category}', slug:core-block-{blockname}Build pipeline & keeping docs in sync
The per-block docs follow the exact same commit-time flow as the existing API docs (
docs:api-ref) and component docs — no new machinery, no CI step.Scripts
docs:blocks-detailruns the generator (generate-block-docs.mjs).docs:buildpipeline so a full build regenerates everything.Automatic regeneration on commit (lint-staged)
docs:blocks-detailis added to the existingpackages/**/*.{js,ts,tsx,json}lint-staged entry, alongsidedocs:api-refanddocs:blocks. So whenever ablock.json(or any package source file) is committed, the block READMEs are regenerated.START/END TOKENdelimiters is touched, so hand-written prose is preserved.The sync gate
.mdfiles aren't matched by the glob, so lint-staged never stages them.docs:check-api-docs-unstagedcheck — already in the same lint-staged entry — detects any README carrying the<!-- START TOKEN -->marker that the generator just changed (block READMEs included) and fails the commit.npm run docs:build(ordocs:blocks-detail), stages the updated READMEs, and re-commits — or bypasses with--no-verify. This is identical to how stale API/component docs are handled today.Manifest regeneration
packages/block-library/src/*/README.mdis added to the manifest-regeneration glob (docs:gen), mirroring the existingcomponents/src/*/**/README.mdentry.getBlockManifest()only includes a block whose README exists, so creating or removing a block README triggers a manifest rebuild.Notes on scope (by design)
--no-verifycommit or a trunk merge is surfaced and corrected by the next regular commit — the docs self-heal.docs:api-refstep in the same hook dominates at ~18s), so the added cost per commit is negligible.Testing Instructions
Markdown docs generation
git clone https://github.com/WordPress/gutenberg.git cd gutenberg git checkout build/docs-blocks-generation-v2 npm installThis PR includes the generated files. To properly test the generation of files we need to restore the state of .md files to trunk:
1. Generate block reference pages:
Check
packages/block-library/src/— each block directory should now have aREADME.mdwith token-delimited API reference content. Also checkdocs/reference-guides/core-blocks/for the 8category-*.mdfiles.2. Verify hand-written READMEs are preserved:
Check
packages/block-library/src/navigation/README.md— the hand-written CSS classes documentation should appear above the<!-- START TOKEN -->delimiter, with the generated API reference below it.3. Verify the summary page:
Open
docs/reference-guides/core-blocks.md— block names should link to their detail pages and categories should link to their index pages.4. Verify the manifest:
Open
docs/manifest.jsonand findcore-block-paragraph. Itsparentshould becore-blocks-text, andmarkdown_sourceshould point to../packages/block-library/src/paragraph/README.md.Rendered handbook pages
1. Set up wporg-developer (if not already):
If you already have an existing setup, update the
wporg-markdownplugin to pick up the fix from wordpress.org@870a792 (which removes theposts_per_pagelimit in the importer - see WordPress/wporg-developer#564):2. Point the importer to this PR. Edit
source/wp-content/themes/wporg-developer-2023/inc/import-block-editor.phpand replace the manifest URL:3. Run the import:
4. Verify at
http://localhost:8888/block-editor/reference-guides/core-blocks/:Use of AI Tools
This PR was co-authored with Claude Code (Claude Opus). The generator script, manifest integration, and PR description were AI-assisted. All output was reviewed for accuracy against the existing codebase conventions and tested locally.