Skip to content

feat(workflows): Add named support to workflow versioning #800

@WhitWaldo

Description

@WhitWaldo

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: dapr/dotnet-sdk#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

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions