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). (b22956c) (fa2254f) (72597f7)
- Bookmarks model change:
Bookmarkmoved from a positional record to a mutable class (serialization/back-compat oriented). (ca268c1) (#7161) - DistributedLock package:
Elsa.Commonnow referencesDistributedLock.Coreinstead ofDistributedLock. (#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)
- Parameter binding extensibility (e.g. DI-backed parameters using
- Added a sample activity host (
Penguin) and registered it inElsa.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
Workflow dispatch notifications
- Added new notifications emitted by the background dispatcher. (#7157)
Tenant task lifecycle & dependencies
- Introduced
TenantTaskManagerand 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. (ca268c1) (#7161)
- Xunit logging: suppress “no currently active test” errors from late background log writes. (ca268c1) (#7161)
- Small cleanups:
🐛 Fixes
- Literal inputs:
ActivityExecutionContext.TryGet(...)correctly handlesLiteralreferences by returning the literal’s value directly. (#7075)
🧩 Developer-facing changes
- Attribute usage expanded:
🧪 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. (ca268c1) (#7161)
- Replace flaky
Task.DelaywithTaskCompletionSourcefor deterministic test synchronization. (2ff1693)
🔁 CI / Build
- Workflows updated:
📦 Full changelog (short)
- Improves tenant task management with dependencies (#7174)
- Make
correlationIdparameter non-optional inWorkflowExecutionContextconstructor. (fa798b0) - Remove unused
ClearCompletionCallbacksmethod fromWorkflowExecutionContext. (79a64e9) - Merge remote-tracking branch
origin/patch/3.5.4intorelease/3.6.0. (4e9b6d0) - Update
base_versionto3.6.0in GitHub workflow configuration. (72597f7) - Merge remote-tracking branch
origin/mainintorelease/3.6.0. (8f6ce7e) - Enhances distributed lock handling with resilience (#7161)
- Restore Literal handling in
ActivityExecutionContext.TryGet(#7075) - Update branch check in release workflow to include
release/*branches. (b22956c) - Update GitHub workflows to include
release/*branch targeting. (fa2254f) - Adds activity host registration support (#7172)
- Update
AttributeUsagetargets forInputAttribute,OutputAttribute, andActivityAttribute. (3778a14) - Merge pull request #7157 from
elsa-workflows/copilot/add-workflow-dispatch-notification(#7157) - Replace flaky
Task.DelaywithTaskCompletionSourcefor deterministic test synchronization. (2ff1693) - Merge branch
release/3.6.0. (3ed1833) - Replace DistributedLock meta-package with DistributedLock.Core in Elsa.Common (#7169)
- Merge pull request #7148 from
dwoldo/dwoldo/add-commit-strategy-defaults(#7148)