v4.2.0 - Kadence + Thrive converters and CMS re-association
What's New in v4.2.0
Framed at the time as the "final 4.x release." Re-associates every existing converter with its current upstream CMS version, adds two new converter+parser pairs (Kadence, Thrive), and ships correctness fixes surfaced by per-CMS audits.
Framework Coverage
| v4.1 | v4.2 | |
|---|---|---|
| Frameworks | 9 | 11 |
| Translation pairs | 72 | 110 |
New Framework Pairs
Kadence (kadence)
- Targets Kadence Blocks 3.7.2 + Kadence Theme 1.5.0 + Kadence Pro
- Emits
kadence/rowlayout → kadence/column → leafblock structure with requireduniqueIDon every kadence-namespaced block - Body text/list/quote fall through to canonical
core/*blocks so output round-trips cleanly through Gutenberg - Aliases:
kadence,kadence-blocks,kadenceblocks
Thrive Themes (thrive)
- Targets Thrive Architect 10.8.10 + Thrive Theme Builder
- Emits TCB HTML with per-element
data-csstokens and a trailing<style class="tve_custom_style">block that resolves them - Suite extras (Leads, Quiz Builder, Apprentice, Ultimatum) detected and passed through unchanged in a
tcb-shortcode-passthroughwrapper - Aliases:
thrive,thrive-themes,thrive-architect,thrive-theme-builder
Converter Version Re-association
Each converter now declares TARGET_CMS_VERSION (PHP const + Python module var). The interface gains get_target_cms_version() for drift detection.
| Framework | Target |
|---|---|
| Bootstrap | 5.3.8 |
| Elementor | 3.30.0 |
| DIVI | 4.27.0 |
| Avada | 7.15.3 |
| WPBakery | 8.7.3 |
| Beaver Builder | 2.10.2 |
| Bricks | 2.3.5 |
| Oxygen | 4.8.3 |
| Gutenberg (WP core) | 6.9.0 |
| Kadence (new) | 3.7.2 |
| Thrive (new) | 10.8.10 |
Audit-Driven Correctness Fixes
Gutenberg — canonical serialization restored (no core/ namespace), wp-block-heading + wp-element-button + has-alpha-channel-opacity classes emitted, align → textAlign for paragraph/heading, deprecated customTextColor/Background/FontSize removed in favor of style.*, column width as "50%" string, core/list wraps items in core/list-item.
Elementor — cta widget remapped from Pro-only call-to-action to free-core icon-box (latent bug fix).
Bricks — Python parent field emitted as string "0" (not int), PHP testimonial → testimonials and gallery → image-gallery mapping alignment.
Oxygen — TARGET_CMS_VERSION downgraded from claimed 6.1.0 to actual 4.8.3 (converter emits the legacy ct_* schema). get_fallback() $this->current_id reference bug fixed.
Avada / WPBakery / Beaver / Bootstrap — no breakage detected.
Detection Helpers for Deferred Frameworks
v4.2 ships detection-only helpers for content that would later need its own parser in v4.3:
DEVTB_Elementor_Parser::is_atomic_v4_payload()— detectselType: e-*orversion >= 4DEVTB_DIVI_Parser::is_divi5_payload()— detects<!--\s*/?wp:divi/
Callers passthrough matching content untouched until v4.3 native parsers landed.
Test Matrix
FrameworkConversionsTest grows to 110 pairs (11 × 10). composer test reports 124/124 on the framework matrix. Pre-existing 41 errors / 3 failures in the broader suite are 4.1.0 issues (class-autoload mismatches and unrelated subsystem tests) — 4.2 does not regress them.
Deferred to v4.3
- Native parsers for Elementor 4.x Atomic Editor, DIVI 5 block engine, and Oxygen 6 (all currently passthrough only)
- PHP Bricks converter
childrenflatten refactor (Python is already correct)
All four items shipped in v4.3.0.
Tag History
This release was tagged retroactively on 2026-05-19 alongside the v4.3.0 release — the original release commit (d8fa9be) was pushed without a tag, which is why GitHub's tag history briefly skipped from v4.1.0 to v4.3.0.
Full Changelog: v4.1.0...v4.2.0