dapr / dapr/js-sdk

feat(workflows): Add named support to workflow versioning

Open
#800 0 comments 0 reactions 1 assignee Claimed by @WhitWaldo View on GitHub
area/workflow enhancement sdk-parity
Dominant language
JavaScript
Stars
217
Forks
104
PR merge metrics
No merged PRs in 30d

Description

Think about how to best implement workflow versioning with the Node SDK - this will take some time to understand if there's anything in the same vein as source generators available in this space as I'd really rather not take the approach done in the .NET SDKs here.

Here's the PR for .NET: https://github.com/dapr/dotnet-sdk/pull/1700

## Design Considerations
- How version is encoded in the workflow type name (e.g., myWorkflow::v2 vs metadata)
- Whether version selection is per-instance or global (latest-wins)
- Interaction with the Dapr sidecar's workflow type registry
- How to handle the case where an in-flight instance's version is no longer registered (results in a `Stalled` state from the runtime)

## Acceptance Criteria
- [ ] Multiple versions of the same workflow can be registered simultaneously
- [ ] New instances default to the latest registered version
- [ ] Instances can be explicitly started on a specific version
- [ ] In-flight instances replay against the version they were started with
- [ ] Attempting to replay against an unregistered version produces a clear error
- [ ] E2e tests covering multi-version scenario
- [ ] Documentation explaining when to use named versioning vs. patch versioning

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.