You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add Tier-4 features: CancellationToken (#609), AutoExecuteActions (#596), additionalInputs example (#573)
All three are additive; default behavior is unchanged.
#609 — IRulesEngine.ExecuteAllRulesAsync gains an overload taking a
CancellationToken. The token is observed cooperatively between rules
(ExecuteAllRuleByWorkflow) and before each action (ExecuteActionAsync).
A single rule's compiled expression isn't interrupted mid-evaluation;
cancellation happens at rule/action boundaries where async work lives.
The new 3-arg overload (string, RuleParameter[], CancellationToken) is
strictly more specific than the existing `params object[]` overload, so
call-site overload resolution continues to bind to the params forms when
no token is supplied — no behavioral change at existing call sites.
#596 — New ReSettings.AutoExecuteActions (default true). When false,
ExecuteAllRulesAsync evaluates rules but skips automatic OnSuccess/OnFailure
action execution, letting callers run actions selectively via
ExecuteActionWorkflowAsync. Wired into the copy constructor.
#573 — EvaluateRuleAction already supports additionalInputs; the reporter
just lacked a working example. Added a test showing a computed additionalInput
("doubled" = input1.Value * 2) referenced by name in the target rule.
Deferred (documented in the PR, not implemented): #623 (Dynamic.Core method-
resolution limitation), #598 (non-standard implicit list projection), #565
(already achievable via NestedRuleExecutionMode.Performance), #569 (workflow
schema change needing maintainer buy-in), #564 and #550 (niche).
All 166 unit tests pass on net6 / net8 / net9 / net10.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+7Lines changed: 7 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,13 @@
2
2
3
3
All notable changes to this project will be documented in this file.
4
4
5
+
## [Unreleased]
6
+
7
+
### Features
8
+
-`IRulesEngine.ExecuteAllRulesAsync` gains an overload accepting a `CancellationToken`, observed cooperatively between rules and before each action. The existing `params object[]` and `params RuleParameter[]` overloads are unchanged; call-site overload resolution continues to pick them when no token is supplied (#609).
9
+
- New `ReSettings.AutoExecuteActions` (default `true`). Set to `false` to evaluate rules without automatically running their OnSuccess/OnFailure actions, so callers can run actions selectively via `ExecuteActionWorkflowAsync` (#596).
10
+
- Documented and tested passing computed `additionalInputs` into the `EvaluateRule` action — the additionalInput `Name` is referenced directly in the target rule's expression (#573).
0 commit comments