Skip to content

Add upgrade-on-CaN (trampolining) support#404

Open
THardy98 wants to merge 2 commits intomainfrom
pr/trampolining
Open

Add upgrade-on-CaN (trampolining) support#404
THardy98 wants to merge 2 commits intomainfrom
pr/trampolining

Conversation

@THardy98
Copy link
Contributor

@THardy98 THardy98 commented Mar 20, 2026

Summary

  • Adds ContinueAsNewVersioningBehavior and SuggestContinueAsNewReason enums
  • Adds Workflow.target_worker_deployment_version_changed? and Workflow.suggest_continue_as_new_reasons APIs
  • Adds initial_versioning_behavior option on ContinueAsNewError for AUTO_UPGRADE behavior
  • Integration test covering full CAN version upgrade flow (v1 pinned → detect version change → CAN with AUTO_UPGRADE → v2)
  • RBS type signatures for all new APIs

Allows pinned workflows to detect when a newer deployment version is available and explicitly continue-as-new with AUTO_UPGRADE to switch to it.

Ref: temporalio/features#738

Allows pinned workflows to upgrade to a newer deployment version by
continuing-as-new with AUTO_UPGRADE behavior. Adds:

- ContinueAsNewVersioningBehavior enum (UNSPECIFIED, AUTO_UPGRADE)
- SuggestContinueAsNewReason enum
- Workflow.target_worker_deployment_version_changed? API
- Workflow.suggest_continue_as_new_reasons API
- initial_versioning_behavior option on ContinueAsNewError
- Integration test for full CAN version upgrade flow
- RBS type signatures for all new APIs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@THardy98 THardy98 changed the title Add continue-as-new version upgrade (trampolining) support Upgrade on CaN (trampolining) support Mar 20, 2026
@THardy98 THardy98 changed the title Upgrade on CaN (trampolining) support Add upgrade-on-CaN (trampolining) support Mar 20, 2026
@THardy98 THardy98 marked this pull request as ready for review March 20, 2026 16:25
@THardy98 THardy98 requested a review from a team as a code owner March 20, 2026 16:25
The sdk-core bump changed the Nexus handler error message. Comment out
the message assertion until the failure message is stabilized, matching
the approach taken in the TypeScript SDK (PR #1972).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.

1 participant