This version includes all changes up to 2.0.6.
As of Broadleaf Release Train 3.0.0-GA, all common libraries have been upgraded to support Spring Boot 4.1 and Java 25.
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.
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.
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.
Fix aging ConnectionSchemaInitializer implementations
Fix issues around initialization and keyword usage
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.
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
Fix ORA-00920: invalid relational operator exceptions during workflow transitions in the admin for installations using Oracle.
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
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.