Skip to content

Search is only available in production builds. Try building and previewing the site to test it out locally.

Release notes

Changelog

Boilerplate Updates

The Commerce boilerplate has been updated with the following changes:

  • AEM Assets compatibility - Decimal dimensions now render properly, supporting image rendering with decimal width/height values (#767).
  • Commerce Block documentation - Commerce blocks now include comprehensive README files for better developer onboarding and implementation guidance (#728)
  • Configuration error handling - Missing or invalid site configurations now show a helpful 418 error page that provides clear guidance to developers (#714)
  • Configuration fallback enhancement - Single-endpoint setups now automatically fall back to “commerce-endpoint”, simplifying configuration (#700)
  • Metadata and schema improvements - Breaking change: Product URLs now enforce lowercase SKUs. Sites with uppercase SKUs must ensure proper metadata mapping to prevent broken links (#406). Metadata handling now works properly for multistore configurations with JSON-LD path resolution (#686)
  • Mini-PDP component reorganization - The mini-pdp component now lives in the components folder for better code organization and reusability (#722)
  • PDP state management - Multiple PDPs on the same page no longer overwrite each other’s state, ensuring proper product data isolation (#696)
  • Placeholder data preservation - Placeholder data no longer gets lost, preventing content display issues (#689)
  • Search functionality improvements - Search functionality now handles results better with improved styling (#776)
  • UI accessibility improvements - Non-interactive elements no longer show pointer cursors, improving accessibility compliance (#681)

For complete details, see the Boilerplate Updates changelog entry.

Boilerplate Updates

The Commerce boilerplate has been updated with the following changes:

  • Account drop-in fixes - Resolved various account drop-in functionality issues
  • Added carousel and cards-list components - Integrated carousel and cards-list components for enhanced product display capabilities
  • Architecture cleanup - Removed deprecated widgets and custom PLP components
  • Checkout compatibility - Fixed shipping methods infinite loop and iOS compatibility
  • Checkout update - Updated checkout drop-in to version 2.0.0-beta6
  • Commerce Storefront compatibility improvements - Enhanced compatibility with storefront-builder for improved UE integration
  • Documentation enhancement - Added comprehensive JSDocs comments to commerce.js
  • Global placeholders - Implemented global placeholders system
  • Header optimization - Optimized header’s mini-cart and search loading performance
  • Initialization optimization - Reordered main initialization in scripts.js for improved loading sequence
  • Modal localization - Fixed modal localized text display
  • PDP image zoom fix - Fixed image zoom icon display issues
  • Product discovery search fix - Fixed search item link functionality
  • reCAPTCHA enhancement - Enhanced reCAPTCHA initialization in initializeDropins function
  • Recommendations drop-in events - Recommendations drop-in now sends Adobe Client Data Layer events
  • Recommendations update - Updated @storefront-recommendations to v1.0.0
  • Removed default content from product-details block - Cleaned up default content from product-details block for cleaner implementation
  • Scripts refactoring - Major refactoring of scripts.js for improved maintainability
  • Wishlist improvements - Enhanced wishlist mobile alerts and cart integration

For complete details, see the Boilerplate Updates changelog entry.

Boilerplate Refactoring

The scripts.js file has been refactored to align with the upstream AEM Boilerplate while extracting all commerce-specific functionality into scripts/commerce.js. This refactoring provides better separation of concerns and improved maintainability.

Key Changes:

  • scripts.js now contains only core AEM functionality (aligned with upstream AEM Boilerplate)
  • commerce.js now contains all commerce-specific functionality including:
    • GraphQL queries and commerce backend connections
    • Template handling and application
    • Commerce page type detection
    • Adobe Data Layer initialization
    • Commerce utilities (rootLink, fetchPlaceholders, etc.)
    • Modal auto-linking functionality
    • Commerce-specific preloading logic

Import Updates Required: Developers need to update import statements from scripts/scripts.js to scripts/commerce.js for commerce-specific functions:

// Before
import { rootLink } from '../../scripts/scripts.js';
import { fetchPlaceholders } from '../../scripts/scripts.js';
// After
import { rootLink } from '../../scripts/commerce.js';
import { fetchPlaceholders } from '../../scripts/commerce.js';

See the Architecture Overview for more details about the refactoring and its benefits.

Cart v1.5.1

The Cart drop-in component has been updated to include the following changes:

  • Tiered pricing now available: The cart automatically applies quantity-based discounts to eligible items. This feature integrates with GraphQL to fetch price tier data, matches the best discount for the current quantity, and calculates savings percentages. Both simple and configurable products display their applicable tiers clearly in the cart UI (#70).
  • Smarter configurable product handling: When you modify a configurable product’s options, the cart now intelligently merges it with existing items that have matching configurations. This consolidates quantities and removes duplicates for a cleaner experience. We also fixed an issue where updating items with identical options would incorrectly increase quantity instead of maintaining the current amount (#69).
  • B2B company context support: The cart automatically refreshes when company context changes, keeping contents and pricing synchronized with your current B2B company for multi-company scenarios (#65).
  • Cross-tab logout sync: Cart state now stays consistent across browser tabs after user logout, ensuring the same cart behavior in all active sessions (#62).
  • Clearer tax information: Virtual carts without applied taxes now show “TBD” until checkout begins, then display the actual tax values. This provides clearer tax information throughout the checkout flow (#72).
  • Better quantity validation: Quantity field validation now properly handles maximum values, ensuring accurate input constraints (#68).
  • Accessibility improvements: Lighthouse accessibility scores are now higher thanks to proper aria-labels for quantity inputs and improved keyboard navigation for screen readers (#67).

Cart v1.5.0

The Cart drop-in component has been updated to include the following changes:

  • Extended Add/Update Cart API: Added support for custom fields in the addToCart() and updateProductsFromCart() API functions, enabling developers to set and update custom cart item fields such as standard_height and custom_height during cart operations.
  • Fixed missing Channel Field: Fixed an issue where the channel attribute was missing from all Adobe Experience Platform (AEP) events on the Product Details Page. The channel field is now properly populated as part of the global storefront context for all PDP events, ensuring complete event data collection.
  • Added undo remove cart items: Introduced configurable functionality to allow users to undo item removals from the cart. When enabled, removed items display an undo banner in their original position while cart totals reflect the removal, with the ability to reinstate items with their original quantity and options. The feature works with both built-in remove buttons and the updateProductsInCart API, with customizable undo banner styling.
  • Enhanced mini cart flexibility: Redesigned the mini cart layout with reduced container nesting and improved slot architecture, allowing developers to easily wrap individual elements (price, product title, quantity), customize action button placement and styling, add quantity stepper labels, and include specific product attributes with comprehensive documentation.

Cart v1.4.0

  • Fixed the alignment of the Apply button text in the gift wrapping customization, ensuring it now matches the intended design.
  • Resolved an edge case where updating a cart item with the same options and quantity could unexpectedly remove the item from the cart.
  • The cart open AEP event now correctly includes productListItems, providing more accurate event data.
  • The cart view AEP event now includes selected product options and discount information in productListItems.
  • The add to cart AEP event now populates selected options for complex and bundled products, improving event tracking accuracy.
  • The start checkout AEP event now includes available product discount information in productListItems.
  • The cart summary list can now be rendered in a customizable column layout, allowing brands to better match their design guidelines.

Checkout v2.1.0

The Checkout drop-in has been updated to include the following changes:

  • New utility library: The checkout now includes reusable utilities for address transformation, form validation, cart state management, and shipping cost estimation. This improves code reusability across different checkout implementations (#88, #146).
  • Free orders now supported: Zero-cost checkouts (when coupons or promotions cover the full total) now have dedicated payment method display and handling (#170).

Checkout v2.0.1

The checkout drop-in component has been updated to include the following changes:

  • Miscellaneous bug fixes and enhancements.

The Multi-step checkout tutorial has been updated providing a customizable example to implement a comprehensive multi-step checkout based on a modular architecture (event-driven step coordination) that supports the following scenarios:

  • Guest users
  • Logged-in customers
  • Virtual products
  • Mixed carts (physical + virtual product combinations)

Checkout v2.0.0

The checkout drop-in component GraphQL API has been extended exposing new fragments:

  • BILLING_CART_ADDRESS_FRAGMENT
  • SHIPPING_CART_ADDRESS_FRAGMENT
  • AVAILABLE_PAYMENT_METHOD_FRAGMENT
  • SELECTED_PAYMENT_METHOD_FRAGMENT

The Error Handling has been implemented in some containers (still work in progress):

  • BillToShippingAddress
  • LoginForm
  • PaymentMethods
  • ShippingMethods

The Event Handling has been documented within the list of events emitted and subscribed by the checkout drop-in component containers.

A new Active property has been added for all containers: This property activates/deactivates the container.

A new AutoSync property has been added for some containers: This property allows the container automatically synchronizing its state changes with the backend.

A new TitleProps interface has been created to customize the title and header of some containers.

The BillToShippingAddress container configuration structure has been modified. A new property has been added to the BillToShippingAddressProps interface:

  • BillToShippingAddressProps.onCartSyncError property added: This property allows performing some actions in case of an error is thrown when the bill to shipping checkbox is checked.

Implemented an error handling mechanism for the BillToShippingAddress container based on the “Optimistic” UI updates with rollback pattern consisting on the following:

  • It provides a callback function onCartSyncError() to be used in the integration layer in case the merchant wanted to perform some actions like showing an error message etc.

  • It performs a rollback reverting to the previous valid checkbox state.

  • In case the callback is not implemented, a fallback will be used, which consists of displaying an inline alert message.

The LoginForm container configuration structure has been modified. New properties have been added to the LoginFormProps interface:

  • LoginFormProps.displayHeadingContent property added: This property allows displaying the container heading content.

  • LoginFormProps.slots.Heading property added: This property allows customizing the container heading content based on the user authentication status.

… and the following properties have been added extending from TitleProps interface:

  • LoginFormProps.displayTitle property inherited: This property allows displaying the container title.

  • LoginFormProps.slots.Title property inherited: This property allows customizing the container title.

The PaymentMethods container configuration structure has been modified. Deprecated properties have been removed from the PaymentMethodsProps interface:

  • PaymentMethodsProps.setOnChange deprecated property removed.

  • PaymentMethodsProps.slots.Handlers deprecated property removed.

… the following property has been renamed:

  • PaymentMethodsProps.slots.Methods[code].setOnChange property renamed to PaymentMethodsProps.slots.Methods[code].autoSync.

… the following properties have been added:

  • PaymentMethodsProps.onSelectionChange property added: This property allows performing some actions when a payment method is selected.

  • PaymentMethodsProps.onCartSyncError property added: This property allows performing some actions in case of an error is thrown during the payment method selection.

  • PaymentMethodsProps.UIComponentType property added: This property allows using a different UI component type as a selector for each payment method. UI components available are: ‘ToggleButton’ and ‘RadioButton’.

… and the following properties have been added extending from TitleProps interface:

  • PaymentMethodsProps.displayTitle property inherited: This property allows displaying the container title.

  • PaymentMethodsProps.slots.Title property inherited: This property allows customizing the container title.

Implemented an error handling mechanism for the PaymentMethods container based on the “Optimistic” UI updates with rollback pattern consisting on the following:

  • It provides a callback function onCartSyncError() to be used in the integration layer in case the merchant wanted to perform some actions like showing an error message etc.

  • It performs a rollback reverting to the previous valid payment method selected.

  • In case the callback is not implemented, a fallback will be used, which consists of displaying an inline alert message.

The ShippingMethods container configuration structure has been modified. A property has been removed from the ShippingMethodsProps interface:

  • ShippingMethodsProps.preSelectedMethod property removed: This was an obsolete and unused property without business logic behind.

… the following property has been renamed:

  • ShippingMethodsProps.onShippingMethodSelect property renamed to ShippingMethodsProps.onSelectionChange.

… the following properties have been added:

  • ShippingMethodsProps.onCartSyncError property added: This property allows performing some actions in case of an error is thrown during the shipping method selection.

  • ShippingMethodsProps.UIComponentType property added: This property allows using a different UI component type as a selector for each shipping method. The available UI components are: ToggleButton and RadioButton.

… and the following properties have been added extending from TitleProps interface:

  • ShippingMethodsProps.displayTitle property inherited: This property allows displaying the container title.

  • ShippingMethodsProps.slots.Title property inherited: This property allows customizing the container title.

Implemented an error handling mechanism for the ShippingMethods container based on the “Optimistic” UI updates with rollback pattern consisting on the following:

  • It provides a callback function onCartSyncError() to be used in the integration layer in case the merchant wanted to perform some actions like showing an error message etc.

  • It performs a rollback reverting to the previous valid shipping method selected.

  • In case the callback is not implemented, a fallback will be used, which consists of displaying an inline alert message.

The TermsAndConditions container is now visible for both the anonymous and authenticated checkout processes.

Checkout v1.3.0

A new TermsAndConditions container has been added.

Checkout v1.2.0

The PlaceOrder container configuration structure has been modified. A new property has been added to the PlaceOrderProps interface:

  • PlaceOrderProps.slots.Content property added: This property allows setting the container content based on the selected payment method. This solves the way how to set the container content dynamically based on the selected payment method, instead of having to modify the text of the container manipulating directly the DOM and detecting payment method selection by handling the PaymentMethods slot, which is not ideal for maintainability.

Checkout v1.1.0

The PaymentMethods container configuration structure has been modified. The PaymentMethodsProps interface has been changed and some properties have been deprecated and replaced:

  • PaymentMethodsProps.setOnChange property @deprecated: This property is deprecated and will be removed in future versions. It has been replaced by the following: PaymentMethodsProps.slots.Methods.<payment-method-code>.setOnChange.

  • PaymentMethodsProps.slots.Handlers property @deprecated: This property is deprecated and will be removed in future versions. It has been replaced by the following one: PaymentMethodsProps.slots.Methods.<payment-method-code>.render.

  • PaymentMethodsProps.slots.Methods property added: This property is an object that consists of a list of payment method codes that provide a set of configurations to customize each payment method individually.

    Configurations accepted by payment methods:

    • The displayLabel configuration hides the payment method label (for example, if you only want to display the icon).
    • The enabled configuration allows merchants to individually hide payment methods filtering them from the available payment methods list (for example, it is useful when a payment provider has enabled a payment method in the backend, which is configured with more than one payment option and you don’t want to display one of them).
    • The icon configuration specifies the name of the icon to be shown beside of the label. The icon name must exist within the list of available icons defined in the drop-ins SDK.
    • The setOnChange configuration sets the payment method automatically when it is selected. Only if a payment method is specifically set to false, the container will not automatically set the payment method to the cart when selected (for example, if a payment method needs to obtain more information during the place order action).
    • The render configuration is a handler used to render and configure the payment method.

Storefront Compatibility Package v4.8.8

The Storefront Compatibility Package has been updated to include the following changes:

  • Customer ID: Removed the deprecation notice for the GraphQL Customer.id field. This field returns the correct value that can be reused for B2B company management mutations/queries.
  • Negotiable Quote Address: Aligned multiple address input types to support customer address UIDs, deprecating customer address IDs. Introduced the deleteCustomerAddressV2 and updateCustomerAddressV2 mutations and deprecated the previous versions.

Storefront Compatibility Package v4.8.7, v4.7.10

The Storefront Compatibility Package has been updated to include the following changes:

  • Historical Orders Fixes: Ensured stability in order flows by returning null for missing purchased products, avoiding exceptions in order history and recent orders.

Storefront Compatibility Package v4.8.6, v4.7.9

The Storefront Compatibility Package has been updated to include the following changes:

  • Fixed Cart API availability check: Resolved an issue where the Cart API incorrectly returned is_available: false for products that had sufficient inventory across Multiple Source Inventory (MSI) sources.
  • Added uid field to Customer Address GraphQL query: Exposed the uid field in the Customer Address GraphQL query to enable setting shipping and billing addresses in negotiable quotes.

Storefront Compatibility Package v4.8.5, v4.7.8

The Storefront Compatibility Package has been updated to include the following changes:

  • Miscellaneous bug fixes and enhancements related to cart item and order queries.

Storefront Compatibility Package v4.8.4, v4.7.6

The Storefront Compatibility Package has been updated to include the following changes:

  • Added the Merge Cart Preference field to the Store > Sales > Checkout > Shopping Cart configuration panel in the Admin. It controls cart merge behavior when a GraphQL mutation merges guest or logged-in customer carts.
  • Added the OrderTotal.grand_total_excl_tax field to the GraphQL order response to retrieve the grand total excluding tax.
  • Introduced a new error code REQUIRED_PARAMETER_MISSING to handle missing configurable product options during the add-to-cart process via GraphQL.
  • Added a new REST endpoint POST /V1/customers/:customerId/token to facilitate the social login feature through App Builder.
  • (v4.7.6 only) Fixed an issue where plugins for GiftCardAccountManagementInterface methods were not working for webhooks.

Storefront Compatibility Package v4.8.3

The Storefront Compatibility Package has been updated to include the following changes:

  • Added the exchangeExternalCustomerTokenmutation to facilitate social login feature through app builder.
  • Fixed issue where plugins for GiftCardAccountManagementInterface methods were not working for webhooks.
  • Fixed order search issue for guest shoppers in EDS.

Storefront Compatibility Package v4.8.2

The Storefront Compatibility Package has been updated to include the following changes:

  • Added the customerSegments, customerGroup query.
  • Exposed customer segment, customer group, cart rule related encoded information with customer and cart Query.

Storefront Compatibility Package v4.8.1

The Storefront Compatibility Package has been updated to include the following changes:

  • Fixed issue where tax amounts were not updated when gift wrapping was removed from the cart using GraphQL.

Storefront Compatibility Package v4.8.0

The Storefront Compatibility Package has been updated to include the following changes:

  • Added the clearWishlist mutation.
  • Added enhanced support gift options to the cart, orders, and products queries.
  • Miscellaneous bug fixes and enhancements.

Storefront Compatibility Package v4.7.7

The Storefront Compatibility Package has been updated to include the following changes:

  • Miscellaneous bug fixes and enhancements.

Storefront Compatibility Package v4.7.5

The Storefront Compatibility Package has been updated to include the following changes:

  • Added the exchangeExternalCustomerTokenmutation to facilitate social login feature through app builder.

Storefront Compatibility Package v4.7.4

The Storefront Compatibility Package has been updated to include the following changes:

  • Added the customerSegments, and customerGroup queries.
  • Exposed customer segment, customer group, cart rule related encoded information with customer and cart queries.
  • Miscellaneous bug fixes and enhancements have been added for gift wrapping and related features.

Storefront Compatibility Package v4.7.3

The Storefront Compatibility Package has been updated to include the following changes:

  • Removed exposure of customer group, customer segment, and cart price rule information through GraphQL.
  • Fixed an Internal Server Error that occurred when selecting the second shipping method with a US address during checkout.

Storefront Compatibility Package v4.7.2

The Storefront Compatibility Package has been updated to include the following changes:

  • Resolved a GraphQL issue where the quantity field in ProductInterface was not returning the saleable quantity.
  • Fixed an issue where customer segment-based cart price rules didn’t apply immediately.

Storefront Compatibility Package v4.7.1

The Storefront Compatibility Package has been updated to include the following changes:

  • Added the clearWishlist mutation.
  • Added the customerGroup query.
  • Added enhanced support gift options to the cart, orders, and products queries.
  • Added fields to the storeConfig query to support checkout options, customer groups, catalog rules, and cart rules.
  • Miscellaneous bugfixes and enhancements.

Order v1.4.0

The Order drop-in has been updated to include the following changes:

  • Better order placement consistency: PlaceOrderFragment now uses a shared GUEST_ORDER_FRAGMENT pattern, making order placement operations more consistent with standardized error handling (#43).
  • Personal email in analytics events: Adobe Client Data Layer integration now includes personal email context in place order events for complete customer identification (#45).
  • More detailed order tracking: OrderContext now includes paymentAmount and priceTotal fields, plus discountAmount in cart item tracking for better financial reporting (#45).
  • Smarter returns pagination: Returns list pagination only scrolls when you’re not already at the top of the page, improving the user experience (#44).

Order v1.3.0

The Order drop-in has been updated to include the following changes:

  • Fixed cancelled product display: Corrected the CartSummaryItem user experience to properly handle cancelled products by removing the strikethrough text and “out of stock” message that were incorrectly appearing for cancelled orders.
  • Fixed missing Channel Field: Added the channel attribute to all Adobe Experience Platform (AEP) events in the Order drop-in, ensuring complete event data collection as part of the global storefront context.
  • Fixed reCAPTCHA v3 integration: Resolved issues where reCAPTCHA v3 was preventing order placement and blocking user authentication functions (login, account creation, password reset), with solution provided to the ACS team.
  • Fixed cancelled product messaging: Resolved an issue where cancelled products incorrectly displayed strikethrough text and “out of stock” messages in the CartSummaryItem component, ensuring proper visual representation of cancelled order items.

Order v1.2.0

  • Added a new setPaymentMethodAndPlaceOrderMutation API for the Order Drop-in, enabling atomic payment and order placement` to better support providers like Adyen.
  • Added missing listImage slot props to the ReturnsList container.
  • You can now customize the translation for the order gift wrapping title on the checkout success page, allowing for proper localization.
  • Fixed an issue where the CartSummaryItemImage slot was not triggered on the return items page, ensuring custom images now display correctly during returns.

Payment Services v1.0.2

  • PayPal Fastlane code: Added FASTLANE payment method code to PaymentMethodCode enum.

Personalization v1.0.1

The Personalization drop-in has been updated to include the following changes:

  • Fixed personalization data update: Resolved an issue where personalization data was not being updated after an order was placed, ensuring accurate customer segmentation and targeting post-purchase.

Personalization v1.0.0

Initial release of the personalization drop-in component, including accompanying developer and merchant documentation.

This component provides a set of tools and containers designed to display content conditionally, based on Adobe Commerce customer groups, segments, and cart price rules.

Product details page v1.3.5

The Product Details Page drop-in has been updated to include the following changes:

  • Gift card products now supported: You can now sell gift cards with full functionality including sender/recipient information, custom messages, preset or custom amounts, and validation rules. All form fields and error messages support internationalization (#28, #36, #40, #41).
  • Global locale support: The initialize function now accepts a globalLocale option for consistent multi-language support across product attributes, pricing, dates, and currency formatting (#38).
  • Better swatch accessibility: Swatch and picker components now use unique IDs that combine attribute and option identifiers. This prevents duplicate name attributes and includes enhanced aria-label support for screen readers.
  • Bundle pricing fixes: Bundle products now display accurate price calculations when selecting different options, working correctly for both fixed and dynamic bundle types.
  • GraphQL updates: Upgraded to @adobe-commerce/fetch-graphql v1.2.0 and added the getFetchGraphQlHeader method for better header management and inspection (#39).
  • Smarter attribute handling: Special attributes like ac_giftcard now parse JSON properly, transform snake_case to camelCase for validation rules, and handle malformed data gracefully (#28).
  • Carousel keyboard navigation: Arrow key handlers in the Carousel component no longer prevent default behavior, improving accessibility and native keyboard navigation (#28).
  • Better test coverage: Added comprehensive end-to-end tests for gift card and configurable products using both standalone and container-based approaches (#43).

Product details page v1.2.0

  • You can now fully replace rendered images in the PDP drop-in component, enabling integration with custom asset sources like AEM Assets.
  • Added support for updating product options and quantities directly from the cart, streamlining the editing process for configurable products.
  • Resolved an issue where overriding the Attributes slot did not render custom content as expected.
  • Fixed a CSS issue where the image zoom close icon appeared too large on product detail pages.
  • Fixed an issue where the close button was not being displayed correctly.

Product Discovery v2.1.0

The Product Discovery drop-in has been updated to include the following changes:

  • Header inspection now available: The getFetchGraphQlHeader method lets developers retrieve individual GraphQL request headers for debugging and inspection (#66).
  • More search filter options: The SearchFilter model now supports additional operators including contains, startsWith, and eq for more flexible product search and filtering (#71).
  • Better facet accessibility: Checkbox naming now uses unique IDs that combine attribute and bucket title, preventing duplicate name attributes and ensuring proper form behavior and accessibility compliance (#68).

Product Discovery v2.0.0

Major Version Release: Product Discovery has been completely redesigned with a new event-driven architecture and breaking changes that require implementation updates.

  • Event-driven architecture: Complete redesign featuring a modern event-driven architecture that provides enhanced performance and improved container interfaces for better responsiveness and maintainability.
  • Breaking changes: This major version includes breaking changes to the API structure, event handling, and component interfaces. Existing implementations will need to be updated to use the new architecture and updated container interfaces.
  • Enhanced documentation: Updated documentation with comprehensive new diagrams including PopOver and Search flow diagrams (SVG format) to better illustrate the new architecture and user interaction patterns.
  • Updated containers: Facets.
  • New containers: SortBy, Pagination, SearchResults.

Product Discovery v1.1.0

The Product Discovery drop-in has been updated to include the following changes:

  • Added custom transformer support: Introduced custom transformer functionality for ProductSearchResult in the API configuration, allowing developers to merge default and custom transformations with comprehensive unit test coverage for validation.
  • Enhanced Facets with new slots: Added FacetBucketLabel slot to the Facets component with improved context handling and updated the label display to include count information for better user experience.
  • Added data model extensibility: Enhanced the Product Discovery drop-in with improved data model extensibility, including custom transformer support for the transformProduct function, updated ProductActions component integration, and comprehensive unit test coverage.
  • Fixed missing Channel Field: Added the channel attribute to all Adobe Experience Platform (AEP) events including searchResponseReceived, ensuring complete event data collection as part of the global storefront context with updated unit test coverage.
  • Fixed invalid currency handling: Resolved currency-related issues and updated package versions to use the latest released library versions for improved stability.

Product Discovery v1.1.0

Initial release of the Product Discovery drop-in component, including accompanying developer documentation.

This component provides a variety of fully-customizable controls to showcase your products (according to your brand’s aesthetics) and build interactive experiences that engage customers.

Product Recommendations v1.1.1

The Product Recommendations drop-in has been updated to include the following changes:

  • Complex products show price ranges: The ProductList container now properly displays price ranges for configurable, grouped, and bundled products using the PriceRange component, while simple products continue showing standard pricing. This includes proper type checking and comprehensive test coverage (#29).
  • Mobile experience improvements: Mobile view now has better carousel scrolling, proper viewport-based card sizing (80vw with 300px max-width), and automatic left margin adjustment for edge-to-edge scrolling on smaller screens (#20).
  • CSS conflict resolution: Global CSS selector conflicts are now resolved by renaming .recommendations-product-list__content to .recommendations-carousel__content, preventing unintended style leakage and ensuring proper component encapsulation (#32).

Product Recommendations v1.1.0

The Product Recommendations drop-in has been updated to include the following changes:

  • Added recommendation API events: Introduced new events recs-api-request-sent and recs-api-response-received to provide better tracking and monitoring of recommendation API interactions.
  • Added recommendation add-to-cart event: Implemented recs-add-to-cart-click event that triggers when shoppers click the “Add to cart” button on simple products within recommendation containers, including productId and unitId in the event payload.
  • Enhanced screen reader accessibility: Improved Product Recommendations accessibility by adding <section> tags with aria-label="product recommendations" for carousel boundaries and role="group" with numbered aria-label attributes (e.g., “product 1 of 8”) for individual product slides, enabling better navigation for screen reader users.
  • Added GraphQL extensibility: Enhanced the Recommendations drop-in with extensible GraphQL fragments and data module transformers, enabling developers to customize and extend API responses according to their specific requirements.
  • Fixed recommendation click tracking: Resolved an issue where the rec-click event was not triggering when clicking products in recommendation units.

Product Recommendations v1.0.0

Initial release of the Product Recommendations drop-in component, including accompanying developer and merchant documentation.

User account v1.2.0

The User Account drop-in has been updated to include the following changes:

  • Flexible address identification: Address data models and GraphQL queries now support uid fields, so you can select and identify addresses using either numeric IDs or string UIDs (#20).

User account v1.0.9

The User Account drop-in has been updated to include the following changes:

  • Fixed empty order list: Resolved an issue where the entire order list would appear empty when a customer had an order containing out-of-stock products, even if other valid orders existed.
  • Added grandTotalExclTax field support: Added support for the grandTotalExclTax field and updated the Order confirmation to use it instead of computing order?.grandTotal?.value - order?.totalTax?.value in the frontend. When the order total is FREE, the “Total excluding taxes” line is now omitted, preventing negative excluding-tax totals on zero-total orders.

User account v1.0.7

Fix for empty radio button

We fixed an issue that was causing an empty radio button in the checkout shipping section when customers had no saved addresses. Now, the radio button only displays if the customer is logged in and has at least one saved address, ensuring a cleaner and more intuitive checkout experience.

User authentication v2.1.1

The User Authentication drop-in has been updated to include the following changes:

  • Cookies now use Secure flag: Authentication cookies (auth_dropin_firstname and auth_dropin_user_token) now include the Secure flag, ensuring they’re only transmitted over HTTPS connections for improved security and protection against man-in-the-middle attacks. Note that this requires your application to run over HTTPS in production environments (#20).

User authentication v2.1.0

The User Authentication drop-in has been updated to include the following changes:

  • Fixed missing Channel Field: Added the channel attribute to all Adobe Experience Platform (AEP) events as part of the global storefront context, ensuring complete event data collection and proper event categorization.
  • Fixed invalid email validation: Prevented GraphQL requests from being sent when an invalid email is entered in the Reset Password form, eliminating unnecessary API calls and error responses for malformed email addresses.

User authentication v2.0.3

Callback for successful password reset

You can now customize the user experience after a successful password reset request. A new onSuccessCallback method is available in the UpdatePassword container, allowing developers to override the default notification banner. Use this callback to redirect users, display a custom modal, or implement any other custom behavior upon a successful password reset request.

Wishlist v2.0.1

The Wishlist drop-in has been updated to include the following changes:

  • No more visual flickering: Wishlist content no longer flickers when opening thanks to consistent minimum height constraints across all responsive breakpoints, ensuring smooth visual transitions (#57).
  • Bundle products now supported: Wishlists now handle bundle products comprehensively, including proper bundle_options and bundleOptionsUIDs handling for adding, displaying, and managing bundle products with their selected options (#59).
  • Cleaner getWishlistById API: The getWishlistById function is now simpler with unused currentPage and pageSize parameters removed. The API now only requires the wishlistId parameter, improving code maintainability (#58).

Wishlist v2.0.0

The Wishlist drop-in has been updated to include the following changes:

  • Fixed accessibility for Wishlist toggle: Added proper aria-label attributes to WishlistToggle button elements in Product Discovery, resolving critical AXE accessibility issues related to discernible button text and accessible names.
  • Fixed Wishlist alert messaging: Corrected WishlistAlert to display appropriate success or error messages based on the actual operation status when adding or removing items, instead of always showing success messages even when operations failed.
  • Added image slots to Wishlist: Implemented image slots throughout the Wishlist drop-in to allow customization and replacement of default image rendering, providing extensibility for all images within the component.
  • Enhanced Wishlist functionality: Released an improved iteration of the Wishlist drop-in with better support for Adobe Commerce Cloud Service (ACCS) and enhanced move-to-cart flows for complex products, addressing feature gaps from the initial June release.

Wishlist v1.0.0

Initial release of the Wishlist drop-in component, including accompanying developer documentation.