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

Private guest and account wishlists with secure sharing and individual-item cart actions.

== Description ==

Launch edition boundary: Free: one guest/account wishlist with up to 1,000 saved selections, selected variations, private notes, sharing, styling, individual-item cart addition, privacy export/erasure. Pro: editable wishlist quantities and selected/all-item cart actions, plus existing multiple lists, requested alerts, quotes/imports and reporting. Ordinary WooCommerce cart quantities stay available. On Pro deactivation saved quantities remain stored; individual wishlist purchases add one unit. No shopper vendor upsell. Install Free 0.3.17 before Pro 0.3.17 without uninstalling.
WishlistGenius 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 with many saved selections, private notes, variation-aware saving, individual-item add-to-cart, and list export and erasure. Pro adds editable wishlist quantities and selected/whole-list cart actions. The separately installed Pro add-on provides cart save-for-later, public wishlist discovery, multiple lists, reports and consent-based notifications.

Version 0.3.17. Requires WordPress 7.0+, WooCommerce 10.0+, PHP 8.2+ and single-site WordPress; multisite is not supported. Check your database setup, theme, product options, cart and other extensions.

Wishlist features run locally without a developer account or time limit. Optional administrator-selected installation reporting and email signup start off and are described below. Shopper wishlists and reporting records stay in your store database.

== 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.


Workspace theme and focus preferences stay in the current browser, scoped to this site and administrator. The overview reads current local wishlist totals and recent list summaries; it does not track visits or send data.

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 WishlistGenius. 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.

Optional merchant connection choices

After the first successful setup save, an administrator can review Privacy & email preferences. Both choices start unchecked and can be skipped; neither is required to use Free or Pro. The choices are separate from shopper notifications, Pro licence activation and publisher update checks.

Installation sharing sends only the site hostname, reported Free/Pro edition, plugin version, WordPress version, PHP version and site language to https://wishlistgenius.com/newsletter-api/v1/plugin-welcome/ . It sends a random connection identifier and secret token to authenticate reports and withdrawals. It does not send URL paths, query strings, shopper records or order data. Accepted reports refresh at most weekly when WordPress cron runs. A changed site address pauses reporting until new choices are reviewed. These are consented, self-reported installations, not verified domain ownership or a count of all installations.

The independent email choice sends the entered email address and reported Free/Pro edition for setup tips, product releases, articles and occasional Pro offers. The address can be prefilled locally from the site administration email configured in WordPress but is not sent unless that choice is selected and saved. Email-only signup does not send the site hostname. New requests require inbox confirmation; an accepted request does not prove delivery or an active subscription. Existing subscribers retain their existing preferences. Edition updates help avoid irrelevant Free-to-Pro offers; they do not verify a purchase.

Privacy & email preferences lets administrators stop either reporting scope, retry a failed request, and review what was selected. Stopping email/edition reporting cancels a pending signup created by that connection, but confirmed newsletters are independent: use the private preferences or unsubscribe link in an email to stop those. Local reporting stops before a remote withdrawal is attempted. A failed withdrawal can be retried. Skipping does not create a connection. Deactivation stops scheduled reporting; it is not a newsletter unsubscribe.

The service expires installation and connection reports after 90 days without an accepted refresh; a bounded pseudonymous revocation record may remain for that period. Pending email requests expire after 48 hours. Confirmed newsletter records expire after at most 730 days unless renewed through a separate explicit choice; consent history and unsubscribe suppression records have a 180-day retention period. The service receives the connection IP; ordinary security-request logging is described at https://wishlistgenius.com/privacy/#plugin-welcome . Local connection choices integrate with WordPress personal-data export/erasure for the administrator's supplied email; the domain-only connection can be stopped in Privacy & email preferences. Local-only workflow measurements remain separate and are never transmitted.

== Installation ==
Install WooCommerce 10.0+ on single-site WordPress, then WishlistGenius Free. If you use Pro, install the matching Pro version after Free and keep both active. First manual activation opens Setup & settings in focus mode. Create or select the wishlist page, save the button settings and test a save. Back to WordPress and Exit focus remain available. Privacy & email preferences can be skipped and revisited. Updates and configured reactivations do not restart onboarding.

== Frequently Asked Questions ==
= Does Free require Pro or a developer account? =
No. Its included wishlist, link sharing, cart actions, export and erasure work without payment, an account with the developer, or a time limit. Pro is an optional, separately installed add-on with its own advanced implementation.

= 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, database-backed saved previews, generated coupons and scheduled plugin work. Temporary Pro previews stored only in an external object cache expire according to the cache instead of being removed immediately. Their default lifetimes are 20–30 minutes; host filters can change these lifetimes. 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 before using this release? =
Test the wishlist page, your theme, product variations, cart and checkout on staging before using it on a live store. Back up your database and plugin files before later updates. Install the Free package first, followed by the matching optional Pro add-on.

= 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.17 =
* Open first manual activation in focused setup; offer independent optional installation/email choices after setup, clarify Customer wishlists and show contextual Pro examples without changing shopper features.


= 0.3.16 =
* Matched release for the Pro ZIP-install activation-link correction. Update Free first, then matching Pro, without uninstalling. Free feature behavior is unchanged.

= 0.3.15 =
* Correct current version and installation guidance; use matching Free and Pro packages, updating Free first without uninstalling. Plugin behavior and the Pro minimum Free version remain unchanged.

= 0.3.14 =
* Move editable wishlist quantities and selected/all-item cart selection to the separate Pro add-on. Keep variation saving, notes and individual-item cart additions. Stored quantities survive add-on deactivation.

= 0.3.13 =
* Clarify removal of database previews and expiry of temporary previews in external object caches.

= 0.3.12 =
* Make first wishlist-page creation visible when setup is incomplete.
* Show locally packaged examples of the actual Pro shopper interface with fictional data.

= 0.3.11 =
* Put saved wishlist activity first, simplify everyday wording and improve workspace readability.
* Expand the Free/Pro comparison and move optional local activity counts into Diagnostics.

= 0.3.10 =
* Restored the wishlist-genius plugin folder and text domain for the directory submission.
* Added the Plugins.shop author link and WishlistGenius product link.

= 0.3.9 =
* Removed the private-beta workspace label and updated current release wording.

= 0.3.8 =
* Adopted the WishlistGenius name and text domain for the directory submission.
* Moved add-on publishing and automation settings fully into the separate add-ons.
* Filtered Elementor extension output with an explicit safe HTML policy.
* Preserved existing wishlists, sharing links and legacy installation identifiers.
