feat(workflows): Add named support to workflow versioning
- 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.