Changelog

3.0.14 2026-04-30

Added

  • Add defaultCpItemElementType plugin setting for default CP wishlist item element type.
  • Add showSiteMenu on wishlist item element selector (multi-site).
  • Add user permission to manage other users’ lists.

Fixed

  • Fix guest wishlist 403s by syncing Wishlist:sessionId cookie into the PHP session when restoring from cookie.

3.0.13 2026-04-11

Fixed

  • Fix newList parameter 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 listEnabled when adding new list items.
  • Add the ability to set listTitle when 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 ElementCollection correctly.

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 listTypeHandle as 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 newList parameter 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. Using params allows 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.element eager-loading.
  • Add list.items eager-loading.
  • Add trashedElement element 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_TYPES event.
  • 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 listTypeHandle parameter for managing items to listType.
  • 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 listTypeId parameter for managing items. Use listType instead.
  • Remove listTypeHandle parameter for managing items. Use listType instead.
  • Remove \verbb\wishlist\services\Items::getItemsForList().
  • Remove \verbb\wishlist\services\Lists::getList().
  • Remove forceSave parameter on craft.wishlist.lists(). Lists are now created when items are added, rather than when calling this tag.

Deprecated

  • Deprecated craft.wishlist.item(). Use craft.wishlist.items(params) to find items, or craft.wishlist.addItemUrl/toggleItemUrl/removeItemUrl to manage items.