Skip to content

doc: add Elsa 3.6.0 release notes as doc/changelogs/3.6.0.md#7347

Merged
sfmskywalker merged 2 commits intorelease/3.6.0from
copilot/update-version-to-3-6-0
Mar 5, 2026
Merged

doc: add Elsa 3.6.0 release notes as doc/changelogs/3.6.0.md#7347
sfmskywalker merged 2 commits intorelease/3.6.0from
copilot/update-version-to-3-6-0

Conversation

Copy link
Contributor

Copilot AI commented Mar 5, 2026

Persists the 3.6.0 release notes as a versioned markdown file in the repository under doc/changelogs/.

What's included

  • Full developer-facing changelog comparing 3.5.3...3.6.0
  • 5 breaking changes with explicit migration guidance (EF Core V3_6 migrations, tenant ID semantics shift, DistributedLock meta-package removal, DefaultRegistriesPopulator constructor change)
  • New features: activity host registration, consumers API + recursive export, default commit strategies, dispatch lifecycle notifications, multitenancy enhancements
  • Bug fixes: WaitAny race condition, cross-tenant cache collision, Zstd memory leak, Literal regression, workflow reload pipeline issues
  • Per-item commit SHAs and PR links throughout

Notes

doc/releases/ was not usable — .gitignore line 27 matches [Rr]elease*/ directories. Used doc/changelogs/ instead.


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI changed the title [WIP] Update version to 3.6.0 for release Release notes for Elsa 3.6.0 Mar 5, 2026
Co-authored-by: sfmskywalker <938393+sfmskywalker@users.noreply.github.com>
Copilot AI changed the title Release notes for Elsa 3.6.0 doc: add Elsa 3.6.0 release notes as doc/changelogs/3.6.0.md Mar 5, 2026
@sfmskywalker sfmskywalker marked this pull request as ready for review March 5, 2026 12:41
@sfmskywalker sfmskywalker merged commit 9d1bf99 into release/3.6.0 Mar 5, 2026
3 checks passed
@sfmskywalker sfmskywalker deleted the copilot/update-version-to-3-6-0 branch March 5, 2026 12:41
@greptile-apps
Copy link
Contributor

greptile-apps bot commented Mar 5, 2026

Greptile Summary

This PR adds a versioned developer-facing changelog for the 3.6.0 release at doc/changelogs/3.6.0.md, covering 5 breaking changes, several new features (activity host registration, dispatch notifications, consumers API), and a number of bug fixes and improvements. The file is well-structured and links each change to its source commit and PR.

Issues found:

  • Incorrect commit SHA in the breaking changes section (line 9): The database migration breaking change (#7338) is linked to commit d4b69be44b, which is actually the WaitAny join-ordering fix (#7340). The correct SHA is 71438596f3 — as accurately cited in the Fixes section on line 83. This mismatch will mislead readers navigating to the source of the migration change.
  • Possible undocumented breaking changes (line 146): The WorkflowExecutionContext entries in the Full changelog section — removal of ClearCompletionCallbacks and making correlationId non-optional — may be public API breaking changes that belong in the top-level breaking changes section. Worth confirming whether these affect external consumers.

Confidence Score: 4/5

  • Safe to merge after correcting the wrong commit SHA in the database migrations breaking change entry.
  • This is a documentation-only change with no code impact. The content is comprehensive and well-organized. The one factual error (wrong SHA on line 9) is a straightforward fix and does not affect the repository's runtime behavior, but it could mislead users following the link to understand the migration. The potential unlisted breaking changes in WorkflowExecutionContext need a quick confirmation but are unlikely to be a material concern for most users.
  • doc/changelogs/3.6.0.md — the incorrect commit SHA reference on line 9 should be corrected before merging.

Important Files Changed

Filename Overview
doc/changelogs/3.6.0.md New 3.6.0 release notes file; contains a factual inaccuracy on line 9 where commit SHA d4b69be44b (the WaitAny fix, #7340) is incorrectly referenced for the database migration breaking change (#7338) — the correct SHA is 71438596f3.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A["3.6.0 Release Notes"] --> B["⚠️ Breaking Changes"]
    A --> C["✨ New Features"]
    A --> D["🔧 Improvements"]
    A --> E["🐛 Bug Fixes"]

    B --> B1["DB Migrations — ActivityNodeId widened\n(#7338 → 71438596f3 ✓)"]
    B --> B2["Multitenancy — TenantId convention\nnull → agnostic, '' → default (#7217, #7226)"]
    B --> B3["DefaultRegistriesPopulator constructor\n+ INotificationSender (#7293)"]
    B --> B4["Elsa.Common — DistributedLock.Core\n(#7169)"]

    C --> C1["Activity host registration\n(HostMethodActivity / #7172)"]
    C --> C2["Dispatch lifecycle notifications\n(BackgroundWorkflowDispatcher / #7157)"]
    C --> C3["Consumers API & recursive export\n(GET /workflow-definitions/.../consumers / #7309)"]
    C --> C4["Default commit strategies\n(WithDefaultWorkflowCommitStrategy / #7148)"]

    E --> E1["WaitAny race condition fix\n(#7340 → d4b69be44b ✓)"]
    E --> E2["Cross-tenant cache collision\n(CachingWorkflowDefinitionService / #7318)"]
    E --> E3["Zstd IronCompress memory leak\n(#7193)"]
    E --> E4["Literal regression\n(ActivityExecutionContext.TryGet / #7075)"]

    style B fill:#ffe0e0,stroke:#c00
    style C fill:#e0f7e0,stroke:#080
    style D fill:#e0e8ff,stroke:#008
    style E fill:#fff3cd,stroke:#b80
Loading

Last reviewed commit: a4cb1e0


## ⚠️ Breaking changes / upgrade notes

- **Database migrations (EF Core — all providers)**: `ActivityNodeId` columns in `ActivityExecutionRecords` and `WorkflowExecutionLogRecords` have been widened to unlimited types (`nvarchar(max)` / `longtext` / `NCLOB`) to support deeply nested workflows. The corresponding B-tree indexes (`IX_ActivityExecutionRecord_ActivityNodeId`, `IX_WorkflowExecutionLogRecord_ActivityNodeId`) are dropped as part of the V3_6 migrations. **You must apply the EF Core migrations before upgrading to 3.6.0 in any SQL Server, MySQL, or Oracle deployment.** ([d4b69be44b](https://github.com/elsa-workflows/elsa-core/commit/d4b69be44b)) ([#7338](https://github.com/elsa-workflows/elsa-core/pull/7338))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wrong commit SHA linked to database migrations breaking change

The commit link d4b69be44b does not point to the EF Core / ActivityNodeId column-widening change — it is actually the commit for the WaitAny join-ordering fix (#7340). The correct SHA for the database migration work (#7338) is 71438596f3, as correctly used on line 83 under the Fixes section.

Readers who click this link to understand the breaking migration will be taken to the wrong change, which could cause confusion when they are preparing upgrade steps.

Suggested change
- **Database migrations (EF Core — all providers)**: `ActivityNodeId` columns in `ActivityExecutionRecords` and `WorkflowExecutionLogRecords` have been widened to unlimited types (`nvarchar(max)` / `longtext` / `NCLOB`) to support deeply nested workflows. The corresponding B-tree indexes (`IX_ActivityExecutionRecord_ActivityNodeId`, `IX_WorkflowExecutionLogRecord_ActivityNodeId`) are dropped as part of the V3_6 migrations. **You must apply the EF Core migrations before upgrading to 3.6.0 in any SQL Server, MySQL, or Oracle deployment.** ([d4b69be44b](https://github.com/elsa-workflows/elsa-core/commit/d4b69be44b)) ([#7338](https://github.com/elsa-workflows/elsa-core/pull/7338))
- **Database migrations (EF Core — all providers)**: `ActivityNodeId` columns in `ActivityExecutionRecords` and `WorkflowExecutionLogRecords` have been widened to unlimited types (`nvarchar(max)` / `longtext` / `NCLOB`) to support deeply nested workflows. The corresponding B-tree indexes (`IX_ActivityExecutionRecord_ActivityNodeId`, `IX_WorkflowExecutionLogRecord_ActivityNodeId`) are dropped as part of the V3_6 migrations. **You must apply the EF Core migrations before upgrading to 3.6.0 in any SQL Server, MySQL, or Oracle deployment.** ([71438596f3](https://github.com/elsa-workflows/elsa-core/commit/71438596f3)) ([#7338](https://github.com/elsa-workflows/elsa-core/pull/7338))

## 📦 Full changelog

- **Trigger serialization fix** (`WorkflowTriggerEqualityComparer`): avoid type discriminator injection during equality comparison. ([6f53c26f24](https://github.com/elsa-workflows/elsa-core/commit/6f53c26f24))
- **`WorkflowExecutionContext`**: removed unused `ClearCompletionCallbacks` method; `correlationId` parameter made non-optional in the constructor. ([fa798b0a47](https://github.com/elsa-workflows/elsa-core/commit/fa798b0a47), [79a64e90fd](https://github.com/elsa-workflows/elsa-core/commit/79a64e90fd))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Potentially undocumented breaking changes in Full changelog section

Two changes listed only in the Full changelog section may qualify as public API breaking changes and could warrant entries in the ⚠️ Breaking changes / upgrade notes section:

  1. ClearCompletionCallbacks removed from WorkflowExecutionContext — any external code calling this method will fail to compile after upgrading.
  2. correlationId constructor parameter made non-optional in WorkflowExecutionContext — callers that previously relied on the parameter being optional (or omitting it) will also fail to compile.

If these only affect internal/framework-level usage, no action is needed. However, if they are part of the public API surface, consider promoting them to the breaking changes section so that upgrading users are made aware before running into build errors.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants