*** OptAEO - AEO Product Data Optimiser Changelog ***

2026-07-10 - version 0.6.0
* Local-first schema rendering: the authoritative Product node is stored per-product and rendered from the store itself - product pages no longer make an outbound request to render, so OptAEO latency or downtime can never delay or blank a product page.
* Never-worse guarantee: competitor Product/Offer schema (WooCommerce core, Yoast, Rank Math) is now suppressed ONLY for a product we actually hold a node for. Earlier versions suppressed on token-presence alone, which stripped competitor schema during any outage or unsynced-product window and left live pages with no product structured data at all - this makes that impossible.
* New authenticated endpoint (optaeo/v1/schema) so OptAEO can push the node - and its SEO meta title/description - into the store; the response returns the schema node AND each SEO meta field read back from the store, so delivery of every field is confirmed, never assumed (a read-back mismatch on any field is reported, not a false success). Rejects non-published products and malformed product ids.
* New status endpoint (optaeo/v1/status) so OptAEO can read delivery truth (never returns the token).
* SEO meta title/description are now stored and rendered locally too; when OptAEO holds a meta description it replaces (never doubles) the SEO plugin's description tag.
* Rank Math suppression now handles array-shaped @type (e.g. ["Product","ProductGroup"]).
* Hardened JSON-LD output against script-tag breakout (JSON_HEX_TAG); REST token read from the request header only (never the query string); a bounded, self-throttling background-refresh scheduler.
* Uninstall now also removes the stored per-product nodes, SEO meta and refresh state.

2026-06-12 - version 0.5.1
* Declare WooCommerce version support (WC requires at least 8.0, WC tested up to 10.8).
* Declare HPOS (High-Performance Order Storage) compatibility - the plugin never touches orders.

2026-06-12 - version 0.5.0
* Security hardening for marketplace review: site token now travels in a request header (never a URL); JSON-LD output can no longer be broken out of by data content; document title escaped; REST flush auth moved into the permission callback; protocol files served with nosniff.
* Uninstall now also removes cached protocol files.
* Declares the WooCommerce dependency (Requires Plugins).

2026-06-10 - version 0.4.0
* Serve the AI-agent discovery files at the store root: /llms.txt, /llms-full.txt, /agents.md, /agents.txt (token-authed, cached, absent when disabled in OptAEO).

2026-06-09 - version 0.3.0
* Cache-bust REST route (optaeo/v1/flush) so applied fixes appear on the storefront immediately.
* Suppress WooCommerce core's own Product structured data (not just Yoast / Rank Math).

2026-06-08 - version 0.2.0
* SEO meta title and meta description rendering on product pages.

2026-06-08 - version 0.1.0
* Initial release: authoritative schema.org Product JSON-LD on WooCommerce product pages; suppresses Yoast / Rank Math product schema.
