157 lines
6.0 KiB
Markdown
157 lines
6.0 KiB
Markdown
# CHANGELOG
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
## [5.0.3]
|
|
- Updated dependencies to latest
|
|
- Fixed RulesEngine throwing exception when type name is same as input name
|
|
- Added config to disable FastCompile for expressions
|
|
- Added RuleParameter.Create method for better handling on types when value is null
|
|
|
|
## [5.0.2]
|
|
- Fixed Scoped Params returning incorrect results in some corner case scenarios
|
|
|
|
## [5.0.1]
|
|
- Added option to disable automatic type registry for input parameters in reSettings
|
|
- Added option to make expression case sensitive in reSettings
|
|
|
|
## [5.0.0]
|
|
- Fixed security bug related to System.Dynamic.Linq.Core
|
|
|
|
### Breaking Changes
|
|
- As a part of security bug fix, method call for only registered types via reSettings will be allowed. This only impacts strongly typed inputs and nested types
|
|
|
|
|
|
## [4.0.0]
|
|
- RulesEngine is now available in both dotnet 6 and netstandard 2.0
|
|
- Dependency on ILogger, MemoryCache have been removed
|
|
- Obsolete Properties and Methods have been removed
|
|
- Fixed name of RuleParameter is ignored if the type is recognized (by @peeveen)
|
|
### Breaking Changes
|
|
- ILogger has been removed from RulesEngine and all its constructors
|
|
```diff
|
|
- RulesEngine(string[] jsonConfig, ILogger logger = null, ReSettings reSettings = null)
|
|
+ RulesEngine(string[] jsonConfig, ReSettings reSettings = null)
|
|
|
|
- RulesEngine(Workflow[] Workflows, ILogger logger = null, ReSettings reSettings = null)
|
|
+ RulesEngine(Workflow[] Workflows, ReSettings reSettings = null)
|
|
|
|
- RulesEngine(ILogger logger = null, ReSettings reSettings = null)
|
|
+ RulesEngine(ReSettings reSettings = null)
|
|
```
|
|
- Obsolete methods and properties have been removed, from the follow models:-
|
|
- RuleResultTree
|
|
- `ToResultTreeMessages()` has been removed from `RuleResultTree` model
|
|
- `GetMessages()` has been removed from `RuleResultTree` model
|
|
- `RuleEvaluatedParams` has been removed from `RuleResultTree` model, Please use `Inputs` instead
|
|
|
|
- Workflow
|
|
- `WorkflowRulesToInject` has been removed, Please use `WorkflowsToInject` instead
|
|
- `ErrorType` has been removed from `Rule`
|
|
|
|
- Resettings
|
|
- `EnableLocalParams` has been removed from `ReSettings`, Please use `EnableScopedParams` instead
|
|
|
|
|
|
## [3.5.0]
|
|
- `EvaluateRule` action now support custom inputs and filtered inputs
|
|
- Added `ContainsWorkflow` method in RulesEngine (by @okolobaxa)
|
|
- Fixed minor bugs (#258 & #259)
|
|
|
|
## [3.4.0]
|
|
- Made RulesEngine Strong Name and Authenticode signed
|
|
- Renamed few models to streamline names (by @alexrich)
|
|
- `WorkflowRules` is renamed to `Workflow`
|
|
- `WorkflowRulesToInject` is renamed to `WorkflowsToInject`
|
|
- `RuleAction` is renamed to `RuleActions`
|
|
|
|
**Note**: The old models are still supported but will be removed with version 4.0.0
|
|
|
|
|
|
## [3.3.0]
|
|
- Added support for actions in nested rules
|
|
- Improved serialization support for System.Text.Json for workflow model
|
|
|
|
Breaking Change:
|
|
- Type of Action has been changed from `Dictionary<ActionTriggerType, ActionInfo>` to `RuleActions`
|
|
- No impact if you are serializing workflow from json
|
|
- For workflow objects created in code, refer - [link](https://github.com/microsoft/RulesEngine/pull/182/files#diff-a5093dda2dcc1e4958ce3533edb607bb61406e1f0a9071eca4e317bdd987c0d3)
|
|
|
|
## [3.2.0]
|
|
- Added AddOrUpdateWorkflow method to update workflows atomically (by @AshishPrasad)
|
|
- Updated dependencies to latest
|
|
|
|
Breaking Change:
|
|
- `AddWorkflow` now throws exception if you try to add a workflow which already exists.
|
|
Use `AddOrUpdateWorkflow` to update existing workflow
|
|
|
|
## [3.1.0]
|
|
- 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 registered workflows
|
|
- Runtime errors for expressions will now be logged as errorMessage instead of throwing Exceptions by default
|
|
- Fixed RuleParameter passed as null
|
|
|
|
## [3.0.2]
|
|
- Fixed LocalParams cache not getting cleaned up when RemoveWorkflows and ClearWorkflows are called
|
|
|
|
## [3.0.1]
|
|
- Moved ActionResult and ActionRuleResult under RulesEngine.Models namespace
|
|
|
|
|
|
## [3.0.0]
|
|
### Major Enhancements
|
|
- Added support for Actions. More details on [actions wiki](https://github.com/microsoft/RulesEngine/wiki/Actions)
|
|
- 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
|
|
|
|
### Breaking Changes
|
|
- `ExecuteRule` method has been renamed to `ExecuteAllRulesAsync`
|
|
- `Input` field in RuleResultTree has been changed to `Inputs` which returns all the the inputs as Dictionary of name and value pair
|
|
|
|
## [2.1.5] - 02-11-2020
|
|
- Added `Properties` field to Rule to allow custom fields to Rule
|
|
|
|
## [2.1.4] - 15-10-2020
|
|
- Added exception data properties to identify RuleName.
|
|
|
|
## [2.1.3] - 12-10-2020
|
|
- Optional parameter for rethrow exception on failure of expression compilation.
|
|
|
|
## [2.1.2] - 02-10-2020
|
|
- Fixed binary expression requirement. Now any expression will work as long as it evalutes to boolean.
|
|
|
|
## [2.1.1] - 01-09-2020
|
|
- Fixed exception thrown when errormessage field is null
|
|
- Added better messaging when identifier is not found in expression
|
|
- Fixed other minor bugs
|
|
|
|
## [2.1.0] - 18-05-2020
|
|
- Adding local param support to make expression authroing more intuitive.
|
|
|
|
## [2.0.0] - 18-05-2020
|
|
### Changed
|
|
- Interface simplified by removing redundant parameters in the IRulesEngine.
|
|
- Custom Logger replaced with Microsoft Logger.
|
|
|
|
## [1.0.2] - 16-01-2020
|
|
### Added
|
|
- Cache system added so that rules compilation is stored and thus made more efficient.
|
|
|
|
### Fix
|
|
- Concurrency issue which arose by dictionary was resolved.
|
|
|
|
## [1.0.1] - 24-09-2019
|
|
### Added
|
|
- Exceptions handling scenario in the case a rule execution throws an exception
|
|
|
|
## [1.0.0] - 20-08-2019
|
|
|
|
### Added
|
|
- The first version of the NuGet
|