Chapter 1. JBoss Rules 4.0.7 Release Notes

Chapter 1. JBoss Rules 4.0.7 Release Notes

1.1. What is new in Drools 4.0
1.1.1. Language Expressiveness Enhancements
1.1.2. Core Engine Enhancements
1.1.3. IDE Enhancements
1.1.4. Miscellaneous Enhancements
1.2. Upgrade tips from Drools 3.0.x to Drools 4.0.x
1.2.1. API changes
1.2.2. Rule Language Changes
1.2.3. Drools Update Tool
1.2.4. DSL Grammars in Drools 4.0
1.2.5. Rule flow Update for 4.0.2

1.1. What is new in Drools 4.0

Drools 4.0 is a major update over the previous Drools 3.0.x series. A whole new set of features were developed with special focus on language expressiveness, engine performance and tools availability. The following is a list of the most interesting changes.

1.1.1. Language Expressiveness Enhancements

  • New Conditional Elements: from, collect, accumulate and forall

  • New Field Constraint operators: not matches, not contains, in, not in, memberOf, not memberOf

  • New Implicit Self Reference field: this

  • Full support for Conditional Elements nesting, for First Order Logic completeness.

  • Support for multi-restrictions and constraint connectives && and ||

  • Parser improvements to remove previous language limitations, like character escaping and keyword conflicts

  • Support for pluggable dialects and full support for MVEL scripting language

  • Complete rewrite of DSL engine, allowing for full l10n

  • Fact attributes auto-verification for return value restrictions and inline-eval constraints

  • Support for nested accessors, property navigation and simplified collection, arrays and maps syntax

  • Improved support for XML rules

1.1.2. Core Engine Enhancements

  • Native support for primitive types, avoiding constant autoboxing

  • Support for transparent optional Shadow Facts

  • Rete Network performance improvements for complex rules

  • Support for Rule-Flows

  • Support for Stateful and Stateless working memories (rule engine sessions)

  • Support for Asynchronous Working Memory actions

  • Rules Engine Agent for hot deployment and BRMS integration

  • Dynamic salience for rules conflict resolution

  • Support for Parameterized Queries

  • Support for halt command

  • Support for sequential execution mode

  • Support for pluggable global variable resolver

1.1.3. IDE Enhancements

  • Support for rule break-points on debugging

  • WYSIWYG support for rule-flows

  • New guided editor for rules authoring

  • Upgrade to support all new engine features

1.1.4. Miscellaneous Enhancements

  • Slimmed down dependencies and smaller memory footprint