Releases
v1.3.1
Compare
Sorry, something went wrong.
No results found
v1.3.1
New
Elementor_Renderer refactored into 7 single-responsibility classes (NodeFilter, TypeResolver, StyleExtractor, LayoutExtractor, WidgetConverters, Positioning, JsonNormalizer)
JsonNormalizer with normalize + validate on every save_template (critical errors → WP_Error, warnings → log)
Snapshot testing — 6 golden scenarios, 83 total tests across 5 suites
AES-256-GCM crypto upgrade (v2: prefix, backward-compatible CBC fallback)
Cache metrics with per-type TTL, sampled logging (1:20), dedicated cache_get/cache_set wrappers
Image download chunking (groups of 5) + progress throttling (≤1 call/sec)
9 additional language .po files (total 10: fa_IR, en_US, de_DE, es_ES, fr_FR, it_IT, nl_NL, pt_BR, sv_SE, tr_TR)
"Recent Activity Log" section in Dashboard
Enhancement
All 23 AJAX error responses include a stable code string for programmatic handling
Logger error_log() fallback for ERROR/CRITICAL + hello_figma_logged action hook
Rotated absolute-positioned nodes logged as WARNING with node_id/name/rotation
AJAX input hardening — format enum validation, overrides size limit (10KB) and depth limit (5)
3 RTL test cases for map_align (CSS logical properties flex-start/flex-end)
Fix
PHPStan Level 6 — 0 errors (baseline only for missingType.iterableValue)
PHPCS — all test files auto-fixed, project_audit excluded from scan
save_template uses $validation['ok'] instead of fragile str_contains heuristic
$run_id typo in Logger resolved
should_position_absolute() renamed to node_needs_absolute_positioning()
16 fixture entries for TypeResolver (12 mapping rules, 4 edge cases)
Docs
README.md overhaul — Project Status table (done/incomplete/help-wanted), full language list, updated architecture diagram, honest known limitations
You can’t perform that action at this time.