jBPM seems to use semantic versioning, however 6.2.0.Final brings some changes that aren’t backward compatible with the 6.1.0.Final API and dependencies. Especially if you’re using persistence.

API:


public JPATaskLifeCycleEventListener()

has been changed to:


public JPATaskLifeCycleEventListener(boolean flag);

There is no documentation about this flag and it has no purpose in the latest version.

Dependencies:

If you were carefully adding only the necessary dependencies to your project, after fixing the compile time errors you’ll run into this:


java.lang.NoSuchMethodError: org.hibernate.cfg.Configuration.getNamingStrategyDelegator()Lorg/hibernate/cfg/naming/NamingStrategyDelegator;
  at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:1066)
  at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:295)
  at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:376)
  at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:58)
  at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:63)

Version 6.1.0.Final was happy with a single hibernate dependency:


<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-core</artifactId>
  <version>4.2.3.Final</version>
</dependency>

while 6.2.0.Final requires two other dependencies:


<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-entitymanager</artifactId>
  <version>4.3.7.Final</version>
</dependency>
<dependency>
  <groupId>org.hibernate.javax.persistence</groupId>
  <artifactId>hibernate-jpa-2.0-api</artifactId>
  <version>1.0.1.Final</version>
</dependency>

If there is something more what you can’t find on the list, let me know and I’ll add it.