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:

New features:

  • Universal Editor integration - The boilerplate now supports Adobe Universal Editor for in-context content editing, enabling visual authoring experiences directly within the storefront. Developers can now render PDPs in Universal Editor or Document Authoring on template pages using dedicated templates (#866, #891).
  • Payment Services v2 upgrade - Payment Services drop-in has been upgraded to version 2 with enhanced payment processing capabilities and improved user experience (#881).
  • AEP analytics configuration - Adobe Experience Platform analytics configuration is now integrated, providing better tracking and insights into customer behavior (#969).

Improvements and fixes:

  • Authentication flow refactor - Authentication flow now uses page reloads for more reliable state management and better compatibility with server-side rendering (#972).
  • Checkout success flow enhancement - Checkout success page now redirects to order details page and preloads order data, providing customers with immediate access to their order information and improving post-purchase experience (#882, #831, #913).
  • Configurable product links fix - Product links for configurable products now work correctly, ensuring proper navigation to product detail pages (#994).
  • Empty cart checkout prevention - Checkout process now properly prevents access when cart is empty, improving user experience and preventing errors (#1015).
  • Wishlist sign-up fix - Sign-up functionality from wishlist now works properly, allowing guest users to create accounts while preserving their wishlist items (#983).
  • Create account overlay fix - Account creation overlay now closes properly after successful registration (#934).
  • Universal Editor rendering improvements - Improved rendering stability in Universal Editor and Document Authoring environments (#1030).

B2B integrations:

  • Commerce Account Navigation block - New block with GraphQL permission integration for B2B account navigation, dynamically showing menu items based on user permissions. Navigation automatically updates when company context changes (#779, #789, #797, #797).
  • Requisition List integration - Integrated requisition list drop-in into PDP and PLP blocks, enabling B2B users to add products to requisition lists. Includes routing between list grid and detail views (#755, #821, #851, #886, #911, #954, #967).
  • Negotiable Quote blocks - Added B2B negotiable quote block and quote template block for managing quotes and quote templates. Includes quote checkout with dedicated summary containers, file uploads, and address management (#778, #884, #890, #892, #906, #916, #1001, #1002, #1006, #1009, #1013, #1014).
  • Company Switcher integration - Integrated company switcher for multi-company B2B scenarios with context-aware page reloads and redirects for orders, purchase orders, and quotes. Includes inactive company filtering and product availability validation (#701, #914, #976, #982, #1003, #1024).
  • Purchase Order integration - Integrated Purchase Order drop-in with payment method, details page, and approval workflows. Includes permission-based access control and company context handling (#736, #826, #900, #902, #909, #931, #938, #942, #964, #966).
  • Company Management integration - Integrated company profile, users, structure, and roles & permissions management. Includes company creation workflow, drag-and-drop team organization, and comprehensive validation (#726, #745, #816, #832, #838, #865, #926, #960, #974, #984, #986, #993, #996).
  • B2B permission system - Enabled customer permission roles in Auth initializer and checkout permissions handling. Permission system dynamically controls feature availability based on user roles (#871, #880, #887, #888).
  • Request quote from cart - Added ability to request negotiable quotes directly from the cart with minimum amount validation and user feedback (#731, #970).
  • Company context listeners - Added event listeners throughout the boilerplate to respond to company context changes, ensuring data consistency when switching companies (#966).

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)

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.

Drop-in SDK (Elsie) v1.6.0

The Drop-in SDK (Elsie) has been updated to include several new features and improvements:

New features:

  • Pagination SEO enhancements - Pagination components now support a routePage prop that generates anchor tags instead of buttons, enabling proper SEO with crawlable page links, native browser link behavior (right-click, open in new tab), and improved accessibility while maintaining all existing functionality (#143).
  • Price formatting utility - The new getPriceFormatter utility function enables efficient bulk price formatting operations by creating reusable Intl.NumberFormat instances, reducing overhead when formatting multiple prices, and providing centralized locale resolution with proper fallback hierarchy (prop locale → global locale → environment locale → en-US default) (#129).
  • New icons - New icons are now available in the Icon component: Business (company/organization representation), List (list view toggle), Purchase (purchase/buy actions), Quote (quote request actions), Structure (organizational structure), and Team (team/group representation) (#150).

Improvements and fixes:

  • Table component improvements - Table components now include enhanced mobile responsiveness with automatic stacked layout via container queries, data labels automatically generated from column headers on mobile, improved styling for row details and expanded states, better typography hierarchy in mobile view, and enhanced visual structure with proper borders and spacing (#149).
  • Field component enhancements - Field components now provide more robust child component rendering, improving support for wrapped components and complex field structures with better prop propagation (#139).
  • Icon stroke width fix - Icon components now properly apply stroke width styles to all nested SVG elements, ensuring consistent visual appearance across all icon types instead of only applying to the root SVG element (#151).
  • Multi-store detection fix - Fixed incorrect multi-store detection in repoless EDS setups where configurations with additional non-store keys under the public namespace were incorrectly identified as multi-store configurations. This caused the Store Switcher to activate unnecessarily, resulting in rendering errors such as footer not loading due to missing store-switcher fragment. The detection logic now properly distinguishes actual store entries from other configuration keys (#156).
  • FetchGraphQL instance linking - FetchGraphQL instances can now link to or inherit configuration from other instances, enabling shared endpoint, header, and hook management across multiple instances. This reduces configuration duplication when creating multiple API clients with similar settings and provides better architecture for complex drop-in implementations. When an instance is linked to another, it delegates all configuration operations (setEndpoint, setFetchGraphQlHeader, addBeforeHook, addAfterHook) to the linked instance, ensuring consistent behavior across related API clients (#145, #147, #148).

Cart v3.0.0

Major version upgrade with improved B2B integration and event handling. The Cart drop-in component has been updated to include the following changes:

  • HTML entity decoding - Product names with special characters (quotes, ampersands, etc.) now display correctly throughout the cart UI. The decoding applies to product titles, remove button aria-labels, and undo notification messages (#90).
  • Requisition list integration - Cart now automatically refreshes when products are moved between cart and requisition lists via the requisitionList/alert event, ensuring B2B workflows stay synchronized (#80).
  • Cart open event fix - The “cart open” event now fires correctly when the first item is added to an empty cart. Previously it only triggered when creating a new cart, but now properly detects the transition from empty to having items (#84).
  • Start checkout event fix - The “start checkout” event now publishes correctly when initiating checkout. Added navigation delay to ensure analytics events are sent before page navigation (#81).
  • Checkout event filtering - Cart now properly filters checkout/updated events by type (cart vs quote), preventing unnecessary cart refreshes when quote-related checkout events occur (#87).
  • Gift options styling fix - Gift options textarea label hiding rule is now properly scoped to only affect textarea labels within the gift options view, preventing unintended effects on other form elements (#88).
  • Company context event handling - Removed handling of companyContext/changed event from initialize module as it’s no longer needed (#91).
  • Revised Adobe Commerce Drop-in License Agreement - Updated license agreement to current terms. B2C drop-ins have been tested on Adobe Commerce as a Cloud Service (ACCS) and Adobe Commerce 2.4.7+ for Platform-as-a-Service (PaaS) deployments. However, the license agreement restricts use to Adobe Commerce as a Cloud Service (ACCS) and Adobe Commerce Optimizer (ACO) only. Use on Platform-as-a-Service (PaaS) or on-premise deployments is not permitted under the license agreement (#89).

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 v3.0.0

Major version upgrade with comprehensive B2B checkout support. The Checkout drop-in has been updated to include the following changes:

B2B Features:

  • Payment on Account - New payment method for B2B transactions allowing customers to pay using their company account. Includes getCompanyCredit API to retrieve available credit and credit limit information, with validation to prevent exceeding credit limits (#183, #185, #188, #192, #206).
  • Purchase Order - New payment method enabling B2B customers to reference purchase order numbers during checkout, with validation to ensure required PO numbers are provided (#190, #194, #195, #207).
  • Quote checkout support - Checkout now distinguishes between regular carts and negotiable quotes with separate event handling and containers. Quote checkout uses dedicated QuoteSummaryList and OrderSummary containers for B2B quote workflows (#209, #213, #220, #228).
  • Checkout permissions - B2B users without checkout permissions now see appropriate error messages. Permission validation distinguishes between cart and quote checkouts (#208, #224, #229).

Improvements:

  • Event type filtering - Checkout events (checkout/initialized and checkout/updated) now include a type property to distinguish between cart and quote operations, enabling proper event handling for both workflows (#230).
  • Billing address updates - Billing address now uses customerAddressUid instead of numeric IDs for better compatibility with B2B quote workflows and customer address management (#198).
  • Checkout success flow - Checkout success page is now properly decoupled, preventing empty cart flashes and ensuring smooth transition to order confirmation (#205, #223).
  • Placeholder-based translations - Implemented comprehensive placeholder-based translation system for all checkout UI strings, enabling easier localization for AEM placeholders (#251, #252).
  • Empty cart handling - Users are now redirected to cart page when cart is empty (except on order confirmation page), preventing checkout access with empty carts (#258).
  • Payment method auto-selection - When the currently selected payment method becomes disabled, the first available method is automatically selected to maintain checkout flow (#215, #221).
  • Fastlane disabled - Fastlane payment method is now disabled for B2B checkout to prevent conflicts with B2B payment workflows (#197).

Fixes:

  • Login on empty cart - Fixed issue where login functionality failed when cart was empty (#201).
  • Billing address sync - Fixed issue where billing address was not updated when re-checking “bill to shipping” checkbox (#255).
  • Gift options spacing - Removed unnecessary empty space for gift options container when not in use (#247).
  • Signup modal - Signup modal now closes properly after account creation (#245).
  • Shipping method auto-selection - Fixed issue where Quote checkout would lose shipping methods after auto-selection (#231).
  • B2B address handling - Fixed checkout failure when B2B user has no saved addresses (#218).
  • Error message rendering - Error messages now render properly throughout the checkout flow (#187).
  • Revised Adobe Commerce Drop-in License Agreement - Updated license agreement to current terms. B2C drop-ins have been tested on Adobe Commerce as a Cloud Service (ACCS) and Adobe Commerce 2.4.7+ for Platform-as-a-Service (PaaS) deployments. However, the license agreement restricts use to Adobe Commerce as a Cloud Service (ACCS) and Adobe Commerce Optimizer (ACO) only. Use on Platform-as-a-Service (PaaS) or on-premise deployments is not permitted under the license agreement (#259, #260).

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.15

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

  • Quote Address: Resolved an issue where custom attributes on shipping addresses were lost while batching setShippingAddressesOnCart with setBillingAddressOnCart using same_as_shipping: true, ensuring attributes persist and are correctly copied to billing addresses.

Storefront Compatibility Package v4.8.14

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

  • Order Items: Resolved a state-leak issue where Order Item data persisted between requests because shared object properties were not reset.

Storefront Compatibility Package v4.8.13

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

  • Order Items: Resolved incorrect product image data in the Order API response for configurable products.

Storefront Compatibility Package v4.8.12

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

  • Cart Items: Resolved an issue where only_x_left_in_stock returned null in the cart details response for products with backorders enabled. The problem was caused by incorrect calculations of the out-of-stock threshold.

Storefront Compatibility Package v4.8.11

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

  • Customer Groups: Added uid as an extension attribute to customer groups in the /V1/customerGroups/search REST API response.
  • Customer Segments: Introduced a new REST API endpoint /V1/customerSegments/search to retrieve customer segments using an integration or IMS token.

Storefront Compatibility Package v4.8.10

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

  • Place order: Resolved an issue where guest checkout failed when the guest uses an email address associated with a registered customer.

Storefront Compatibility Package v4.8.9

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

  • Add to Cart: Resolved an issue where adding the same configurable product with identical options created separate entries instead of updating the existing item’s quantity.

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 v3.0.0

Major version upgrade with B2B company context support. The Order drop-in has been updated to include the following changes:

  • Company context switching - Order data now automatically refreshes when B2B users switch companies, ensuring users only see orders relevant to their current company context. When switching companies, the drop-in fetches fresh order data to maintain data integrity across company contexts (#53, #55).
  • Enhanced error handling - Improved error handling for company context changes with automatic redirect to orders list when network errors occur or when users lack access to an order in the new company context. This prevents displaying stale or inaccessible order data (#53, #55).
  • Negotiable quote order placement - Updated GraphQL mutation from placeNegotiableQuoteOrder to placeNegotiableQuoteOrderV2 with improved error handling that properly surfaces backend errors instead of silently failing.
  • Revised Adobe Commerce Drop-in License Agreement - Updated license agreement to current terms. B2C drop-ins have been tested on Adobe Commerce as a Cloud Service (ACCS) and Adobe Commerce 2.4.7+ for Platform-as-a-Service (PaaS) deployments. However, the license agreement restricts use to Adobe Commerce as a Cloud Service (ACCS) and Adobe Commerce Optimizer (ACO) only. Use on Platform-as-a-Service (PaaS) or on-premise deployments is not permitted under the license agreement.

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 v3.0.0

Major version upgrade for suite alignment. The Payment Services drop-in has been updated to include the following changes:

  • Revised Adobe Commerce Drop-in License Agreement - Updated license agreement to current terms. Drop-ins are now exclusively licensed for Adobe Commerce as a Cloud Service (ACCS) and Adobe Commerce Optimizer (ACO). Use on on-premise or Platform-as-a-Service (PaaS) deployments is not permitted under the license agreement (#37).

Payment Services v2.0.1

  • Updated @adobe-commerce/payment-services-sdk dependency from pre-release 0.4.1-alpha.3 to final release 0.4.1.

Payment Services v2.0.0

  • Breaking change: added mandatory apiUrl and getCustomerToken parameters to drop-in initialization configuration.
  • Removed the mandatory apiUrl and getCustomerToken parameters from the CreditCard container.
  • Added new payment-services/initialized/$location events to indicate payment method availability by ‘location’.
  • Introduced a new ApplePay container with support for Apple Pay payments from both checkout and product detail pages.
  • The name and message of errors passed to the onError callback of the CreditCard and ApplePay containers are now localized.
  • The onSuccess callback for both the CreditCard and ApplePay containers now receives the cart ID of the completed payment.
  • The promise returned by the creditCardFormRef’s submit() function is now guaranteed to reject (with a localized error) if the credit card payment fails.
  • The Credit Card form no longer automatically submits when pressing the Enter key.

Payment Services v1.0.3

  • Removed a redundant call to setPaymentMethodOnCart mutation that was failing for Credit Card checkouts in storefronts connected to Adobe Commerce Cloud Service (ACCS) due to issue CCSAAS-3786 .

Payment Services v1.0.2

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

Personalization v3.0.0

Major version upgrade with SDK and dependency updates. The Personalization drop-in has been updated to include the following changes:

  • Elsie SDK upgrade - Updated to Elsie SDK 1.6.0, bringing pagination SEO enhancements, improved price formatting utilities, table component mobile responsiveness improvements, enhanced field component rendering, and icon stroke width fixes.
  • GraphQL fetch upgrade - Updated to @adobe-commerce/fetch-graphql 1.2.3-beta2 for improved GraphQL query handling and better header management.
  • Revised Adobe Commerce Drop-in License Agreement - Updated license agreement to current terms. B2C drop-ins have been tested on Adobe Commerce as a Cloud Service (ACCS) and Adobe Commerce 2.4.7+ for Platform-as-a-Service (PaaS) deployments. However, the license agreement restricts use to Adobe Commerce as a Cloud Service (ACCS) and Adobe Commerce Optimizer (ACO) only. Use on Platform-as-a-Service (PaaS) or on-premise deployments is not permitted under the license agreement.

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 v3.0.0

Major version upgrade with tier pricing support and improved rendering. The Product Details Page drop-in has been updated to include the following changes:

  • Tier pricing support - Products with quantity-based discount pricing now display tier pricing information, helping customers understand bulk purchase savings (#37).
  • Product attributes rendering - Product attributes now render properly in the product detail view, ensuring all product information displays correctly (#47).
  • Revised Adobe Commerce Drop-in License Agreement - Updated license agreement to current terms. Drop-ins are now exclusively licensed for Adobe Commerce as a Cloud Service (ACCS) and Adobe Commerce Optimizer (ACO). Use on on-premise or Platform-as-a-Service (PaaS) deployments is not permitted under the license agreement (#46).

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 v3.0.0

Major version upgrade with price display and search improvements. The Product Discovery drop-in has been updated to include the following changes:

Improvements

  • Final price display - Products with special pricing now correctly display both the final (sale) price and the crossed-out regular price. This applies to both simple and complex products, ensuring customers can see the discount they’re receiving (#75).
  • Currency code validation - Invalid or unsupported currency codes now automatically fall back to USD, preventing crashes and ensuring prices always display correctly even with malformed data (#77).
  • URL parameter search handling - Fixed search functionality when URL parameters are present. B2C search results now correctly parse and apply filters, sorting, pagination, and search queries from URL parameters, resolving issues where searches would fail to return results (#78).
  • Facet checkbox rendering - Fixed rendering issues with facet checkboxes by properly managing state immutability. Checkboxes now correctly reflect selection state and respond to user interactions (#79).
  • Revised Adobe Commerce Drop-in License Agreement - Updated license agreement to current terms. Drop-ins are now exclusively licensed for Adobe Commerce as a Cloud Service (ACCS) and Adobe Commerce Optimizer (ACO). Use on on-premise or Platform-as-a-Service (PaaS) deployments is not permitted under the license agreement (#74).

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 v3.0.0

Major version upgrade with SDK and dependency updates. The Wishlist drop-in has been updated to include the following changes:

  • Elsie SDK upgrade - Updated to Elsie SDK 1.6.0, bringing pagination SEO enhancements, improved price formatting utilities, table component mobile responsiveness improvements, enhanced field component rendering, and icon stroke width fixes (#64).
  • GraphQL fetch upgrade - Updated to @adobe-commerce/fetch-graphql 1.2.3-beta2 for improved GraphQL query handling and better header management.
  • Revised Adobe Commerce Drop-in License Agreement - Updated license agreement to current terms. Drop-ins are now exclusively licensed for Adobe Commerce as a Cloud Service (ACCS) and Adobe Commerce Optimizer (ACO). Use on on-premise or Platform-as-a-Service (PaaS) deployments is not permitted under the license agreement (#66).

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.

User Account v3.0.0

Major version upgrade with B2B company context support and translation improvements. The User Account drop-in has been updated to include the following changes:

New features

  • Company context switching - Order history now automatically refreshes when B2B users switch companies via the companyContext/changed event. This ensures users only see orders relevant to their current company context without manual page refresh (#25).
  • Translation override support - The Provider component now supports merging custom language definitions with default translations. Developers can pass custom langDefinitions through the initialize configuration to override default UI text, enabling easier localization and brand-specific terminology (#30).

Improvements

  • Fixed configurable product links - Product URLs in order history now correctly link to configurable product detail pages. The GraphQL query now retrieves product_sku and product_url_key at the order item level instead of nested product fields, resolving 404 errors when clicking product links from order lists (#34).
  • Elsie SDK upgrade - Updated to Elsie SDK 1.6.0, bringing pagination SEO enhancements, improved price formatting utilities, table component mobile responsiveness improvements, enhanced field component rendering, and icon stroke width fixes.
  • GraphQL fetch upgrade - Updated to @adobe-commerce/fetch-graphql 1.2.3 for improved GraphQL query handling and better header management.
  • reCAPTCHA upgrade - Updated to @adobe-commerce/recaptcha 1.0.3 for improved security and compatibility.
  • Revised Adobe Commerce Drop-in License Agreement - Updated license agreement to current terms. B2C drop-ins have been tested on Adobe Commerce as a Cloud Service (ACCS) and Adobe Commerce 2.4.7+ for Platform-as-a-Service (PaaS) deployments. However, the license agreement restricts use to Adobe Commerce as a Cloud Service (ACCS) and Adobe Commerce Optimizer (ACO) only. Use on Platform-as-a-Service (PaaS) or on-premise deployments is not permitted under the license agreement.

Product Recommendations v3.0.0

Major version upgrade for suite alignment. The Product Recommendations drop-in has been updated to include the following changes:

  • Revised Adobe Commerce Drop-in License Agreement - Updated license agreement to current terms. Drop-ins are now exclusively licensed for Adobe Commerce as a Cloud Service (ACCS) and Adobe Commerce Optimizer (ACO). Use on on-premise or Platform-as-a-Service (PaaS) deployments is not permitted under the license agreement (#33).

User Auth v3.0.0

Major version upgrade with B2B role permissions and Adobe Commerce Optimizer support. The User Auth drop-in has been updated to include the following changes:

New features

  • Customer role permissions API - New getCustomerRolePermissions() function retrieves B2B customer role permissions with intelligent caching. Returns permissions as a flat object with all and admin flags, plus specific B2B permissions like purchase order and company management capabilities. Includes automatic handling of purchase order permissions when the feature is disabled. Emits auth/permissions event for application-wide permission updates (#21, #27, #39).
  • Adobe Commerce Optimizer integration - New getAdobeCommerceOptimizerData() function fetches Adobe Commerce Optimizer data (price book ID) for dynamic pricing support. Works for both authenticated and non-authenticated users, with automatic event emission via auth/adobe-commerce-optimizer (#44).
  • Customer group tracking - Customer group UIDs are now automatically tracked and emitted via the auth/group-uid event. The drop-in converts base64-encoded group UIDs to SHA1 hashes for consistent event formatting. Non-logged-in customers emit a default group ID. Events are emitted during login, logout, token validation, and role permission checks (#30, #35).

Improvements

  • Cookie security for localhost - Auth cookies no longer set the Secure flag when running on localhost (including 127.0.0.1 and ::1), fixing Safari browser compatibility issues during local development while maintaining security on production domains (#43).
  • Elsie SDK upgrade - Updated to Elsie SDK 1.6.0, bringing pagination SEO enhancements, improved price formatting utilities, table component mobile responsiveness improvements, enhanced field component rendering, and icon stroke width fixes (#41).
  • Enhanced initialization - The initialize() function now supports optional customerPermissionRoles and adobeCommerceOptimizer configuration flags to enable these features. When enabled, the drop-in automatically fetches permissions and optimizer data on initialization and re-fetches when authentication state changes.
  • Authentication state tracking - The initialize function now properly tracks authentication state changes and automatically refreshes permissions and optimizer data when users log in or out.
  • GraphQL fetch upgrade - Updated to @adobe-commerce/fetch-graphql 1.2.3 for improved GraphQL query handling and better header management.
  • Token cleanup on logout - The revokeCustomerToken() function now properly removes the authentication header and emits the default non-logged-in group ID when users log out.
  • Revised Adobe Commerce Drop-in License Agreement - Updated license agreement to current terms. Drop-ins are now exclusively licensed for Adobe Commerce as a Cloud Service (ACCS) and Adobe Commerce Optimizer (ACO). Use on on-premise or Platform-as-a-Service (PaaS) deployments is not permitted under the license agreement (#46).

Company Management v1.0.0

Initial release of the Company Management drop-in for B2B enterprise workflows. This drop-in enables comprehensive company management capabilities:

Company Profile

  • Company profile viewing and editing - Company admins can view and edit company profile information including company name, legal details, contact information, and administrative settings (#726).
  • Company information display - All company users and admins can view company-related information appropriate to their role and permissions (#745).

Users and Teams

  • User and team management - Company admins can manage company users and organize them into teams with drag-and-drop functionality for team assignment and hierarchy management (#838).
  • Mobile drag-and-drop support - Team organization drag-and-drop functionality works on mobile devices for managing company structure on the go (#960).
  • User and team validation - Enhanced form validation ensures data integrity when creating or editing users and teams (#993).

Roles and Permissions

  • Roles and permissions management - Configure granular permissions for company roles, controlling access to purchase orders, company management, quotes, and other B2B capabilities (#832).

Company Structure

  • Company structure CRUD operations - Create, read, update, and delete company organizational structures with hierarchical team management (#865).
  • Structure validation - Proper error handling prevents invalid structure modifications and displays appropriate validation messages (#974).

Company Creation

  • New company creation workflow - Complete workflow for creating new companies with all required information including company profile, admin account, and initial settings (#816).
  • State/province validation - Proper handling of required state/province fields during company creation based on country selection (#984).

Integration and Updates

  • Comprehensive E2E testing - Automated end-to-end Cypress tests ensure company management functionality works correctly across all workflows (#986).
  • Container documentation - Complete documentation for all company management containers and their integration patterns (#996).

Company Switcher v1.0.0

Initial beta release of the Company Switcher drop-in for multi-company B2B scenarios. This drop-in enables B2B users to switch between multiple companies:

Core Features

  • Multi-company context switching - B2B users can switch between multiple companies they belong to, with automatic context updates throughout the storefront (#701).
  • Page reload on company change - Company switching triggers page reloads to ensure complete data consistency and proper context switching across all components (#976).
  • Context-aware redirects - Intelligent redirection system redirects users to appropriate pages when switching companies, handling order details, purchase orders, and quote templates (#976).

Integration

  • Commerce Account Navigation integration - Seamlessly integrates with the Commerce Account Navigation block, updating menu visibility based on company context and permissions (#797, #797).
  • Automatic navigation updates - Account navigation automatically refreshes when company context changes, showing appropriate menu items for the selected company (#797).

Product Availability

  • Product availability validation - Automatically validates product availability when switching companies, redirecting to 404 when products are not available for the selected company (#982).

Company Filtering

  • Inactive company filtering - Inactive companies are automatically filtered from the company switcher, preventing users from switching to deactivated companies (#1003, #1024).

Purchase Order v1.0.0

Initial release of the Purchase Order drop-in for B2B procurement workflows. This drop-in enables purchase order management and approval workflows:

Core Features

  • Purchase Order payment method - New payment method for B2B checkout allowing customers to reference purchase orders during order placement (#736).
  • Purchase Order details page - Dedicated page displaying complete purchase order information including items, amounts, approval status, and history (#826).
  • Approval workflow - Complete approval workflow for purchase orders with status tracking and approval history (#826).

Permissions and Access

  • Permission-based access control - Purchase order features are only accessible to users with appropriate B2B permissions, with proper error handling for unauthorized access attempts (#736).

Company Context

  • Company context handling - Purchase orders automatically update when switching between companies, with proper context preservation and error handling (#942).
  • Context change listeners - Purchase order pages automatically respond to company context changes, refreshing data or redirecting as appropriate (#966).

Testing and Quality

  • Comprehensive E2E testing - Automated end-to-end Cypress tests cover purchase order workflows including creation, approval, and error scenarios (#902, #931, #938, #964).

Version Updates

  • Beta version progression - Updated through multiple beta versions (beta1 through final 1.0.0) incorporating feedback and bug fixes (#900, #909).

Quote Management v1.0.0

Initial release of the Quote Management drop-in for B2B negotiable quote workflows. This drop-in enables comprehensive quote management:

Quote Creation and Management

  • Request quotes from cart - B2B buyers can request negotiable quotes directly from their shopping cart, converting cart contents into a quote for negotiation (#731).
  • Quote list management - View and manage all active, submitted, and completed quotes with filtering and sorting capabilities (#782).
  • Quote updates - Handle quote updates and status changes throughout the negotiation lifecycle (#901).

Quote Templates

  • Quote template list - View and manage quote templates for recurring purchases, displaying template details and usage history (#884).
  • Quote template details - Detailed view of quote templates including product listings, pricing, and terms (#892).
  • Create quotes from templates - Generate new quotes from saved templates for streamlined repeat ordering (#1014).

Quote Checkout

  • Quote-specific checkout flow - Dedicated checkout containers for quote orders with quote summaries and special handling (#890).
  • Quote ownership validation - Checkout button is disabled for users who are not the quote owner, preventing unauthorized quote submission (#1014).

File Attachments

  • File upload for quotes - Attach supporting documents to quotes during creation and negotiation (#1002).
  • File type restrictions - File uploads are restricted to match Luma functionality, ensuring consistent file handling across platforms (#1002).

Address Management

  • Save addresses during quote creation - New addresses entered during quote creation are automatically saved to the customer’s address book for future use (#1006).

User Experience

  • Dynamic quote minimum amount - Quote interface displays dynamic minimum order amounts with enhanced user feedback when amounts aren’t met (#970).
  • Quotes menu navigation - Fixed navigation issue where quotes menu incorrectly redirected to main account page (#985).

Testing

  • Cypress E2E tests - Comprehensive automated testing for quote management workflows (#1001).

Version Updates

  • Beta to stable progression - Updated through beta versions (alpha21, alpha22, beta1, beta2) to stable 1.0.0 release (#906, #916, #1009, #1013).

Requisition List v1.0.0

Initial release of the Requisition List drop-in for B2B repeat ordering workflows. This drop-in enables requisition list management:

Core Features

  • Requisition list management - Create, view, edit, and delete requisition lists for organizing frequently ordered products (#755).
  • Add products from PDP - Add products to requisition lists directly from product detail pages with requisition list selector (#851).
  • Add products from PLP - Add products to requisition lists from product listing pages for bulk list building (#851).

Product Support

  • Complex product support - Full support for configurable, bundle, and other complex products with all required options and configurations (#943).
  • Complete option validation - Products with incomplete options are properly validated before adding to requisition lists (#943).

Navigation and Routing

  • Routing between list views - Navigate between requisition list grid view and detail view using proper routing instead of in-place updates (#821).

Cart Integration

  • Move items to cart - Move products from requisition lists to shopping cart for immediate ordering (#851).
  • Cart synchronization - Cart automatically updates when products are moved between requisition lists and cart (#851).

Testing

  • Cypress E2E tests - Automated end-to-end tests for requisition list view workflows ensuring reliability (#930).

Version Updates

  • Beta progression - Updated through multiple beta versions (0.6.0, 0.7.0, 0.8.0, 1.0.0-beta1 through beta4) incorporating improvements and bug fixes (#851, #886, #911, #954, #967).