Releases

Changelog.

What shipped in each plugin version, sourced directly from the plugin'sCHANGELOG.mdat build time.

v3.7.02 changesRead the blog
  • 01NewGutenberg Block authoring in the Sandbox (Pro). The Sandbox now builds custom Gutenberg blocks alongside Elementor widgets. An AI agent designs a block from a structured spec, the plugin compiles it into a sandboxed dynamic block (block.json + PHP render) under wp-content/uploads — never your theme, core, or other plugins — and it stays inactive until you review and activate it. Active blocks appear in the block editor inserter under "EMCP Custom" with a live server-side preview and a Settings panel. The Sandbox parent page is now a three-card overview (Blocks / Widgets / PHP Snippets), each opening its own management screen. Blocks and widgets export and import as portable JSON bundles (MCP tools + admin), and imports always land as a new inactive draft. New create-custom-block and companion MCP tools; shared Sandbox_Template_Compiler; EMCP_Tools_Block_Store + block loader. This is the cloud-ready artifact backbone for a future EMCP Cloud sync.
  • 02NewAgent Project Memory (Pro). The plugin now remembers your site across agent sessions so a connected AI stops guessing. Approved guidance — guardrails, facts, conventions, instructions — is composed into a "## Project memory" block injected into the agent's discovery context (a new free emcp_tools_discovery_memory seam, mirroring the skills seam). Three Pro MCP tools drive it: recall (read approved guidance + session history), remember (propose one piece of guidance), and save-session-summary (store a summary plus a factual digest built from the change ledger). Agent-proposed guidance is stored as a pending entry and is never injected until you approve it on the new Memory admin tab — the hallucination gate. Session history is built automatically: an hourly rollup closes orphaned activity windows into digest-only records, and an opt-in server-side LLM summary (via the AI Chat provider, best-effort, no hard API-key dependency) can summarize them. Behind a Memory module kill-switch (on by default); the 3 tools ship disabled-by-default.
v3.6.51 change
  • 01NewClaude Desktop skill bundle. The Skills page now offers a second download built for Claude Desktop, which imports skills one zip at a time. It packages each skill as its own zip inside a single emcp-skills-claude-desktop.zip, with nested sub-skills (e.g. emcp-themes/astra) flattened to a hyphenated name Claude Desktop accepts. The original folder bundle stays for clients that read a skills folder (Claude Code, Cursor).
v3.6.42 changes
  • 01NewConnection setup for two more AI clients: OpenClaw and Hermes. The Connection tab now offers tailored config for OpenClaw (its ~/.openclaw/openclaw.json mcp.servers shape, a openclaw mcp set terminal command, and OAuth via openclaw mcp login) and Hermes (its ~/.hermes/config.yaml mcp_servers shape), each with both a direct-HTTP and a Node-proxy option, in App Password and OAuth modes.
  • 02ChangedOAuth authorization codes now live 5 minutes instead of 60 seconds. CLI MCP clients that print the sign-in URL and require pasting the code back manually (e.g. OpenClaw) made the old 60-second window easy to miss. The code stays single-use and PKCE-bound; only the window widened, still well within the OAuth spec's short-lived guidance.
v3.6.30 changes

Maintenance re-release. No functional changes from 3.6.2; this build only corrects the distributed package.

    v3.6.29 changes

    Atomic-widget fixes found by auditing every atomic element, UAE Pro support, and a refreshed upgrade banner.

    • 01ChangedRefreshed the dashboard upgrade banner. It now reflects what Pro has grown into, AI Chat in the editor, the plugin integrations (ACF, WooCommerce, SEO and forms), the SEO & Accessibility toolkit, the Widget Builder, premium prompts and the templates library, instead of the old landing-pages-only pitch. Also flattened its gradient to a solid color to match the rest of the admin, and corrected the feature list (Brand Kits is a free feature, not a Pro one).
    • 02Fixedbuild-page now builds atomic widgets from friendly params. It passed widget settings through raw, so an Elementor 4.0+ atomic widget given the same friendly params the add-atomic-* tools accept (for example an image's image_url/alt, or a video's video_url) came out empty because those widgets' real props are complex typed shapes. build-page and the individual tools now share one mapper, so both produce identical, valid props, and container style params on a build-page node are applied too.
    • 03FixedContainer background, padding, margin and text color were discarded. add-flexbox, add-div-block and the layout helpers built these as CSS-property names (background-color, padding-block-start) that are not Elementor style props, and as the wrong value types, so Elementor dropped them on save and the container rendered unstyled. They now use the names and shapes Elementor stores, background, padding and margin as shorthands and color as a color value, and render correctly. Width, minimum height and border radius were already correct.
    • 04FixedSelf-hosted video could not be placed at all. add-atomic-video sent the video address as a plain URL, but Elementor expects a video source object holding either an attachment id or a URL, so it refused the whole element with source: invalid_value. This differs from the YouTube widget, whose source genuinely is a plain URL, which is what made the two look interchangeable.
    • 05FixedImage alt text was discarded. add-atomic-image wrote alt as a top-level setting, which e-image does not have, so Elementor dropped it exactly as it dropped paragraph text. Alt now goes where Elementor reads it: inside the image source for an external URL, and into the media library alt field for an uploaded image, which is what it renders for attachments.
    • 06FixedBoth of the above were found by sweeping every atomic element for this class of problem rather than only the reported ones. Every other atomic element was verified to place, store and render correctly.
    • 07FixedParagraph text written under an alias name was silently deleted (#102). Elementor's atomic widgets advertise alternative names for their content prop: e-paragraph stores paragraph but also accepts text and content, and e-heading stores title but also accepts text, content and heading. Nothing on the save path acted on those alternatives, and Elementor discards prop names it does not recognise without reporting an error, so a paragraph written as content rendered its placeholder text and then lost its text entirely the first time the page saved successfully. Alias names are now mapped onto the name Elementor stores before the page is saved, so the text is preserved and rendered. The alias list is read from Elementor's own prop metadata, so widgets that gain alternatives later are covered without a change here. A value already stored under the real prop name is never overwritten by an alias.
    • 08FixedThe Ultimate Addons for Elementor tools were missing on sites running UAE Pro. UAE Pro ("Ultimate Addons for Elementor Pro", slug ultimate-elementor) is a separate standalone plugin, not an add-on layered on the free Ultimate Addons for Elementor. Detection looked only for the free plugin, so a site with UAE Pro alone got no UAE tools at all and its 40+ uael-* widgets stayed invisible to the agent, while the Tools tab said to install a plugin that was plainly already installed. Either plugin now activates the integration. Because header, footer and block templates belong to the free plugin, a UAE Pro only site gets widget discovery, and the template operations and the Write tool are hidden rather than offered and then failing. Placing UAE widgets was never affected, it still goes through add-free-widget.
    • 09FixedRepairing a page damaged by an older version could still fail (#102). 3.6.1 converted the widget you were editing, but Elementor validates the whole page on save, so a single un-converted widget elsewhere in the tree blocked the save and the repair never completed. Conversion now runs across the entire element tree on every save, so editing any one widget repairs the whole page. Button links stored in the older shape, {"is_external":true,"url":"..."}, are also mapped to the destination / isTargetBlank shape Elementor expects. Conversion is driven by each widget's own prop schema rather than a fixed list of types, and pages that are already valid are left byte-for-byte unchanged.

    Showing 5 of 52 releases