Upgrade Recipe
For migration to 10.0.0 or later, please refer to the Migration Guide.
Upgrade recipe 7.0
KIE public API classes are backwards compatible (per series), but users often also use implementation classes (which are documented in the reference manual too). This upgrade recipe minimizes the pain to upgrade your code.
Legend
Every upgrade note has an indication how likely your code will be affected by that change:
- Major: Likely to affect your code.
- Minor: Unlikely to affect your code (especially if you followed the examples), unless you have hacks.
- Impl detail: Will not affect your code, unless you have very deep hacks.
- Recommended: Not a backward incompatible change, but you probably want to do this.
- Readme: Read this to better understand why the subsequent major changes were made.
Backwards incompatible changes to the public API
Because this is a new major version number (7.0), which is the foundation for the 7.x series for the next few years, it allows us to make backwards incompatible changes to the public API for the long term benefit of this project.
Our current intention is to keep these backwards incompatible changes to a strict minimum (by favoring deprecation over removal) and do not introduce any additional ones after 7.0.
Any backwards incompatible changes are annotated with a Public API badge.
From 6.5.0.Final to 7.0.0.Final
[Public API] [Major] Java 8 or higher required
If you’re using JRE or JDK 6 or 7, upgrade to JDK 8 or higher.
We currently intend to support a minimal version of Java 8 throughout the entire 7.x series.
[Public API] [Major] OSGi integration artifacts renamed
OSGi integration artifacts were renamed from drools-*
to kie-*
. We have also renamed the Java package names from org.drools.osgi
to org.kie.osgi
. The main reason for these changes is that the artifacts no longer contain just Drools-specific code, but also jBPM and OptaPlanner OSGi integration (KIE is the umbrella term for those three projects). The change affects drools-osgi-integration
Maven artifact, Karaf features file URL and Spring’s OsgiKModuleBeanFactoryPostProcessor
:
Before in pom.xml
:
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-osgi-integration</artifactId>
<version>6.5.0.Final</version>
</dependency>
After in pom.xml
:
<dependency>
<groupId>org.kie</groupId>
<artifactId>kie-osgi-integration</artifactId>
<version>7.0.0.Final</version>
</dependency>
Before when using Karaf features file:
features:addurl mvn:org.drools/drools-karaf-features/6.5.0.Final/xml/features
After when using Karaf features file:
features:addurl mvn:org.kie/kie-karaf-features/7.0.0.Beta2/xml/features
Before in Spring configuration file:
<bean id="kiePostProcessor" class="org.drools.osgi.spring.OsgiKModuleBeanFactoryPostProcessor"/>
After in Spring configuration file:
<bean id="kiePostProcessor" class="org.kie.osgi.spring.OsgiKModuleBeanFactoryPostProcessor"/>
[Public API] [Major] KIE Drools Workbench WARs renamed
The KIE Drools Workbench WARs were renamed from:
kie-drools-wb-distribution-wars-<version>-<container>.war
to:
kie-drools-wb-<version>-<container>.war
If you depend directly on the Maven GAV you need to change the artifactId
:
Before in pom.xml
:
<dependency>
<groupId>org.kie</groupId>
<artifactId>kie-drools-wb-distribution-wars</artifactId>
<version>6.5.0.Final</version>
<type>war</type>
<classifier>wildfly10</classifier>
</dependency>
After in pom.xml
:
<dependency>
<groupId>org.kie</groupId>
<artifactId>kie-drools-wb</artifactId>
<version>7.0.0.Final</version>
<type>war</type>
<classifier>wildfly10</classifier>
</dependency>