Changelog
Every release, every heart icon, every bug squashed.
What changed, when, and whether it actually affects you.
August 2026
v1.0.3
Released 9 August 2026 — GitHub Release
Housekeeping with nothing behind it. No behaviour changed, no data moved.
Files that had quietly outgrown their budgets
The repository enforces a line budget per file, and three had drifted over it — invisibly, because the check only ran on pull requests touching this plugin. Now that it runs on every push, it had something to say.
Fixing it meant finishing moves that were already half made. WishlistItemRepository
was delegating most of its work to three collaborators and keeping four methods
back: two bulk deletes that belonged next to their siblings, and two counts that
belonged with the other counts. It reads as single-row CRUD and delegation now.
Two duplications turned up on the way. The stats overview was running the same
COUNT(*) five separate times, each under its own identical suppression comment.
And the pagination markup in the customer portal was byte-identical to the copy
in the wishlist page — now one partial, used by both, which took eighteen lines
off the second view as well.
225 tests, unchanged, before and after.
v1.0.2
Released 9 August 2026 — GitHub Release
Wishlists can update themselves again.
Updates work again
The plugin was prepared for a WordPress.org listing that has not happened yet, and the GitHub updater was removed ahead of it. That left a gap nobody wants to be in: not on WordPress.org, so no update channel there — and no self-updater either, so no update channel at all. Anyone who installed it stayed on the version they installed.
The updater is back, and it stays until the directory actually lists the plugin.
The include is guarded, so a package built without it means no automatic updates
rather than a fatal on activation, and the whole decision now hangs on one flag in
wporg/plugins.json that the builder and the release gates both read.
March 2026
v1.0.1
Released 6 March 2026 — GitHub Release
Fixed a fatal error when multiple FCHub plugins are active at the same time. The shared GitHubUpdater class used a class_exists guard that PHP's OPcache cheerfully ignored during early class binding — so the second plugin to load would redeclare the class and take the site down. Wrapped the class inside the conditional so OPcache actually respects it.
v1.0.0
Released March 2026 — Initial release
The first release of FCHub Wishlist. Hearts on product cards, a proper My Account page, and FluentCRM automation triggers — because FluentCart forgot to ship wishlists.




Core Features
- Heart icons on product cards — red heart overlay on every product card in grid and list views. One click to add, one click to remove. Works on shop, category, and search pages
- Single product button — "Add to Wishlist" / "Remove from Wishlist" button with heart icon below the quantity selector. Customisable text and visibility
- My Account wishlist tab — dedicated "My Wishlist" page in the FluentCart customer portal with product thumbnails, variant info, prices, individual "Add to Cart" buttons, and "Add All to Cart"
- Guest wishlist support — non-logged-in visitors can use wishlists via cookies. Auto-merges with account on registration or login
- Auto-remove purchased items — optionally removes items from the wishlist after the customer buys them
- Configurable limits — max items per wishlist (default 50) and guest cleanup after configurable days (default 30)
Display
- Icon style selection — choose between heart and other icon styles
- Custom button text — configurable "Add" and "Remove" labels for the single product page button
- Counter badge — wishlist item count via
[fchub_wishlist_count]shortcode orwp_footerhook - Grid and list view support — heart adapts to both FluentCart shop layout modes
Integrations
- FluentCRM tag sync — automatic tags based on wishlist activity with configurable prefix and auto-create
- FluentCRM automation triggers — "Item Added to Wishlist" and "Item Removed from Wishlist" triggers in the funnel builder
- FCHub Multi-Currency — wishlist prices convert automatically when visitors switch currency
Admin
- Four-tab settings panel — General, Display, FluentCRM, and Statistics. Lives inside FluentCart's settings
- Statistics dashboard — total wishlisted items, active wishlists, 30-day activity, average items per wishlist, and most-wishlisted products table
- Data removal opt-in — all data preserved on uninstall by default, explicit toggle to wipe everything