About the Author

Phillip Verheyden

Software Architect

in Development 3 min read

Broadleaf 4.0.0 Release Candidate Now Available

Over the past year, we have been hard at work making improvements to Broadleaf for our intended 3.2.0-GA release of the Broadleaf framework. Some of the larger features we have added (a small subset of the 160+ issues that we have closed):

  • Better ISO support for addresses
  • Target the latest versions of Spring (4.1)
  • Ensure full Java 8 bytecode support
  • Improve our integration testing support with Spock and Spock-Spring
  • Deprecated our dependency on Jersey/JAXRS to instead use Spring MVC
  • Support for the Thymeleaf Layout Dialect
  • Built-in support for SolrCloud and Solr 5
  • Various other improvements

In order to support various features in our Enterprise Edition and Multi-Tenant offerings (which sit on top of the Broadleaf framework) we have also made extensive modifications to how collections are handled. Specifically, some @ManyToMany relationships used by these modules needed to be represented by a Hibernate entity join table with a unique @Id column rather than a composite primary key. Previously, these @ManyToMany references used a join table specified on the @ManyToMany annotation and a composite primary key.

For some implementations this is not a big deal and just results in a schema change. For others, this can be an expensive and time consuming upgrade depending on how those integrations are written. Because of this, we have decided to represent the newest version of Broadleaf as 4.0.0-GA.

What does this mean?

  1. There will not be a 3.2.0-GA release
  2. If you have been targeting 3.2 (a SNAPSHOT or an ALPHA-ENT version), we have cut a 3.2.0-M2 milestone that represents changes to the develop branch of the Broadleaf framework as of February 11, 2015
  3. The 3.2.0-M2 version of Broadleaf is not officially supported but will give you some time to get to Broadleaf 4.0, the next supported release
  4. We have released Broadleaf 4.0.0-RC1 which is our first release candidate of Broadleaf 4.0. We will be providing upgrade paths (which should be minimal) from each of our RC releases up to the 4.0.0-GA, but subsequent RCs will immediately supersede the prior (e.g. when 4.0.0-RC2 is released, 4.0.0-RC1 will be unsupported)

Where we need your help

As we make a final push to get this latest GA out the door, please take a look at the Broadleaf 4.0.0 release candidates.

If you are currently targeting 3.2.0-SNAPSHOT:

  • If you want to stay there, you can target target 3.2.0-M2 then you should be able to target this indefinitely, however this version will not be supported
  • While 3.2 will not be supported, we will make our best effort to help out in the forums/stackoverflow to help with problems in going from 3.2.0 to a 4.0.0 version
  • We recommend getting to 4.0.0-RC1 ASAP (and the GA after it is released)

If you are currently targeting a 3.1 release

  • We are in the process of writing migration notes and release notes for 4.0.0-GA and are publishing our work in progress at: https://github.com/BroadleafCommerce/docs/blob/4.0/Migration-Notes/3.1.10-to-4.0-Migration.md
  • Feel free to open pull requests or submit items to the forums if you would like to help out/verify the notes that we have on our docs repo
  • Migration/Release notes should be complete by the time 4.0.0-GA is released

How do I get the RC?

If the Broadleaf nexus is not already in your root pom.xml, add it to the <repositories> element with:

    <id>broadleaf public releases</id>
    <name>broadleaf public releases</name>

Then, change the Broadleaf versions to 4.0.0-RC1 and rebuild.

When is 4.0.0-GA going to be released?

We are currently targeting sometime in next 2 weeks for the official 4.0.0-GA release.

Can I get help with upgrading my codebase?

Enterprise customers with Upgrade Assurance should contact Broadleaf to schedule assistance with the upgrade to 4.0. If you are not a current Enterprise customer and would like help with an upgrade, please email info AT broadleafcommerce.com for more information on how we can help.

Stay tuned for more information about the 4.0.0-GA release and updated RC releases leading up to it. As always, reach out to us on the forums, Twitter, or Stack Overflow with any questions.