docs: refresh roadmap status
This commit is contained in:
parent
f50d6e984e
commit
0157a83cd0
13
ROADMAP.md
13
ROADMAP.md
|
|
@ -1,6 +1,6 @@
|
|||
# Elsa Roadmap
|
||||
|
||||
Last refreshed: 2026-09-05 (release-status corrections for Elsa 3.8.0)
|
||||
Last refreshed: 2026-09-09 (post-3.8 Studio BPMN and runtime-admission status)
|
||||
|
||||
This roadmap is a product direction document, not a fixed release calendar. Elsa is developed through a mix of core maintainer work, customer-funded work, and community contributions, so sequencing can change when real-world demand changes. The intent is stable: make Elsa the most productive, dependable, and extensible workflow platform for the .NET ecosystem.
|
||||
|
||||
|
|
@ -27,6 +27,7 @@ Legend: `[x]` shipped foundation, `[~]` partially shipped or needs productizatio
|
|||
- [~] State machine Studio semantic authoring is released in `3.8.0`; maintained docs/examples and broader authenticated browser validation remain
|
||||
- [~] Extensible activity output conversion: Core contracts, descriptor discovery, binding validation, and Studio selection/settings UX are released in `3.8.0`; a maintained extension converter catalog remains productization work
|
||||
- [~] Graceful shutdown and interrupted recovery
|
||||
- [ ] Atomic workflow admission for configured activation strategies across every start path; correlated and singleton policies need an atomic reservation rather than a check-then-act count ([#7948](https://github.com/elsa-workflows/elsa-core/issues/7948), [#8042](https://github.com/elsa-workflows/elsa-core/issues/8042))
|
||||
- [ ] Full workflow execution recovery UX
|
||||
- [ ] Compensation / saga support
|
||||
- [ ] Variable history tracking
|
||||
|
|
@ -92,7 +93,7 @@ Legend: `[x]` shipped foundation, `[~]` partially shipped or needs productizatio
|
|||
- [ ] Azure Functions / worker-service hosting guidance
|
||||
- [ ] WatchFileSystem and command-line automation activities
|
||||
- [ ] Data pipeline / ETL primitives
|
||||
- [~] BPMN execution and interchange foundations (included in Core `3.8.0-rc2`; Studio authoring and conformance breadth remain)
|
||||
- [~] BPMN execution and interchange foundations, with main-only Studio schema types, rendering, import/export, and nested-scope authoring; broader editing, inspection, conformance, and release packaging remain ([elsa-studio#1008](https://github.com/elsa-workflows/elsa-studio/pull/1008)-[#1013](https://github.com/elsa-workflows/elsa-studio/pull/1013))
|
||||
|
||||
## Current Foundations
|
||||
|
||||
|
|
@ -114,7 +115,7 @@ These are already present in the codebase and should be treated as foundations f
|
|||
- Studio's state-machine designer now has semantic lifecycle slots, a context-aware activity picker, malformed-definition preservation, and nested-designer support through [elsa-studio#958](https://github.com/elsa-workflows/elsa-studio/pull/958) and [elsa-studio#959](https://github.com/elsa-workflows/elsa-studio/pull/959). The semantic-authoring foundation is released in `3.8.0`, with further StateMachine runtime and designer fixes in [Core #8010](https://github.com/elsa-workflows/elsa-core/pull/8010) and [Studio #985](https://github.com/elsa-workflows/elsa-studio/pull/985). Maintained documentation/examples and broader authenticated browser validation still keep the product surface partial.
|
||||
- Core `main` now has extensible output-converter contracts, registration, definition/runtime validation, privacy-safe conversion faults, and an authorized descriptor API through [PR #7902](https://github.com/elsa-workflows/elsa-core/pull/7902). Studio `main` consumes that API with unavailable-state handling, converter selection, and schema-driven settings editing in [elsa-studio#922](https://github.com/elsa-workflows/elsa-studio/pull/922). Converters are opt-in at a variable or workflow-output binding, so the activity output and its diagnostics remain native. This foundation is included in `3.8.0`; a maintained extension converter catalog is still follow-up work ([#7770](https://github.com/elsa-workflows/elsa-core/issues/7770), [elsa-extensions#164](https://github.com/elsa-workflows/elsa-extensions/issues/164)).
|
||||
- ElsaScript DSL and blob storage integration in [`Elsa.Dsl.ElsaScript`](src/modules/Elsa.Dsl.ElsaScript) and [`Elsa.WorkflowProviders.BlobStorage.ElsaScript`](src/modules/Elsa.WorkflowProviders.BlobStorage.ElsaScript).
|
||||
- Core `main` now contains `Elsa.Bpmn` and `Elsa.Bpmn.Interchange`: a BPMN process container, persisted execution state, activity bindings, message/signal/timer triggers, and analyze/import/export endpoints ([#7938](https://github.com/elsa-workflows/elsa-core/pull/7938), [#7945](https://github.com/elsa-workflows/elsa-core/pull/7945), [#7946](https://github.com/elsa-workflows/elsa-core/pull/7946), [#7954](https://github.com/elsa-workflows/elsa-core/pull/7954), [#7956](https://github.com/elsa-workflows/elsa-core/pull/7956)). The two packages joined Core `3.8.0-rc2` through [#7970](https://github.com/elsa-workflows/elsa-core/pull/7970); publish-time validation, compensation/transaction conformance coverage, and Studio rendering/authoring remain productization work ([#7958](https://github.com/elsa-workflows/elsa-core/pull/7958), [#7960](https://github.com/elsa-workflows/elsa-core/pull/7960), [#7909](https://github.com/elsa-workflows/elsa-core/issues/7909)).
|
||||
- Core `main` now contains `Elsa.Bpmn` and `Elsa.Bpmn.Interchange`: a BPMN process container, persisted execution state, activity bindings, message/signal/timer triggers, and analyze/import/export endpoints ([#7938](https://github.com/elsa-workflows/elsa-core/pull/7938), [#7945](https://github.com/elsa-workflows/elsa-core/pull/7945), [#7946](https://github.com/elsa-workflows/elsa-core/pull/7946), [#7954](https://github.com/elsa-workflows/elsa-core/pull/7954), [#7956](https://github.com/elsa-workflows/elsa-core/pull/7956)). The two packages joined Core `3.8.0-rc2` through [#7970](https://github.com/elsa-workflows/elsa-core/pull/7970). Studio `main` now adds schema-generated BPMN payload types, a canvas-neutral model and X6 renderer, read-only imported-process viewing, import/export, and nested-process-scope authoring ([elsa-studio#1008](https://github.com/elsa-workflows/elsa-studio/pull/1008), [#1009](https://github.com/elsa-workflows/elsa-studio/pull/1009), [#1010](https://github.com/elsa-workflows/elsa-studio/pull/1010), [#1011](https://github.com/elsa-workflows/elsa-studio/pull/1011), [#1012](https://github.com/elsa-workflows/elsa-studio/pull/1012), [#1013](https://github.com/elsa-workflows/elsa-studio/pull/1013)). This Studio slice landed after `3.8.0` and is not a release claim. Publish-time validation, compensation/transaction and event-subprocess conformance, full element/property editing, element-level instance inspection, configured-host verification, and release packaging remain productization work ([#7958](https://github.com/elsa-workflows/elsa-core/pull/7958), [#7960](https://github.com/elsa-workflows/elsa-core/pull/7960), [#7909](https://github.com/elsa-workflows/elsa-core/issues/7909), [elsa-studio#1000](https://github.com/elsa-workflows/elsa-studio/issues/1000), [elsa-studio#1001](https://github.com/elsa-workflows/elsa-studio/issues/1001), [elsa-studio#1004](https://github.com/elsa-workflows/elsa-studio/issues/1004)).
|
||||
- Core and Studio `main` now provide the paired User Tasks foundation: Core has durable, identity-neutral workflow-bound tasks, authorized lifecycle APIs, guest invitations, workers, and in-memory, EF Core, and VNext persistence; Studio has a capability-gated queue, detail and manager workspace, guest completion page, and polling fallback ([#7955](https://github.com/elsa-workflows/elsa-core/pull/7955), [elsa-studio#941](https://github.com/elsa-workflows/elsa-studio/pull/941)). It landed after `3.8.0-rc2`, so release packaging, Core realtime invalidation, cross-provider conformance coverage, samples, and operational validation remain.
|
||||
- Activity unit testing helpers and guidance in [`src/common/Elsa.Testing.Shared`](src/common/Elsa.Testing.Shared) and [`doc/qa/test-guidelines.md`](doc/qa/test-guidelines.md).
|
||||
- Label infrastructure now spans Core and Studio: [`Elsa.Labels`](src/modules/Elsa.Labels) exposes label and workflow-label endpoints, and [`Elsa.Studio.Labels`](https://github.com/elsa-workflows/elsa-studio/tree/main/src/modules/Elsa.Studio.Labels) adds label management pages plus workflow-definition label editing. Folder views, broader metadata search, and richer organization UX remain roadmap work.
|
||||
|
|
@ -198,7 +199,7 @@ High-value items:
|
|||
- Resolve the MassTransit strategy after the v9 licensing change. [discussion #6583](https://github.com/elsa-workflows/elsa-core/discussions/6583) raises a practical ecosystem risk; Elsa should either provide a clean split or reduce dependency weight through a smaller messaging abstraction.
|
||||
- Clarify Azure Functions and worker-service hosting patterns. [discussion #4707](https://github.com/elsa-workflows/elsa-core/discussions/4707) and [discussion #7420](https://github.com/elsa-workflows/elsa-core/discussions/7420) show demand for non-traditional hosts, Windows services, and serverless-adjacent deployments.
|
||||
- Add data movement and streaming workflow primitives. [#4809](https://github.com/elsa-workflows/elsa-core/issues/4809) frames this as datasets, linked services, transforms, and stream-oriented processing inspired by Azure Data Factory and stream analytics.
|
||||
- Productize the new BPMN foundation rather than treating BPMN as a distant, unimplemented candidate. Core `3.8.0-rc2` now packages BPMN execution and interchange; the remaining work is compensation/transaction and event-subprocess conformance, final-release validation, and the Studio canvas/binding/inspection experience described in [#7909](https://github.com/elsa-workflows/elsa-core/issues/7909). Keep interoperability commitments explicit until the supported BPMN 2.0 subset has public conformance evidence.
|
||||
- Productize the BPMN foundation rather than treating BPMN as a distant, unimplemented candidate. Core `3.8.0-rc2` packages execution and interchange, and Studio `main` now has schema-generated types, X6 rendering, import/export, and nested-scope authoring ([elsa-studio#1008](https://github.com/elsa-workflows/elsa-studio/pull/1008)-[#1013](https://github.com/elsa-workflows/elsa-studio/pull/1013)). The next work is compensation/transaction and event-subprocess conformance, configured-host and release validation, full element/property editing, and element-level instance inspection described in [#7909](https://github.com/elsa-workflows/elsa-core/issues/7909). Keep interoperability commitments explicit until the supported BPMN 2.0 subset has public conformance evidence.
|
||||
|
||||
Recommended success measures:
|
||||
|
||||
|
|
@ -269,12 +270,12 @@ Recommended success measures:
|
|||
|
||||
Near term:
|
||||
|
||||
1. Finish runtime confidence work: graceful shutdown remaining tasks, recovery clarity, distributed runtime regressions, security documentation, and OIDC recipes.
|
||||
1. Finish runtime confidence work: graceful shutdown remaining tasks, recovery clarity, atomic admission for configured activation strategies, distributed runtime regressions, security documentation, and OIDC recipes.
|
||||
2. Stabilize Studio authoring: designer regression harness, input/property-editor fixes, async dispatch/run UX, state machine Studio/docs completion, and a clear UI framework direction.
|
||||
3. Operationalize the diagnostics modules released in Core and Studio `3.8.0`: maintain collector setup guidance, validate the paired experience under operational load, and correlate traces/logs/metrics with workflow incidents.
|
||||
4. Make workflow authoring easier to manage at scale: organization, search, progress/timeline APIs, testing docs, output-converter release/extension completion, and user preference/table-state persistence.
|
||||
5. Reconcile shipped extension foundations with roadmap status: package manifests, Connections/Secrets, OpenAPI, Agents, schedulers, messaging, and integration maturity labels.
|
||||
6. Productize the BPMN runtime/interchange foundation: complete validation and conformance work, define the supported subset, package it, and start the Studio rendering/authoring slice.
|
||||
6. Productize the BPMN runtime/interchange foundation: complete validation and conformance work, define the supported subset, release the main-only Studio rendering/import/export/nested-authoring slice, and then add full editing and instance inspection.
|
||||
|
||||
Mid term:
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue