Skip to content

Commit 3e4b9af

Browse files
author
Yogesh Prajapati
committed
Release 6.0.1-preview.1
Bump <Version> from 6.0.0 to 6.0.1-preview.1 and add a CHANGELOG entry covering the three PRs landed since 6.0.0: #727 (perf cache restore), #728 (action-exception propagation, list schema union, OutputExpression hint, global-param dedup, object-return diagnostics), and #729 (ExecuteActionWorkflowAsync FormatErrorMessages, ActionContext null guard, deep ErrorMessage interpolation, plus regression guards for #581, #590, #606, #608).
1 parent 3c5350d commit 3e4b9af

2 files changed

Lines changed: 22 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,27 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## [6.0.1-preview.1]
6+
7+
### Performance
8+
- Restored the compiled-expression cache in `RuleExpressionParser` that was removed in 5.0.1, fixing a 10×–1900× regression on the direct parser, `ExecuteActionWorkflowAsync`, and fresh-engine paths. The cache is now instance-scoped with a settings fingerprint in the key, avoiding the latent cross-settings bug the original static cache had (#673, #727).
9+
10+
### Fixes
11+
- `EnableExceptionAsErrorMessage = false` now correctly propagates exceptions thrown from custom actions' `Run()` — they were previously swallowed into `ActionRuleResult.Exception` (#624, #728).
12+
- `Utils.CreateAbstractClassType` now unions schemas across every element of an `ExpandoObject`/`Dictionary` list, so properties that appear only in later elements are no longer dropped (#704, #728).
13+
- `OutputExpressionAction` detects C#-style anonymous-object syntax (`new { X = ... }`) and replaces the cryptic "missing 'as' clause" Dynamic.Core error with a clear hint pointing at the correct `new (value as X, ...)` form (#711, #728).
14+
- Workflow `GlobalParams` are now evaluated **once per `ExecuteAllRulesAsync` call** instead of once per rule. A delegate is compiled at registration time and results are appended to each rule's inputs (#714, #728).
15+
- `LambdaExpressionBuilder` detects "exists in type 'Object'" / "'System.Object'" parse errors and appends a helpful hint when a custom method's `object` return type is the cause (#717, #728).
16+
- `ExecuteActionWorkflowAsync` now runs `FormatErrorMessages` like `ExecuteAllRulesAsync` does, so `Rule.ErrorMessage` templates are interpolated into `ExceptionMessage` consistently across both APIs (#519, #729).
17+
- `ActionContext` no longer NREs when a rule action's `Context` (or a nested value) is null — common for custom actions that don't need configuration (#576, #729).
18+
- `ErrorMessage` interpolation now walks arbitrary-depth dotted paths via `JsonNode`: `$(input.Inner.Name)` resolves to the leaf scalar instead of the raw JSON of the intermediate object (#696, #729).
19+
20+
### Regression guards added (already fixed upstream, now covered by tests)
21+
- #581 — custom `RuleParameter` names not being honored (resolved by `AutoRegisterInputType` in 5.0.1).
22+
- #590 — exception state from one execution leaking into the next (resolved by #592 in 5.0.3).
23+
- #606 — lambda parameter on the left side of `=>` reported as unknown identifier (resolved by `System.Linq.Dynamic.Core` 1.4.3 → 1.6.7 bumps).
24+
- #608`UseFastExpressionCompiler = true` NRE on chained scoped-param `Sum()` (resolved by recent `FastExpressionCompiler` upgrades).
25+
526
## [5.0.3]
627
- Updated dependencies to latest
728
- Fixed RulesEngine throwing exception when type name is same as input name

src/RulesEngine/RulesEngine.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<PropertyGroup>
44
<TargetFrameworks>net6.0;net8.0;net9.0;net10.0;netstandard2.0;netstandard2.1</TargetFrameworks>
55
<LangVersion>13.0</LangVersion>
6-
<Version>6.0.0</Version>
6+
<Version>6.0.1-preview.1</Version>
77
<Copyright>Copyright (c) Microsoft Corporation.</Copyright>
88
<PackageLicenseFile>LICENSE</PackageLicenseFile>
99
<PackageProjectUrl>https://github.com/microsoft/RulesEngine</PackageProjectUrl>

0 commit comments

Comments
 (0)