Documentation Home

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 renamed isEnableDefaultSkuInInventory to setEnableDefaultSkuInInventory
  • 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() for SolrSearchServiceImpl.
  • In TranslationServiceImpl added step to get locale from BroadleafRequestContext in shouldTranslateLocale().
  • Made RestApiCustomerStateFilter extend OncePerRequestFilter 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 in FieldManager 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 to BroadleafRequestContext.
  • Set query hint for readCustomerRolesByCustomerId() and readRoleByName() in RoleDaoImpl.
  • Added compareTo method for dates, to be used in thymeleaf templates as sometimes date can be java.sql.Timestamp and thymeleaf forbids method invocation from this package/type.
  • Added uriBuilderFromCurrentRequest() in ServletRequestVariableExpression so that it can be used in the templates like this #httpServletRequest.uriBuilderFromCurrentRequest()

Total Resolved Issues: 35