Broadleaf Commerce 6.1.10-GA
Released on January 21, 2022
Overview
This is the 10th patch release for Broadleaf Framework 6.1.x. To upgrade a 6.1.x application to the 6.1.10-GA release, it should only require updating the parent pom.xml broadleaf-boot-starter-parent to 6.1.10-GA.
New and Noteworthy
Library Upgrades
Following core libraries were upgraded:
- Spring Security 5.2.12.RELEASE --> 5.2.15.RELEASE
- Hibernate 5.3.23.Final --> 5.3.25.Final
Filename of the static assets
Images with some special characters in the filename causes errors in the admin. The image links generated with those characters are invalid and images do not show.
To resolve this issue, some properties and logic are added to replace the special characters with known valid characters. These are the new properties with default values:
#Property to enable this logic. If set to true, error will be presented instead of invalid chars replacement
static.asset.exception.on.invalid.char.in.filename=false
#Set of the invalid characters that causes issues if present in filename.
static.asset.invalid.chars.in.filename=+,*,%
#The character that will replace invalid chars from above
static.asset.invalid.chars.replacement=_
Parent Category Delete validation
A category should not be deleted if it has children categories. Therefore, a validation has been added to prevent the deletion of a parent category. This can be enabled/diabled using this property:
allow.category.delete.with.children=false
An at-a-glance view of the issues that were closed in this release:
Major Bugs(1)
- Fixed a Hibernate related memory leak associated with
TypeConfigurationobjects that are created when building field metadata.
Minor Bugs(16)
- Added support to show placeholder when images or image-links are corrupted.
- Fixed the issue where
getAntiSamyPolicywas not picking up policy file location correctly. - Added a sync block to ensure that only one order is created for one customer when creating an order in
createNewCartForCustomer()method inOrderServiceImpl. - Validation of the
texttype of Product Options were failing for the empty validation pattern so changed the definition ofvalidationStringExistsinProductOptionValidationServiceImpl. - Fixed the issue with 'Listgrid' where column titles and data were not aligning correctly.
- Added
addCustomCriteriato thePersistencePackageRequestin theAdminProductController - During Product Duplication, replaced '#' in the URL generation of duplicated product with '_' because some browsers truncates the request URL after the hash.
- During duplication,
Add-on Productsshould not copy URL. AddedProductUrlDuplicatorExtensionManagerto correctly handle the URLs of different product types. - During Product Duplication, fixed the name generator to correctly iterate over copy numbers.
- Fixed few issues with the catalog selector for the Product Duplication feature.
- Offer's listgrid was not sorting after adding a filter so added checks for URL parameters and correct parsing in
listGrid-filter.jsandfilterbuilder.js. - When saving an offer with one invalid rule, it deletes all other rules because client side validation is returning empty rules. Refactored the saving logic to fix the issue in
RuleFieldValidator. - In some cases, products with SKUs were hitting NPE when viewing the product. Added the check for price as null in
ProductLinkedDataGeneratorImpl. - Removed deprecated JQuery method
.disableSelection()fromlistGrid.js. - In
antisamy-myspace.xmlsetformatOutputto 'false' because the antisamy scan is causing issues with the whitespaces. - Replaced Strings comparator with BigDecimal in
OrderServiceImplforaddDependentOrderItem.
Enhancements(9)
- Deprecated redundant concurrency protection in
CheckoutServiceImpl - Add more information in the error message when Product Duplication fails validation.
- In the
OrderDaoImpl, there is a filtering for locale in java in methodreadNamedOrderForCustomer. Refactored that to move filtering by locale in the SQL query. - Added Maven Enforcer plugin and resolved the dependency issues found by the plugin.
- Removed
@sneakyThrowsin themodifyInitialDuplicateStatemethod of theProductDuplicateModifierand made it throwCloneNotSupportedException - Added a debug logging in the
BroadleafAdminTypedEntityRequestFilterwhenadminUserHasAccessfails so that actionable data is available. - Added logic to replace invalid chars in file name of a static asset which is mentioned above.
- Added validation to prevent the deletion of a category if there are children categories are present.
- Merged bug fixes and enhancements included in 6.0.17-GA
Total Resolved Issues: 26