Broadleaf Microservices
  • v1.0.0-latest-prod

Upgrade to 2.0.3

June 21, 2024

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

Requirements

  • Java 17 is required since 2.0.0-GA.

Notable Changes

Fixing Extensibility Issues

  • Classes are made easily extendable by using getManagedType() method to get instances of class instead of hard-coded class-names.

  • These changes are made in the following services:

    • InventoryServices

    • PricingServices

    • PromotionServices

    • TenantServices

Automatic support for extensible Indexable entities in SearchServices

  • Custom extensions of JpaOrder, JpaOrderFulfillment, JpaCustomer and JpaProduct will now be indexed automatically.

  • The SingleIndexRequest message now contains an additional field _baseClass which would be set to the className of either of the four entities above. The custom extension will still be populated in the _class field of the message.

  • AbstractSingleIndexRequestHandler will now evaluate whether the field is indexable based on the presence of _baseClass first and use _class as a fallback.

    • If a client has extended OOB Broadleaf class like Product as ClientProduct, then the benefit here is that the client does not have to extend/override the ProductHandler component itself to explicitly declare support for their extension ClientProduct.class. The _baseClass can directly be used now.

Note
CatalogServices, CustomerServices and OrderServices would require DataTracking 2.0.3+ to consume this change.
Important
As of Microservices release 2.0.3, the changes are not backported to releases in the 1.x lines.

Security

To review the security related content, see 2.0.3 notes.

Tip

You will need your login credentials originally provided for accessing the Broadleaf nexus. Security fixes often involve dependency updates to remediate issues being tracked in external OSS components. It is worth considering adopting releases with security fixes (even Broadleaf Severity LOW) to avoid any possibility of transitive exposure in your codebase.

Frontend Compatibility and Release Notes

Microservices release 2.0.3 is congruent with:

  • AdminWeb 1.10.9

    • Required.

    • @broadleaf/admin-components 1.10.9

    • @broadleaf/admin-stripe-components 1.10.9

    • Other modules: 1.10.7 (unchanged)

  • Auth JS SDK 1.6.1

    • Recommended.

  • Commerce JS SDK 1.6.2

    • Recommended

    • @broadleaf/commerce-browse 1.5.10 and 1.6.2 (unchanged)

    • @broadleaf/commerce-cart 1.5.10 and 1.6.2 (unchanged)

    • @broadleaf/commerce-content 1.5.10 and 1.6.2 (unchanged)

    • Other modules: 1.5.9 and 1.6.1 (unchanged)

  • Commerce Quote UI 1.0.0 (unchanged)

  • Payment JS SDK 1.3.1

    • @broadleaf/tabby-payment-services-api 1.3.1

    • @broadleaf/tabby-payment-services-react 1.3.1

    • Other modules: 1.3.0 (unchanged)

  • NextJS Starter 1.6.3

    • Recommended.

  • Open Api 2.0.3-1.0

    • Recommended.