Element: add polyfills for render, hydrate, unmountComponentAtNode - #78899
Conversation
|
Size Change: +952 B (+0.01%) Total Size: 8.21 MB 📦 View Changed
ℹ️ View Unchanged
|
|
|
||
| ### hydrate | ||
|
|
||
| > **Deprecated** since WordPress 6.2.0. Use `hydrateRoot` instead. |
There was a problem hiding this comment.
| > **Deprecated** since WordPress 6.2.0. Use `hydrateRoot` instead. | |
| > [!CAUTION] | |
| > **Deprecated** since WordPress 6.2.0. Use `hydrateRoot` instead. |
Worth adding these notices as more visible alerts here?
vs
There was a problem hiding this comment.
This part of the README is generated from jsdoc comments, so we can't just add [!CAUTION] at will. Let's check if there is some way to add it to the source jsdoc comment.
There was a problem hiding this comment.
Gotcha! Totally not a blocker either.
There was a problem hiding this comment.
These package READMEs are also shown on developer.wordpress.org (example) which doesn't support that syntax. At one point I tracked that back to being a feature provided through Jetpack that needs to be enhanced first (Automattic/jetpack#45907).
|
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. |
aduth
left a comment
There was a problem hiding this comment.
I was able to validate this on a screen that uses @wordpress/boot, i.e. Appearance > Fonts. Both wp.element.render and ReactDOM.render work, and the former logs a warning.
Strangely, when trying to test this in the post editor, it looks like React 18 is still being used there? (i.e. probably using the version of React that ships with WordPress stable). It still "works" there, but it works because it's using React 18. wp.element.render works (and logs) as expected.
There was a problem hiding this comment.
A few general nitpicks about this file:
- I'd expect the name of the test file to follow from the file it's testing (i.e.
react-polyfillrather thanrender-polyfill) - I'd expect
describeto just be the name of the function under test (e.g.'render'instead of'render polyfill') (conventional, but apparently we don't document it) - I'm not sure I understand the reason for aliasing
renderasrenderPolyfill, particularly since we don't do it for the other polyfill members we're testing
There was a problem hiding this comment.
I've been renaming and reshuffling the files several times, so these naming issues creeped in.
I pushed an update where the file is renamed to react-polyfill.js and merged with find-dom-node.js, unit tests for the existing polyfill. Now there is a 1:1 match between source files and test files.
I'm not sure I understand the reason for aliasing render as renderPolyfill,
I still need to alias findDOMNode as findDOMNodePolyfill because otherwise I get lint errors about using legacy APIs. But this doesn't apply to render, so I removed the alias.
There was a problem hiding this comment.
merged with
find-dom-node.js
I had to revert this merge because findDOMNode tests use the Testing Library and the act() environment, while the render tests don't. Having both inside the same suite leads to mysterious errors.
|
Tested a few popular plugins with WP 7.0.
React 19 without Polyfill:
React 19 with polyfill, a few continue to be broken:
Everything resumed to work when disabling Gutenberg, i.e. when on React 18. Additionally tested also Ninja Forms, Google Site Kit, Wordfence, WP Mail SMTP, Gravityforms, WPForms Lite, Hostinger Tools, Monsterinsights, Fluent Forms, and Rank Math. My testing isn't super precise/isolated as I have multiple plugins enabled at the same time, but curious if others can replicate. I don't think these are blockers to merging (things are better). Error details→ React 19 stopped applying → Sure Forms seems to be referencing React internals via this code in var n = r(51609)
, o = Symbol.for("react.element")
, i = Symbol.for("react.fragment")
, a = Object.prototype.hasOwnProperty
, s = n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner
, l = {
key: !0,
ref: !0,
__self: !0,
__source: !0
}; |
This is indeed strange, the only explanation is that Gutenberg plugin is not active. Can you check the URLs of the |
I'll check again, but I was simultaneously seeing |
This must have been a temporary issue. It seems to be working now. Separately, one thing I'm observing in doing some edge-case testing switching between |
8cfd9e1 to
06092f4
Compare
This is much worse than missing
This could be used to determine which component is currently rendering, but with React 19 it's completely gone. The internals are now called |
|
Flaky tests detected in 06092f4. 🔍 Workflow run URL: https://github.com/WordPress/gutenberg/actions/runs/26897624655
|
Yes, this is an unpleasant edge case, there are two copies of the polyfill, not compatible with each other because of separate root maps. The reason is that import { render } from 'react-dom';It exists only on the I don't know how to share the implementation between the two scripts, so I decided to duplicate. In practice hopefully this never happens. The consumer should use only one |
One idea (which I think maybe React itself has used?) might be to assign a custom property on the DOM element itself to track its root? But yeah, ideally this wouldn't happen in practice 😅 |
Either this, or to put the root map on the |
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
Fixes #78827. Adds polyfills for
render,hydrateandunmountComponentAtNodeto@wordpress/elementand also to thereact-domscript itself.For the polyfill to be really effective, it needs to be also in
react-dom, because that's where plugins like Elementor commonly import it from.react-domships a version of the polyfill without thedeprecatedwarnings, because we don't want thereact-domscript to depend onwp-deprecated. This is an issue that we should solve somehow: currently the polyfills inreact-domwon't issue any warning at all! But it must be done withoutwp-deprecated.The polyfills are implemented inside
@wordpress/element, and exported as a new special-purpose/react-polyfillexport.