== Meep AI Translator Changelog == = 1.8.38 = * Improved: Updated Freemius WordPress SDK to version 2.13.5 with defensive is_migration error handling. * Fixed: Eliminated upgrade plan caching delay, ensuring immediate recognition of paid tiers in dashboard and stats bar. * Improved: Hooked Freemius plan and license sync events to immediately invalidate stale cache and synchronize remote account state. = 1.8.37 = * Fixed: Resolved false "Limit Reached" admin notice and top admin bar badge for unlimited / Agency Lifetime plans. * Improvement: Suppressed upgrade prompts and bonus words share links in admin hub for active PRO and Agency Lifetime license holders. * Fixed: Prevented blank white screen during manual license activation. = 1.8.36 = * Security: Delete, publish and bulk-delete translation actions now check per-post permissions (delete_post / publish_post), so Contributors and Authors can no longer act on content they don't own. * Security: Translation settings, settings debug and job status endpoints now require the appropriate capability. * Fixed: Removed a leftover debug log (wp-content/debug_sorting.log) that was written on every front-end query when post-order sync was active. * Performance: Bulk-jobs table schema check now runs only when the schema version changes instead of on every page load. * Performance: If the MeepTech API is unreachable, free-site registration now backs off for an hour instead of retrying (with a 30s timeout) on every admin page load. * Fixed: Analytics opt-in from the setup wizard is now saved correctly; the wizard opt-in request is nonce-protected. * Improvement: Review prompts no longer request a specific star rating, and the review invite is no longer shown alongside the bonus-words offer. * Removed: Developer-only analytics test URL parameter. * Fixed: Word usage shown in the plugin now stays in sync with the server after a cooldown ends, instead of being reset to 0 locally. * Privacy: Admin fonts (Inter, JetBrains Mono) are now bundled with the plugin instead of loaded from Google Fonts, so no IP address is sent to Google. * Readme: Documented all external endpoints (activation registration, deactivation feedback, Google Fonts) and added SureForms to the contact-forms FAQ. = 1.8.35 = * Improvement: Standardized AI translation engine labels to Anthropic Claude and OpenAI ChatGPT across settings, prompts, and documentation to reflect the latest model capabilities. = 1.8.34 = * Feature: Added 1-click Quick-Add Target Language card directly on the Dashboard and Translate All screens when 0 target languages are configured (supports both Built-in Language System and Polylang). * Improvement: Automatic target language pre-selection on Dashboard and Translate All when 1 target language is available, enabling 1-click translation as soon as pages are selected. * Improvement: Added inline + Add another language quick-selector inside the Dashboard bulk translation bar dropdown and Translate All Step 2. * Fixed: Preserved checked target languages in the Dashboard bulk bar when selecting additional pages and enabled Select All checkboxes across all content tabs. = 1.8.33 = * Fixed: Restored welcome onboarding redirect upon activation in the Free edition. * Improvement: Hardened automatic remote quota and site initialization on plugin activation and monthly admin checks. = 1.8.32 = * Feature: Enhanced SureForms translation support — added extraction and translation of SureForms Gutenberg block attributes (`help`, `errorMsg`, `duplicateMsg`, `subHeading`), post meta (`_srfm_submit_button_text`, `_srfm_form_confirmation`), `[srfm_form]` shortcodes, `wp:srfm/form` blocks, and Elementor SureForms widgets. * Feature: Added in-modal upgrade, Extra 50K Words top-up ($4.99), and +2,500 Free Bonus Words claim flow when reaching the monthly word limit on the Dashboard or Posts/Pages list translator. * Feature: Added non-intrusive 5-star review milestone prompt after translating 3+ pages or 2,500+ words. * Improvement: Added UTM campaign attribution parameters to in-plugin upgrade and top-up links. = 1.8.31 = * Fixed: Resolved social bonus word claiming API verification, automatic fallback routing, and self-healing recovery for previously failed claims. * Improvement: Surfaced the +2,500 Free Bonus Words referral tool directly on the main Dashboard, monthly quota stats bar, and global 80%/100% admin notices. * Improvement: Added automatic clipboard copy of share text on click and instant quota refresh upon bonus redemption. = 1.8.30 = * Fixed: Resolved translation misalignment in Review Editor by pairing source and translated segments by structural path instead of positional array indexing. * Fixed: Enhanced Elementor Toggle, Accordion, and Tabs widget text extraction to guarantee all tab titles and body content are detected, translated, and written back accurately. * Fixed: Hardened server and client batch translation prompts and 1-to-1 index matching for single-word labels and divider elements. * Fixed: Corrected in-plugin upgrade and support links to point directly to active destination endpoints. * Fixed: Enhanced icon contrast on floating quick translate toolbar and feedback support button. = 1.8.29 = * Improvement: Single-line layout normalization for Posts & Pages floating translation toolbar. * Feature: Added option to hide floating toolbar for session or permanently with instant database persistence. * Feature: Added toggle for list screens floating toolbar in Meep Settings. * Improvement: Standardized branding to "Meep" across floating toolbar and bulk actions dropdown. = 1.8.28 = * Feature: Added Meep dynamic translation toolbar on WordPress Admin Posts and Pages list screens (`edit.php`) with real-time word calculation and live quota tracking. * Feature: Integrated "Translate with Meep AI" into standard WordPress bulk actions dropdown on all translatable post types. * Feature: Added Date Created sorting (Newest first / Oldest first) and Title sorting (A-Z / Z-A) to the main Meep Translator Dashboard with default newest-first ordering. = 1.8.27 = * Fixed: Resolved critical error on free installations by safely guarding license status and Freemius SDK lookups. * Fixed: Restored smooth hover color styling on top Admin Bar translation actions (Edit and View Original/Translation links). * Improvement: Restored Meep Translator label in the WordPress admin sidebar. = 1.8.26 = * Improvement: Standardized AI translation engine labels across settings and dashboard. * Improvement: Refined top admin bar icon styling to match native WordPress theme and locked flag dimensions. * Fixed: Resolved dynamic PRO header title display on free installations. = 1.8.25 = * Improvement: Unified single-page translation actions and global statistics hub into a single, cohesive Meep top WordPress admin bar menu. = 1.8.24 = * Improvement: Unified Dashboard Header Stats Hub — integrated real-time translation completeness meter directly into the compact header statistics bar. * Improvement: Updated admin branding to Meep with official SVG brand mark in the WordPress top admin bar and dashboard navigation. * Improvement: Streamlined multi-model AI routing descriptions across documentation and interfaces. = 1.8.23 = * Feature: Global WordPress Admin Bar Hub Menu with persistent live word balance meter, limit pill badge, site translation score, and quick navigation. * Feature: PRO Feature Preview Gates for Free version — visual previews of Brand Voice presets, Formality controls, and AI Engine switcher with 1-click upgrade CTAs. * Feature: Limit-Reached Dashboard Hero Card with dismissible admin notice and instant capacity upgrades. * Feature: Social Sharing Referral Tool — claim +2,500 free bonus words by sharing on X (Twitter) or LinkedIn. = 1.8.22 = * Feature (PRO): Brand Voice & Localization Tone Adaptation (Language Enhancer) — 5 tailored copywriting presets (Hospitality, Corporate/B2B, eCommerce/Sales, Casual/Modern, Custom Persona) for native brand tone alignment on the first pass. * Feature (PRO): Grammatical Formality Selector (Strict Formal T-V address, Friendly/Informal, or Auto) across German, French, Spanish, Italian, Russian, and other multilingual targets. * Feature (PRO): 1-Click "Detect Site Context & Suggest Tone" AI tool that scans site title, tagline, and homepage content to recommend tone preset and extract domain keywords. * Feature (PRO): Custom Brand Persona and phrasing rules textarea integrated directly into OpenAI, Anthropic Claude, and DeepL translation prompts. * Improvement: Added comprehensive automated test suite for brand voice, formality modes, and context scanning. = 1.8.21 = * Fixed: Resolved an issue where the Translation Health & Completeness Meter showed 0% or missed completed translations on sites with legacy or Polylang linked translation families. * Improved: Restructured dashboard compact stats header bar with flexible responsive distribution, improved badge alignment, and streamlined license action buttons for Free and PRO plans. = 1.8.20 = * Feature: Added Translation Health & Completeness Meter Widget on the dashboard — live site-wide translation score, language-by-language breakdown with flags, category completion chips, and 1-click "Translate Remaining" action. * Feature: Deep translation and management for Contact Form 7 (wpcf7_contact_form) — translates form markup, placeholders, option choices, notification/validation messages array (_messages), and mail subjects. * Feature: Deep translation support for SureForms (sureforms_form) and Gutenberg block forms — translates labels, placeholders, help texts, validation errors, submit buttons, and nested choices. * Feature: Dedicated Forms tab on the translation dashboard with form content detection, translatable word counts, and status tracking. * Feature: Automatic shortcode and block comment rewriting during translation and at runtime for Contact Form 7, SureForms, and WPForms. = 1.8.17 = * Fixed: Resolved an issue where translated Elementor Saved Templates (containers, sections, pages) were erroneously categorized in Theme Builder instead of Saved Templates. * Fixed: Preserved internal template taxonomy terms (elementor_library_type, elementor_library_category) and synchronized Elementor document assets so translated templates maintain full CSS styling and layouts. * Improvement: Added automatic background self-healing repair that restores previously translated templates back into Saved Templates with regenerated CSS files. = 1.8.16 = * Feature: Added full-screen frosted glass AI translation overlay with live progress indicator and animated feedback for 1-click Admin Bar translations and retranslations. * Improvement: Added URL/slug preservation safeguard on retranslation (enabled by default under Settings -> Multilingual & URLs) to protect active SEO rankings, backlinks, and permalinks when updating existing content. = 1.8.15 = * Improved: Top Admin Bar quick translation menu with smart directional context (1-click retranslation from original source, direct original view/edit shortcuts, and vertical alignment). * Fixed: Dashboard table layout responsiveness and screen fitting across all viewport sizes. * Fixed: Cleaned up pseudo-element tooltips to use native browser tooltips and eliminate center-of-screen floating boxes. * Improved: Post editor translation metabox placement and styling. = 1.8.14 = * Fixed: Resolved an issue where Translation Memory and Cache could store untranslated source text if an API/network error occurred during translation fallback, preventing duplicate untranslated content. * Improved: Hardened Translation Memory and Cache lookups with automatic self-healing and pruning of identical source/translation entries. * UI: Replaced raw emojis across admin pages, Translate All tools, modals, review prompts, and action buttons with sleek, theme-matching SVG icons. = 1.8.13 = * Fixed: Resolved an issue in batch translation and Classic Editor post processing where Translation Memory key alignment could cause translations to return empty and leave posts in their original language. * Improved: Added error propagation and empty translation safeguards to prevent creating untranslated duplicate pages during bulk Translate All jobs. = 1.8.12 = * Fixed: Resolved an issue where Elementor Theme Builder header/footer templates and global layouts could be excluded by frontend query filtering after initial wizard setup. = 1.8.11 = * Fixed: Resolved syntax error in setup wizard preventing the "Continue to Languages" button from responding on initial configuration. = 1.8.10 = * Branding: Updated setup checklist widget, page/post metaboxes, and admin notices to consistent "Meep Translator" branding. = 1.8.09 = * Improvement: Enhanced Free Word Cap experience with positive ROI summary, Smart Translation Memory savings breakdown, and content-aware plan recommendations. * UI: Replaced notification and modal emojis with sleek, crisp SVG UI icons. = 1.8.08 = * Feature: Added optional Media Library Duplication feature with automatic attachment localization and gallery remapping per language. * Tools: Added "Localize Existing Media Library" 1-click tool under Settings -> Tools & Maintenance to generate language-specific Media Library records for existing media. = 1.8.06 = * Feature: Added automatic media attachment, ACF gallery, and custom field synchronization for Case Stories and custom post types, ensuring Elementor image galleries work out of the box. * Settings: Added dedicated "Synchronize Media & Galleries" toggle under Advanced Settings (enabled by default). = 1.8.05 = * Feature: Added support for all UI-enabled Custom Post Types (Testimonials, Employees, Team Members, FAQs, and dynamic tag sources) in Dashboard and Translate All. * Improved: Unified cache purging so clearing translation cache synchronizes across Translation Memory and query cache. = 1.8.04 = * Fixed: Unified Glossary, Excluded Terms, and Brand Protection rules across single and batch AI translations. * Fixed: Enhanced prompt enforcement on backend translation cluster so excluded phrases and slogans are strictly preserved verbatim. = 1.8.03 = * Fixed: Resolved fatal TypeError in Freemius get_upgrade_url() during word demand plan recommendation. * Improved: Updated API routing with isolated high-speed translation endpoint and failover resilience. = 1.8.02 = * Fixed: Resolved method naming inconsistency in Translation Review workspace selector. * Improved: Added defensive method existence checks and backward-compatible alias in Admin Menu. = 1.8.01 = * Feature: Added Smart Translation Memory (TM) & String Deduplication — identical headings, buttons, and paragraphs across your site are translated once and reused at zero word cost. * Feature: Added Autonomous Background Auto-Sync ("Set & Forget") — automatically detects edits on pages, posts, WooCommerce products, and Elementor templates and updates all linked translations in the background. * Feature: Added Visual AI Translation Engine Switcher with support for Anthropic Anthropic Claude, DeepL Pro, and OpenAI ChatGPT with smart multi-model routing. * UI/UX: Interactive carousel navigation for Settings tabs with smooth scrolling and clean Lucide-style vector SVG icons. * UI/UX: Real-time Site Content & Word Demand Inventory with 1-click recalculation. * Architecture: Dynamic API endpoint resolution with environment constant overrides and filter hooks. = 1.8.0 = * Major UX: Reorganized settings into 6 intuitive, dedicated tabs (General & Performance, Languages & Switcher, Site Elements & Auto-Translate, Plugin Integrations, Brand & Glossary, Tools & Advanced). * Added: Real-time live search and instant filter for String Translations and plugin UI strings. * Added: Smart floating translation indicator on the dashboard with one-click return to translation bar when scrolling long lists. * Added: Graceful Pause and Resume controls in Translate All for server-friendly batch processing. * Improved: Responsive dashboard toolbar layout for laptops and smaller displays. * Improved: Dynamic dashboard tabs that automatically hide empty post types (0 items) and focus on existing content. * Improved: Cleaned up settings action buttons with dedicated per-tab saving and streamlined reset tools. * Performance: Optimized transient caching and state management for remote license checks. * Tested: Verified compatibility with WordPress 7.1 and PHP 8.3+. = 1.7.93 = * Improved: Performance transient caching for remote license status checks. * Added: In-plugin warning notice nudge at 80% usage with WordPress.org review request. * Added: In-plugin persistent warning notice block at 100% usage or cooldown. * Improved: WordPress 7.1 compatibility verification and Tested up to bumps. = 1.7.92 = * Feature: Added deactivation feedback survey for Free version users to share improvement suggestions = 1.7.91 = * Fixed: Conflict with Sureforms causing forms to disappear in backend dashboard * Fixed: Excluded JetFormBuilder post types from language queries to prevent conflicts = 1.7.90 = * Fixed: JetSmartFilters 'Show all' label translation * Fixed: Broken JetProductGallery widget on translated CPT pages * Improved: Copying custom post metadata fields starting with underscore = 1.7.89 = * Fixed: Corrected word usage estimation to prevent premature limit block on Free plan sites. = 1.7.88 = * Fixed: Updated fallback word limit defaults in assets and server helper class to 7,200 words. = 1.7.87 = * Fixed: Adjusted PRO version name header in zip compression to match Freemius configuration. = 1.7.86 = * Feature: Raised Free plan translation limit to 7,200 words per month. * Feature: Lifted target language selection limitations from the Free plan, allowing simultaneous translation into multiple target languages. = 1.7.85 = * Feature: Added native translation and swapping support for Elementor Header Footer Builder templates (`elementor-hf` post type) out of the box. Automatically swaps header and footer templates to their current-language translations at render time. * Feature: Added JetEngine Listing Grid loop item filter support to guarantee post order synchronization on lazy-loaded and AJAX-loaded listing grids. = 1.7.84 = * Feature: Moved post ordering synchronization logic to a unified Multilingual Manager level to automatically support sorting synchronization on Polylang and WPML multilingual integrations. * Feature: Added "Preserve Post Order" settings toggle option under the Advanced Settings tab in the plugin admin dashboard. = 1.7.83 = * Feature: Added native translation and swapping support for JetThemeCore templates (`jet-theme-core` post type) out of the box. Extends automatic language swapping to Nav Menu widgets embedded in custom headers, footers, and page sections built via JetThemeCore. = 1.7.82 = * Fixed: Improved post ordering synchronization on translated pages. Enabled sorting order mapping during AJAX and REST API requests (e.g. JetEngine query grids/pagination), resolved edge case when query sorting fields (`orderby`) are passed as arrays, and added unified translation mapping retrieval fallback for Polylang and WPML compatibility. = 1.7.81 = * Fixed: Resolved conflict with WordPress Media Library grid view, Elementor media modal, and WooCommerce media selectors. Excluded media attachments (`attachment` post type) and `query-attachments` AJAX requests from language taxonomy registration and query filtering. = 1.7.80 = * Fixed: JetEngine Listing Grid lazy-loading language resolution on custom frontend-facing AJAX URLs (e.g. page/?nocache=1). Extended early $is_ajax check to capture JetEngine AJAX requests targeting front URLs, ensuring the target page context is correctly resolved to the active language. = 1.7.79 = * Fixed: JetEngine Listing Grid lazy-loading language resolution for REST API requests. Added support for parsing JSON payloads (content-type application/json) in detect_ajax_language() to reliably extract page metadata. = 1.7.78 = * Fixed: JetEngine Listing Grid lazy-loading language resolution for initial page load. Enabled just-in-time taxonomy registration during early language detection, allowing term lookup queries to run successfully prior to normal init priority 20. = 1.7.77 = * Fixed: Bypassed network-interrupted tag lock on Freemius distribution platform. = 1.7.76 = * Fixed: JetEngine Listing Grid lazy-loading language resolution. Added fallback checks to extract the active language directly from the request payload's page metadata (post_id or queried_id) during AJAX/REST requests, ensuring lazy-loaded lists load in the correct language even when browser security settings strip the HTTP referer path. = 1.7.75 = * Changed: Updated plugin short description to highlight supported page builders (Elementor, Gutenberg), WooCommerce, SureCart, and forms integrations. = 1.7.74 = * Fixed: JetEngine Listing Grid and JetSmartFilters AJAX/REST pagination filtering. Enabled frontend query-filtering and term/link translation hooks inside frontend-facing AJAX/REST requests (like admin-ajax.php and wp-json endpoints) by checking for DOING_AJAX and REST_REQUEST constants, resolving language-specific CPT posts on subsequent AJAX pages correctly. = 1.7.73 = * Fixed: Language switcher dropdown toggle script tag stripping in header widgets. Enqueued the switcher toggle script safely to load in the footer (`wp_footer`), preventing WordPress page builders (like Astra Header Builder) from sanitizing/stripping inline `