A public Storefront API for headless storefronts, plus a block editor and builder preview that finally look like the real form.
Added
- Added a public, read-only Storefront REST API for static sites and external product embeds, exposing active-only product and plan data with resolved icons, hosted checkout URLs, filters, pagination, CORS, caching, and ETags.
- The form skeleton (
forms.css) and default theme (form-theme.css) now load inside the Block Editor canvas, so the Core Form block preview matches the published page instead of rendering unstyled.
Changed
- The License Issuing Server no longer takes over an existing
/checkout/ page it does not own. When that slug is already taken it provisions /core-checkout/ instead, leaving WooCommerce and hand-built checkout pages untouched.
- Replaced every
DOING_AJAX constant check with wp_doing_ajax(), which is filterable and the supported API.
- Removed the orphaned
AllSubmissionsTable::forms_dropdown() and ::date_filters() methods.
Fixed
- Fixed the form builder preview pane painting unstyled before restyling itself. Its stylesheets were enqueued from a
wp_head callback at priority 10, after core prints styles at priority 8, so they only ever reached the footer's late-style pass.
- Fixed the form builder preview request not being recognised as containing a form, which let the unused-asset cleanup dequeue the preview's own stylesheets.
- Corrected several inaccurate PHPDoc return types reported to callers and tooling, and declared
Form::$id as the read-only alias __get() already served.
- The licensing maintenance cron callback no longer returns its summary array to
do_action().
Note: 4.6.1 was prepared but never published, so its changes are folded into this release and no v4.6.1 tag exists.
Requires: WordPress 6.4+ · PHP 8.1+ · Tested up to WordPress 6.8