Release notes · v4.2 → v9.2.23

Every release,
every story.

A single timeline. Every version Respira has shipped, with the stories behind the ones that mattered. Click into any release tagged story for the full write-up.

Connect your WordPress site
Looking for the plugin? The download and your license key are in your dashboard, one free sign-up away. No card.
794 Releases shipped
15 With a landing page
9.2.23 Latest stable
348 days Since v1.0
Product
Filtered WPBakery · 6 releases See WPBakery MCP → Clear
October 14, 2026
WordPress plugin v9.2.4 Patch October 14, 2026 WPBakery pages with many addon elements can be read and edited again
  • WPBakery pages with many addon elements can be read and edited again. On a WPBakery site running The7 with Ultimate VC Addons, Revolution Slider, Go Pricing and WooCommerce, every builder tool failed: finding an element, reading the page's structure, duplicating it, and every edit, even a one word change on a small draft. The cause was mine. Before reading a page, Respira asked WPBakery for the full list of elements with all their settings, the list WPBakery's own editor builds, and then never used it. Building that list runs the settings code of every element of every addon, and on that site it ran out of memory before the call could answer, every time. Respira now reads only the page itself, and when it needs one element's settings it asks for that element alone. On a test site set up to fail the same way, finding the element, update_page, apply_builder_patch, update_element and a background update all finish in under two seconds, and every byte outside the edited text stays as it was. I also made the failure honest for the next thing that runs out of memory or crashes in the middle of a call: the agent now gets an answer naming the cause (respira_mcp_memory, respira_mcp_timeout or respira_mcp_fatal) and is told to read the page before trying again, instead of "The tool failed internally", and a background job that dies that way is marked failed instead of staying "running". Reported by B.B.

October 13, 2026
WordPress plugin v9.2.0 Minor October 13, 2026 Redirects have their own tools, and their own manners
  • Redirects have their own tools, and their own manners. respira_list_redirects, respira_create_redirect, respira_update_redirect and respira_delete_redirect. They exist because an agent moving a site to a new domain needed one redirect, and the only road it could find ran through a redirect plugin's settings in the database. That road works until the day it doesn't. When Redirection is active, Respira writes through Redirection itself, so the redirect sits in its screens like one you made and keeps its place in the list when it changes. Without it, Respira keeps a small list of its own and answers those addresses before WordPress starts looking for the page. Rank Math, Yoast SEO Premium, Safe Redirect Manager and Simple 301 Redirects are read, never written.

    A redirect is a promise to every visitor and every search engine, so I check it before making it. Respira refuses to move wp-admin, the login page, the REST API, cron, XML-RPC and WordPress's other own addresses, or a pattern that reaches them. It refuses a redirect that would walk visitors in a circle through any of those plugins, a second redirect for an address that already has one, and a permanent redirect to a page that answers with an error, unless you say why. A pattern that copies part of the address into the target can only send people somewhere on your own site. The home page, and any pattern that catches every address, wait for a person to say yes; on Redirection, which answers the login page too, a catch-all is refused outright. A chain longer than one hop comes back as a warning, because each extra hop is a small tax on speed and on search. Every change keeps a snapshot, so respira_restore_snapshot undoes it, and the list can follow one address through every redirect with real requests and tell you where it really ends up.

  • YOOtheme Pro is a supported builder. Respira reads and writes YOOtheme pages as YOOtheme builder layouts: sections, rows, columns and YOOtheme's own elements. Every write is saved through YOOtheme's own builder, the way its customizer saves, so a page opens in the YOOtheme customizer like one built there. Your AI gets every element's fields and allowed values from the running theme, custom elements from child themes and extensions included, and a catalog of the 75 elements of YOOtheme Pro 5.0.50 when the theme is not loaded. Column widths, the items a button, list or grid needs, and the section and row a loose element needs are added for it. A setting an element does not have is named in the response instead of being stored where YOOtheme never reads it. Builder info also reports the YOOtheme style, its variable overrides and the site templates.

  • YOOtheme site templates can be read and changed. Four tools appear on YOOtheme sites: list_yootheme_templates, get_yootheme_template, create_yootheme_template and update_yootheme_template. A template is the layout YOOtheme renders for every single post, the blog index, an archive, search or the 404 page. A new template starts disabled, so you can review it in the YOOtheme customizer before it changes the site. Changing an enabled template, or enabling one, needs your confirmation, and every write saves a snapshot first that restore_snapshot puts back.

  • Exhale converts HTML into YOOtheme Pro pages. convert_html_to_builder takes builder yootheme. Headings, text, buttons, images, video and lists become YOOtheme elements, a grid or flex layout becomes a row of columns, and a wrapper's alignment and background colour reach its section or column. Only forms, tables and icons stay as HTML. YOOtheme takes its look from its style, so the source stylesheet is not carried, and the response says so.

  • The add_ tools write YOOtheme elements.* add_button writes a Button with its item, add_accordion an Accordion with its items, and so on. YOOtheme has no spacer, progress bar or form element: the first two become a small HTML element with YOOtheme's own UIkit markup, and add_form is refused with a pointer to a form plugin's shortcode.

  • Every builder says what it can write. get_builder_info now carries write_capabilities for every builder: whether it builds pages, adds elements or only edits text, and whether a new element is native, written as core blocks, or partial. On Thrive Architect, which only edits existing text, and SeedProd, which is read only, build_page and the add_* tools now refuse before anything is written. Before, a Thrive page build failed after the page was created, add_* reported success while writing nothing, and the design ended up in a single HTML block. Every build response counts the elements written as raw HTML.

  • respira.press records the active theme. The license check and tool calls carry the theme name, its parent and whether it is a block theme. Public identifiers only.

  • A YOOtheme section shows its own background colour. YOOtheme draws a section's colour only when no predefined style is set, and every section starts on the default style, so a colour sent on its own was stored and never shown. Respira now clears the style when a colour is set, as picking a colour in the customizer does.

  • The new Spectra Blocks plugin is detected as Spectra. Spectra split into Spectra Legacy and the new Spectra Blocks in 2026, and sites on the new plugin reported no Spectra at all.

  • Font tokens reach a block theme's Global Styles. Applying a design direction to a block theme skipped every font family and filed font sizes as spacing sizes. Font families, font sizes, line heights and letter spacing now land where WordPress reads them, with body and heading fonts set from the token's role.

  • Exhale keeps WPBakery and Visual Composer apart. A Visual Composer Website Builder site got a WPBakery shortcode tree, and an explicit builder visual-composer failed as if WPBakery were missing. Each product now gets its own elements.

  • The Divi 5 module list is current with Divi 5.13, including the Charts and Payment Button modules.

June 12, 2026
Clearing key visual

What the agent writes is what actually lands on the page

A deep pass through every supported builder, closing the gaps where a write reported success but the page stayed stale or blank. Styling now lands on Oxygen, Beaver Builder, Elementor v4 Atomic, Bricks, Divi 4 and Divi 5. Brizy and Visual Composer move from read to write, with their caveats stated. Recovery gets deeper: custom CSS and page settings are captured, and globals are versioned, so deleting a Bricks global class, a Divi preset, or an Elementor kit color leaves a recovery point. And when something cannot be persisted in a way the builder reads, Respira says exactly what did not land instead of reporting success. Every fix verified on a real site by loading the actual rendered page.

12 builders verified end-to-end
2 builders moved from read to write
6 verification stages per builder
Read the full story
Show the 18 entries
  • This release is about making sure that what the agent writes is what actually lands on the page, and that you can always get back to where you were.

    When you ask an AI agent to change a site, "success" should mean the change is live, not just that a database write returned without an error. Across a deep pass through every supported builder, I found places where Respira wrote data in a shape the builder didn't read, or skipped a step the builder needed to render, and reported success anyway. The page stayed stale, or blank, and the agent had no way to know. Clearing closes those gaps. Every fix in this release was verified on a real site with the real builder installed, by loading the actual rendered page, not by trusting the write.

  • Brizy moved from read to write. Respira can now write Brizy pages that Brizy's own editor opens and the front end renders. Writes are labeled with their caveats in the docs (front-end compile depends on Brizy's compiler service, so the site needs internet).

  • Visual Composer moved from read to write. Respira now writes in VC's canonical storage format, so the editor loads the page and the front end renders. Labeled with its caveats (VC recompiles on the next editor save).

  • Globals are now versioned. Deleting a Bricks global class, a Divi preset, or an Elementor kit color now leaves a recovery point. "The agent deleted my global class" used to be unrecoverable; now you can roll it back. Restores remain themselves undoable, so recovery can never make things worse.

  • Your own custom CSS and page settings are now captured in snapshots, so the edits Respira makes to things like custom CSS are recoverable, not just the main content.

  • Loud-drop behaviour across builders. When a value cannot be persisted in a way the builder reads, Respira names exactly what did not land and tells the agent not to retry blindly. This is the systemic version of the per-builder fixes below, and it cuts the retry loops that waste tokens.

  • An internal check now runs across the test fleet to confirm that every builder function Respira calls actually exists in that builder. It would have caught several of the silent failures below the day they were written, and it now runs continuously.

  • Oxygen: generated CSS was being written without the selectors it needed, so styles never reached the page. Element styling now renders, and dynamic content resolves correctly. Code blocks that contained quotes could corrupt a page; that is fixed.

  • Beaver Builder: style edits were serving stale CSS until you re-saved in the editor, because a cache flush was calling the wrong internal method and silently never ran. Style changes now appear immediately.

  • Elementor v4 (Atomic): styling writes now route correctly and the styles wire to the element, so colors, typography, breakpoint and state styles render. Atomic styling support is now claimable, with the supported element set documented.

  • Bricks: responsive style overrides were written in a key shape Bricks doesn't parse, so tablet and mobile rules silently did nothing. They now render at the right breakpoints.

  • Divi 4: responsive values needed a flag Respira wasn't writing, so tablet and phone styles quietly voided. They now apply.

  • Divi 5: several modules were receiving content in fields the renderer ignores, so the content was invisible. Team member, pricing, video, countdown, testimonial and others now render. Unsupported responsive keys now report loudly instead of silently dropping.

  • Snapshot fidelity tightened across builders, including the case where Oxygen migrated sites were capturing nothing. Restores now bring back the builder data they're meant to.

  • Synced patterns: updates aimed at a synced pattern now return a clear message naming the actual pattern to edit, instead of silently doing nothing.

  • WPBakery: raw HTML and unknown shortcode types are now encoded and reported correctly instead of rendering as garbage or literal brackets.

  • Gutenberg: buttons now write canonical markup so they render styled, and stale helper attributes are cleaned up.

  • Brizy and Visual Composer ship with the caveats above, labeled honestly in the builder list.

  • A few deep follow-ups remain documented and in progress (Breakdance section-background CSS in some layouts; Elementor structured-property aliases, which warn clearly today).

May 9, 2026
Cowork plugin v1.0.8 Patch May 9, 2026 README accuracy pass: 30 skills
  • The README still claimed 4 auto activating skills from the v1.0.0 days. v1.0.6 actually bundled 30 skills from agent-skills-wordpress. This release fixes the docs to match what actually ships.

    What actually ships in the plugin

  • 8 slash commands for the most common workflows.

  • 30 auto activating skills, broken down as:

    • 5 operational guardrails (editing safety, builder detection, multi site context, Respira workflow, setup assistant).
    • 7 site intelligence and audit skills (onboarding, site DNA, mobile experience, technical debt, WooCommerce health, SEO + AEO, internal links).
    • 2 content and asset skills (AI image optimizer, content portability).
    • 16 builder to builder migration paths (Elementor, Divi, Beaver, WPBakery, Visual Composer, Thrive Architect, Brizy, Oxygen → Bricks / Breakdance / Oxygen / Gutenberg).
  • 1 visual reviewer sub agent that shows what changed after every edit.

  • Full access to all 180+ Respira MCP tools through the bundled @respira/wordpress-mcp-server.

  • All 12 supported page builders: Elementor, Divi 4, Divi 5, Bricks, Oxygen, Breakdance, Beaver Builder, WPBakery, Flatsome UX Builder, Brizy, Thrive Architect, Gutenberg.

  • v1.0.8 — 2026-05-09

  • Restructured "What you get" with the correct skill count.

  • Added a categorized skill list with one line descriptions per skill.

  • Bumped plugin.json to 1.0.8.

  • No code changes. README and manifest only.

    Install

    From the Anthropic plugin marketplace, search for "Respira for WordPress" and click install. Or paste https://github.com/respira-press/cowork-plugin-wordpress into Customize → Plugins → Add Custom Plugin.

    After install, run /respira:connect-site. You will need a WordPress site you can install plugins on, and a Respira account at respira.press (7 day Maker trial, no credit card required).

May 8, 2026
Bloom key visual

Every page-builder adapter promoted to deeper-intelligence parity

The biggest release since v5. Every builder adapter promoted in lockstep. Five cross-cutting Phase A invariants every adapter now inherits — render-validation gate, universal write-trace, Variables CRUD shape, source-driven catalog auto-scan, per-property typed validators — plus Phase B slices per builder that close the family-bug arcs surfaced across v6.10.x. 1076 standalone test assertions across 27 alpha cycles, zero failures.

7 builders blooming
5 cross-cutting invariants
1076 test assertions
Read the full story
Show the 17 entries
  • The cumulative GA release. Every alpha (1 through 27) rolls forward into this tag. Customer names anonymised throughout; technical details intact.

  • Every page-builder adapter promoted to deeper-intelligence parity, with five cross-cutting invariants that make the v6.10.x family-bug arcs not recur. Render-validation post-write, universal write-trace, Variables CRUD shape, source-driven catalog auto-scan, per-property typed validators.

    Phase A foundation (every adapter inherits)

  • A.1 Render-validation gate. Post-write check: HEAD-fetch the preview URL plus parser-walk the persisted blob using the parser the adapter declares. 9 parser slugs ship. Either failing surfaces partial_write: true with structured parser_error / preview_error.

  • A.2 Universal write-trace contract. Every adapter exposes build_write_trace($overrides) returning route, target, path_resolved, validator_warnings, render_validator_pass, partial_write, parser_error, preview_status, preview_response_ms, preview_error, render_validator_skipped, css_regen_strategy. Per-builder strategy declarations cover Bricks / Elementor / Beaver / Breakdance / Divi / Oxygen.

  • A.3 Variables CRUD endpoint shape. Universal /respira/v1/builder/{builder}/variables/{type} across color, typography, spacing, breakpoints. Five REST routes (GET list, POST create, GET read, PATCH update, DELETE).

  • A.4 Per-builder catalog auto-scan. Respira_Module_Catalog_Scanner replaces hand-curated registries with first-use filesystem scans; cached for 1 hour.

  • A.5 Per-property typed validators. 12 canonical type slugs (color / dimension / url / integer / number / boolean / string / enum / font_family / image_url / svg / class_list) with type-specific opts. Closes the data-vs-render gap shape from the v6.10.x family bugs.

  • A.6 PHP 8.1+ gate removed. WebMCP bridge boots on PHP 7.4 / 8.0 sites.

  • A.7 Abilities too-early-call guard. wp_get_abilities() called before init returns wp_abilities_not_yet_registered (425) instead of silent-empty.

  • Bricks: paper cuts (element-name validator with did-you-mean + _cssGlobalClasses on every schema), four missing global stores (bricks_global_variables / bricks_color_palette / bricks_breakpoints / bricks_pseudo_classes), Templates CPT first-class CRUD (PATCH / DELETE / structured conditions surface).

  • Divi: runtime-aware emit branching closes the silent-empty-render arc on Divi 4 sites (D5-shaped payloads downconvert to et_pb_* shortcodes when the site runs Divi 4); required-attrs hard error replaces 21 silent attribute drops; D5 module catalog source-driven scan from Packages/ModuleLibrary/.

  • Elementor (Atomic): $$type envelope-preserving writer for atomic v4 widgets (closes the round-trip corruption arc); 20-entry atomic catalog (9 widgets + 11 layout types); supports_children gate covers all 11 v4 layout types.

  • Oxygen: CSS regen force-load (closes the persistent empty-render arc by force-loading oxygen_vsb_cache_page_update outside admin_init); component primitive auto-catalog 7 to 42+ entries via filesystem scan; wrapper round-trip preservation (six per-component metadata fields survive extract, mutate, and re-inject); Oxygen 4 vs 6 dual-runtime catalog fork.

  • Beaver Builder: content_field_map 7 to 50 modules including PowerPack and Beaver Themer prefixes; shape_settings_for_beaver translator; Saved Rows + Theme Builder layouts surface.

  • Breakdance: widget shortcut map 20 to 70 entries covering every shipping EssentialElements\\* element; shape_settings_for_breakdance translator; Variables / CSS custom properties CRUD (closes the deferred unmapped-tokens arc from v6.11 Self-Heal).

  • WPBakery: builder-slug aliasing (vc / js_composer / visual-composer all route correctly); silent no-op canary on inject_content; catalog auto-scan 1 to 87 vc_* shortcodes via filesystem; pipe-delimited multi-key attribute encoder + decoder.

  • Customer names anonymised across the changelog, the readme, the What's New admin page, and every test file. The repo's release notes describe trial customers via generic descriptors ("an Oxygen Classic trial customer", "a Beaver Pro agency", "a Divi 5 calibration trial customer") so privacy posture matches the v6.11.0 release page convention.

  • 1076 standalone assertions across the 27 v700-bloom-* test files, 0 failures.

  • All pre-existing adapter tests still pass.

  • Every running localhost env (8881 Divi 5, 8882 Breakdance, 8883 Bricks, 8884 Elementor v4, 8886 Beaver, 8887 WPBakery, 8888 Divi 4) loads the plugin cleanly with no PHP fatals on the canonical REST surfaces (/respira/v1/diagnostic/report, /respira/v1/builder/{builder}/variables/{type}).

  • Internal alpha builds 7.0.0-alpha.1 through 7.0.0-alpha.27 (each documented separately below) sequenced the work; they are dev-only and not customer-shipped. Only this 7.0.0 tag publishes.

April 9, 2026
Storefront key visual

Twelve builders. Real commerce. One layer.

Flatsome UX Builder joins as builder #12. 15 new WooCommerce Commerce tools with storefront design intelligence. Context-aware MCP tool filtering reduces tools in context by ~40. Three coordinated releases.

12 builders supported
15 new commerce tools
172+ total tools
Read the full story
Show the 9 entries
  • Flatsome UX Builder as Builder #12: Full support for the most popular WooCommerce theme on ThemeForest (200K+ sales). Extract, inject, element ops, build_page, and snapshots all work. Detection by active theme. Shortcode-based like Divi 4, using the new shared ShortcodeParser utility.

  • ShortcodeParser utility: Shared shortcode parsing and reconstruction for Divi 4 and Flatsome. Parameterized by tag prefix, column format, and detection patterns. Strict tag allowlists prevent cross-builder content confusion.

  • Bundled WooCommerce entitlement: Studio and Founder plans now include the WooCommerce add-on at no extra cost. Maker and Builder customers continue to purchase it separately.

  • Context-aware tool filtering (MCP server v6.0.0): The MCP server now filters the tool list based on detected builder and active plugins. Bricks tools hidden when Bricks is not active, WooCommerce tools hidden when WooCommerce is not installed. Reduces tool count from ~170 to ~130 on typical sites. Fail-open: full list returned if detection fails.

  • WooCommerce snapshot safety: All existing WooCommerce write tools (create_product, update_product, update_stock) now create before/after snapshots and log to the audit trail. Previously these operations were invisible and not rollbackable.

  • Flatsome Intelligence package: 55 element definitions with attributes, types, defaults, nesting rules, and responsive patterns. 6 pre-built page patterns for AI agents.

  • Metrics undercounting: Dashboard edit count was missing direct_edit_page, direct_edit_post, create_custom_post, update_custom_post, and force_edit_custom_post actions. All write operations now counted correctly.

  • Founder plan showing "999 sites": Dashboard and billing page now show ∞ / "Unlimited" for Founder and super-admin accounts instead of the raw 999 value.

  • TagDiv/Newspaper detection: Sites running the Newspaper or Newsmag theme with TagDiv Composer now detect as "WPBakery (TagDiv)" instead of falling through to Gutenberg.

Showing the most recent 148 releases. Older entries are in the release feed. Every release follows semver.org.