All Versions
Latest Version
Avg Release Cycle
64 days
Latest Release
619 days ago

Changelog History

  • v0.11

    December 04, 2018
    • Rules are made injectable using @Autowired with SpringAwareRuleBookRunner
    • ERROR_ON_FAILURE now throws meaningful exceptions
    • @RuleBean is now used to properly decorate Spring POJO rules
  • v0.10

    April 26, 2018

    🚀 This release includes:

    • ✨ Enhanced support for Spring Boot Fat Jars
    • ➕ Additional logging in RuleAdapter
    • 🛠 Fix for mapping facts to instance variables in POJO rules when NameValueReferableMap key is different than NameValueReferable name
    • Corrections to the README
  • v0.9.1

    December 16, 2017

    👻 Null facts used in the invocation of a rule caused an exception. This patch allows null facts to be used without throwing an exception.

  • v0.9

    September 30, 2017
    • ➕ Added Rules Auditing
    • ⚡️ Updated DSL to include support for Rules Auditing
    • ➕ Added Rules Auditing for POJO Rules
  • v0.8.1

    September 17, 2017
    • 🛠 Fixed POJO Results - previously getResults() on RuleBookRunner always returned Optional true; now it only returns Optional true if a Result was set
    • 🛠 Fixed Spring Boot Bug - when POJO Rules were packaged in a Spring Boot uber jar, RuleBookRunner would fail to scan rules in a package; this has been corrected
  • v0.8

    August 17, 2017
    • 0️⃣ RuleBooks using the RuleBookBuilder now must specify a default result immediately affter a result type is specified
    • A Rule can break the rule chain when a rule fails if RuleChainActionType.STOP_ON_FAILURE is specified when the Rule is created
    • 0️⃣ Errors are no longer logged when a default result is not specified for a RuleBookRunner
  • v0.7

    August 07, 2017
    • RuleBooks are made thread safe for POJO and DSL created RuleBooks
    • RuleBooks can now be safely used as singletons with Spring
    • RuleBook results are now unique per thread
  • v0.6.2

    May 23, 2017
    • 🛠 Result reads are now chained on POJO Rules - fixes Megabank example
    • Conditions omitted from POJO rules now cause actions to always fire (instead of never fire)
  • v0.6.1

    May 22, 2017

    🖨 NameValueTypeConvertible is used in the lambda when() and then() functions. Previously, it was decorating the FactMap, but not delegating to its toString method. This meant when filtering facts via the using() method and using the System.out::println function reference, the String value of the fact was not being outputted (e.g. in the Home Loan example in the README).

    The bug was corrected by having NameValueTypeConvertible delegate its toString method to the map it decorates.

  • v0.6

    May 07, 2017
    • ➕ added BigDecimal to NameValueTypeConvertibleMap
    • ➕ added Boolean to NameValueTypeConvertibleMap

    Now when() and then() methods in the DSL will be able to convert facts of an unspecified type easily to BigDecimal or Boolean types using the methods getBigDeciVal() and getBoolVal, respectively.