Unclaimed project
Are you a maintainer of elsa-core? Claim this project to take control of your public changelog and roadmap.
Claim this projectChangelog
elsa-core
The Workflow Engine for .NET
Back to changelogImproved
3.6.0 RC2
Compare: 3.6.0-rc1...3.6.0-rc2
⚠️ Breaking changes / upgrade notes
- CI / SDK: GitHub workflow now uses .NET SDK 10.x (was 9.x). (b22956c792) (fa2254f41b) (72597f733f)
- Bookmarks model change:
Bookmark moved from a positional record to a mutable class (serialization/back-compat oriented). (ca268c16ad) (#7161)
- DistributedLock package:
Elsa.Common now references DistributedLock.Core instead of DistributedLock. (#7169)
✨ New features
Activity hosts / host-method activities
- Introduced host-method activities: expose public methods on configured CLR types as workflow activities. (#7172)
- Parameter binding extensibility (e.g. DI-backed parameters using
[FromServices]). (#7172)
- Added a sample activity host (
Penguin) and registered it in Elsa.Server.Web. (#7172)
Commit strategies (defaults)
- Added support for global default commit strategies (fallback when no explicit strategy is configured). (#7148)
Resilience / transient exception detection
- Added transient exception detection infrastructure and registration. (ca268c16ad) (#7161)
Workflow dispatch notifications
- Added new notifications emitted by the background dispatcher. (#7157)
Tenant task lifecycle & dependencies
- Introduced
TenantTaskManager and dependency ordering support ([TaskDependency], TopologicalTaskSorter). (#7174)
🔧 Improvements
- Distributed runtime lock resilience: Polly retry around distributed lock acquisition (with transient exception detection), and safer lock release behavior. (#7161)
- Mediator background services: improved cancellation handling to avoid noisy failures. (ca268c16ad) (#7161)
- Xunit logging: suppress “no currently active test” errors from late background log writes. (ca268c16ad) (#7161)
- Small cleanups:
- Make
correlationId parameter non-optional in WorkflowExecutionContext constructor. (fa798b0a47)
- Remove unused
ClearCompletionCallbacks from WorkflowExecutionContext. (79a64e90fd)
🐛 Fixes
- Literal inputs:
ActivityExecutionContext.TryGet(...) correctly handles Literal references by returning the literal’s value directly. (#7075)
🧩 Developer-facing changes
- Attribute usage expanded:
ActivityAttribute: now valid on classes, interfaces, and methods. (3778a14e54)
InputAttribute: now valid on properties and parameters. (3778a14e54)
OutputAttribute: now valid on properties, classes, methods, and return values. (3778a14e54)
🧪 Tests
- Added/expanded coverage for:
- Host method activity registration & descriptor behavior. (#7172)
- Distributed lock resilience (acquisition retries + release failure behavior). (#7161)
- Literal input handling. (#7075)
- Default workflow/activity commit strategy behavior. (#7148)
- Workflow dispatch notifications. (#7157)
- Tenant task dependency ordering / topological sorting. (#7174)
- Transient exception strategy & detector behavior. (ca268c16ad) (#7161)
- Replace flaky
Task.Delay with TaskCompletionSource for deterministic test synchronization. (2ff1693cd5)
🔁 CI / Build
- Workflows updated:
- Triggers include
release/*. (fa2254f41b) (b22956c792)
base_version set to 3.6.0. (72597f733f)
.NET SDK set to 10.x. (b22956c792)
📦 Full changelog (short)
- Improves tenant task management with dependencies (#7174)
- Make
correlationId parameter non-optional in WorkflowExecutionContext constructor. (fa798b0a47)
- Remove unused
ClearCompletionCallbacks method from WorkflowExecutionContext. (79a64e90fd)
- Merge remote-tracking branch
origin/patch/3.5.4 into release/3.6.0. (4e9b6d0a01)
- Update
base_version to 3.6.0 in GitHub workflow configuration. (72597f733f)
- Merge remote-tracking branch
origin/main into release/3.6.0. (8f6ce7eb8c)
- Enhances distributed lock handling with resilience (#7161)
- Restore Literal handling in
ActivityExecutionContext.TryGet (#7075)
- Update branch check in release workflow to include
release/* branches. (b22956c792)
- Update GitHub workflows to include
release/* branch targeting. (fa2254f41b)
- Adds activity host registration support (#7172)
- Update
AttributeUsage targets for InputAttribute, OutputAttribute, and ActivityAttribute. (3778a14e54)
- Merge pull request #7157 from
elsa-workflows/copilot/add-workflow-dispatch-notification (#7157)
- Replace flaky
Task.Delay with TaskCompletionSource for deterministic test synchronization. (2ff1693cd5)
- Merge branch
release/3.6.0. (3ed1833b85)
- Replace DistributedLock meta-package with DistributedLock.Core in Elsa.Common (#7169)
- Merge pull request #7148 from
dwoldo/dwoldo/add-commit-strategy-defaults (#7148)