3.1.0
Adds Performance analysis to help identify expensive sections, reduces repeated CSS processing, and improves deferred loading and mobile editing.
- Open Performance in the full-page builder, or Performance → Analyze section in the Block Editor inspector, to inspect unsaved source/minified sizes, expected CSS requests, duplicate CSS, and image/script/font hints.
- Section CSS manifests are reused during each request, with invalidation after saves and recovery for missing files. In a local 100-section fixture, parsing fell from 101 passes to 1; this is not a claim about live PageSpeed savings.
- Deferred styles use an external loader compatible with CSP policies allowing same-origin scripts. Nonce-only policies can authorize it through WordPress’s
wp_script_attributesfilter. The no-JavaScript fallback remains available. - Loading controls wrap on narrow screens.
Existing page content and loading choices remain unchanged. Deferral is opt-in; keep hero and shared layout styles inline or non-deferred. This release also includes the per-section Defer CSS option introduced in the locally deployed 3.0.4.
Validation: PHP/JavaScript regression suites, PHPStan, syntax checks, and local browser checks for CSP, no-JavaScript, print, and narrow-screen behavior. Full Gutenberg canvas browser verification is limited by the test browser’s blob-iframe rendering; both block registrations and inspector callbacks are covered by control-level tests.
