Easy Rules v3.2.0 Release Notes
Release Date: 2018-04-09 // about 6 years ago-
๐ This is the second maintenance release of the 3.x line. It introduces a new module called
easy-rules-support
. This module contains support classes that were in theeasy-rules-core
module. For instance, theorg.jeasy.rules.core.CompositeRule
has been moved toeasy-rules-support
asorg.jeasy.rules.support.CompositeRule
and made abstract. 3 implementations of composite rules are now provided out of the box:UnitRuleGroup
: All or nothing semantics ( exactly the same asCompositeRule
in previous versions)ActivationRuleGroup
: XOR logic, ie only one rule of the group will be triggered (issue #122)ConditionalRuleGroup
: A primary rule acts as a precondition to trigger the rule group (issue #130)
๐ This release comes with other new features and some bug fixes:
๐ Features
- Issue #96: Set priority through
@Rule
annotation - Issue #133: Read YAML rule descriptor from a String
- Issue #138: Load multiple rules from a single yaml file
๐ Bug fixes
- Issue #139: NPE If a null Fact is injected through annotation
- Issue #143: Proxy
toString()
is not equal to original objecttoString()
- Issue #141: NPE in
MVELRuleDefinitionReader
if rule name, description or priority is not specified
๐ Deprecations
- ๐ Issue #145: Deprecate
MVELRuleFactory#createRuleFrom(java.io.File)
. A new method that takes ajava.io.Reader
is to be used instead to be able to read rules not only from files (with aFileReader
), but also from Strings (with aStringReader
) or any other reader implementation. - ๐ Issue #122:
org.jeasy.rules.core.CompositeRule
is deprecated. It has been moved to the neweasy-rules-support
module and is now abstract.
๐ I would like to thank @dagframstad, @danrivcap, @bpoussin and @paulbrejla for their contributions to this release.