Chapter 1. Drools 4.0 Release Notes

Table of Contents

What is new in Drools 4.0
Language Expressiveness Enhancements
Core Engine Enhancements
IDE Enhancements
Business Rules Management System - BRMS
Miscellaneous Enhancements
Upgrade tips from Drools 3.0.x to Drools 4.0.x
API changes
Rule Language Changes
Drools Update Tool
DSL Grammars in Drools 4.0
Rule flow Update for 4.0.2

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 which special focus on language expressiveness, engine performance and tools availability. The following is a list of the most interesting changes.

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-vivification 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

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

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

Business Rules Management System - BRMS

  • New BRMS tool

  • User friendly web interface with nice WEB 2.0 ajax features

  • Package configuration

  • Rule Authoring easy to edit rules both with guided editor ( drop-down menus ) and text editor

  • Package compilation and deployment

  • Easy deployment with Rule Agent

  • Easy to organize with categories and search assets

  • Versioning enabled, you can easily replace yours assets with previously saved

  • JCR compliant rule assets repository

Miscellaneous Enhancements

  • Slimmed down dependencies and smaller memory footprint