Broadleaf Microservices
  • v1.0.0-latest-prod

Order Services Release Notes for 2.1.0-GA

Tip
The 2.x versions are Spring Boot 3 compatible.

Requirements

  • JDK 17 is required for Broadleaf release trains 2.0.0-GA, and beyond.

  • This version now requires DataTracking 2.0.3+

New Features & Notable Changes

  • Added new fields on OrderItem to track recurring and usage pricing.

  • Added new GET endpoints around the FulfillmentCaptureClaimSummary domain which should be used to replace the matching deprecated endpoints.

    • Previously, there were several different GET operations mapped to the same /fulfillment-capture-claims path, distinguished only by request parameters. While technically functional, the operations deserved to be more clearly disambiguated due to their differing semantics and response schemas. Thus, these existing mappings have been deprecated:

      • GET /fulfillment-capture-claims?paymentId, returning FulfillmentCaptureClaimSummary

      • GET /fulfillment-capture-claims?paymentIds, returning List<FulfillmentCaptureClaimSummary>

      • GET /fulfillment-capture-claims?fulfillmentId, returning FulfillmentCaptureClaimSummary

    • The replacement endpoints are:

      • GET /fulfillment-capture-claims/summaries/by-payment-id?paymentId, returning FulfillmentCaptureClaimSummary

      • GET /fulfillment-capture-claims/summaries/by-payment-ids?paymentIds, returning List<FulfillmentCaptureClaimSummary>

      • GET /fulfillment-capture-claims/summaries/by-fulfillment-id?fulfillmentId, returning FulfillmentCaptureClaimSummary

  • Added the concept of a Preorder and Backorder item.

    • A Preorder is an order for an item which has never had available stock but will become available at a later date.

    • A Backorder is an order for an item which has run out of stock but has plans to become available again at a later date.

    • See the 2.1.0 Inventory Service release notes for more details.

  • Backend and metadata for order services has been updated so it can be utilized at the Tenant level of the Admin application.

    • The order view can now be accessed when an application is not selected on the Admin. This results in a combined list of all orders that fall under a Tenant.

    • Orders at the Tenant level are not read only, allowing a user to update the orders without need to update them at the application level.

    • The Orders view can also be filtered by Application now, allowing easy access to view specific Application orders from the tenant level.

    • Note: Backend logic for endpoints has been modified to allow for Tenant only contexts. This may require updates to customized endpoints.

Enhancements

  • Order items now contain additional pricing information, specifically the concepts of Recurring price and Usage price.

    • Recurring price will be utilized by an item that requires payment at an interval; e.g. a subscription.

    • Usage price will be utilized by an item that requires payment per some usage metric e.g. cost per API call for a website or usage of data on a phone plan.

    • See the 2.1.0 Pricing Service release notes for more details.

  • RSQLParser bean now has a orderServiceConsolidationRsqlParser qualifier.

  • Added a dependency for the cart-services-client onto Order services.