*** CatalogPilot Connector Changelog ***

2026-10-25 - version 0.1.81

* Changed - Structured data treats a variation's name as approved only when it is the variation's own approved CatalogPilot title. A parent product's approved title no longer counts as the variation's approval, so a WooCommerce or theme variation name is kept over it.
* Fixed - Variation structured-data names follow one order: the variation's approved title, the variation's own name, the parent product's approved title, then the parent product's name. A variation that has no name, a placeholder name such as "Default", or just the parent product's name uses the parent's approved title before the parent's WooCommerce name.
* Fixed - Variation data sent to the storefront now includes the parent product's approved title and name. When a shopper selects a variation without its own CatalogPilot data after another variation, or after opening a variation link, its structured-data name still uses the parent's approved title. A variation named like the parent product's stored name is not treated as having its own name.
* Fixed - Approved CatalogPilot schema names are published as the plain text they already are, so names with literal angle brackets or entity spellings (for example "Cutlery <blue> set" or "&copy;") are no longer cut or decoded a second time.
* Fixed - Structured data marks products as not family friendly only for sexual content. Other adult considerations remain published without creating this flag, including when older overlay data is cached.

2026-10-25 - version 0.1.79

* Fixed - Structured data keeps native WooCommerce and theme Product names unless CatalogPilot's schema name comes from an approved title of the product, variation or (for a variation) its parent product; an approved name always wins. Original source titles and legacy payloads no longer authorize replacing an existing name, and a variation placeholder name such as "Default" is never published. A variation whose WooCommerce name is just the parent product name is named after the parent's approved title; as of 0.1.81 that name is not the variation's own approval, so a matching theme variation name can still replace it.
* Fixed - Structured data publishes every valid schema.org adult consideration CatalogPilot has stored, not only sexual content, with `isFamilyFriendly` false whenever one is present. Variations publish their own considerations together with their parent product's.
* Fixed - Fallback variation structured data names its ProductGroup after the parent product.
* Fixed - Structured data keeps valid WooCommerce and theme SKU, GTIN and MPN values for the product being shown instead of replacing them with CatalogPilot's; CatalogPilot only fills identifiers that are missing or invalid, keeps its own variation identifiers when the theme markup describes the parent or another variation, ignores the post ID WooCommerce uses as a SKU placeholder, and no longer adds a duplicate `gtin` next to a valid `gtin13` (or other GTIN property).
* Fixed - Structured data now uses approved CatalogPilot titles, descriptions and breadcrumb category names regardless of on-page display settings; display settings only control what the page shows.
* Fixed - Approved structured-data text that is invisible or punctuation only (for example a zero-width space or an encoded non-breaking space) no longer replaces the native WooCommerce name, description or breadcrumb label.
* Fixed - Structured-data text keeps emoji sequences, Persian and Indic joiners and right-to-left marks, keeps a literal "<" (for example "Use <5 kg bags"), and drops script and style contents.
* Fixed - Native WooCommerce descriptions used as the structured-data fallback are kept as before, including punctuation-only, emoji-only and non-UTF-8 text.

2026-10-22 - version 0.1.78

* Fixed - Preserve valid parent product descriptions shorter than 40 characters in variant schema and avoid parsing generated plain-text parent descriptions as HTML again.

2026-10-20 - version 0.1.77

* Changed - Updated the CatalogPilot logo in the connector settings page.

2026-10-20 - version 0.1.76

* Fixed - Shared storefront image matching ignores Lightspeed theme cache timestamps to avoid treating unchanged images as new media.

2026-10-14 - version 0.1.75

* Fixed - Storefront metadata descriptions are reduced to plain text without parsing their markup in the live page, so description HTML cannot run scripts.
* Fixed - Category schema uses the current WooCommerce category name when no enabled approved title is available, including translated categories without an approved page overlay, decoding HTML entities stored in the name. Repaired breadcrumb schema names are decoded the same way.

2026-10-14 - version 0.1.74

* Fixed - Merge approved category schema and CatalogPilot provenance into Rank Math named schema nodes while preserving provider node identities, graph references, and unrelated site and organization schema.

2026-10-14 - version 0.1.73

* Fixed - Export WooCommerce product types so catalog sync correctly identifies variable products and their eligible variants.

2026-10-13 - version 0.1.72

* Fixed - Clearing a variation restores parent product schema even when the initial server response identifies the page as a variant.

2026-10-13 - version 0.1.71

* Fixed - Clearing a variation selected through the page URL restores parent product schema for select, radio, and checkbox controls.

2026-10-12 - version 0.1.70

* Fixed - Selected variations use their own page schema or commerce fallback instead of copying the parent product's JSON-LD; parent GTINs are never inherited.
* Added - Fallback product schema includes stored GTINs, and schema images carry stable `@id` identities.
* Changed - Merchant return policies are attached to the seller Organization. All countries coverage, and a return policy URL without a chosen coverage, publish a URL-only MerchantReturnPolicy (merchantReturnLink only) instead of a product return policy. Every configured return policy URL is also listed as a Return Policy page, and the policy is now added to the connector's seller Organization and to standalone Organization nodes passed through the connector, instead of WooCommerce/Yoast/Rank Math Product schema. Native Offer policies and category CollectionPage containment are preserved.

2026-10-09 - version 0.1.69

* Fixed - Empty storefront microdata fields no longer interrupt structured-data processing.

2026-09-25 - version 0.1.68

* Added - Mark category JSON-LD with CatalogPilot `sdPublisher` provenance, including SEO-provider-owned schema, so delivery monitoring can identify CP-managed output.

2026-09-25 - version 0.1.67

* Fixed - Escape approved storefront titles and category labels in rendered HTML while preserving Woo Product Filter block context data.

2026-09-24 - version 0.1.66

* Fixed - Resolve scaled and thumbnail WordPress image URLs to the original image identity, including compatibility with previously synchronized catalog rows.

2026-09-22 - version 0.1.65

* Fixed - Author URI identifies AdVision eCommerce separately from the CatalogPilot plugin URI.
* Update - Declare tested compatibility with WooCommerce 11.1.1.

2026-08-28 - version 0.1.64

* Fixed - H1-only and Title-only storefront configurations no longer fall back to a disabled sibling heading field when the selected field has no approved value.

2026-08-28 - version 0.1.63

* Fixed - H1-only classic WooCommerce first loads now retrieve and render the approved enriched H1 value.

2026-08-28 - version 0.1.62

* Fixed - Classic WooCommerce product headings now use enriched H1 content when H1 is enabled and Title is disabled.

2026-08-25 - version 0.1.61

* Added - Separate private and public connector distribution packages.
* Added - Authenticated disconnect, credential revocation fencing, and confirmed local data purge.
* Added - WooCommerce HPOS compatibility declaration and WooCommerce submenu navigation.
* Update - Compatibility through WordPress 7.1 and WooCommerce 11.0, with PHP 7.4 syntax support.
* Fixed - Private updater code and credentials are excluded from the public connector package.
* Fixed - Runtime configuration accepts data-only JSON and escapes inline values.
* Fixed - Catalog table setup and chunk writes fail closed and remain retryable.

2026-03-02 - version 0.1.60

* Added - Initial CatalogPilot Connector release candidate.
