Conversation
Track experimental API migrations and feature conflict testing needed for WP 7.0 (Gutenberg 22.0-22.6 merge, April 2026). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Claude finished @jnealey88's task in 4m 41s —— View job WordPress 7.0 Compatibility PR ReviewTasks
I verified all claims in this tracking document against the actual codebase. Here's a summary of findings: Inaccurate counts:
Untracked experimental APIs that need migration (all have stable replacements):
Verified accurate:
Full details in the PR review comment. |
There was a problem hiding this comment.
WP 7.0 Compatibility Tracking — Code Review
This is a tracking/planning PR with no code changes. I verified all claims against the actual codebase and found several inaccuracies and gaps.
Inaccuracies in File Counts
__experimentalColorGradientSettingsDropdown — 28 files, not 30
Two files listed in the PR do not use this API:
src/formats/text-style/components/ColorSection.js— not foundsrc/blocks/image-accordion/edit.js— uses__experimentalPanelColorGradientSettingsinstead (a different, older API — see below)
__experimentalBorder in block.json — 29 files, not 32
Grep confirms 29 files. Two files found by grep are missing from the tracking list:
src/blocks/image-accordion-item/block.jsonsrc/blocks/counter-group/block.json
The PR headline count of 32 appears to be inflated. The actual count is 29.
Missing Experimental APIs (Not Tracked)
Several experimental APIs present in the codebase are not mentioned in the PR. Some of these have been stable since WP 6.3–6.5 and should be migrated alongside the listed items.
High priority — already stable:
| API | Files | Stable replacement |
|---|---|---|
__experimentalNumberControl |
src/blocks/form-time-field/edit.js, src/blocks/form-number-field/edit.js |
NumberControl (stable since WP 6.3) |
__experimentalLinkControl |
src/blocks/icon-button/edit.js, src/blocks/timeline-item/edit.js |
LinkControl (stable since WP 6.5) |
__experimentalToolsPanel / __experimentalToolsPanelItem |
src/blocks/countdown-timer/components/inspector/UnitBorderPanel.js |
ToolsPanel / ToolsPanelItem (stable since WP 6.4) |
__experimentalBorderControl |
src/blocks/countdown-timer/components/inspector/UnitBorderPanel.js |
BorderControl (stable since WP 6.4) |
__experimentalHStack |
src/blocks/scroll-marquee/edit.js, src/extensions/svg-patterns/components/SvgPatternsPanel.js |
HStack (stable) |
__experimentalUseCustomUnits |
5 files (fifty-fifty, grid, row, section, max-width) |
useCustomUnits (stable since WP 6.2) |
__experimentalPanelColorGradientSettings |
src/blocks/accordion/edit.js, src/blocks/image-accordion/edit.js |
Should migrate to ColorGradientSettingsDropdown — these two files use the old panel API, not the dropdown API already tracked |
__experimentalDivider |
src/blocks/card/edit.js |
Divider (stable) |
__experimentalUseMultipleOriginColorsAndGradients |
20+ files | useMultipleOriginColorsAndGradients (verify stable status) |
In block.json (not tracked):
| Key | Files | Notes |
|---|---|---|
__experimentalDuotone |
src/blocks/blobs/block.json |
Add to migration list |
__experimentalTextAlign |
src/blocks/countdown-timer/block.json, src/blocks/icon-list/block.json |
Stable as textAlign in typography support |
__experimentalSkipSerialization |
src/blocks/icon-button/block.json, src/blocks/modal-trigger/block.json |
Check if stable replacement exists |
__experimentalIsRenderedInSidebar |
accordion/edit.js, breadcrumbs/edit.js, image-accordion/edit.js, table-of-contents/edit.js |
Check if stable |
Confirmed Issues
Duplicate typography key in src/blocks/pill/block.json (already tracked, confirmed real)
The file has two "typography" keys in supports. JSON parsers silently drop the first — the partial entry with only textAlign and __experimentalWritingMode is dead code. The second full entry wins. This is the correct behavior accidentally, but the dead code should be removed.
__experimentalBorder in deprecated.js files — src/blocks/countdown-timer/deprecated.js and src/blocks/slider/deprecated.js contain __experimentalBorder. These are intentional (preserving deprecated block attributes for migration) and should be excluded from the migration count — do not change deprecated block schemas.
"Already Compliant" — Verified Accurate
- All 53 blocks:
apiVersion: 3✓ useBlockProps()/useInnerBlocksProps()✓__next40pxDefaultSize/__nextHasNoMarginBottomin 92 files ✓- No
console.login source ✓ __experimentalSelector— still no stable replacement, correct to skip ✓__experimentalDefaultControls— still no stable replacement, correct to skip ✓
Recommendations
-
Add the missing experimental APIs listed above to the tracking checklist before this PR is used to assign work — particularly
__experimentalNumberControl,__experimentalLinkControl,__experimentalToolsPanel/__experimentalToolsPanelItem, and__experimentalBorderControl, which all have stable replacements. -
Correct the file counts —
ColorGradientSettingsDropdownis 28 files (not 30),__experimentalBorderis 29 block.json files (not 32), andimage-accordion-item/block.json+counter-group/block.jsonare missing from the border migration list. -
__experimentalPanelColorGradientSettingsinaccordion/edit.jsandimage-accordion/edit.js— these two blocks use the old panel API and need a different migration path than the dropdown API files. They're not interchangeable. -
Verify
__experimentalIsRenderedInSidebarand__experimentalSkipSerialization— check if these have been graduated to stable in WP 7.0 and add to the tracking list if so.
Overall the tracking plan is solid and the "Already Compliant" claims are verified accurate. The gaps above represent real work that should be captured before execution begins.
Summary
WordPress 7.0 Beta 1 is now available (final release: April 9, 2026). WP 7.0 merges Gutenberg 22.0–22.6 into core, introduces new core blocks, and graduates many
__experimentalAPIs to stable.This PR tracks all compatibility work needed to ensure DesignSetGo runs cleanly on WP 7.0.
High Priority — Experimental API Migrations (JS)
These APIs are now stable and the
__experimentalprefix may stop being exported in Gutenberg 22.x / WP 7.0.__experimentalUnitControl→UnitControl(25 files)src/blocks/section/edit.jssrc/blocks/slide/edit.jssrc/blocks/accordion/edit.jssrc/blocks/fifty-fifty/edit.jssrc/blocks/image-accordion/edit.jssrc/blocks/progress-bar/edit.jssrc/blocks/slider/edit.jssrc/blocks/flip-card/edit.jssrc/blocks/row/edit.jssrc/blocks/grid/edit.jssrc/blocks/blobs/edit.jssrc/blocks/scroll-marquee/edit.jssrc/blocks/form-builder/edit.jssrc/blocks/counter-group/index.jssrc/blocks/modal/components/ModalSettings.jssrc/blocks/modal-trigger/edit.jssrc/blocks/timeline/edit.jssrc/blocks/countdown-timer/components/inspector/StylingPanel.jssrc/blocks/countdown-timer/components/inspector/UnitBorderPanel.jssrc/blocks/shared/components/WidthPanel.jssrc/blocks/icon-list/components/inspector/ListSettingsPanel.jssrc/blocks/icon-button/components/inspector/ButtonSettingsPanel.jssrc/blocks/map/components/inspector/MapSettingsPanel.jssrc/formats/text-style/components/SizeSection.jssrc/extensions/max-width/edit.js__experimentalToggleGroupControl→ToggleGroupControl(3 files)src/blocks/icon/edit.jssrc/blocks/icon/components/inspector/IconSettingsPanel.jssrc/blocks/progress-bar/edit.jsMedium Priority — Experimental API Migrations (JS)
__experimentalColorGradientSettingsDropdown→ColorGradientSettingsDropdown(30 files)src/blocks/accordion/edit.jssrc/blocks/image-accordion/edit.jssrc/blocks/grid/edit.jssrc/blocks/row/edit.jssrc/blocks/progress-bar/edit.jssrc/blocks/slider/edit.jssrc/blocks/card/edit.jssrc/blocks/slide/edit.jssrc/blocks/countdown-timer/edit.jssrc/blocks/tabs/edit.jssrc/blocks/section/edit.jssrc/blocks/blobs/edit.jssrc/blocks/timeline/edit.jssrc/blocks/timeline-item/edit.jssrc/blocks/table-of-contents/edit.jssrc/blocks/scroll-accordion-item/edit.jssrc/blocks/icon-list/edit.jssrc/blocks/icon-button/edit.jssrc/blocks/modal/edit.jssrc/blocks/counter/edit.jssrc/blocks/counter-group/index.jssrc/blocks/map/edit.jssrc/blocks/comparison-table/edit.jssrc/blocks/form-builder/edit.jssrc/blocks/breadcrumbs/edit.jssrc/formats/text-style/components/ColorSection.jssrc/extensions/background-video/edit.jssrc/extensions/expanding-background/components/ExpandingBackgroundPanel.jssrc/extensions/svg-patterns/components/SvgPatternsPanel.jssrc/extensions/text-reveal/components/TextRevealPanel.jsMedium Priority —
block.jsonSchema Migrations__experimentalBorder→border(32 block.json files)block.jsonfiles from__experimentalBordertoborderinsupportsTypography
__experimental*→ stable keys (18 block.json files)__experimentalFontFamily→fontFamily__experimentalFontWeight→fontWeight__experimentalFontStyle→fontStyle__experimentalTextTransform→textTransform__experimentalTextDecoration→textDecoration__experimentalLetterSpacing→letterSpacing__experimentalWritingMode→writingMode(2 files)src/blocks/blobs/block.jsonsrc/blocks/pill/block.jsonLow Priority — Code Quality
Global
wpobject → module imports (5 files)src/block-category-filter.js—wp.domReady()/wp.blocks.registerBlockCollection()src/blocks/section/transforms.js—wp.blocks.createBlock()src/blocks/row/transforms.js—wp.blocks.createBlock()src/blocks/grid/transforms.js—wp.blocks.createBlock()src/blocks/icon-button/transforms.js—wp.blocks.createBlock()Misc
typographysupport entry insrc/blocks/pill/block.jsonreadme.txt"Tested up to" to7.0once final release shipsWP 7.0 Feature Conflict Testing
These new WP 7.0 core features need manual testing against our plugin:
New Core Blocks — Naming Collisions
designsetgo/breadcrumbs— verify no registration conflictsdesignsetgo/icon— verify no registration conflictsChanged Core Blocks
designsetgo/gridNew Features
Block Supports
Still Experimental — No Action Needed
__experimentalSelector— no stable replacement yet__experimentalDefaultControls— no stable replacement yetAlready Compliant
apiVersion: 3useBlockProps()/useInnerBlocksProps()__next40pxDefaultSizeand__nextHasNoMarginBottomused across 92 filesconsole.logstatements in sourceReferences
Test Plan
npm run buildsucceeds after all migrationsnpm run lint:jspassesnpm run lint:csspasses🤖 Generated with Claude Code