Changelog
3.0.14 2026-04-30
Added
- Add
defaultCpItemElementTypeplugin setting for default CP wishlist item element type. - Add
showSiteMenuon wishlist item element selector (multi-site). - Add user permission to manage other users’ lists.
Fixed
- Fix guest wishlist 403s by syncing
Wishlist:sessionIdcookie into the PHP session when restoring from cookie.
3.0.13 2026-04-11
Fixed
- Fix
newListparameter for some actions, so a single request creates one list when adding multiple items.
3.0.12 2026-01-23
Fixed
- Fix an error rendering Markdown for emails.
- Fix bug when using custom email templates.
3.0.11 2026-01-13
Fixed
- Fix table columns and sorting for Wishlist items in the control panel.
- Fix an error when trying to render email templates for lists.
3.0.10 2025-11-06
Added
- Add the ability to set
listEnabledwhen adding new list items. - Add the ability to set
listTitlewhen adding new list items.
Fixed
- Fix querying list items returning items from deleted lists.
3.0.9 2025-09-12
Added
- Add list-owner enforcement for managing list items from the front-end.
3.0.8 2025-07-18
Added
- Add “Add to Cart” action events.
Changed
- Update English translations.
3.0.7 2025-05-01
Changed
- Update GraphQL resolvers to use
ElementCollectioncorrectly.
Fixed
- Fix PDF handling for Craft Cloud.
- Fix typo when generating an error when rendering a PDF template
- Fix an error where wishlist items on Matrix blocks in Craft 4 were throwing an error.
- Fix a Wishlist 3 migration error where custom fields on items weren’t being migrated properly.
- Fix normalization of bulk or multi-actions for items (like adding multiple items to a nominated
listId).
3.0.6 2025-03-04
Fixed
- Fix Wishlist items not working correctly for contentless elements like Matrix blocks.
3.0.5 2025-02-03
Fixed
- Fix an error when adding wishlist items to a cart.
3.0.4 2024-10-20
Changed
- Improve
list.getItem()performance when not providing additional query params to filter by.
3.0.3 2024-09-14
Fixed
- Fix unnecessary duplicates when purging lists.
- Fix an inconsistency when purging empty lists, where items still exist, but no longer relate to an element.
3.0.2 2024-09-07
Fixed
- Fix Wishlist summary not appearing in user profile in the control panel.
- Fix adding an item as a duplicate not working correctly.
3.0.1 2024-07-21
Added
- Add
listTypeHandleas a query param for fetching items. - Add Craft Teams support for permissions.
Changed
- Update English translations.
- Clearing a list after adding to the cart is only allowed if the list is the owners.
Fixed
- Fix an error when checking if an item is in a list.
- Fix an error when editing lists on the front-end for logged-in users.
- Fix an error for guests creating lists from the front-end.
- Fix an error when creating new items without a linked element.
- Fix list permissions enforcement for adding items to a cart from another users list.
3.0.0 2024-05-18
{warning} This is a major version with some breaking changes. Be sure to read our Upgrading from v2 guide.
Added
- Add the ability to create a list when adding or toggling an item in one request.
- Add
newListparameter when managing items, to force-create a new list, even if one for the chosen type exists (and add the items to that list). - Add
craft.wishlist.getUserList(params)to quickly get the current users list. Usingparamsallows you to specify other list types, and more. - Add
list.addItemUrl(element, params)list.toggleItemUrl(element, params)list.removeItemUrl(element, params). - Add
craft.wishlist.addItemUrl(element, params)craft.wishlist.toggleItemUrl(element, params)craft.wishlist.removeItemUrl(element, params). - Add support to update multiple items at once.
- Add bulk list actions for add/remove/toggle/update, to perform tasks on multiple lists at once.
- Add the ability to change the owner user for a list in the control panel.
- Add the ability to duplicate a list from the front-end.
- Add
List::isEmpty()to check if there are any items in the list. - Add
List::getItem(element, params)to get a specific item, based on a given element and any additional query params. - Add
List::hasItem(item)to check if a list has a specific item. - Add support for
Item::getInList(list)to pass in a specific list to check. - Add the ability to attach a PDF to the share email.
- Improve item query performance.
- Add
item.elementeager-loading. - Add
list.itemseager-loading. - Add
trashedElementelement query param for items. - Add the ability to populate cart line item options from list or item custom fields.
- Add ability to set a custom email template when sharing a list.
- Add support for items to pick any element type when editing via the control panel.
- Add
Items:: EVENT_MODIFY_SUPPORTED_ELEMENT_TYPESevent. - Update List Type custom fields to support UI elements and other field layout changes.
Changed
- Now requires PHP
8.2.0+. - Now requires Craft
5.0.0+. - All URL-based actions now have their query parameters encoded to prevent tampering with.
craft.wishlist.getInUserLists()now accepts an element as its parameter, not just an elementId.- Change
listTypeHandleparameter for managing items tolistType. - Item queries by default now don’t return items where the linked element has been trashed or deleted.
- PDFs now support using the current site’s locale language and formatting.
Fixed
- Fix duplicating lists (via “Save as a new list”) not working.
Removed
- Remove
listTypeIdparameter for managing items. UselistTypeinstead. - Remove
listTypeHandleparameter for managing items. UselistTypeinstead. - Remove
\verbb\wishlist\services\Items::getItemsForList(). - Remove
\verbb\wishlist\services\Lists::getList(). - Remove
forceSaveparameter oncraft.wishlist.lists(). Lists are now created when items are added, rather than when calling this tag.
Deprecated
- Deprecated
craft.wishlist.item(). Usecraft.wishlist.items(params)to find items, orcraft.wishlist.addItemUrl/toggleItemUrl/removeItemUrlto manage items.