Broadleaf Commerce 7.0.0-GA
Released on Jan 10, 2024
The overall theme of the Broadleaf 7.0.0-GA release is largely around updating core 3rd-party dependency baselines.
Detail information on the changes and necessary steps to implement the updates are available in the 6.2 to 7.0 Migration Notes.
New and Noteworthy
Library version upgrades
- Spring core: Updated to 6.0.13
- Spring Security: Updated to 6.1.5
- Spring Boot: Updated to 3.1.5
- Solrj: Updated to 9.3.0
- Hibernate: Updated to 6.2.13.Final
- Jakarata: Updated to 6.0.0
- Jakarata-xml: Updated to 4.0.0
- Jakarata-annotation: Updated to 2.1.1
- Jakarata-mail: Updated to 2.1.2
- Jakarata-jms-api: Updated to 3.1.0
- Jakarata-validation: Updated to 3.0.2
- Jackson: Updated to 2.15.3
- Ehcache : Updated to 3.10.8
- Lombok : Updated to 1.18.30
- Hsql : Updated to 2.7.2
- Owsap Encoder: Updated to 1.2.3
- Antisamy: Updated to 1.7.4
- Groovy : Updated to 4.0.15
- Spock : Updated to 2.1.-M1-groovy-4.0
- GEB : Updated to 7.0
- Junit: Updated to 4.13.2
- Easymock: Updated to 5.1.0
- Easymockclassextension: Updated to 3.2
- Selenium: Updated to 4.14.1
- Guava: Updated to 32.1.3
- Quartz scheduler: Updated to 2.3.2
- Commons-cli: Updated to 1.5.0
- Commons-lang3: Updated to 3.12.0
- Httpclient: Updated to 4.5.14
- Pngstatic: Updated to 1.7
- Log4j-bom: Updated to 2.20.0
- Xmlbeans: Updated to 5.1.1
- Snappy-java: Updated to 1.1.9.1
- Javassist: Updated to 3.29.2
- Byte-buddy: Updated to 1.14.8
- Tika-core: Updated to 2.9.1
- Aspectjweaver: Updated to 1.9.19
- Jettison: Updated to 1.5.4
- Jkeylockmanager: Updated to 2.1.0
An at-a-glance view of the issues that were closed in this release:
Major Bugs(2)
- Fix the various issues with creating/editing entities after Hibernate upgrade.
- Added Hibernate filters for each persistence unit instead of each entity class as a workaround for a Hibernate bug.
Minor Bugs(12)
- In
Product.javarenamedisEnableDefaultSkuInInventorytosetEnableDefaultSkuInInventory - Updated various thymeleaf tags and processors. Some processors were removed so updated their references and usage. More info in Migration Notes.
- Replaced deprecated hibernate indexes with JPA indexes on various classes.
- Updated deprecated design in
@GenericGeneratorfor Hibernate 6. Property 'strategy' was replaced with 'type.' - Fixed various issues with sequence generation.
- Fixed the issue with filtering products in
filterProductsBasedOnInactiveCategory()forSolrSearchServiceImpl. - In
TranslationServiceImpladded step to get locale fromBroadleafRequestContextinshouldTranslateLocale(). - Made
RestApiCustomerStateFilterextendOncePerRequestFilterinterface. - Moved
HibernateEnhancerfrom commons enterprise to framework and use it to ignore some classes from transformation - In
DefaultFieldMetadataProvideradded ability to get column length in case property is missing. - In
TypedQueryBuildermade root query class and return type not to depend on each other. - Fix to fetch additional skus correctly for promote operation after propagation.
Enhancements(21)
- Updated core libraries mentioned above.
- Migrated from Java EE to Jakarta EE
- Updated plugins and references of java8 with java17
- Upgraded the Ecma script version for closure compiler to 'ECMASCRIPT_2015.'
- Removed Spring social in favor of OAuth2.
- Removed Animal sniffer plugin.
- Removed
SessionOrderLockManagerbecause it is no longer needed. - Removed some deprecated classes and processors. More info in Migration Notes.
- In
Address.java, 'country' and 'state' has been removed along with their usage and references in favor of 'ISOCountry' and 'ISOCountrySubdivision'. - Deleted weave logic for using default sku in inventory and integrated the feature in the codebase. Property
enable.weave.use.default.sku.inventoryis no longer used. - Added case-insensitive sort in Solr
- Added a checkbox type for product options.
- Added a way to check if a product is a featured product.
- Added ability to check and retrieve Mvel parameters from
BroadleafRequestContext. - Introduced cache for
CustomerOfferImplin order to optimize the performance. - Introduced cache for
isPersistenceClassinFieldManagerin order to optimize the performance. - Added indexes to transformer, so they can be specified on "template" level.
- In
NamedOrderProcessorretrieved 'wishlist' and added it toBroadleafRequestContext. - Set query hint for
readCustomerRolesByCustomerId()andreadRoleByName()inRoleDaoImpl. - Added
compareTomethod for dates, to be used in thymeleaf templates as sometimes date can bejava.sql.Timestampand thymeleaf forbids method invocation from this package/type. - Added
uriBuilderFromCurrentRequest()inServletRequestVariableExpressionso that it can be used in the templates like this#httpServletRequest.uriBuilderFromCurrentRequest()
Total Resolved Issues: 35