Broadleaf Microservices
  • v1.0.0-latest-prod

Release Notes for 1.8.11-GA

Requirements

  • JDK 11 is required for Broadleaf release trains 1.7.0-GA, and beyond.

  • JDK 17 is supported for Broadleaf release trains 1.8.1-GA, and beyond.

New Features & Notable Changes

  • Introduced the ability to declare fee & included tax totals on TransactionExecutionRequests.

    • The intention of this to allow PaymentTransactionServices to accept & persist these amount detail fields to serve as a parallel representation to what is determined for the cart’s checkout transactions.

    • The payment & transaction total remains the only required amount field.

    • It’s 100% up to the calling service to determine the values for these optional fields.

    • PaymentTransactionServices does nothing with these values other than persist them to the Payment or PaymentTransactions.

  • Improve logging of CheckoutWorkflowActivityException data

  • Improve error handling for scenarios where an attempt to persist CheckoutWorkflowActivityException data fails

  • Introduced the DefaultCartOperationService#shouldRepriceCartIfPricingStale(…​) hookpoint to dynamically avoid repricing due to stale cart prices. The default implementation includes conditions like avoiding repricing of SUBMITTED carts.

  • Added a default uri to get the external payment transaction result.

  • Updated PaymentSummary now includes owning entity’s type.

  • Modified the cart name in the cart approval flow and added a property to drive the DateTime format.

    • The default cart name now is MM/dd/yyyy HH:mm - {Customer Name}

    • For rejected carts, the default cart name is: REJECTED - MM/dd/yyyy HH:mm - {Customer Name}

    • See Added Properties for how to configure the DateTime format

Bugs Fixed

  • Fix error path nesting issue related to FulfillmentGroup#pricedFulfillmentOption that happened to cause cart persistence issues within the checkout workflow context

  • Fixed issue where SUBMITTED carts (i.e. carts that have successfully completed checkout) could be repriced due to the stale cart pricing logic.

  • Added the implementation of the Serializable interface to the NextAction class to fix an issue java.io.NotSerializableException: com.broadleafcommerce.cartoperation.service.provider.external.domain.payment.NextAction.

  • Fixed issue where addon cart items were not properly cleared out during repricing

Upgrade Guide

Configuration Properties

Added Properties

  • broadleaf.cartoperation.service.cart-approval.cart-name-date-format

    • The DateTime pattern to use for naming carts in cart approval flows

    • Default value: MM/dd/yyyy HH:mm