All notable changes to this project will be documented in this file.
- Added globalParams feature which can be applied to all rules
- Enabled localParams support for nested Rules
- Made certain fields in Rule model optional allowing users to define workflow with minimal fields
- Added option to disable Rule in workflow json
- Added
GetAllRegisteredWorkflow
to RulesEngine to return all registeredWorkflows - Fixed Rule compilation exception not returned when Rule has ErrorMessage field defined - #95
- Fixed LocalParams cache not getting cleaned up when RemoveWorkflow and ClearWorkflows are called
- Moved ActionResult and ActionRuleResult under RulesEngine.Models namespace
- Added support for Actions. More details on actions wiki
- Major performance improvement
- 25% improvement from previous version
- Upto 35% improvement by disabling optional features
- RulesEngine now virtually supports unlimited inputs (Previous limitation was 16 inputs)
- RuleExpressionParser is now available to use expression evaluation outside RulesEngine
ExecuteRule
method has been renamed toExecuteAllRulesAsync
Input
field in RuleResultTree has been changed toInputs
which returns all the the inputs as Dictionary of name and value pair
- Added
Properties
field to Rule to allow custom fields to Rule
- Added exception data properties to identify RuleName.
- Optional parameter for rethrow exception on failure of expression compilation.
- Fixed binary expression requirement. Now any expression will work as long as it evalutes to boolean.
- Fixed exception thrown when errormessage field is null
- Added better messaging when identifier is not found in expression
- Fixed other minor bugs
- Adding local param support to make expression authroing more intuitive.
- Interface simplified by removing redundant parameters in the IRulesEngine.
- Custom Logger replaced with Microsoft Logger.
- Cache system added so that rules compilation is stored and thus made more efficient.
- Concurrency issue which arose by dictionary was resolved.
- Exceptions handling scenario in the case a rule execution throws an exception
- The first version of the NuGet