Release Notes

This chapter contains the release notes for the Drools 10-series.

For the release notes of the previous releases, you can refer to the Drools documentation of version 8.

10.1.0 release notes

Language Level DRL10

New language level DRL10 has been added. DRL10 is handled by the new parser based on ANTLR4. The default language level is still DRL6.

DRL10 introduces the following changes mainly to reduce ambiguity:

  • Require a prefix '##' to custom operators

  • Drop half constraint syntax

  • Drop double ampersand as infix and

  • Drop double pipe as infix or

  • Drop annotation inside LHS pattern

Those syntaxes are deprecated and will be removed in the future. Warnings are logged when the deprecated syntax is used in DRL6.

You can refer Language Level for details.

10.0.0 release notes

DMN 1.5 support

The DMN engine now supports DMN 1.5 specification. You can refer to the OMG official documentation to learn about the introduced features, like:

  • Import into the Default Namespace

  • New list replace() function

  • Alternative image for input Data

  • New type restriction attribute typeConstraint

  • Possibility to negate a duration

  • Possibility to iterate time ranges

  • Date type to date and time type coercion

Drools Quarkus Extension

Quarkus Extension for Drools has been introduced. You can refer Drools Quarkus extension Guide for details.

DRL on YAML

As an experimental feature, DRL on YAML has been introduced, where you can write DRL in YAML format. You can refer DRL on YAML for details.

Drools Reliability

As an experimental feature, Drools Reliability has been introduced, which supports stateful KieSession persistence. You can refer Drools Reliability for details.

Drools 10-series release notes

Minimum requirements update

JDK 17 is now the minimum Java version required to compile Drools and make use of Drools.

Maven 3.8.6 is the minimum Maven version required to build Drools from source, or using kie-ci APIs.

drools-mvel and drools-engine-classic are deprecated

drools-mvel is deprecated since Drools 8 in favor of the executable model. It also means drools-engine` is recommended instead of deprecated drools-engine-classic that contains drools-mvel. You can still use MVEL syntax in your rules, so it doesn’t affect how to write rules.