Broadleaf Microservices
  • v1.0.0-latest-prod

Upgrade Notes

The following describes the process and strategy to update your Broadleaf Microservices Release Train version as well the pattern to override a specific library version defined in the Release Train.

How do I update the Release Train version?

Generally for the 1.7.x and 1.8.x release train projects, you will want to update the following versions in your root pom.xml to the applicable versions:

<!-- Microservice Versions -->
<blc.release.train>[insert RT version e.g. 1.8.0-GA]</blc.release.train>
<blc.jpa.core>[insert RT compatible version e.g. 1.7.11-GA]</blc.jpa.core>
Note
this allows you to pull in the appropriate Release Train BOM with the harmonized dependency versions. Depending on the level of upgrade, there may be additional code, project structure, or SQL level changes that are applicable as well. Please see the appropriate Release Notes sections for more details.

How do I override a specific library version?

There may be some cases, where you may need to override a specific version than what is defined in the Broadleaf Release Train. This may be either an explicit Broadleaf library dependency or a Third Party Library that Broadleaf depends on.

In order to do this, you will notice that the root pom.xml of your accelerator projects define a dependencyManagement section importing the Release Train BOM. In order to override a specific dependency, you must specify the exact dependency PRIOR to the release train import (order is important).

<dependencyManagement>
    <dependencies>
        <!-- ↓ Any explicit override should appear first BEFORE the release train ↓ -->
        <dependency>
            <groupId>com.broadleafcommerce.microservices</groupId>
            <artifactId>my-service-to-override</artifactId>
            <version>1.X.X-GA</version>
        </dependency>
        <dependency>
            <groupId>com.broadleafcommerce.microservices</groupId>
            <artifactId>broadleaf-microservices-release-train</artifactId>
            <version>${blc.release.train}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
Note
This follows the same Spring Boot conventions for projects that don’t inherit a Parent POM. More details around this pattern can be found here