Broadleaf Microservices
  • v1.0.0-latest-prod

JPA Common Release Notes

Version 3.0.0-GA

  • This version includes all changes up to 2.0.6.

Spring Boot Upgrade

  • As of Broadleaf Release Train 3.0.0-GA, all common libraries have been upgraded to support Spring Boot 4.1 and Java 25.

Features & Notable Changes

  • Introduce JpaEntityScan#skipRouteInference to replace JpaEntityScan#includeInAllRoutesIfRoutePackageEmpty, which is deprecated for removal.

    • The two attributes are aliases, so an existing @JpaEntityScan(includeInAllRoutesIfRoutePackageEmpty = true) keeps working unchanged. Prefer skipRouteInference = true for shared utility entities and JPA converters that genuinely belong to every data route.

    • When no routePackage is given and route inference finds no extension route, the fallback to assigning entities to all routes is now logged at WARN rather than INFO, and the message names the two ways to resolve it. A deployment that has been silently falling back will start reporting it at startup.

Version 2.0.6-GA

Features & Notable Changes

  • Discover additional drop changelogs on the classpath during schema generation.

    • Schema generation now scans for db/changelog/<serviceKey>.<platform>.drop.changelog-*.xml resources and includes any whose version is newer than the highest drop changelog already referenced. A client extension that adds its own newer drop changelog no longer has to be threaded through the starter core to be picked up.

    • Drop changelog version parsing now accepts any number of numeric segments rather than requiring exactly three.

Version 2.0.5-GA

Spring Upgrade

  • As of Broadleaf Release Train 2.3.0-GA, support for Spring Boot 3.3 & 3.5 for all common libraries has been added.

Features & Notable Changes

  • Improved memory efficiency during classpath scanning for Liquibase changelogs.

  • Fixed intermittent classloader collisions when reading YAML files during concurrent schema loading.

Version 2.0.4-GA

Spring Boot Upgrade

  • As of Broadleaf Release Train 2.3.0-GA, support for Spring Boot 3.3 & 3.5 for all common libraries has been added.

Notable Changes

  • Removed Yugabyte liquibase generation support, as it’s no longer a supported DB.

Version 2.0.3-GA

  • Introduce support for sorting on multiple columns.

    • This changes the behavior to no longer throw an exception if the Order object encountered is not a JpaPath instance and instead ignores instances of SqmCaseSearched

    • Also adds a specific InvalidSortOrderException to throw if the order is invalid, as the IllegalStateException previously thrown is logged at the debug level by default

  • Added support for shortening of index names by introducing annotation for index aliasing.

  • Updated our custom hibernate set-based UserType, AbstractSetType, to correctly escape single quotes and wrap the string literal in single quotes when toSqlLiteral is called.

  • Added entity utils to aid partitioning requests and prevent overflowing database in-clause size limits.

Version 2.0.2-GA

  • Fix aging ConnectionSchemaInitializer implementations

    • Fix issues around initialization and keyword usage

Version 2.0.1-GA

  • Fix ORA-00920: invalid relational operator exceptions during workflow transitions in the admin for installations using Oracle.

  • In a manifest-based installation, fix parent references in a generated liquibase changelog for a component customization.

  • Workflow transition performance refactoring. See Workflow Transition Performance.

Version 2.0.0-GA

Spring Boot Upgrade

  • As of Broadleaf Release Train 2.0.0-GA, all common libraries have been upgraded to Spring Boot 3.

  • This version includes all changes up to 1.5.14-GA

  • Updated compatibility measures to log a warning message when ignoring attempts to change the column type that are not backward compatible

  • During legacy initialization (during app boot), preserve schema case for Postgres Liquibase schemas to address Liquibase bug causing SQL syntax errors for schema names containing a hyphen

  • Allow for zero-arg instantiation of StringSetType objects

  • Added a new character long object (CLOB) length constant in JPA constants

Version 1.5.15-GA

  • Fix ORA-00920: invalid relational operator exceptions during workflow transitions in the admin for installations using Oracle.

Version 1.5.14-GA

  • Stopped separating destructive change sets by default when running UtilitiesIT

    • Separating destructive change sets is useful for Broadleaf developers to ensure backwards compatibility when modifying data schema.

    • Users of Broadleaf do not need to have the same restriction in place since they are not developing the framework but using it.

    • "Destructive change sets" include modifying the data type of an existing column.

  • Updated OracleBaseProvider’s wait strategy to use the same 900 second timeout value instead of using the 240 second default

  • Fixed issue with resolving filesystem paths on Linux that contain spaces

  • Added ability to remove drop changelogs from the newly copied changelog file during initial construction

    • The property schema.utils.remove.drop.includes can be assigned the values true or false in order to toggle the removal of drop changelogs

Version 1.5.13

  • Added ability to define delegate data source url using placeholder properties.

    • Specifically, the property broadleaf.composite.datasource.url can be assigned the value 'jdbc:postgresql://${mytest.hostname}:${mytest.port}/broadleaf' and those placeholders will be resolved if defined.

Version 1.5.12

  • Suppress SQL Exception logging

Version 1.5.11

  • Install byte buddy with retries to fix startup timing issues

Version 1.5.10

  • Support providing preliminary liquibase setup for components during flex package generation.

Release Train Compatibility

Compatible with all Release Trains after 1.7 unless otherwise noted.