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.java
renamedisEnableDefaultSkuInInventory
tosetEnableDefaultSkuInInventory
- 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
@GenericGenerator
for Hibernate 6. Property 'strategy' was replaced with 'type.' - Fixed various issues with sequence generation.
- Fixed the issue with filtering products in
filterProductsBasedOnInactiveCategory()
forSolrSearchServiceImpl
. - In
TranslationServiceImpl
added step to get locale fromBroadleafRequestContext
inshouldTranslateLocale()
. - Made
RestApiCustomerStateFilter
extendOncePerRequestFilter
interface. - Moved
HibernateEnhancer
from commons enterprise to framework and use it to ignore some classes from transformation - In
DefaultFieldMetadataProvider
added ability to get column length in case property is missing. - In
TypedQueryBuilder
made 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
SessionOrderLockManager
because 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.inventory
is 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
CustomerOfferImpl
in order to optimize the performance. - Introduced cache for
isPersistenceClass
inFieldManager
in order to optimize the performance. - Added indexes to transformer, so they can be specified on "template" level.
- In
NamedOrderProcessor
retrieved 'wishlist' and added it toBroadleafRequestContext
. - Set query hint for
readCustomerRolesByCustomerId()
andreadRoleByName()
inRoleDaoImpl
. - Added
compareTo
method for dates, to be used in thymeleaf templates as sometimes date can bejava.sql.Timestamp
and thymeleaf forbids method invocation from this package/type. - Added
uriBuilderFromCurrentRequest()
inServletRequestVariableExpression
so that it can be used in the templates like this#httpServletRequest.uriBuilderFromCurrentRequest()
Total Resolved Issues: 35