Highlights
- Performance — leaner tool schemas. Per-widget convenience tools now publish a focused set of core parameters instead of a fully-enumerated schema, cutting the MCP
tools/listpayload (re-sent every request) by roughly a third — with no loss of capability (every other setting passes through to Elementor and stays discoverable viaget-widget-schema). - Fixed —
get-widget-schemanow returns the complete control set, and valid styling is no longer rejected. Outside the editor (WP-CLI/REST) Elementor strips a widget's style controls (typography, colours, alignment) fromget_controls(); the generator now opts into the full set, and validation is non-fatal so unknown keys pass through to Elementor. - Fixed — Low-tools mode is now a true override (exposes exactly the curated essentials regardless of per-tool toggles, which are preserved), the Tools grid greys out to show the paused state, and saving shows a confirmation.
- Fixed —
add-atomic-paragraphsaved blank paragraphs (#56);add-atomic-youtubesaved empty embeds. Both now write the correct atomic props. - Fixed —
list-global-classesno-args (resolve-all) no longer fails on a single malformed class (#57). - Security — CSS
</style>breakout hardening (F-004, preserves all valid CSS), multiline SVG event-handler bypass (F-008), and the admin no longer leaks the server proxy path to JS (F-020). - Plus:
nulldocument-save fallback (F-005),no_found_rowsquery perf (F-017/F-018), and a green PHPUnit suite (448 tests).