Broadleaf 3.1.3-GA
Important note!!
This release contains a critical bug that is resolved in 3.1.7 GA. We recommend upgrading to that release immediately and skipping this release (and other releases up to that point) altogether.
This release is the 3rd patch release of the 3.1 line. If you are on the 3.1 line already, we strongly recommend upgrading to this new patch release.
Required migration steps
We strive to make our Broadleaf patch releases (like 3.1.2-GA to 3.1.3-GA) as smooth as possible and try to not make any requirements on migrations for sites that are currently using Broadleaf. However, in 3.1.3-GA there is a required migration step that you need to perform in your admin configuration. Please see the 3.1.2 to 3.1.3 Migration notes for required modifications that you will need to make in your site
Since this release is a cumulative release, this includes all features and bug fixes in the 3.0.11-GA release. This includes:
- Java 8 JVM compatibility
- Universal Google Analytics support
- Update to Spring 3.2.9.RELEASE
- Static asset url transformation support
- Better support for standalone Solr servers
Notable features specifically in 3.1.3-GA:
- Update to the latest Thymeleaf 2.1 patch release (2.1.2.RELEASE)
- Better support for PCI SAQ level "C" and "D" implementations
Community Contributions
Special thanks to the following members of our community that contributed pull requests and/or filed and tested defects:
jayaprakash85, gowthamgutha, dwtalk, munnja001
An at-a-glance view of the issues that were closed in this release:
Major Bugs (13)
- SecureOrderPaymentDaoImpl has invalid entity package names when creating Secure Payments
- Fix admin.js path
- Delete does not work with bi-directional @OneToMany and @ManyToOne in the admin.
- Fetch does not properly filter out entities in a @ManyToMany relationship with no join entity in-between
- Dirty state on Entity properties is not passed on and correctly visible within property validators
- org.hibernate.HibernateException: cannot recreate collection while filter is enabled can be thrown in SkuCustomPersistenceHandler
- Delete does not work in a @ManyToMany in the admin without a join entity in-between
- After a customer changes username and attempts to log in again, they must wait for cache to clear.
- If 2 threads attempt to check out an Order, thread 2 will clear the lock set by thread 1
- Use isAssignableFrom() for consistent equals() method executions
- BLC should account for javassist proxies in equals implementations
- Failed to delete file in Broadleaf commerce 3.1.1-GA when moving resources generated from resource bundling service
- Purging carts can fail if multi-ship options are added to the order
Minor Bugs (13)
- Unable to checkout from a country without a state field (Netherlands, Singapore)
- Update the UpdateTimestampsCache region to the new name
- Filtering on collections inside of embeddable does not work
- Json strings aren't escaped for admin hiddenfields objects
- Scroll gets disabled when hiding a modal in the admin
- Continue with normal processing when analytics tracking fails
- Restore action buttons when server throws an exception
- Possible NPE in OrderToPaymentRequestDTOServiceImpl if you don't have a billing address on your payment
- In some circumstances, a NullPointerException can occur in PersistenceManagerFactory at admin application startup
- Cannot target subclass in row level security
- Redactor's Font Style button disappears when viewing in Firefox.
- Patch to support Hibernate's @Formula - prevent ClassCastExceptions in the admin
- Thymeleaf syntax for sectionKey urls differs between clear button and add button
Enhancements (10)
- Add hook method for modifying the PPR on a select lookup fetch
- Add out of box support for PCI SAQ level "C" and "D" implementations - Credit Card PAN enters network
- Update Thymeleaf to the latest 2.1 patch release
- Catalogs are not annotated for management in the admin
- Protected against circular category references during Solr indexing
- PropertiesVariableExpression should use BLCSystemProperty rather than just a SystemPropertyService
- Allow other components to contribute to the creation of a non-persistent Site
- Allow passing default values to the system properties service
- Provide better logging rather than an NPE with a null order currency when translating a payment into an order
- Move the blDialect definition into common and have framework and CMS contribute to the processors
Total Resolved Issues: 36