=== Wishlist Genius for WooCommerce ===
Tags: wishlist, woocommerce, save for later
Requires at least: 7.0
Tested up to: 7.1
Requires PHP: 8.2
Stable tag: 0.3.2
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Private guest and account wishlists with secure sharing and complete-list cart actions.

== Description ==
Wishlist Genius lets guests and signed-in shoppers save products for later, keep their list private, share a link when they choose, and add saved selections to the WooCommerce cart. Free includes one wishlist, quantities and private notes, variation-aware saving, selected and complete-list add-to-cart actions, and list export and erasure. The separately installed Pro add-on provides cart save-for-later, public wishlist discovery, multiple lists, reports and consent-based notifications.

Public beta, version 0.3.2. Requires WordPress 7.0+, WooCommerce 10.0+, PHP 8.2+ and single-site WordPress; multisite is not supported. Test on a staging store before using this early release on a live store. Check your database setup, theme, product options, cart and other extensions. A direct upgrade from version 0.1 has not been verified.

The plugin does not send store or shopper data to the developer or connect to an external license service. Its wishlist and reporting records stay in your store database. There is no time limit or developer-account requirement for the included features.

== Privacy ==
Wishlist data is stored in your WordPress database. This includes saved products and variations, quantities, notes, list names, sharing choices, account or guest identifiers, wishlist activity, cart-operation records, and saved-item attribution on orders. For signed-in shoppers, it records paid purchases that match their existing saved selections so purchased products can be excluded from relevant notifications. Unrelated order products are not copied into the wishlist purchase records. Store staff with the relevant WooCommerce management permission can access administrative wishlist information.

Guest wishlists use the signed wgg_guest cookie to reconnect the browser with its saved list. Its default lifetime is 30 days, configurable from 1 to 365 days. Guest data is removed by scheduled cleanup after expiry. Wishlist activity and notification jobs use the configured retention period, 90 days by default. Cart-operation records expire after one day. Account wishlists are retained until deleted. Purchase-suppression records are removed by scheduled cleanup once no matching saved selection remains; order information follows your store's order-retention settings. Scheduled cleanup depends on WordPress cron running.

Lists start private. A shopper can choose link sharing. Pro adds public sharing and discovery when the merchant enables the directory. Existing public lists keep their saved sharing choices and direct links, subject to the merchant's directory setting. Shared views exclude private notes and account details. The wishlist includes export and erase controls; registered-account data and saved-item order attribution also integrate with the WordPress personal-data export and erasure tools. Store owners should explain these features, their retention choices and any configured mail provider in their own privacy policy.


Merchant workflow preferences are stored locally per administrator. Dismissals persist, and a requested advanced task is retained for seven days without recipient data or approvals. Optional local journey counts start off, expire after 90 days and can be deleted by turning the preference off. They describe this administrator's actions, not paid conversions, and are never transmitted to Wishlist Genius. Downloading them is a separate manual action. Normal WordPress scheduled cleanup removes expired task and measurement data when it runs; expired data is excluded from the interface immediately.

== Installation ==
Install WooCommerce 10.0+ on single-site WordPress, then Wishlist Genius Free. If you use Pro, install the matching Pro version after Free and keep both active. Open WooCommerce > Wishlist Genius and create or select the wishlist page.

== Frequently Asked Questions ==
= What changes for earlier Free beta installations? =
Cart save-for-later and public wishlist discovery are included in Pro from 0.2.1. Earlier Free beta users can retain both at no cost with the separate Wishlist Genius Beta Features add-on supplied in the beta-upgrade kit. Install and activate that add-on before updating Free if you are not using matching Pro. Existing saved lists, quantities, notes, consent and sharing choices are retained. The add-on has no expiry, account or license-service requirement.

= Does uninstall delete data? =
No, data is retained by default. To request removal, define the literal boolean WG_DELETE_DATA_ON_UNINSTALL as true before uninstalling Free. This also removes plugin settings, saved previews, generated coupons and scheduled plugin work. Store orders, products and pages remain. Removing Pro alone retains the shared wishlist data.

= Are all product types supported? =
Simple products and selected or unselected variable products are supported. Additional add-on, bundle, booking or subscription options need dedicated adapters.

= What should I check when updating? =
Back up your database and plugin files. When updating an existing 0.2.0, 0.2.1, 0.2.2 or 0.3.0 pair, update Pro first, then Free, and keep both active. For earlier beta versions, activate Beta Features first, then update Free followed by Pro. For Free-only beta stores, activate Beta Features before updating Free to retain cart save-for-later and public discovery. Clear cached plugin scripts. Check the wishlist page, product options, cart actions, settings and email behavior on staging. When upgrading from versions before 0.3.0, Free adds an empty configuration field to existing saved items (schema 6). Version 0.3.1 retains that schema. Keep a database backup; do not downgrade the schema by replacing only plugin files. Existing settings, wishlists, consent and sharing choices remain in place.

= Is source code included? =
Yes. This ZIP includes the editable PHP, JavaScript and CSS used by the plugin; runtime files run directly without a compilation step. WordPress and WooCommerce supply their own libraries and must be installed separately. A translation template can be regenerated from this plugin directory with `wp i18n make-pot . languages/wishlist-genius.pot --domain=wishlist-genius`.

== Changelog ==

= 0.3.2 =
* Publisher links and optional signed Pro updates use wishlistgenius.com. Update an older pair manually once (Pro first, then Free). Wishlist data, settings and existing delivery archives are unchanged.

= 0.3.1 =
* Added bounded, local saved-product availability and age checks with useful manual review actions.
* Added dismissible workflow explanations and local task resumption for the separate Pro add-on.
* Added a reviewed settings-restore summary and protected references from other stores.
* Added optional local administrator journey counts, off by default, with withdrawal and bounded retention.

= 0.3.0 =
* Preserved saved product configuration through generic extension points for cart validation and presentation.
* Added an unchecked low-stock preference for stores offering that optional Pro notification.
* Existing saved lists, selected variations, quantities, notes and consent remain in place.

= 0.2.2 =
* Improved private-data lifecycle handling for separately installed add-ons.
* Included generated guest coupons in personal export and erasure.

= 0.2.1 =
* Cart save-for-later and public wishlist discovery now belong to the separately installed Pro add-on.
* Preserved existing saved lists and direct sharing links; earlier Free beta installations can retain these workflows with the separate no-cost Beta Features add-on.


= 0.2.0 =
* Improved setup saves so concurrent changes to other settings are preserved.
* Improved validation of authenticated REST requests.
* Moved add-on interfaces into the separately installed Pro package.


= 0.2.0-alpha.15 =
* Improved merchant navigation, recovery messages and expandable reporting details.
* Preserved partial settings updates alongside Pro automation changes.
* Improved reviewed imports and explicit data-removal cleanup.


= 0.2.0-alpha.14 =
* Improved recovery when stored wishlist data cannot be read.
* Improved interface translations and error messages.
* Kept additional-list operations in the separate Pro add-on while preserving existing saved data.

= 0.2.0-alpha.13 =
Preserve saved items when cart finalization fails, hold ambiguous cart additions for review, restore saved states throughout large catalogs, limit purchase suppression to saved selections, and clean up scheduled work on deactivation. Explicit data deletion also clears stored previews.

= 0.2.0-alpha.12 =
Restore returning guest saved states, resolve the current Free default after list deletion, and protect unsaved settings and template edits. Pro campaigns have explicit retry/conflict results and delivery health flags held or failed jobs.

= 0.2.0-alpha.11 =
Protect withdrawn product titles, enforce sold-individually cart rules, preserve saved quantities on rejection, and handle orphan variations safely.

= 0.2.0-alpha.10 =
Saved option labels, availability-aware cart actions, helpful empty states, remembered merchant sections, and rendered email preview/test of unsaved drafts.

= 0.2.0-alpha.9 =
* Cleaner, responsive wishlist cards with prominent cart and sharing actions.
* Contextual selection tools, grouped list options and privacy controls; irrelevant Free controls removed.
* Clear merchant navigation, grouped setup, accurate icon preview, and campaign review.
* Focused email templates, per-request quote actions, clearer reports and import steps.
* Preserves stored settings and data; Free schema stays at 5. Update Free and Pro together.

= 0.2.0-alpha.8 =
* Quick save, version-checked Undo, saved states, guided setup and searchable selectors.
* Pro event-driven price/stock updates, queue health, test mail and followed-list notifications.
* Pro complete paid-order pagination, conversion cohorts, currency and refund-aware totals.
* Previewed batch YITH / TI / WPC migration, resumable progress and untouched-list rollback.
* Gettext catalogs, RTL layout and richer WordPress block controls.
* Free schema 5; update Free and Pro together.

= 0.2.0-alpha.7 =
* Safer asynchronous screens, public sharing, accessibility and purchase tracking.
* Pro automation recovers from failures before transport without retrying unknown mail outcomes.

= 0.2.0-alpha.6 =
Improve variation visibility, boolean action validation, empty quotes and template-format validation. Update Free before Pro.

= 0.2.0-alpha.5 =
Improve settings and template persistence, schema upgrades, guest order-attribution export/erasure, page setup, stale-edit conflicts, in-dialog feedback, moved-selection cleanup, private-title search protection and settings exports. Free uses schema 4; update Free before Pro and clear cached storefront scripts.

= 0.2.0-alpha.4 =
Concurrent rate-limit enforcement, complete privacy cleanup/export, guest merge cleanup, usable follows and quotes, and checked administrative writes. Free upgrades its schema to version 3; update Free before Pro.

= 0.2.0-alpha.3 =
Transactional failure handling, complete attribute validation, header-based sharing, bounded exports, notification retention and retryable cart initialization.

= 0.2.0-alpha.2 =
Earlier cart/merge/ordering and Any-attribute notification repairs retained in alpha.3.

= 0.2.0-alpha.1 =
Initial reconstructed release. Includes whole-list cart batching, a save-time list picker, a Cart block save-for-later panel, print views and list reordering.
