Public changelog for WPML Oxygen Connector, covering Oxygen 6, Oxygen 4 Classic and Breakdance support, WPML compatibility updates and version history.
Latest version: 2.0.0
Last updated:
Product summary
WPML Oxygen+Breakdance Connector is a WordPress plugin for professional multilingual workflows with Oxygen Builder, Breakdance and WPML. It helps agencies and developers translate websites built with Oxygen and Breakdance while preserving builder structure, translated content relationships and frontend rendering integrity.
The release history below documents public changes for Oxygen 6, Oxygen 4 Classic and Breakdance, WPML Advanced Translation Editor and String Translation workflows, administration safeguards, cache and template handling, and compatibility improvements.
2.0.0 — Oxygen 6, Oxygen 4 Classic and Breakdance compatibility
Key features
- The product is now named WPML Oxygen+Breakdance Connector and supports standalone Breakdance installations without requiring Oxygen.
- Integrates Oxygen 6 and Breakdance content with WPML Translation Management and Advanced Translation Editor (ATE), while retaining a separate WPML String Translation workflow for Oxygen 4 Classic.
- Extends Breakdance element translation coverage to Shortcode, Shortcode Wrapper, Post Loop Builder, Dynamic Data Loop, Term Loop, Countdown Timer and Global Block.
- Expands translation of text, messages, captions, links and ALT fields in elements and addons, including Business Hours, Gallery, counters, Animated Heading, Fancy Testimonial, Image Box, FAQ, icons and sliders.
- Detects Breakdance pages and objects stored in _breakdance_data, adds them to the source content catalog and supports diagnostic SQL exports.
- Exposes Countdown Timer expired messages and day, hour, minute and second labels to ATE, including implicit English singular and plural defaults; maps legacy timers to the property paths used by Breakdance 2.8.1.
Images and reusable content
- Allows custom ALT text translation through ATE and language-specific image selection through WPML Media Translation in Oxygen 6, including responsive image variants.
- Resolves translated components, global blocks, templates, headers, footers and popups through wpml_object_id, falling back to the source object when no translation exists.
- Preserves Oxygen 6 template assignment rules and resolves inheritance among translated templates.
- Resolves translated WooCommerce product references in Product and Product Builder elements.
- Handles global blocks referenced by breakdance_block and oxygen_component shortcodes, including Shortcode elements whose output is initially empty.
- Resolves and at WordPress shortcode execution time through wpml_object_id, both for source IDs and translated IDs already saved by ATE; also supports dynamically generated third-party shortcodes.
- Recovers translated Global Block output in Breakdance 2.8.1 Shortcode elements when the shortcode leaves an empty wrapper, using breakdance_render_element_html without replacing the container.
- When rendering a Global Block directly through renderGlobalBlock(), loads the translated post data returned by WPML, including from loops, elements, Gutenberg and custom areas.
- Oxygen 6 resolves componentId before expanding the builder tree; standalone oxygen_block Components are translated as independent ATE objects and translated variants are hidden from the component manager.
- Oxygen 6 images retain translated media data and custom ALT values without exposing responsive sizes, srcset or internal selectors to ATE. Advanced Slider registers the primary background image URL and handles navigation links as LINK fields.
Translation and compatibility improvements
- Registers supported internal links as LINK fields so WPML can adjust URLs to the target language.
- Extends translation of navigation labels, messages and built-in defaults, including Previous, Next, No Comments and Countdown Timer strings.
- Improves Post Loop Builder block translation, pagination and dynamic result loading in the active language.
- Detects source-content changes in Oxygen 6 and Breakdance and updates translation status in WPML.
- Uses Copy once for modern builder metadata so normal synchronization does not overwrite existing translations before ATE completion.
- Improves duplicate metadata reads and translated content reconstruction, preserving structural data and excluding executable code from ATE fields.
- For Post Loop Builder load-more and infinite scrolling, derives the AJAX request language from the translated document ID and preserves correctly localized Global Block references.
- Automatically detects visitor-facing addon text, labels, messages, captions, ALT text and URLs while excluding design properties and technical IDs.
- Preserves ATE translations that resemble Base64 when decoding would not produce safe, readable content.
- Product selectors support direct IDs and nested structures; wpml_object_id retains the source product if no linked translation exists.
Fixes and stability
- Fixes Breakdance page detection across WPML invocation paths and Global Block resolution on the frontend.
- Prevents derived image URLs, responsive sizes and internal selectors from being sent to ATE.
- Fixes incorrectly rejected short translated values and unresolved nested link or block references.
- Resolves translated images and multilingual references in memory during rendering without rewriting builder data or triggering global cache regeneration.
- Keeps the Oxygen 4 Classic engine and its translation workflow isolated.
- Consistently uses a valid builder metadata row across detection, translation and rendering; reads do not delete rows, and ATE persists one consolidated translated tree after completion.
- Protects translated content from direct editing in Oxygen or Breakdance while allowing standard WordPress metadata and custom fields to remain editable where appropriate.
1.9.27 — Oxygen 4 translated editor metabox guard
- Removes the Oxygen 4 Classic builder metabox from WPML-translated posts.
- Prevents Oxygen 4 Classic builder payload fields from being saved on translated posts.
- Keeps standard WordPress metadata and custom fields editable on translated posts.
- Limits this safeguard to Oxygen 4 Classic so Oxygen 6 ATE behavior remains unchanged.
1.9.26 — Oxygen 4 admin builder guard and image option hardening
- Strengthens builder editing safeguards for translated posts in the WordPress administration area for Oxygen 4 Classic.
- Hides builder actions from page lists even when Oxygen adds them outside standard row actions.
- Prevents Oxygen administration internals from reading Classic builder metadata on translated posts.
- Keeps ordinary WordPress metadata and custom fields editable.
- Normalizes Oxygen 4 Classic image options so translated media references preserve the fields Oxygen expects.
1.9.25 — Translated editor mode switch guard
- Keeps the WordPress post editor available for WPML-translated posts so metadata and custom fields can still be edited.
- Hides and disables Oxygen editor-mode switching controls on translated posts.
- Blocks direct editor-mode switching URLs for translated posts while preserving normal WordPress editor access.
- Keeps direct content editing locked and builder editing disabled for translations.
1.9.24 — Translated metadata editor access
- Allows administrators to access the WordPress editor for translated posts when they need to edit metadata or custom fields.
- Keeps editing with the Oxygen and Breakdance builders blocked on translated posts.
- Locks the main WordPress content editor fields on translated posts while retaining metaboxes and settings.
1.9.23 — Translated builder edit guard and editor notice
- Removes Oxygen and Breakdance edit actions from WPML-translated posts in administration lists.
- Hides Oxygen editing controls in the WordPress editor for translated posts.
- Blocks direct builder editing URLs for translated posts and redirects to the WordPress editor with a notice.
- Replaces the Oxygen active editor panel message with a notice explaining that direct editing is disabled for translated content.
- Keeps builder editing available only for original/source content.
1.9.18 — Oxygen 6 translation management links
- Changes the Oxygen 6 frontend admin-bar Edit Translation shortcut to open WPML Translation Management.
- Adds a Texts to translate action in the Oxygen 6 detected-content table linking to WPML Translation Management.
- Keeps Oxygen 4 Classic connected to the connector’s String Translation panel because Classic builder strings use a separate workflow.
1.9.17 — Oxygen 6 stuck ate download recovery
- Reopens stuck local WPML jobs whose translated post is missing, allowing completed remote ATE jobs to be applied again.
- Clears orphaned translation rows pointing to deleted WordPress posts.
- Releases stale ATE synchronization locks after download callbacks to prevent endless polling.
- Adds an advanced support action to repair stuck ATE downloads.
1.9.14 — Oxygen 6 ate cache regeneration fix
- Fixes an Oxygen 6 ATE completion error caused by a missing cache regeneration method.
- Adds a compatible cache regeneration wrapper that delegates to the current cache API.
- Updates dependency synchronization calls to use the current cache service.
1.9.13 — Oxygen 6 ate engine detection guard
- Fixes engine detection so Breakdance runtime versions are not compared to Oxygen 6 versions.
- Prevents Oxygen 6 sites from being initialized incorrectly as Oxygen 4 Classic.
- Keeps the Oxygen 4 Classic ATE blocker isolated to genuine Classic installations.
1.9.12 — English frontend shortcut label
- Changes the translated frontend admin-bar shortcut label to Edit Translation.
- Keeps the shortcut destination unchanged.
1.9.11 — Frontend translation edit shortcut
- Adds a safe Edit Translation shortcut to the frontend admin bar on WPML-translated pages.
- Opens the connector directly on the source-page translation screen, selecting the active target language when available.
- Keeps direct WordPress/Oxygen/Breakdance edit actions hidden on translated frontend views.
1.9.10 — Oxygen 4 media and shortcode strings
- Adds Oxygen 4 Classic image source URL, image URL, attachment ID and image ID fields to the String Translation panel.
- Adds more Oxygen 4 Classic shortcode field variants so shortcode content appears in the translation interface, JSON export and inline editing.
- Allows explicitly supported numeric scalar fields, such as image attachment IDs, to be cataloged as editable strings.
1.9.9 — Oxygen 4 classic persistent render references
- Materializes translated Classic builder JSON and shortcodes during rescan so frontend rendering does not depend on runtime shortcode generation.
- Maps Classic navigation menu references to the target-language WPML menu when available.
- Maps supported Classic image attachment references when translated media exists.
- Primes Oxygen 4 CSS IDs early for translated pages and assigned templates to avoid partially styled frontend output.
1.9.8 — Oxygen 4 classic css cache render stabilization
- Disables the Oxygen 4 runtime shortcode bridge by default to prevent slow or partial template rendering.
- Regenerates the Oxygen Classic CSS cache when its cache API is available.
- Includes assigned Classic templates and parent templates in cache regeneration.
1.9.7 — Oxygen 4 classic template render bridge
- Improves Oxygen 4 Classic translated frontend rendering for pages using assigned templates.
- Maps _ct_other_template and _ct_parent_template references to translated ct_template posts in the current WPML language.
- Generates _ct_builder_shortcodes from translated Classic JSON when Oxygen 4 renders from shortcodes.
- Adds request-level caching for Classic runtime values.
- Extends Classic cache cleanup to builder JSON and related shortcode caches.
1.9.6 — Hide translated frontend edit actions
- Hides WordPress admin-bar editing actions on translated WPML frontend content.
- Applies to both Oxygen 6/ATE and Oxygen 4 Classic/WPML String Translation workflows.
- Removes direct edit, Oxygen, Oxygen Classic, Breakdance and WPML translation editing shortcuts only on translated frontend single-post views.
- Keeps original/source-language content editable through the frontend admin bar.
1.9.5 — Documentation links and dashboard help placement
- Moves the How to use this tool help box to a clearer location on the Oxygen 4 dashboard.
- Points the Documentation button to the English documentation URL.
- Points the Changelog card to its dedicated changelog URL.
- Simplifies System status wording.
1.9.4 — Oxygen 4 clean header and collapsed system status
- Keeps the Oxygen 4 dashboard header visually isolated from unrelated administration notices.
- Moves System status to the bottom of the dashboard.
- Wraps System status in a details panel that is collapsed by default.
1.9.3 — Oxygen 4 admin grouping and diagnostic menu
- Groups detected Oxygen 4 Classic content into collapsible tables by content type.
- Removes informational feature blocks from the Oxygen 4 dashboard.
- Places the administration menu under WPML when available, under Oxygen otherwise, and under Tools as a fallback.
- Adds a lightweight status page when required plugins are missing or the Oxygen engine cannot be detected.
1.9.2 — Oxygen 4 ate editor field cleanup
- Strengthens the Oxygen 4 Classic ATE blocker by filtering already-materialized Translation Editor fields.
- Removes Classic builder body, package-string and builder-like fields from ATE jobs when Oxygen 4 Classic is active.
- Improves Classic detection when Oxygen 4 content is stored in post_content shortcodes rather than only builder metadata.
1.9.1 — Oxygen 4 ate blocker
- Adds a Classic-only ATE blocker to prevent Oxygen 4 builder body, package-string fields and Classic builder metadata from being sent to WPML ATE.
- Keeps Oxygen 4 builder content in the WPML String Translation workflow.
- Keeps titles, excerpts and URLs/slugs translatable through WPML.
- Adds explicit ignore rules for Classic builder metadata in wpml-config.xml.
1.9.0 — Clean hybrid engine restart
- Restarts the 1.9 branch with one installable plugin and two isolated internal engines.
- Oxygen 6 initializes the stable ATE engine with persistent _oxygen_data/_breakdance_data rebuilds, dependency synchronization, cache cleanup, administration list filtering and ATE diagnostics.
- Oxygen 4 Classic initializes the WPML String Translation engine, including scanning, string registration, translation review, rescan and dynamic frontend translation.
- Adds a central engine detector with explicit oxygen6, oxygen4 and unknown modes.
- Requires WPML String Translation only for Oxygen 4 Classic; Oxygen 6 requires WPML and Oxygen.
- Preserves the public product identity, slug, text domain, namespace compatibility and update URI.
1.3.34 — Source language runtime safety for classic nav menus
- Disables the runtime navigation menu mapper by default for Oxygen Classic.
- Keeps Classic menu translation based on _ct_builder_json and _ct_builder_shortcodes.
- Prevents frontend template/header/footer mapping from running on source posts in non-default languages.
- Preserves persistent Classic menu ID mapping during rebuild and dependency synchronization for translated posts.
1.3.33 — Strict wpml nav menu dependency mapping
- Prevents source navigation menu terms from being stored as translated menus when WPML returns the original term as a fallback.
- Resolves navigation menu translations through WPML taxonomy translation records.
- Updates dependency synchronization to use strict navigation menu mapping in translated builder metadata.
- Regenerates Classic shortcodes whenever dependency synchronization changes _ct_builder_json.
- Allows a controlled fallback to a single unambiguous menu in the target language when no direct WPML menu link exists.
1.3.32 — Dependency level nav menu id synchronization
- Extends dependency synchronization so completed translations also inspect translated navigation menu dependencies.
- Builds a WPML navigation menu translation map and rewrites persisted menu references in translated builder metadata.
- Applies Classic menu mapping during dependency synchronization, including safeguards when inferring a single menu.
- Regenerates _ct_builder_shortcodes when dependency synchronization updates _ct_builder_json.
1.3.31 — Classic nav menu translation mapping
- Maps Oxygen Classic menu IDs from source navigation menu terms to WPML-translated menu terms during persistent rebuild.
- Persists a translated menu ID when a Classic menu element has no stored menu ID and WPML resolves exactly one menu in the target language.
- Adds a limited frontend mapper for source menu IDs or unambiguous target-language menus without reading ATE jobs at runtime.
1.3.30 — Oxygen 4 classic persistent baseline
- Adds an isolated Oxygen 4 Classic module under src/ATE/Classic/.
- Rebuilds _ct_builder_json and regenerates _ct_builder_shortcodes when ATE completes a Classic post.
- Persists _ct_other_template on translated pages by resolving source ct_template IDs to translated WPML template IDs.
- Clears and regenerates Oxygen Classic cache/CSS without adding broad frontend runtime bridges.
1.3.29 — Oxygen admin list JSON-safe source-only filter
- Replaces direct AJAX response interception with a non-invasive pre_get_posts filter.
- Keeps Oxygen/Breakdance header, footer and template management lists restricted to source content.
- Fixes JSON parsing errors in Oxygen management screens.
1.3.28 — Source only oxygen admin lists
- Filters Oxygen/Breakdance template management lists so translated headers, footers, templates and global blocks do not appear as editable source objects.
- Keeps source/original builder objects visible in Oxygen while translated objects are managed through WPML/ATE.
1.3.27 — Admin dashboard polish
- Removes outdated introductory and maintenance messages from the main dashboard.
- Moves Detected Oxygen content above the latest activity section.
- Reorders latest activity panels to prioritize translated metadata rebuild details.
- Adds an Oxygen engine card alongside WPML Page Builder API status.
- Removes legacy String Translation notices from the main interface.
1.3.26 — Ui cleanup and support tools polish
- Moves manual repair actions under a collapsed Advanced repair tools panel.
- Removes the visible SQL inspector from the administration screen.
- Connects the detected source post selector with the Post ID field for support exports.
- Removes visible per-row Rescan buttons from the detected source posts table.
- Keeps advanced handlers available for support and automated workflows.
1.3.25 — Structural meta slash safe sync
- Fixes corrupted _oxygen_template_settings on translated headers, footers and templates.
- Copies structural Oxygen/Breakdance metadata while safely preserving escaping.
- Repairs translated builder-object structural metadata during global dependency synchronization.
- Prevents translated headers and footers from disappearing when Oxygen cannot decode template settings.
1.3.24 — Global translated dependency synchronization
- Adds global dependency synchronization after ATE completion.
- Adds a manual support action for synchronizing translated dependencies.
1.3.23 — Translated header footer selection fix
- Fixes disappearing translated headers, footers and templates after those objects are translated in ATE.
- Preserves original Oxygen/Breakdance template settings for condition matching while replacing only the rendered ID with the translated object.
- Keeps the persistent ATE metadata rebuild workflow unchanged.
1.3.22 — Automatic builder dependency synchronization
- Adds automatic dependency synchronization after a builder object translation is completed.
- Updates existing translated builder metadata when headers, footers, templates or components are translated after pages referring to them.
- Synchronizes references in _oxygen_data, _breakdance_data, Oxygen Classic builder metadata and structural settings where possible.
- Clears and regenerates Oxygen/Breakdance cache for affected translated posts.
1.3.21 — Frontend translated builder object mapping
- Maps Oxygen/Breakdance headers, footers, templates and popups to their translated objects during translated frontend requests.
- Maps component and global-block references to translated builder objects when rebuilding _oxygen_data from ATE.
- Adds a protective frontend mapping for component/global-block node references without reading ATE at runtime.
1.3.20 — Wpml translation management support for oxygen headers and components
- Adds WPML configuration for Oxygen 6 headers, footers, templates, global blocks, components and design-library parts.
- Adds defensive support for native Breakdance slugs and ct_template on mixed installations.
- Adds a Type column to the detected Oxygen content table.
- Covers components stored as oxygen_block, oxygen_part, breakdance_block or breakdance_part when they contain Oxygen data.
1.3.19 — Translated frontend admin bar guard
- Hides Oxygen/Breakdance builder editing shortcuts on the frontend when viewing a WPML-translated post.
- Removes direct Edit with Oxygen, Headers, Footers and Components links from translated frontend views.
- Keeps source/original pages editable with Oxygen.
1.3.18 — Duplicate translated meta cleanup
- Fixes duplicate _oxygen_data rows in translated posts after ATE rebuilds.
- Deletes old builder metadata rows before saving the final translated Oxygen metadata.
- Adds a support action to clean duplicate builder metadata rows on source posts and linked translations.
- Extends support diagnostics with builder metadata row counts and metadata IDs.
1.3.16 — Wpml linked translation support export
- Extends support export to include the selected post and all WPML-linked translations in the same translation group.
- Exports post records, builder-related postmeta, WPML relationship records and diagnostic summaries for linked posts.
- Keeps the source catalog restricted to source content while including translated posts in support review.
1.3.15 — Simplified source detection
- Simplifies source detection to the active Oxygen 6 builder metadata key.
- Removes restrictive public/allowed post-type checks that hid valid headers, footers, templates and components.
- Keeps a minimal exclusion list for operational and empty post types.
- Refines source detection to avoid unnecessary scans of historic builder metadata keys.
1.3.13 — Oxygen cache invalidation after ate rebuild
- Clears Oxygen/Breakdance CSS and dependency caches after rebuilding translated builder metadata.
- Clears global builder CSS/dependency caches after ATE rebuild.
- Runs a second cache regeneration pass at shutdown so Oxygen reads freshly stored translated metadata.
- Updates the translated post modification date to help WordPress and page-cache plugins stop serving stale translated HTML.
- Adds safe cache purge hooks for common page cache layers without making them plugin dependencies.
1.3.12 — Ate value integrity guard
- Adds a shared safeguard for translated values before writing Oxygen builder metadata.
- Rejects payloads containing replacement characters, control characters, compressed/binary data or suspicious encoding.
- Applies validation to Page Builder translation hooks used by the connector.
- Prevents corrupt translated values from being stored in _oxygen_data; rejected fields fall back to the current source layout value.
1.3.11 — Ate encoded payload hardening
- Keeps the Page Builder translation hook as the primary completion workflow.
- Prevents clean Page Builder results from being overwritten by raw Translation Management payloads.
- Rejects invalid UTF-8 and non-whitespace control characters before storing translated values in Oxygen metadata.
- Disables code-block translation mappings by default to avoid translating CSS, JavaScript, PHP or internal snippets.
- Limits video translation fields to title and URL while derived video metadata is regenerated internally.
1.3.10 — Elementor style oxygen meta persistence
- Rebuilds functional ATE field injection into a cleaner persistent metadata pipeline.
- Keeps the bridge that exposes Oxygen fields to WPML/ATE.
- Removes WPML String Translation from the dependencies and interface for this branch.
- Adds a stable administration menu under WPML, with fallbacks under Oxygen and Settings.
- Keeps the dashboard restricted to source content so translated posts are not listed as source Oxygen pages.
- Implements Page Builder completion handling for translated Oxygen metadata.
- Saves _oxygen_data and _breakdance_data using Breakdance-compatible JSON storage.
- Removes stale duplicate builder metadata rows before writing the final translated builder payload.
1.3.0 — Clean ATE-only integration
Added
- Clean WPML Page Builder / ATE integration for Oxygen Builder metadata.
- Dedicated ATE classes for integration, data settings, string registration, translation updates, translatable nodes, metadata rebuilding and diagnostics.
- Source field registration for _oxygen_data, _breakdance_data, _ct_builder_json and _ct_builder_shortcodes through WPML Page Builder hooks.
- Persistent translated builder metadata rebuilding upon Page Builder translation completion.
- Source-only, idempotent Rescan action.
Changed
- Plugin description and dependency metadata now target WPML Translation Editor / ATE.
- WPML String Translation is no longer declared as required for this branch.
- Administration page now provides ATE diagnostics and source catalog rescan.
- Frontend rendering now relies on translated Oxygen metadata already stored on the translated post.
Removed
- Legacy View strings interface.
- Legacy inline translation editor.
- Legacy JSON export/import based on WPML String Translation.
- Dynamic frontend translation injection through get_post_metadata.
- WPML String Translation fallback rendering and direct table reads for frontend output.
- Automatic Sync layout / Repair loops from Rescan.
Safeguards
- Rescan never writes translated metadata.
- Rescan never repairs or synchronizes translated layouts.
- Rescan never reads WPML String Translation counters to determine status.
- No connector-owned translation tables, caches, transients, options, direct ATE fields or auxiliary translated postmeta are created.
1.1.5 — Scan pages pointer cursor
- Adds a hand cursor to Scan pages action buttons in the administration interface.
- Keeps the 1.1.4 WPML conditions polish and taxonomy archive support unchanged.
1.1.4 — Wpml conditions polish and taxonomy archive support
- Adds WPML → Current Content Language for cases where content language must be checked separately from the current global language.
- Adds WPML → Current Taxonomy Term for taxonomy archive templates, including translated categories, tags and custom taxonomies.
- Makes Oxygen’s native Is Taxonomy archive condition WPML-aware.
- Adds condition diagnostics to System status.
- Keeps its scope limited to Oxygen 6 element-display and templating conditions.
1.1.3 — Wpml taxonomy condition hotfix
- Fixes a fatal error in the WPML taxonomy conditions integration caused by a missing operand constant.
- Retains PHP 7.4 compatibility.
1.1.2 — Php 7 4 compatibility
- Lowers the declared PHP requirement to 7.4.
- Replaces PHP 8 string helper calls with PHP 7.4-compatible equivalents.
- Guards array_is_list() usage and improves the fallback for empty arrays.
1.1.1 — Wpml aware translated taxonomy conditions
- Makes Oxygen’s native Has Taxonomy condition WPML-aware for existing rules.
- Adds WPML → Has Translated Taxonomy for element display and templating workflows.
- Supports translated taxonomy matching for singular templates and elements without changing Query Builder behavior.
1.1.0 — Wpml conditions for oxygen 6
- Adds WPML-aware Oxygen 6 conditions through Oxygen’s Breakdance-based condition registry.
- Adds Current Language, Source Language, Content Status and Translation Exists conditions.
- Makes these conditions available for element display and templating, including elements, templates, headers and footers.
- Leaves Query Builder, form action conditions and popup-specific behavior outside the initial scope.
1.0.24 — Blockquote review support
- Adds support for Oxygen Builder 6 EssentialElements\Blockquote elements used as review and testimonial cards.
- Registers review text and author fields for translation interfaces, JSON import/export and translated frontend rendering.
1.0.23 — Early source language warning
- Shows a prominent admin banner when the WPML administration language is not the source language.
- Disables scan, import, repair, reset, inline save and layout synchronization buttons before they can be clicked.
- Retains the backend source-language guard as a final safety layer.
1.0.22 — Source language guard
- Blocks write actions when the active WPML administration language is not the source language.
- Protects manual and site-wide rescan, import pre-rescan, layout synchronization, inline saving, translation reset and translation repair.
- Resolves source posts directly through WPML translation relationships to avoid current-language side effects.
- Prevents Oxygen metadata from translated posts from being registered as source text.
1.0.21 — Backup moment metadata
- Adds visible metadata for the latest automatic translation backup.
- JSON backup files now include generation time, backup purpose and row count.
- Manual scans and rescans create an automatic translation backup before scanning or purging.
- Actual imports create an automatic backup before the import pre-rescan.
- The import screen displays the latest automatic translation backup with a download button.
1.0.20 — Translation status repair
- Fixes translation-status mismatches caused by duplicate or legacy WPML String Translation rows.
- Adds a non-destructive Repair translations from WPML action for pages where the frontend is translated but the dashboard shows 0% completion.
- Rescan migrates translations from duplicate/legacy rows before purging stale duplicates.
- Dashboard translation counts include valid translations associated with duplicate WPML rows.
- Imports update existing translations from reviewed JSON/CSV files by default and skip empty imported translations.
- The frontend translation fallback can read valid duplicate/legacy WPML rows when the canonical row is empty.
1.0.18 — Source change invalidates old translations
- Marks existing target translations for review when Oxygen source text changes while the node and path remain the same.
- Prevents frontend rendering from using outdated translations whose WPML String Translation status is incomplete.
- Updates translation counts, inline filters and JSON exports to distinguish needs_update rows.
- Saving or importing a reviewed translation marks it complete again.
1.0.17 — Youtube video translation support
- Adds EssentialElements\Video mappings for Oxygen Builder 6 video elements.
- Registers YouTube video title, URL, embed URL, thumbnail URL, iframe HTML and video ID for translation workflows.
- Synchronizes derived YouTube metadata when the translated URL changes, including embed URL, thumbnail, video ID and iframe HTML.
1.0.16 — Public package cleanup
- Removes the runtime logging layer from the public package.
- Removes runtime calls to WordPress error logging from connector code.
- Preserves the translation engine, licensing workflow, secure updates and dashboard functionality.
1.0.15 — Unlimited activation display
- Displays activation limits of 9999 or higher as Unlimited on the License screen.
1.0.14 — Documentation links by site language
- Uses the Spanish documentation URL when the site locale is Spanish.
- Uses the English documentation URL for English and all other site languages.
1.0.13 — Support button in header
- Adds a Support button to the main plugin header next to Documentation.
- Links to the official WPML Oxygen Connector support page.
1.0.12 — Layout sync cache regeneration
- Regenerates Oxygen/Breakdance cache for each source page and translated post in the same WPML group during layout synchronization.
- Reports cache regeneration counts in the completion message and Last actions.
- Prevents translated frontends from serving stale Oxygen output after layout changes.
1.0.11 — Source layout rendering for translations
- Makes translated Oxygen pages use the current source-language builder layout as a base and then apply translated values.
- Prevents existing translations from rendering outdated layouts after structural changes to the source.
- Adds wpml_oxygen6_prefer_source_layout_for_translations for sites intentionally maintaining different builder layouts per language.
1.0.10 — Global layout sync improvements
- Improves the global Sync layout action to process each detected source page requiring layout synchronization.
- Removes misleading global action references to post ID 0.
- Displays site scope, source pages checked/synchronized and translations checked/synchronized in Last actions.
- Removes stale translated builder metadata rows before writing fresh source-layout data.
- Reports translations checked, synchronized and still out of sync.
1.0.9 — Layout sync meta and cache improvements
- Improves layout synchronization for Oxygen 6 pages using both _oxygen_data and _breakdance_data.
- Copies the current source layout to both modern Oxygen builder metadata keys when required.
- Checks all active Oxygen layout metadata values before considering a translation up to date.
- More thoroughly clears Oxygen/Breakdance cache metadata and WordPress post/metadata caches after layout synchronization.
1.0.8 — Layout sync detection
- Detects translated Oxygen pages whose builder layout is out of sync with the source language.
- Adds a prominent red Sync layout now banner when translated pages use stale layout data.
- Adds a per-page Sync layout action to the detected Oxygen pages table.
- Copies the current source Oxygen layout to translated pages while preserving translated values.
- Backs up the previous translated Oxygen metadata before replacing it and regenerates caches after synchronization.
1.0.7 — Rescan warning banner
- Adds a prominent red banner to the dashboard when one or more Oxygen pages require rescan.
- Adds a global Rescan now button inside the warning banner.
1.0.6 — Json translation workflow copy
- Updates JSON export help text to describe a general external translation workflow.
- Clarifies that the translated page is ready after safe reimport through the controlled workflow.
1.0.5 — Validation ui cleanup
- Removes the Validation navigation button, the dashboard Validate button and the Validate translations button from the strings view.
- Replaces the Last actions header icon with a WordPress core icon that displays correctly.
1.0.4 — Detected pages table cleanup
- Removes the redundant Builder column from the detected Oxygen pages table.
1.0.3 — Admin screen notice isolation
- Isolates the WPML Oxygen Connector administration screen from unrelated WordPress, WooCommerce, WPML and WCML notices.
- Keeps plugin-specific feedback visible in styled dashboard notices.
1.0.1 — Dashboard visual refinement
- Hides unrelated administration notices on the plugin screen.
- Redesigns Last scan details, Last actions, Support data export, License and Useful links using the dashboard 1.0 visual system.
- Adds styled status messages within the page so plugin feedback remains visible without intrusive WordPress notices.
1.0.0 — Marketplace ready dashboard
- Updates the administration dashboard with a marketplace-ready design.
- Adds modern KPI cards, a refined pages table, a structured JSON translation workflow panel, a safeguards panel and feature cards.
- Preserves the scanning, import/export, validation, licensing and secure-update behavior of version 0.5.0.
0.5.0 — Secure update package verification
- Adds SHA256 verification of downloaded update ZIP packages before WordPress installs them.
0.4.17 — Support data export restored
- Restores customer-visible support data exports for selected Oxygen pages, templates and blocks.
- Keeps support exports positioned as a diagnostic tool with privacy warnings.
0.4.16 — Public copy cleanup
- Cleans up public administration and documentation text.
- Simplifies the License screen to show customer-oriented license status, actions and official links.
- Simplifies the public changelog.
0.4.15 — Import rescan handling
- Improves import handling so actual imports rescan affected pages after translations are written.
- Prevents pages from remaining marked for rescan after a successful import.
0.4.14 — Detected content sorting
- Sorts detected Oxygen pages, templates and blocks alphabetically by title.
0.4.13 — Import export selector improvements
- Improves page and language selectors in import/export workflows.
- Excludes source languages from target-language selectors.
- Automatically selects the only available target language when exactly one valid destination exists.
0.4.12 — Wpml language setup guard
- Replaces the automatic WPML language-setup redirect with a persistent, non-dismissable notice.
- Blocks translation actions until at least one target language is configured in WPML.
0.4.10 — Source value translation status handling
- Prevents source-language text from being treated as a completed translation after rescans.
- Improves translated string counts when target values match the source text.
0.4.9 — Authoritative rescans
- Makes page rescans authoritative by removing stale strings no longer present in the current Oxygen tree.
0.4.8 — Source string updates
- Updates registered source strings when the original Oxygen content changes but the node and field path remain the same.
0.4.7 — Import target language fallback
- Improves target-language fallback behavior during imports.
0.4.6 — Translation reset improvements
- Improves page translation resets by removing stale registered strings and rescanning the page.
0.4.4 — Additional element support
- Adds translation support for additional Oxygen/Breakdance elements, including icon lists and FAQs.
0.4.3 — Engine specific exports
- Restricts site-wide exports to strings belonging to the active Oxygen engine.
0.4.2 — Engine specific metadata detection
- Separates Oxygen 6 and Oxygen 4 Classic metadata detection according to the active Oxygen engine.
0.4.0 — Oxygen 4 classic support
- Adds initial Oxygen 4 Classic support while retaining Oxygen 6 support.
0.3.x — X licensing updates and json workflows
- Adds licensing, private updates, import/export workflows, inline translation editing and global JSON translation workflows.
0.2.x — X translation dashboard and backups
- Adds the main translation dashboard, page grouping, validation, backups and inline translation management.
0.1.x — X initial wpml string translation integration
- Adds the initial WPML String Translation integration for Oxygen Builder content.