New: Analytics screen with most-viewed products and an orders proxy (from WooCommerce Analytics when available).
New: Optional follow-up emails to inactive customers with their viewed products and a single-use coupon, plus one-click unsubscribe (Action Scheduler when available, WP-Cron fallback).
New: Dedicated “Recently Viewed” page created on activation, and a custom CSS box.
Improved: All display surfaces (shortcode, placement, widget, block, Elementor) now share one renderer/provider, so output and behaviour are always consistent.
Compatibility: Custom tables are created via dbDelta with a versioned migration; no order data is touched (HPOS-safe).
Backward compatible: all existing settings, the shortcode, the cookie format, and placement hooks are unchanged; every new setting defaults to the previous behaviour.
2.2.0
Fixed: saving one settings tab no longer resets the other tabs to defaults (all settings now submit together).
Fixed: responsive column settings are now respected for automatic product-page placement (output is no longer re-filtered, which could strip the layout CSS variables).
Fixed: the product count is now resolved before the display limit is applied, so hidden or removed products no longer shrink the visible list.
Fixed: the empty-state message is no longer printed on product pages when a visitor has no history (shortcode behaviour unchanged).
Added: List layout option alongside Grid.
Added: support for multiple space-separated custom CSS classes.
Added: “Requires Plugins: woocommerce” header and WooCommerce version headers.
Improved: redesigned, accessible (WCAG) admin UI with single-page tabbed settings, toggle switches, help text, status sidebar, and a sticky save bar.
Improved: shortcode copy now uses the modern Clipboard API with a live shortcode preview.
Improved: front-end stylesheet is enqueued in the head for placed output to prevent a flash of unstyled content.
Improved: centralized default/settings handling to a single source of truth.
Fixed: removed UTF-8 byte order marks and normalized line endings in core files (a BOM before the opening PHP tag can cause “headers already sent” warnings on some servers).
Verified: passes the WordPress Plugin Check PHPCS rulesets (plugin-check and plugin-review) with zero errors.
Docs: added Privacy & Cookies and Frequently Asked Questions sections to the readme.
2.1.0
Added modern settings architecture and admin tabs.
Added shortcode generator UI.
Added secure settings save flow (capability + nonce + sanitization).