2.3.4 / 2019-04-26
- Use Array.isArray instead of instanceof to test Array parameters to address edge cases
2.3.3 / 2019-04-23
- Fix rules cache not clearing after removeRule()
2.3.2 / 2018-12-28
- Upgrade all dependencies to latest
2.3.1 / 2018-12-03
- IE8 compatibility: replace Array.forEach with for loop (@knalbandianbrightgrove)
2.3.0 / 2018-05-03
- Engine.removeFact() - removes fact from the engine (@SaschaDeWaal)
- Engine.removeRule() - removes rule from the engine (@SaschaDeWaal)
- Engine.removeOperator() - removes operator from the engine (@SaschaDeWaal)
2.2.0 / 2018-04-19
- Performance: Constant facts now perform 18-26X better
- Performance: Removes await/async transpilation and json.stringify calls, significantly improving overall performance
2.1.0 / 2018-02-19
- Publish dist updates for 2.0.3
2.0.3 / 2018-01-29
- Add factResult and result to the JSON generated for Condition (@bjacobso)
2.0.2 / 2017-07-24
- Bugfix IE8 support
2.0.1 / 2017-07-05
- Bugfix rule result serialization
2.0.0 / 2017-04-21
- Publishing 2.0.0
- Fix fact path object checking to work with objects that have prototypes (lodash isObjectLike instead of isPlainObject)
- Add rule results
- Document fact .path ability to parse properties containing dots
- Bump dependencies
- BREAKING CHANGES
engine.on('failure', (rule, almanac))
is nowengine.on('failure', (event, almanac, ruleResult))
engine.on(eventType, (eventParams, engine))
is nowengine.on(eventType, (eventParams, almanac, ruleResult))
- Bugfix almanac.factValue skipping interpreting condition "path" for cached facts
- Add fact comparison conditions
- Add
allowUndefinedFacts
engine option
- Bump object-hash dependency to latest
- Rule event emissions
- Rule chaining
- Use Array.indexOf instead of Array.includes for older node version compatibility
- Fact path support
- Custom operator support
- fix issue #6; runtime facts unique to each run()
- fix issue #5; dependency error babel-core/register
- api stable; releasing 1.0
- engine.run() now returns triggered events
- Completed the 'fact-dependecy' advanced example
- Updated addFact and addRule engine methods to return 'this' for easy chaining
- Completed the 'basic' example
- [BREAKING CHANGE] update engine.on('success') and engine.on('failure') to pass the current almanac instance as the second argument, rather than the engine