Fix: Set a unique Composer autoloader suffix to prevent class redeclaration conflicts when other plugins bundle the Freemius SDK with the same generated autoloader name
1.2.0
UX: Choice Pills now shows images automatically when they exist. The “Show Images” checkbox and separate Pill Image upload field have been removed. Single add-ons now use WooCommerce’s standard Featured Image; multi add-ons use their Variation images.
Fix: Remove 12 debug console.log statements from frontend JS that were firing on every product page load in production
Fix: Raise tooltip z-index from 1000 to 99999 (via –wgpao-tooltip-z-index CSS variable) so tooltips appear above sticky headers. Theme developers can override the variable if needed
Compat: Theme sticky add-to-cart bars (Flatsome, GeneratePress Premium, Astra Pro, Elementor Pro) now show the updated price when an addon is selected, matching the main product price
Compat: Tooltips now open on tap for touch/mobile devices. Previously only :hover triggered them, making them unreachable on phones and tablets
1.1.8
Fix: Remove orphaned wgpao_cleanup daily cron event that was scheduled but had no handler, silently appeared as a dead event in cron-monitoring tools on any site that activated the plugin
1.1.7
Compat: WPML and Polylang: addon assignments now correctly apply on translated product pages (product IDs are normalized to the default language before querying)
Compat: WooCommerce Subscriptions: addon prices are no longer double-added to renewal, resubscribe, or switch cart items
Compat: Elementor and Divi: addon UI now re-anchors inside the product form after AJAX re-renders; all template event handlers converted to delegated binds that survive DOM replacement
Compat: All template JS (Choice Pills, Simple List, Color Swatches, Modern List, Option Cards) uses delegated event handlers so page-builder-injected forms work without a page reload
1.1.6
Fix: Tooltip Text set on an add-on is now actually displayed on the frontend for single (non-variable) add-ons. Previously it was saved but silently hidden in 4 of the 5 display templates
Fix: Per-option tooltip in Choice Pills no longer overflows the viewport with long descriptions. It now wraps up to a sensible max width instead of rendering as a single long horizontal bar
UX: The tooltip hover icon is now a “?” instead of a “!” so it reads as “info” rather than “warning”
UX: The Tooltip Text field in the add-on editor no longer shows the same helper sentence twice (once as the WooCommerce ? bubble, once as a note below). The visible note remains.
UX: Helper text now correctly refers to WooCommerce’s actual “Description” field name instead of a nonexistent “Tooltip Description” field, and points to the real location (Variations tab > expand a variation > Description)
1.1.5
UX: Unified Pro upgrade notices across the plugin: a single professional purple design replaces the old red error-looking notice, the solid purple banner, and inline styled descriptions
UX: The “Add another group” button in the rules modal now renders visibly disabled for free users, so the red “requires Pro” notice no longer appears on click
UX: Every Pro notice now includes an “Upgrade to Pro →” call-to-action link that opens the Freemius upgrade page
UX: Dynamic Pro notices from server responses (e.g. submitting a Pro-only assignment type) now render as the unified purple card with a dismiss button instead of the red error style
1.1.4
Fix: Exclusions tab: adding, editing, and deleting exclusions no longer fails with a security error
Fix: Saving a rule from the product-level Rules modal no longer silently fails
Fix: Display-position options “After Title”, “After Price” and “After Short Description” were silently falling back to “Before Add to Cart Button”. Removed the three broken options so the dropdown only shows positions that work
Fix: Template and display-settings cache now invalidates correctly when saved (previously called a non-existent WordPress function)
Fix: Friendlier error messages across admin AJAX endpoints: raw PHP exceptions no longer leak to the browser; technical details are written to the WordPress error log
Perf: Plugin CSS/JS no longer loads on cart and checkout pages when the cart contains no add-on items
Perf: Price values now pass through wc_format_decimal() at storage time, respecting your store’s decimal settings
Dev: Removed unreachable code paths in the rules manager script; replaced deprecated current_time(‘timestamp’) with time()
1.1.3
New: Rule Groups: combine conditions with AND (within a group) and OR (across groups)
New: Guest targeting is now available in the free tier
Pro: Multiple rule groups (OR logic) now require Pro; free tier supports a single group
Fix: Assignments with multiple rule types no longer silently hide add-ons (legacy AND-everything query)
Fix: Status filter in the admin list now respects active/inactive correctly
Fix: Modal no longer shows a stuck “Saving…” state or “undefined” error when saving a rule
Fix: Empty-state in the rules modal now renders a default group so the first rule can be added
UX: Simplified the rules modal copy (clearer group description, friendlier OR separator)
Dev: Database migration adds a group_id column to the assignments table; each legacy rule is assigned its own group to auto-restore OR behavior
1.0.0
Initial release of Global Add-Ons
Add-on management with flexible assignments
5 display templates (Choice Pills, Simple List, Option Cards, Modern List, Color Swatches)