Skip to content

WordPress 7.0 Compatibility#276

Draft
jnealey-godaddy wants to merge 1 commit intomainfrom
claude/wp7-compat
Draft

WordPress 7.0 Compatibility#276
jnealey-godaddy wants to merge 1 commit intomainfrom
claude/wp7-compat

Conversation

@jnealey-godaddy
Copy link
Owner

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 __experimental APIs 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 __experimental prefix may stop being exported in Gutenberg 22.x / WP 7.0.

__experimentalUnitControlUnitControl (25 files)

  • src/blocks/section/edit.js
  • src/blocks/slide/edit.js
  • src/blocks/accordion/edit.js
  • src/blocks/fifty-fifty/edit.js
  • src/blocks/image-accordion/edit.js
  • src/blocks/progress-bar/edit.js
  • src/blocks/slider/edit.js
  • src/blocks/flip-card/edit.js
  • src/blocks/row/edit.js
  • src/blocks/grid/edit.js
  • src/blocks/blobs/edit.js
  • src/blocks/scroll-marquee/edit.js
  • src/blocks/form-builder/edit.js
  • src/blocks/counter-group/index.js
  • src/blocks/modal/components/ModalSettings.js
  • src/blocks/modal-trigger/edit.js
  • src/blocks/timeline/edit.js
  • src/blocks/countdown-timer/components/inspector/StylingPanel.js
  • src/blocks/countdown-timer/components/inspector/UnitBorderPanel.js
  • src/blocks/shared/components/WidthPanel.js
  • src/blocks/icon-list/components/inspector/ListSettingsPanel.js
  • src/blocks/icon-button/components/inspector/ButtonSettingsPanel.js
  • src/blocks/map/components/inspector/MapSettingsPanel.js
  • src/formats/text-style/components/SizeSection.js
  • src/extensions/max-width/edit.js

__experimentalToggleGroupControlToggleGroupControl (3 files)

  • src/blocks/icon/edit.js
  • src/blocks/icon/components/inspector/IconSettingsPanel.js
  • src/blocks/progress-bar/edit.js

Medium Priority — Experimental API Migrations (JS)

__experimentalColorGradientSettingsDropdownColorGradientSettingsDropdown (30 files)

  • src/blocks/accordion/edit.js
  • src/blocks/image-accordion/edit.js
  • src/blocks/grid/edit.js
  • src/blocks/row/edit.js
  • src/blocks/progress-bar/edit.js
  • src/blocks/slider/edit.js
  • src/blocks/card/edit.js
  • src/blocks/slide/edit.js
  • src/blocks/countdown-timer/edit.js
  • src/blocks/tabs/edit.js
  • src/blocks/section/edit.js
  • src/blocks/blobs/edit.js
  • src/blocks/timeline/edit.js
  • src/blocks/timeline-item/edit.js
  • src/blocks/table-of-contents/edit.js
  • src/blocks/scroll-accordion-item/edit.js
  • src/blocks/icon-list/edit.js
  • src/blocks/icon-button/edit.js
  • src/blocks/modal/edit.js
  • src/blocks/counter/edit.js
  • src/blocks/counter-group/index.js
  • src/blocks/map/edit.js
  • src/blocks/comparison-table/edit.js
  • src/blocks/form-builder/edit.js
  • src/blocks/breadcrumbs/edit.js
  • src/formats/text-style/components/ColorSection.js
  • src/extensions/background-video/edit.js
  • src/extensions/expanding-background/components/ExpandingBackgroundPanel.js
  • src/extensions/svg-patterns/components/SvgPatternsPanel.js
  • src/extensions/text-reveal/components/TextRevealPanel.js

Medium Priority — block.json Schema Migrations

__experimentalBorderborder (32 block.json files)

  • Migrate all 32 block.json files from __experimentalBorder to border in supports

Typography __experimental* → stable keys (18 block.json files)

  • __experimentalFontFamilyfontFamily
  • __experimentalFontWeightfontWeight
  • __experimentalFontStylefontStyle
  • __experimentalTextTransformtextTransform
  • __experimentalTextDecorationtextDecoration
  • __experimentalLetterSpacingletterSpacing

__experimentalWritingModewritingMode (2 files)

  • src/blocks/blobs/block.json
  • src/blocks/pill/block.json

Low Priority — Code Quality

Global wp object → module imports (5 files)

  • src/block-category-filter.jswp.domReady() / wp.blocks.registerBlockCollection()
  • src/blocks/section/transforms.jswp.blocks.createBlock()
  • src/blocks/row/transforms.jswp.blocks.createBlock()
  • src/blocks/grid/transforms.jswp.blocks.createBlock()
  • src/blocks/icon-button/transforms.jswp.blocks.createBlock()

Misc

  • Fix duplicate typography support entry in src/blocks/pill/block.json
  • Update readme.txt "Tested up to" to 7.0 once final release ships

WP 7.0 Feature Conflict Testing

These new WP 7.0 core features need manual testing against our plugin:

New Core Blocks — Naming Collisions

  • Core Breadcrumbs block vs our designsetgo/breadcrumbs — verify no registration conflicts
  • Core Icons block vs our designsetgo/icon — verify no registration conflicts

Changed Core Blocks

  • Grid Block (now responsive-enabled in core) — test alongside our designsetgo/grid
  • Navigation Block (overlays are now template parts) — test header extensions
  • Cover Block (video embed backgrounds) — test our background-video extension
  • Gallery Block (lightbox support) — verify no CSS/JS conflicts

New Features

  • Responsive visibility controls — test with our blocks to ensure no conflicts
  • Real-time collaboration — smoke test editing our blocks with collab enabled
  • New admin color scheme — verify our admin UI/settings pages look correct
  • Font Library for all themes — test with classic themes if applicable
  • View transitions in dashboard — verify no JS conflicts

Block Supports

  • Dimension width/height support — test blocks that use custom width controls
  • Line indent / text columns — verify no overlap with our typography controls
  • Aspect ratio for wide/full images — test image-related blocks

Still Experimental — No Action Needed

  • __experimentalSelector — no stable replacement yet
  • __experimentalDefaultControls — no stable replacement yet

Already Compliant

  • All 53 blocks use apiVersion: 3
  • All blocks use useBlockProps() / useInnerBlocksProps()
  • __next40pxDefaultSize and __nextHasNoMarginBottom used across 92 files
  • No console.log statements in source
  • No deprecated PHP functions detected

References

Test Plan

  • npm run build succeeds after all migrations
  • npm run lint:js passes
  • npm run lint:css passes
  • Editor smoke test: insert each migrated block, verify inspector controls render
  • Frontend smoke test: verify all blocks render correctly
  • Run full test suite on WP 7.0 Beta 1 environment

🤖 Generated with Claude Code

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
Copy link

claude bot commented Feb 22, 2026

Claude finished @jnealey88's task in 4m 41s —— View job


WordPress 7.0 Compatibility PR Review

Tasks

  • Gather context
  • Read CLAUDE.md for repo-specific guidelines
  • Verify __experimentalUnitControl usage claims (25 files)
  • Verify __experimentalToggleGroupControl usage claims (3 files)
  • Verify __experimentalColorGradientSettingsDropdown usage claims (30 files)
  • Verify block.json experimental support claims (32 files)
  • Verify typography experimental keys claims (18 files)
  • Verify "Already Compliant" claims
  • Check for any missed experimental APIs
  • Post final review

I verified all claims in this tracking document against the actual codebase. Here's a summary of findings:

Inaccurate counts:

  • __experimentalColorGradientSettingsDropdown: 28 files (not 30) — ColorSection.js doesn't use it; image-accordion/edit.js uses the older __experimentalPanelColorGradientSettings instead
  • __experimentalBorder in block.json: 29 files (not 32) — image-accordion-item/block.json and counter-group/block.json are missing from the list

Untracked experimental APIs that need migration (all have stable replacements):

  • __experimentalNumberControlNumberControl in form-time-field/edit.js, form-number-field/edit.js
  • __experimentalLinkControlLinkControl in icon-button/edit.js, timeline-item/edit.js
  • __experimentalToolsPanel / __experimentalToolsPanelItem → stable equivalents in countdown-timer/inspector/UnitBorderPanel.js
  • __experimentalBorderControlBorderControl in countdown-timer/inspector/UnitBorderPanel.js
  • __experimentalHStackHStack in 2 files
  • __experimentalUseCustomUnitsuseCustomUnits in 5 files
  • __experimentalPanelColorGradientSettingsColorGradientSettingsDropdown in accordion/edit.js, image-accordion/edit.js
  • __experimentalDividerDivider in card/edit.js
  • __experimentalDuotone, __experimentalTextAlign, __experimentalSkipSerialization in various block.json files

Verified accurate:

  • All "Already Compliant" claims check out ✓

Full details in the PR review comment.

Copy link

@claude claude bot left a comment

Choose a reason for hiding this comment

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

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 found
  • src/blocks/image-accordion/edit.js — uses __experimentalPanelColorGradientSettings instead (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.json
  • src/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 filessrc/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 / __nextHasNoMarginBottom in 92 files ✓
  • No console.log in source ✓
  • __experimentalSelector — still no stable replacement, correct to skip ✓
  • __experimentalDefaultControls — still no stable replacement, correct to skip ✓

Recommendations

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

  2. Correct the file countsColorGradientSettingsDropdown is 28 files (not 30), __experimentalBorder is 29 block.json files (not 32), and image-accordion-item/block.json + counter-group/block.json are missing from the border migration list.

  3. __experimentalPanelColorGradientSettings in accordion/edit.js and image-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.

  4. Verify __experimentalIsRenderedInSidebar and __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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant