SEO Magic - Complete Changelog

= 1.7.0 =
* Consolidated the stability, scalability and interface improvements introduced across the 1.6.x releases.
* Added server-side AI locks, cross-tab coordination, double-click protection and structured HTTP errors.
* Added real database pagination for large post and product catalogs.
* Improved contextual Generate / Regenerate workflows for metadata and images.
* Preserved settings and generated metadata during deactivation, updates and ZIP replacement.
* Improved archive metadata saving, AIOSEO detection and admin interface consistency.

= 1.6.12 =
* WooCommerce: Repositioned the pink AI actions outside the Visual/Code tabs container so the Product Description and Short Description buttons are fully visible and aligned.
* Site Health Audit: The Edit action now preloads the selected post directly in Content Assistant, including title, content and featured image, then safely re-syncs after TinyMCE initializes.

= 1.6.11 =
* Critical fix: Plugin deactivation, updates and ZIP replacement no longer delete SEO Magic settings or generated metadata.
* Critical fix: Uninstall cleanup is now explicit opt-in and no longer removes taxonomy descriptions, author descriptions or approved custom schemas.
* Settings: Replaced the dangerous delete-on-deactivation behavior with a safe delete-on-uninstall option. Normal updates and deactivation always preserve data.

= 1.6.10 =
* Fix: AI-generated metadata for categories, tags, custom taxonomies and author archives is now saved immediately when generated from the editor modal, so archive coverage and the Dashboard attention count update correctly.
* UI: Reduced the Metadata and Multimedia row action buttons and aligned Multimedia thumbnails, coverage and actions consistently.
* Fix: Documentation buttons now open the dedicated SEO Magic documentation page.

= 1.6.9 =
* Fix: Multimedia bulk generation now uses real regeneration mode when an image already contains metadata and sends the current values to the AI provider.
* Fix: The bulk queue no longer replaces manual edit pencil icons after processing.
* UI: Precisely aligned Metadata and Multimedia action buttons and removed oversized blue focus outlines from Dashboard coverage cards.

= 1.6.8 =
* Fix: Taxonomy and author metadata saves are now verified before reporting success, and archive coverage is updated immediately.
* Fix: The review notice permanently verifies the “I already did” preference before disappearing.
* UI: Repaired review-notice buttons, restored pink Content Assistant actions, aligned the editor/sidebar columns, and removed remaining blue CTA styles from the affected screens.


= 1.6.7 =
* UI: Unified primary controls around the SEO Magic pink and #191E2D brand colors.
* UI: Rounded Apply and Load for Editing buttons and centered table action icons.
* UI: Reorganized the Content Assistant loader into a clear search row and separate filter panels.
* Fix: Review completion is now stored reliably and includes a nonce-protected fallback when AJAX is unavailable.
* UI: Updated pagination, manual edit controls and the Content Assistant optimize action to #191E2D.

= 1.6.6 =
* Fix: The Metadata SEO “All” view now places incomplete taxonomy and author archives before completed content instead of appending archives after every post.
* Performance: Combined sorting keeps database pagination for posts and products instead of loading the full catalog into memory.

= 1.6.5 =
* UI: Rounded the Metadata SEO Apply button to match the other primary controls.
* UX: Removed the separate Needs attention filter and restored automatic coverage-first ordering so incomplete metadata appears at the top by default.

= 1.6.4 =
* UI: Matched the Content Assistant “Load for Editing” buttons to the rounded primary button style used throughout SEO Magic.

= 1.6.3 =
* UX: Improved the Content Assistant loader layout so the search, content type and status filters no longer appear crowded or misaligned.

= 1.6.2 =
* Fixed the Configure Autopilot button so its icon is white and its shape matches the rounded SEO Magic primary buttons.
* Added a contextual Needs attention filter to Metadata SEO and linked the dashboard coverage card directly to it.
* Unified the dashboard issue count and the table with one live attention snapshot, preventing stale 100% rows from hiding incomplete metadata.

= 1.6.1 =
* QA 1B: fixed the media/post/archive modal so Generate All and Regenerate All are contextual single-button actions, and regeneration sends current metadata to request a real alternative without duplicate AI calls.
* Added atomic server-side AI request locks with expired-lock recovery, per-user coordination and a filterable site-wide concurrency limit.
* Added cross-tab AI operation coordination, immediate double-click protection and structured AJAX errors with real HTTP status codes.
* Bulk generation can now abort its active browser request, ignore late responses and stop the remaining queue safely.
* Replaced in-memory post/product pagination with paged WP_Query requests for scalable admin lists.
* Added correct AIOSEO Lite/Pro detection and a warning when multiple SEO providers are active.
* Hardened provider timeouts, cancellation checks and privacy-safe diagnostic logging without changing prompts or metadata storage.
* Stabilized API-key tests and Backlink Risk AI batches with controlled timeouts, one AI domain per request and RPM-aware pacing.

= 1.6.0 =
* Release-ready Backlink Risk Signals workflow: CSV/TXT exports are parsed first, grouped by referring domain, and analyzed in small sequential batches to avoid admin-ajax timeouts and proxy rate-limit failures.
* Backlink Risk Signals: improved Google Search Console "Latest links" and "Top linking sites" import handling, including full linking-page URLs with paths, crawl-date columns, TXT lists and malformed copied rows.
* Backlink Risk Signals: compacted table output to show risk, short explanation and recommendation without long diagnostic text.
* Backlink Risk Signals: added a polished progress bar with percentage, domain counter and live status while batch analysis runs.
* Admin UI: fixed the SEO Magic WordPress menu icon so the brand pink symbol stays visible in normal, hover and selected states.
* Site Health Audit: strengthened the initial empty-state container so it spans the expected width consistently.

= 1.5.23 =
* Backlink Risk Signals: refined the batch-analysis progress UI with a cleaner compact card, percentage badge, animated progress fill and clearer status text.

= 1.5.22 =
* Backlink Risk Signals: added a visible progress bar and status text while batch analysis is running.
* Backlink Risk Signals: keeps progress visible while partial results are rendered in the table.

= 1.5.21 =
* Backlink Risk Signals: uploads are parsed first and then analyzed in small sequential batches to prevent admin-ajax timeouts and proxy rate-limit failures.
* Backlink Risk Signals: partial results remain visible if one batch fails, instead of clearing the whole table with a communication error.

= 1.5.20 =
* Backlink Risk Signals: relaxed backlink URL normalization so full GSC linking-page URLs with paths are accepted before the Pro add-on analyzes them.

= 1.5.19 =
* Backlink Risk Signals: simplified the screen to prioritize CSV/TXT upload from Search Console and removed the misleading API fetch flow from the main UI.
* Backlink Risk Signals: compacted result rows to show risk, short reason and recommendation only.

= 1.5.18 =
* Admin menu: forced the SEO Magic icon to render in the brand pink color in normal, hover and selected states.

= 1.5.17 =
* Backlink Risk Signals: made CSV/TXT upload the primary flow and removed the misleading automatic GSC fetch UI.
* Site Health Audit: added inline-safe full-width empty state so the initial container cannot render as a half-width card.
* Admin UI: forced the SEO Magic WordPress menu icon to use the brand pink.

= 1.5.16 =
* Site Health Audit: strengthened the empty-state placeholder layout so it spans the full results area consistently.
* Admin UI: refreshed the WordPress menu highlight to use the SEO Magic brand pink.
* Backlink Risk Signals: clarified the file-upload fallback and accepted TXT files in addition to CSV.

= 1.5.15 =
* Schema output: fixed approved SEO Magic custom schema not appearing on the frontend when All in One SEO is active. AIOSEO keeps its own graph and SEO Magic now prints approved custom schema as a separate JSON-LD block.


= 1.5.13 =

* Fix: Metadata SEO can now generate cautious metadata for posts, products, categories, tags and author archives with limited context instead of blocking too early with "Needs content".
* Fix: Generation language now falls back to the WordPress site locale when no valid SEO Magic language is saved.
* Fix: Archive metadata fallbacks avoid legacy malformed characters and keep safer limited-context wording.

= 1.5.12 =

* UX/i18n: Expanded Spanish admin fallbacks across Settings, Google API fields, Autopilot, AI model rules and import/export controls.
* UX: Clarified that Content Assistant loads editable posts/pages only; taxonomy archives stay in Metadata SEO and products stay in WooCommerce Pro tools.

= 1.5.11 =

* Fix: Content Assistant no longer lists or loads WooCommerce products; product optimization remains handled by the Pro WooCommerce tools.
* UX: Improved the Content Assistant loader filters with a cleaner responsive layout for content type, status and search.
* UX/i18n: Added Spanish fallbacks for Content Assistant filter labels and word-count text.

= 1.5.10 =

* Fix: Disabling Tags now also hides tag-like public taxonomies such as WooCommerce product tags from the Metadata SEO table.
* Fix: Archive scan checkboxes now save their unchecked state more reliably.
* UX/i18n: Improved Spanish admin fallbacks for Metadata SEO, Settings and related JavaScript labels.

= 1.5.9 =

* Fix: Product SEO coverage now recalculates from existing SEO plugin metadata when the cached SEO Magic score is missing or stale.
* Fix: Existing product metadata saved in Yoast, Rank Math or AIOSEO is preserved and detected more reliably in the Metadata SEO table.
* UX: Privacy notice on Settings is now shorter and dismissible.

= 1.5.8 =

* Fix: Product titles in Metadata SEO now link to the real WooCommerce product editor URL.
* Fix: The blue pencil action for products now opens the SEO metadata modal, matching posts and pages.
* Fix: Product edit URLs returned by AJAX are no longer HTML-escaped before being used by JavaScript.

= 1.5.7 =

* Pro hardening: Smart Schema now uses a Pro draft/approval workflow before public output.
* Schema safety: custom schema output respects draft, approved and disabled states while preserving valid legacy schema.
* Backlink Risk: safer wording and UI support for evidence, confidence and manual review signals.
* Worker compatibility: prepared prompt versioning, safer schema/backlink/metadata/Woo/media/linking prompts and shared Worker hardening notes.
* Privacy/docs: clarified that AI suggestions must be reviewed and that Pro features require a valid license.

= 1.5.6 =

* Security/commercial hardening: Free/Pro separation improved so premium feature execution runs from the Pro Add-on while Free keeps safe placeholders and upgrade notices.
* Fix: Product rows in Metadata SEO now link to the product editor instead of opening the post metadata modal.
* Hardening: Free stubs for FAQ, Smart Schema, internal linking, Backlink Risk, Google Search Console, Site Health and WooCommerce AI return `pro_required` without running premium logic.

= 1.5.5 =

* Fix: Linux-safe plugin packaging with POSIX paths for reliable installation on WordPress hosting.
* Fix: Prevent early license checks from causing fatal errors when a Pro license state is active.
* Fix: Improve AIOSEO schema compatibility by avoiding unsupported raw JSON-LD injection into AIOSEO graph filters.
* Fix: Prevent scheduled posts from publishing without a valid future date.

= 1.5.4 =

* Security and stability hardening: improved server-side checks for Pro features, safer assistant saving, stricter permissions, safer schema output, safer backlink analysis, settings preservation, and improved error handling.
* Security: Added stricter backlink domain validation and removed unsafe remote title fetching behavior.
* Compatibility: Avoid duplicate custom schema output when Yoast SEO, Rank Math or AIOSEO integration is active.
* Privacy: Settings export excludes secrets by default.

= 1.5.3 =

* Improvement: Expanded the AI generation language selector with a broad set of international languages, including Croatian.
* Improvement: Centralized the supported generation language list used by settings validation and archive metadata generation.
* Improvement: Added Croatian-aware fallback text and Croatian stopwords for taxonomy, author archive and metadata helpers.
* Improvement: Added neutral local fallback handling for newly supported languages without a dedicated local template.

= 1.5.2 =

* Fix: Improved metadata generation for categories, tags, brands and public taxonomy archives.
* Fix: Removed generic Spanish fallback descriptions from taxonomy and author archive metadata.
* Improvement: Added clear “Needs content” handling when an archive, post or page does not have enough context for AI metadata generation.
* Improvement: Skips empty or low-context items during bulk metadata generation without sending unnecessary Gemini requests.
* Maintenance: Kept the WordPress.org short description within the 150-character directory limit.

= 1.5.1 =

* Maintenance: Updated WordPress.org metadata to keep tags, contributors and short description within directory limits.

= 1.5 =

* Compatibility: Tested with WordPress 7.0.
* Maintenance: Removed inline admin CSS from settings and moved those styles into the plugin stylesheet.
* Improvement: Added file-based cache busting to the WooCommerce Pro lock assets.

= 1.4.9 =

* Settings: Fixed archive scan options so deselecting Categories saves an empty selection instead of restoring the previous value.
* Content Assistant: Expanded the Schema selector with Auto-Detect Type, Article, BlogPosting, NewsArticle, FAQPage, HowTo, Recipe, Product, Person and LocalBusiness.
* Schema: Normalized requested schema types before sending them to the AI proxy, so variants such as howto, How To and HowTo are handled consistently as HowTo.
* Schema: Improved schema_type sanitization in the assistant AJAX handler to preserve valid camel case values.

= 1.4.8 =

* Metadata SEO: Added support for category, tag, public taxonomy and author archive meta descriptions.
* Dashboard: Included taxonomy and author archives in coverage recalculation.
* UX: New and updated content is scanned automatically so it appears in Metadata SEO without a manual recalculation.

= 1.4.7 =

* Content Assistant: Added clearer validation messages when the post title or content is missing.
* Content Assistant: Added a dedicated Publish button in the review step and improved AJAX error handling when saving posts.
* UI: Styled the new Publish button to match the plugin design and improved review footer responsiveness.

= 1.4.6 =

* WooCommerce PRO: Reworked product short and long description generation to use a cautious direct Gemini prompt that avoids unsupported claims.
* WooCommerce PRO: Added optional external product research through the configured Google Custom Search API, using only search result snippets as supporting context.
* WooCommerce PRO: Sends current unsaved title, SKU, price and editor content to the generator so title-and-price-only products produce safer descriptions.
* WooCommerce PRO: Cleaned the product editor inline buttons script and fixed the long-description label.

= 1.4.5 =

* Updated the recommended/default Gemini model to **gemini-3.1-flash-lite-preview** for higher free-tier daily request allowance on SEO tasks.
* Added a one-time admin migration from the old **gemini-2.5-flash** default to the new recommended model, while keeping manual model selection available.
* Reordered model selectors to show Gemini 3.1 Flash-Lite first and clarified labels for stable fallbacks and billing-required Pro models.
* Updated local request-per-minute throttling per model to better match the current free-tier limits.

= 1.4.4 =
* Content Assistant: Locked the Link Assistant card correctly in the free plugin so the Analyze Links button cannot be clicked without the Pro add-on.
* UI: Kept the "See SEO Magic Pro" calls to action fully visible and in the foreground inside locked cards.
* Editor: Aligned the Link Assistant metabox with the same Pro lock behavior used in the main assistant.

= 1.4.2 =
* UX: Changed free "More information" links to point to the main SEO Magic website instead of documentation.
* UI: Improved the visual style of PRO upsell links in the dashboard, Content Assistant and locked settings areas.

= 1.4.1 =
* Fixed a fatal error on admin screens when the free plugin was used without the Pro add-on.
* Kept the Gemini API setup flow focused on Google AI Studio.

= 1.4 =

* Free / PRO split: Removed PRO license screens and locked PRO menu items from the free plugin so the first-run experience is simpler and less confusing.
* Onboarding: Updated the Gemini API help button to open Google AI Studio API keys directly: https://aistudio.google.com/api-keys
* Readme: Clarified that advanced features are available through the SEO Magic Pro add-on from https://seomagic.click/.
* Packaging: Bumped the free plugin version to 1.4 for the new add-on-ready structure.

= 1.2.2 =

* Content Assistant: Fixed the Link Assistant button inside the assistant so it responds reliably again and follows the same suggestion flow as the Auto-Linking Assistant when a saved post is loaded.
* Link Assistant: Restored clearer visual differentiation between internal and external suggestions, including the external icon and plugin color styling.
* Auto-Linking / External links: Improved Google Custom Search error messaging so missing API access is explained more clearly from the plugin side.
* Google Search Console: Unified the OAuth redirect URI used by the plugin to reduce redirect mismatch issues during account connection.
* UX / Stability: Polished onboarding, documentation links and assistant interactions based on the latest production fixes.

= 1.2 =

* Onboarding: Improved the initial Gemini API setup flow with clearer guidance, better validation and a stronger distinction between the Gemini API key and the SEO Magic license.
* Onboarding: Locked the main plugin screens until a valid Gemini API key is configured, while keeping documentation and settings accessible.
* Documentation: Updated documentation buttons and setup links to point to the Gemini API guide and the main documentation page consistently.
* Content Assistant: Improved HTML cleanup, protected complex blocks more safely and reduced invalid wrappers when moving content between the classic editor and Gutenberg.
* Link Assistant: Fixed loading, labels and action states in the assistant and Auto-Linking UI.
* AIOSEO compatibility: Fixed metadata coverage and related reads so existing AIOSEO data is detected correctly again, including sites that store values in the AIOSEO table.
* Stability: Hardened license activation/deactivation permissions and removed a possible fatal path in the legacy Gemini compatibility route.

= 1.1.2 =

* Content Assistant: Improved HTML cleanup before AI requests and before saving content.
* Content Assistant: Added stronger protection for complex structures such as figures, tables, embeds, media, links, code blocks, details and shortcodes.
* Content Assistant: Improved compatibility when moving content between the classic editor and Gutenberg.
* Content Assistant: Added safer normalization to reduce invalid wrappers around protected blocks and complex HTML.
* Stability: Hardened license activation and deactivation permission checks.
* Stability: Removed a possible fatal path from the legacy Gemini compatibility function.

= 1.1 =

* Updated all Google Cloud Run proxy URLs to the new endpoints for Assistant, Audit, Linking, Media, Metadata, Schema and WooCommerce.
* Updated the plugin documentation and model references to use current Gemini models.
* Replaced outdated Gemini 3 Pro preview references with **gemini-3.1-pro-preview** where applicable.
* Kept Gemini model settings compatible with the available default and fallback models.
* Clarified that Gemini 3.x preview models require billing to be enabled in your Google Cloud project.

= 1.0.8 =

* Dashboard: Removed the local usage counter.
* Dashboard: Recent Activity now includes all SEO Magic tools.
* Dashboard: Error Log now reports errors from all modules.
* Site Health Audit: Added a content type filter dropdown.
* Deactivation feedback: Added a “Quick Feedback” modal on deactivation (like popular plugins).
* Deactivation feedback: When users click “Submit & Deactivate”, their reason is emailed to seo.magico.click@gmail.com with subject tag "DESACTIVACION DE PLUGIN".
* Deactivation feedback: “Skip & Deactivate” sends nothing.
* Licensing: PRO checks now rely on the plugin's first-party license flow.
* UI: All commercial CTAs now point to https://seomagic.click/.


= 1.0.7 =

* Content Assistant: Added support for the “Main Site Topic” setting so rewrites can better follow the overall theme and positioning of the website.
* Content Assistant: Improved handling of the Extra Prompt field; user instructions now have higher priority and are more strictly followed by the AI.
* Performance: Adjusted the assistant proxy configuration to run prompts closer to Google’s Gemini infrastructure, improving response speed and stability.
* WooCommerce: Refined the WooCommerce product assistant prompt for clearer, benefit-focused long descriptions and more concise, conversion-oriented short descriptions.


= 1.0.6 =
* Added support for Gemini 3.x preview models in Default AI Model and AI Model Rules.
* Updated Content Assistant timeout to improve stability on long-running generations and reduce timeout errors.
* Note: Gemini 3.x preview models require billing to be enabled in your Google Cloud project.

= 1.0.5 =

* **Security & Architecture:** Major security upgrade. All AI prompt logic has been migrated to a secure proxy server, reducing plugin weight and increasing safety.
* **Metadata Module:** Improved Metadata generation with Search Intent detection (Informational vs Transactional).
* **Metadata Module:** Implemented AIDA formula (Attention, Interest, Desire, Action) for higher CTR meta descriptions.
* **Multimedia SEO:** Enhanced Image Alt Text generation focusing on WCAG accessibility standards and semantic context ("reading" the image, not just guessing).
* **WooCommerce:** Improved Long Description generation using the "Benefits over Features" method with better HTML structure (H3, lists, bolding).
* **WooCommerce:** Short Descriptions now use an "Elevator Pitch" style to target customer pain points immediately.
* **Content Assistant:** Upgraded to "Editor-in-Chief" mode prioritizing reader retention and semantic structure (H2/H3).
* **Content Assistant:** FAQs are now optimized for Zero-Click searches with direct and concise answers.
* **Auto-Linking:** Smart Auto-Linking update. The system now detects semantic concepts for internal linking opportunities instead of just exact keyword matches.
* **Schema:** Fixed validation errors in Schema generation (specifically preventing 'frequentlyAskedQuestions' inside Person type).
* **UI/UX:** Redesigned AI Usage Panel and improved API quota error messaging for better clarity.
* **Backlink Audit:** Refined toxicity analysis prompts for more accurate risk assessment.

= 1.0.4 =

* Updated default Gemini model to **gemini-2.5-flash** and added new model options (**gemini-2.5-flash-lite**, **gemini-2.5-pro**) aligned with Google AI Studio’s current free tier.
* Updated the Content Assistant and other tools to use the selected model instead of forcing **gemini-2.5-pro**.
* Added a **Settings** link in the WordPress Plugins screen for quicker access to the main configuration panel.
* Updated documentation to clarify that Gemini **3.x** models (for example `gemini-3.1-pro-preview`) require billing to be enabled in your Google Cloud project.

= 1.0.3 =

* Fixed review button error.
* Updated translations for Spanish, French, Italian, Arabic, and Chinese.
* Fixed error when creating a draft: "Cannot update post. Invalid post ID received."

= 1.0.2 =

* Major refactor to follow WordPress.org coding standards and security best practices.
* Improved sanitization, validation and escaping of user input and output.
* Added nonces and capability checks to AJAX handlers and admin forms.
* Implemented a secure license proxy on our server to avoid exposing API keys in the plugin code.
* Switched all remote requests to use SSL verification.
* Introduced new admin UI for Metadata SEO, Multimedia SEO and Content Assistant.
* Added WooCommerce inline assistant for product titles, descriptions and tags.
* Added Autopilot for background metadata and image completion.
* Added Auto-Linking Assistant, Backlink Audit and Site Health Audit as PRO-only tools.
* Updated readme with detailed information about features, external services and privacy.

= 1.0.1 =

* Added Content Assistant for posts and pages.
* Introduced Media SEO tools for bulk alt text optimization.
* Initial support for WooCommerce product SEO.
* UI improvements in the admin pages.

= 1.0.0 =

* Initial release of SEO Magic – AI-powered metadata assistant for WordPress.
