Changelog

Public changelog for WPML Oxygen Connector, including Oxygen 6 ATE support, Oxygen 4 Classic workflow, WPML compatibility updates and release history.

Latest version: 2.0.0-rc1

Last updated:

Product summary

WPML Oxygen Connector is a WordPress plugin for professional multilingual workflows with Oxygen Builder and WPML. It helps agencies and developers translate Oxygen websites while preserving builder structure, translated content relationships and frontend rendering integrity.

The release history below documents public product changes for Oxygen 6, Oxygen 4 Classic, WPML Advanced Translation Editor workflows, WPML String Translation workflows, admin safeguards, cache handling, template handling and compatibility improvements.

2.0.0 — Hybrid Oxygen 6 / Oxygen 4 release

Published on

  • Added engine-aware architecture with separate handling for Oxygen 6 and Oxygen 4 Classic.
  • Oxygen 6 now uses the WPML Advanced Translation Editor workflow.
  • Oxygen 4 Classic now uses an isolated WPML String Translation workflow for builder strings.
  • Added an Oxygen 4 Classic blocker to prevent builder strings from being sent incorrectly to ATE.
  • Added a grouped Oxygen 4 Classic translation dashboard.
  • Added Oxygen 4 Classic handling for templates, menus, images and shortcode-based content.
  • Added frontend and admin edit guards for translated content.
  • Added a safer Edit Translation shortcut for translated content.
  • Improved recovery for completed Oxygen 6 translations that did not create or update the local translated post correctly.
  • Improved the administration interface, status information and support diagnostics.

1.9.27 — Oxygen 4 translated editor metabox guard

Internal build

  • 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 protection to Oxygen 4 Classic so Oxygen 6 ATE behavior remains unchanged.

1.9.26 — Oxygen 4 admin builder guard and image option hardening

Internal build

  • Strengthens the translated-post builder edit guard in the WordPress admin area for Oxygen 4 Classic.
  • Hides builder actions in Pages lists even when Oxygen injects them outside standard row actions.
  • Prevents Oxygen admin internals from reading Classic builder metadata for translated posts.
  • Keeps normal WordPress metadata and custom fields editable.
  • Normalizes Oxygen 4 Classic image options so translated media references keep the fields Oxygen expects.

1.9.25 — Translated editor mode switch guard

Internal build

  • Keeps the WordPress post editor available for translated WPML posts so metadata and custom fields can still be edited.
  • Hides and disables Oxygen editor-mode switch controls on translated posts.
  • Blocks direct editor-mode switch URLs for translated posts while preserving normal WordPress editing access.
  • Keeps direct content editing locked and keeps builder editing disabled for translations.

1.9.24 — Translated metadata editor access

Internal build

  • Allows administrators to access the WordPress editor for translated posts when metadata or custom fields need to be edited.
  • Keeps Oxygen and Breakdance builder editing blocked on translated posts.
  • Locks the main WordPress content editor fields on translated posts while leaving meta boxes and settings available.

1.9.23 — Translated builder edit guard and editor notice

Internal build

  • Removes Oxygen and Breakdance builder edit actions from translated WPML posts in admin lists.
  • Hides Oxygen edit controls in the WordPress editor for translated posts.
  • Blocks direct builder edit URLs for translated posts and redirects back to the WordPress editor with a notice.
  • Replaces the Oxygen active editor panel message with a notice explaining that direct page editing is disabled for translated content.
  • Keeps builder editing available for original/source content only.

Internal build

  • Changes the Oxygen 6 frontend Edit Translation admin-bar shortcut to open WPML Translation Management.
  • Adds a Texts to translate action in the Oxygen 6 detected-content table that points to WPML Translation Management.
  • Keeps Oxygen 4 Classic linked to the connector String Translation panel because Classic builder strings use a separate workflow.

1.9.17 — Oxygen 6 stuck ATE download recovery

Published on

  • Reopens stuck local WPML jobs whose translated post is missing so completed remote ATE jobs can be applied again.
  • Clears orphaned translation rows that point to deleted WordPress posts.
  • Releases stale ATE sync 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

Internal build

  • 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

Internal build

  • Fixes engine detection so Breakdance runtime versions are not compared against Oxygen 6 versions.
  • Prevents Oxygen 6 sites from being initialized incorrectly as Oxygen 4 Classic.
  • Keeps the Oxygen 4 Classic ATE blocker isolated to true Classic installations.

1.9.12 — English frontend shortcut label

Internal build

  • Changes the translated frontend admin-bar shortcut label to Edit Translation.
  • Keeps the shortcut destination unchanged.

1.9.11 — Frontend translation edit shortcut

Internal build

  • Adds a safe frontend admin-bar shortcut on translated WPML pages: Edit Translation.
  • Opens the connector directly on the source page translation screen with the current target language selected when available.
  • Keeps direct WordPress/Oxygen/Breakdance edit actions hidden on translated frontend views.

1.9.10 — Oxygen 4 media and shortcode strings

Internal build

  • Adds Oxygen 4 Classic image source URL, image URL, attachment ID and image ID fields to the String Translation panel.
  • Adds additional Oxygen 4 Classic shortcode field variants so shortcode content appears in the translation interface, JSON export and inline editing.
  • Allows mapped numeric scalar fields to be catalogued as editable strings where explicitly supported, such as image attachment IDs.

1.9.9 — Oxygen 4 Classic persistent render references

Internal build

  • 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 selected Classic media attachment references for image elements 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

Internal build

  • Disables the Oxygen 4 runtime shortcode bridge by default to avoid slow or partial template rendering.
  • Regenerates Oxygen Classic CSS cache when the Oxygen cache API is available.
  • Includes assigned Classic templates and parent templates in cache regeneration.

1.9.7 — Oxygen 4 Classic template render bridge

Internal build

  • 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 translated _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 related builder JSON and shortcode caches.

1.9.6 — Hide translated frontend edit actions

Internal build

  • Hides WordPress admin bar edit actions on translated WPML frontend content.
  • Applies to Oxygen 6 / ATE and Oxygen 4 Classic / WPML String Translation workflows.
  • Removes direct edit, Oxygen, Oxygen Classic, Breakdance and WPML translation edit shortcuts only on translated frontend singular views.
  • Keeps original/source language content editable from the frontend admin bar.

Internal build

  • Moves the How to use this tool help box to a clearer position in the Oxygen 4 dashboard.
  • Forces the Documentation button to the English documentation URL.
  • Points the Changelog card to the dedicated changelog URL.
  • Simplifies the System status wording.

1.9.4 — Oxygen 4 clean header and collapsed system status

Published on

  • Keeps the Oxygen 4 dashboard header visually isolated from unrelated admin notices.
  • Moves System status to the end of the dashboard.
  • Wraps System status in a collapsed details panel by default.

1.9.3 — Oxygen 4 admin grouping and diagnostic menu

Internal build

  • Groups Oxygen 4 Classic detected content into collapsed tables by content type.
  • Removes informational feature blocks from the Oxygen 4 dashboard.
  • Places the admin menu under WPML when available, under Oxygen when WPML is not available, 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

Internal build

  • 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 the active engine is Oxygen 4 Classic.
  • Improves Classic detection when Oxygen 4 content is stored in post_content shortcodes instead of only builder meta.

1.9.1 — Oxygen 4 ATE blocker

Internal build

  • Adds a Classic-only ATE blocker to prevent Oxygen 4 builder body, package-string fields and Classic builder metas from being sent to WPML ATE.
  • Keeps Oxygen 4 builder content in the WPML String Translation workflow.
  • Keeps title, excerpt and URL/slug translatable through WPML.
  • Adds explicit ignore rules for Classic builder meta in wpml-config.xml.

1.9.0 — Clean hybrid engine restart

Internal build

  • Restarts the 1.9 branch with one installable plugin and two isolated internal engines.
  • Oxygen 6 initializes the stable ATE engine, including persistent _oxygen_data / _breakdance_data rebuilds, dependency synchronization, cache cleanup, admin list filtering and ATE diagnostics.
  • Oxygen 4 Classic initializes the WPML String Translation engine, including scanning, string registration, translation review, rescan and frontend dynamic translation.
  • Adds a central engine detector with explicit modes: oxygen6, oxygen4 and unknown.
  • Requires WPML String Translation only for Oxygen 4 Classic; Oxygen 6 requires WPML and Oxygen.
  • Keeps the public product identity, slug, text domain, namespace compatibility and update URI.

1.3.34 — Source-language runtime safety for Classic nav menus

Published on

  • Disables the runtime navigation menu mapper by default for Oxygen Classic.
  • Keeps Classic menu translation based on persisted translated _ct_builder_json and _ct_builder_shortcodes.
  • Prevents frontend template/header/footer mapping from running on source posts in non-default languages.
  • Keeps persistent Classic menu ID mapping during rebuild and dependency synchronization for translated posts.

1.3.33 — Strict WPML nav menu dependency mapping

Internal build

  • Prevents source nav menu terms from being persisted as translated menus when WPML returns the original term as fallback.
  • Resolves nav menu translations through WPML taxonomy translation rows.
  • Updates dependency synchronization to use strict nav menu mapping for translated builder meta.
  • Regenerates Classic shortcodes whenever dependency synchronization changes _ct_builder_json.
  • Allows a controlled fallback to a single unambiguous target-language menu when no direct WPML menu link exists.

1.3.32 — Dependency-level nav menu ID synchronization

Internal build

  • Extends dependency synchronization so completed translations also check translated nav menu dependencies.
  • Builds a WPML navigation menu translation map and rewrites persisted menu references inside translated builder meta.
  • Applies Classic menu mapping during dependency synchronization, including single-menu inference safeguards.
  • Regenerates _ct_builder_shortcodes when dependency synchronization updates _ct_builder_json.

1.3.31 — Classic nav menu translation mapping

Internal build

  • Maps Oxygen Classic menu IDs from source nav menu terms to translated WPML nav menu terms during persistent rebuild.
  • Persists a translated menu ID when a Classic menu element has no saved menu ID and WPML resolves exactly one target-language menu.
  • Adds a narrow frontend menu mapper for source menu IDs or unambiguous target-language menus without reading ATE jobs at runtime.

1.3.30 — Oxygen 4 Classic persistent baseline

Internal build

  • 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

Published on

  • Replaces direct AJAX response interception with a non-invasive pre_get_posts filter.
  • Keeps Oxygen/Breakdance header, footer and template management lists source-only.
  • Fixes JSON parsing errors in Oxygen management screens.

1.3.28 — Source-only Oxygen admin lists

Internal build

  • 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 builder objects remain managed through WPML/ATE.

1.3.27 — Admin dashboard polish

Internal build

  • Removes outdated introductory and maintenance messaging from the main dashboard.
  • Moves Detected Oxygen content above the last activity section.
  • Reorders last activity boxes to prioritize translated meta rebuild information.
  • Adds an Oxygen engine card next to WPML Page Builder API status.
  • Removes legacy String Translation notices from the main UI.

1.3.26 — UI cleanup and support tools polish

Internal build

  • Moves manual repair actions under a collapsed Advanced repair tools panel.
  • Removes the visible SQL inspector from the admin screen.
  • Links the detected source post selector to the Post ID input for support exports.
  • Removes visible per-row Rescan buttons from the detected source posts table.
  • Keeps advanced handlers available for support and automated flows.

1.3.25 — Structural meta slash-safe sync

Internal build

  • Fixes corrupted _oxygen_template_settings on translated headers, footers and templates.
  • Copies structural Oxygen/Breakdance metadata with slash-safe preservation.
  • Repairs translated builder-object structural metadata during global dependency synchronization.
  • Prevents translated headers or footers from disappearing because Oxygen cannot decode template settings.

1.3.24 — Global translated dependency synchronization

Internal build

  • Adds global dependency synchronization after ATE completion.
  • Adds a manual support action to synchronize translated dependencies.

Internal build

  • Fixes translated header, footer and template disappearance after translating those objects in ATE.
  • Preserves original Oxygen/Breakdance template settings for condition matching while swapping only the rendered ID to the translated object.
  • Keeps the persistent ATE meta rebuild flow unchanged.

1.3.22 — Automatic builder dependency synchronization

Internal build

  • Adds automatic dependency synchronization after a builder object translation is completed.
  • Updates existing translated builder meta when headers, footers, templates or components are translated after pages that reference them.
  • Synchronizes references in _oxygen_data, _breakdance_data, Oxygen Classic builder meta and structural settings where possible.
  • Clears/regenerates Oxygen/Breakdance cache for affected translated posts.

1.3.21 — Frontend translated builder object mapping

Internal build

  • Maps Oxygen/Breakdance headers, footers, templates and popups to their translated objects during translated frontend requests.
  • Maps component/global-block references to translated builder objects when rebuilding translated _oxygen_data from ATE.
  • Adds a frontend safety mapping for component/global-block node references without reading ATE at runtime.

1.3.20 — WPML Translation Management support for Oxygen headers and components

Internal build

  • Adds WPML configuration for Oxygen 6 headers, footers, templates, global blocks, components and design-library parts.
  • Adds defensive support for Breakdance-native slugs and Oxygen Classic ct_template in mixed installations.
  • Adds a Kind 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

Internal build

  • Hides Oxygen/Breakdance frontend builder edit shortcuts when viewing a WPML translated post.
  • Removes direct links such as Edit with Oxygen, Headers, Footers and Components from translated frontend views.
  • Keeps source/original pages editable with Oxygen.

1.3.18 — Duplicate translated meta cleanup

Internal build

  • Fixes duplicate _oxygen_data rows on translated posts after ATE rebuilds.
  • Deletes older builder meta rows before saving the final translated Oxygen meta.
  • Adds a support action to clean duplicate builder meta rows for source posts and linked translations.
  • Extends support diagnostics with builder meta row counts and meta IDs.

1.3.16 — WPML linked translation support export

Internal build

  • Extends support export to include the selected post and all WPML-linked translations in the same translation group.
  • Exports post rows, builder-related postmeta rows, WPML relationship rows and diagnosis summaries for linked posts.
  • Keeps the source catalog source-only while making support review aware of translated posts.

1.3.15 — Simplified source detection

Internal build

  • Simplifies source detection to the active Oxygen 6 builder meta key.
  • Removes restrictive public/allowed post type checks that hid valid headers, footers, templates and components.
  • Keeps a minimal deny-list for operational and non-content post types.
  • Refines source detection to avoid scanning historical builder keys unnecessarily.

1.3.13 — Oxygen cache invalidation after ATE rebuild

Internal build

  • Clears Oxygen/Breakdance post CSS and dependency caches after translated builder meta is rebuilt.
  • Clears global builder CSS/dependency cache after ATE rebuild.
  • Runs a second cache regeneration pass on shutdown so Oxygen reads the freshly saved translated meta.
  • Updates the translated post modified date to help WordPress and page-cache plugins stop serving stale translated HTML.
  • Adds safe purge hooks for common page-cache layers without making them plugin dependencies.

1.3.12 — ATE value integrity guard

Internal build

  • Adds a shared guard for translated values before writing Oxygen builder meta.
  • Rejects replacement-character, control-character, compressed/binary and suspiciously encoded payloads.
  • Applies validation to the Page Builder translation hooks used by the connector.
  • Prevents corrupted translated values from being persisted into _oxygen_data; skipped fields fall back to the current source layout value.

1.3.11 — ATE encoded payload hardening

Internal build

  • Keeps the Page Builder translation hook as the primary completion flow.
  • Avoids overwriting clean Page Builder results with raw Translation Management payloads.
  • Rejects invalid UTF-8 and non-whitespace control characters before writing translated values into Oxygen meta.
  • 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

Internal build

  • Rebuilds the working ATE field injection flow into a cleaner persistent meta pipeline.
  • Keeps the bridge that makes Oxygen fields appear in WPML/ATE.
  • Removes WPML String Translation from the dependency list and UI for this branch.
  • Adds stable admin menu placement under WPML, with Oxygen and Settings fallbacks.
  • Keeps the dashboard source-only so translated posts are not listed as source Oxygen pages.
  • Implements Page Builder completion handling for translated Oxygen meta.
  • Saves _oxygen_data and _breakdance_data through Breakdance-compatible JSON storage.
  • Deletes stale duplicate builder meta rows before writing the final translated builder payload.

1.3.0 — Clean ATE-only integration

Published on

Added

  • Clean WPML Page Builder / ATE integration for Oxygen Builder metadata.
  • ATE-specific classes for integration, data settings, string registration, translation update, translatable nodes, meta rebuild and diagnostics.
  • Source field registration for _oxygen_data, _breakdance_data, _ct_builder_json and _ct_builder_shortcodes through WPML Page Builder integration hooks.
  • Persistent translated builder meta rebuild on the Page Builder translation completion flow.
  • 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 a required plugin for this branch.
  • Admin page now exposes ATE diagnostics and source catalog rescan.
  • Frontend rendering now relies on translated Oxygen meta already persisted on the translated post.

Removed

  • Legacy View strings UI.
  • 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 meta.
  • Rescan never repairs or syncs translated layouts.
  • Rescan never reads WPML String Translation counters to decide 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

Internal build

  • Adds a hand pointer cursor to Scan pages action buttons in the admin UI.
  • Keeps the 1.1.4 WPML conditions polish and taxonomy archive support unchanged.

1.1.4 — WPML conditions polish and taxonomy archive support

Published on

  • Adds WPML → Current Content Language for cases where the content language should be evaluated separately from the global current language.
  • Adds WPML → Current Taxonomy Term for taxonomy archive templates, including translated category, tag and custom taxonomy matching.
  • Makes Oxygen’s native archive Is Taxonomy condition WPML-aware.
  • Adds conditions status information to System status.
  • Keeps the scope limited to Oxygen 6 element display and templating conditions.

1.1.3 — WPML taxonomy condition hotfix

Internal build

  • Fixes a fatal error in the WPML taxonomy condition integration caused by a missing operand constant.
  • Keeps PHP 7.4 compatibility.

1.1.2 — PHP 7.4 compatibility

Internal build

  • Lowers the declared PHP requirement to 7.4.
  • Replaces PHP 8 string helper calls with PHP 7.4-compatible equivalents.
  • Keeps array_is_list() usage guarded and improves the fallback for empty arrays.

1.1.1 — WPML-aware translated taxonomy conditions

Internal build

  • 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

Internal build

  • Adds WPML-aware Oxygen 6 conditions using Oxygen’s Breakdance-based condition registry.
  • Adds conditions for Current Language, Source Language, Content Status and Translation Exists.
  • Makes the new conditions available for element display and templating workflows, including elements, templates, headers and footers.
  • Keeps Query Builder, form action conditions and popup-specific behavior outside the first release scope.

1.0.24 — Blockquote review support

Published on

  • Adds support for Oxygen Builder 6 EssentialElements\Blockquote elements used as review/testimonial cards.
  • Registers review text and author fields so they appear in the translation interface, JSON export/import and frontend translation rendering.

1.0.23 — Early source language warning

Published on

  • Shows a prominent admin banner when the WPML admin language is not the source language.
  • Disables scan, import, repair, reset, inline save and layout sync buttons before they can be clicked.
  • Keeps the backend source-language guard as a final safety layer.

1.0.22 — Source language guard

Internal build

  • Blocks write actions when the current WPML admin language is not the source language.
  • Protects manual rescan, full-site rescan, import pre-rescan, layout sync, inline save, translation reset and translation repair.
  • Resolves source posts directly through WPML translation relationships to avoid current-language side effects.
  • Prevents translated-post Oxygen metadata from being registered as source text.

1.0.21 — Backup moment metadata

Internal build

  • Adds visible metadata for the last automatic translation backup.
  • Backup JSON files now include generation time, backup purpose and row count.
  • Manual scan/rescan creates an automatic translation backup before scanning or pruning.
  • Real imports create an automatic backup before the pre-import rescan.
  • The Import screen shows the last automatic translation backup with a download button.

1.0.20 — Translation status repair

Internal build

  • Fixes translation status desynchronization caused by duplicate or legacy WPML String Translation rows.
  • Adds a non-destructive Repair translations from WPML action for pages where frontend output is translated but the dashboard shows 0% translated.
  • Rescan migrates translations from duplicate/legacy rows before pruning stale duplicates.
  • Dashboard translation counts include valid translations attached to duplicate WPML rows.
  • Import defaults to updating existing translations from reviewed JSON/CSV files while skipping empty imported translations.
  • Frontend translation fallback can read valid translations from duplicate/legacy WPML rows when the canonical row is empty.

1.0.18 — Source change invalidates old translations

Internal build

  • Marks existing target translations as needing review when the source Oxygen text changes while keeping the same node/path.
  • Prevents frontend rendering from using outdated translations whose WPML String Translation status is incomplete.
  • Updates translation counts, inline filters and JSON export to distinguish needs_update rows.
  • Saving or importing a reviewed translation marks it complete again.

1.0.17 — YouTube video translation support

Internal build

  • 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

Published on

  • Removes the runtime logging layer from the public package.
  • Removes runtime calls to WordPress error logging from connector code.
  • Keeps the translation engine, license flow, secure updates and dashboard functionality intact.

1.0.15 — Unlimited activation display

Internal build

  • Displays activation limits of 9999 or higher as Unlimited in the License screen.

Internal build

  • 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

Internal build

  • Adds a Support button in the main plugin header next to Documentation.
  • Links to the official WPML Oxygen Connector support page.

1.0.12 — Layout sync cache regeneration

Published on

  • Regenerates Oxygen/Breakdance cache for every source page and every translated post in the same WPML group during layout sync.
  • Reports cache regeneration counts in the completion message and Last actions.
  • Prevents translated frontends from serving old Oxygen output after layout changes.

1.0.11 — Source layout rendering for translations

Internal build

  • Makes translated Oxygen pages prefer the current source-language builder layout as the base, then apply translated values.
  • Prevents existing translations from rendering older layouts after structural source changes.
  • Adds wpml_oxygen6_prefer_source_layout_for_translations for sites that intentionally maintain different builder layouts per language.

1.0.10 — Global layout sync improvements

Internal build

  • Improves the global Sync layout action so it processes every detected source page that needs layout synchronization.
  • Removes misleading global action references to post ID 0.
  • Shows site scope, source pages checked/synced and translations checked/synced in Last actions.
  • Deletes stale translated builder meta rows before writing fresh source layout data.
  • Reports translations checked, translations synced and translations that remain out of sync.

1.0.9 — Layout sync meta and cache improvements

Internal build

  • Improves layout sync for Oxygen 6 pages using both _oxygen_data and _breakdance_data.
  • Mirrors the current source layout into both modern Oxygen meta keys when needed.
  • Checks all active Oxygen layout meta values before considering a translation current.
  • Clears Oxygen/Breakdance cache meta and WordPress post/meta cache more aggressively after layout sync.

1.0.8 — Layout sync detection

Internal build

  • Detects translated Oxygen pages whose builder layout is out of sync with the source language.
  • Adds a red top banner with Sync layout now when translated pages use outdated layout data.
  • Adds per-page Sync layout action in the Detected Oxygen pages table.
  • Copies current source Oxygen layout to translated pages while preserving translated values.
  • Creates a backup of previous translated Oxygen meta before replacement and regenerates cache after syncing.

1.0.7 — Rescan warning banner

Internal build

  • Adds a red top banner on the dashboard when one or more Oxygen pages need a rescan.
  • Adds a global Rescan now button inside the warning banner.

1.0.6 — JSON translation workflow copy

Internal build

  • Updates the JSON export helper text to describe a general external translation workflow.
  • Clarifies that the translated page is ready after safely importing it back through the controlled workflow.

1.0.5 — Validation UI cleanup

Internal build

  • Removes the Validation navigation button, dashboard Validate button and 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

Internal build

  • Removes the redundant Builder column from the Detected Oxygen pages table.

1.0.3 — Admin screen notice isolation

Internal build

  • Isolates the WPML Oxygen Connector admin screen from unrelated WordPress, WooCommerce, WPML and WCML notices.
  • Keeps plugin-specific feedback inside the styled dashboard notices.

1.0.1 — Dashboard visual refinement

Internal build

  • Hides unrelated admin notices on the plugin screen.
  • Restyles Last scan details, Last actions, Support data export, License and Useful links with the 1.0 dashboard visual system.
  • Adds in-page styled status messages so plugin feedback remains visible without intrusive WordPress notices.

1.0.0 — Marketplace-ready dashboard

Internal build

  • Updates the admin dashboard with a marketplace-ready visual design.
  • Adds modern KPI cards, a refined page table, a structured JSON translation workflow panel, safeguards panel and feature cards.
  • Preserves scan, import/export, validation, license and secure update behavior from 0.5.0.

0.5.0 — Secure update package verification

Internal build

  • Adds SHA256 verification of downloaded update ZIP files before WordPress installs them.

0.4.17 — Support data export restored

Internal build

  • Restores the customer-facing support data export for selected Oxygen pages, templates and blocks.
  • Keeps the export positioned as a support tool with privacy warnings.

0.4.16 — Public copy cleanup

Internal build

  • Cleans public-facing admin and documentation copy.
  • Simplifies the License screen to show customer-facing license status, actions and official links.
  • Simplifies the public changelog.

0.4.15 — Import rescan handling

Published on

  • Improves import handling so real imports rescan affected pages after translations are written.
  • Prevents pages from staying marked as needing scan after a successful import.

0.4.14 — Detected content sorting

Internal build

  • Sorts detected Oxygen pages, templates and blocks alphabetically by title.

0.4.13 — Import/export selector improvements

Internal build

  • Improves page and language selectors in import/export workflows.
  • Excludes source languages from target language selectors.
  • Automatically selects the only available target language when just one valid target exists.

0.4.12 — WPML language setup guard

Internal build

  • Replaces automatic WPML language setup redirection with a fixed, non-dismissible notice.
  • Blocks translation actions until WPML has at least one target language configured.

0.4.10 — Source value translation status handling

Internal build

  • Prevents source-language text from being treated as a completed translation after rescans.
  • Improves translated-string counting when target values match the source text.

0.4.9 — Authoritative rescans

Internal build

  • Makes page rescans authoritative by removing stale strings that no longer exist in the current Oxygen tree.

0.4.8 — Source string updates

Internal build

  • Updates registered source strings when original Oxygen content changes but the node and field path remain the same.

0.4.7 — Import target language fallback

Internal build

  • Improves fallback target language behavior during imports.

0.4.6 — Translation reset improvements

Internal build

  • Improves page translation reset so stale registered strings are removed and the page is rescanned.

0.4.4 — Additional element support

Internal build

  • Adds support for additional Oxygen/Breakdance elements, including icon lists and FAQs.

0.4.3 — Engine-specific exports

Internal build

  • Limits site-wide exports to strings from the active Oxygen engine.

0.4.2 — Engine-specific metadata detection

Internal build

  • Separates Oxygen 6 and Oxygen 4 Classic metadata detection based on the active Oxygen engine.

0.4.0 — Oxygen 4 Classic support

Published on

  • Adds initial support for Oxygen 4 Classic while preserving Oxygen 6 support.

0.3.x — Licensing, updates and JSON workflows

Internal build

  • Adds license management, private updates, import/export workflows, inline translation editing and global JSON translation workflows.

0.2.x — Translation dashboard and backups

Published on

  • Adds the main translation dashboard, page grouping, validation, backups and inline translation management.

0.1.x — Initial WPML String Translation integration

Internal build

  • Adds the initial WPML String Translation integration for Oxygen Builder content.