Broadleaf Microservices
  • v1.0.0-latest-prod

Release Notes for 1.8.0-GA


  • JDK 11 is now required for the Broadleaf 1.7.0-GA release train, and beyond.

New Features & Notable Changes

Feature/Notable Change Related Services Links

Updated CartOperationServices based on PromotionServices 2.0.0-GA refactor

PromotionServices, OfferClient

Refactored CartOperationServices' usage of CatalogServices to make it easier to replace with a different catalog representation

PromotionServices, OfferClient

Introduced support for account cart approval flows and named cart management

CartServices, CartClient, OrderCommon, OrderClient, OrderServices, OrderOperationServices, PaymentTransactionServices, NotificationServices, MicroservicesDemo, MicroSecurityCommon, NextJS Starter, Commerce SDK, Payment JS SDK

Deprecated usages of NAMED cart status

Named carts are now represented by IN_PROCESS carts with a name, and implicit cart is represented by an IN_PROCESS cart with NULL name

CartServices, CartClient

Added offer code ref to adjustment to support offer audit

CartClient, OfferClient, PromotionServices

Added support for using StoreCredit in checkout

CreditAccountServices, AuthenticationServices, PaymentGatewayCommon, PaymentTransactionServices, NextJS Starter, Commerce SDK

Added sku to cart internal attributes to support tax refund


Added tax id to cart internal attributes for post-checkout usage


Added support for discriminated shipping properties based on ContextInfo


Bug Fixes


Fixed condition for SecurityEnhancer bean registration

Fixed offers not properly applied to bundle items

Fixed RecordOfferUsageEventListener to record offer usages for CartItem, FulfillmentItem, and FulfillmentGroup offers

Upgrade Guide

Method Signature Changes




This activity now implements RequiresSecurePaymentInformationActivity, which takes in two additional paymentLockTokens - Map<String, String> and securityCodes - Map<String, String> parameters, in order to reallocate cart payments when needed


Now take an additional paymentLockTokens - Map<String, String> parameter for updating cart payments

API Changes

New Endpoints

Path Description

GET /cart-approval

Retrieve carts that require approval

POST /cart-approval/{cartId}/submit-for-approval

Submit a cart for approval

POST /cart-approval/{cartId}/reject-cart

Reject a cart that was previously submitted for approval

GET /cart

Retrieve my carts

POST /cart/{cartId}/make-default

Make the cart the user’s default/implicit cart

PATCH /cart/{cartId}/status

Update cart status

Configuration Properties

Added Properties

  • broadleaf.cartoperation.service.offer-services-version

    • Description: The offer version enabled for external service calls with CartOperationService. This is useful for maintaining backwards compatibility. If using the latest version, this property does not have to be supplied

  • broadleaf.cartoperation.service.match-cart-item-asset-to-variant

    • Description: Determines whether the cart item’s image asset should match the selected variant if possible instead of the BroadleafProduct’s primary asset. The matching will be done via DefaultCartItemProductService if the variant has option values to use to match with a BroadleafProduct asset by tag

    • Default value: false

  • broadleaf.cartoperation.cartprovider.tenant-carts-uri

    • Description: The URI path for basic CRUD operations on carts at the tenant level

      This should only be used by scheduled jobs where application context is not available

  • broadleaf.cartoperation.cartprovider.update-carts-status-uri

    • Description: The URI sub-path for updating status for multiple carts.

  • broadleaf.cartoperation.cartprovider.send-cart-rejection-event-uri

    • Description: The URI to send the cart rejection event

  • broadleaf.cartoperation.cartprovider.cart-action-audits-uri

    • Description: The URI path for basic CRUD operations on cart action audits

  • broadleaf.cartoperation.customerprovider.url

    • Description: The base url for the customer service


    • Description: The path to read an account by ID


    • Description: The path to read an customer by ID

  • broadleaf.cartoperation.customerprovider.service-client

    • Description: The service client to use when calling customer services

    • Default value: cartopsclient

  • broadleaf.cartoperation.creditaccountprovider.url

    • Description: The base url for an external credit account service

  • broadleaf.cartoperation.creditaccountprovider.customer-store-credit-accounts-uri

    • Description: The default URI to read the customer store credit account

  • broadleaf.cartoperation.creditaccountprovider.service-client

    • Description: The service client to use when calling credit account services

    • Default value: cartopsclient