Skip to content

💥 [BREAKING CHANGE] Rename Nexus Operation classes used in a workflow in preparation for Stand alone Nexus operations#619

Merged
Quinn-With-Two-Ns merged 5 commits intotemporalio:mainfrom
Quinn-With-Two-Ns:issue-618
Mar 10, 2026
Merged

💥 [BREAKING CHANGE] Rename Nexus Operation classes used in a workflow in preparation for Stand alone Nexus operations#619
Quinn-With-Two-Ns merged 5 commits intotemporalio:mainfrom
Quinn-With-Two-Ns:issue-618

Conversation

@Quinn-With-Two-Ns
Copy link
Copy Markdown
Contributor

@Quinn-With-Two-Ns Quinn-With-Two-Ns commented Feb 26, 2026

Rename Nexus Operation classes used in a workflow. I went with inserting Workflow into the name, but am open to other suggestions.

closes #618


Note

Medium Risk
Breaking public API rename across workflow Nexus client/handle/options and related interceptor signatures; functional behavior appears unchanged but downstream projects will require code updates and any missed rename could surface as runtime/compile failures.

Overview
Renames the workflow-scoped Nexus API surface to explicitly include Workflow in the type names, updating Workflow.CreateNexusClient to Workflow.CreateNexusWorkflowClient and renaming NexusClient*, NexusOperationHandle*, and related options to NexusWorkflowClient*, NexusWorkflowOperationHandle*, and NexusWorkflow*Options.

Updates all internal plumbing and interception points (workflow outbound interceptors, OpenTelemetry TracingInterceptor, and WorkflowInstance implementations) plus tests and README references to use the new names.

Written by Cursor Bugbot for commit e01b7bd. This will update automatically on new commits. Configure here.

@Quinn-With-Two-Ns Quinn-With-Two-Ns marked this pull request as ready for review February 26, 2026 17:39
@Quinn-With-Two-Ns Quinn-With-Two-Ns requested a review from a team as a code owner February 26, 2026 17:39
/// <remarks>WARNING: Nexus support is experimental.</remarks>
public static NexusClient CreateNexusClient(string service, string endpoint) =>
CreateNexusClient(service, new NexusClientOptions(endpoint));
public static NexusWorkflowClient CreateNexusWorkflowClient(string service, string endpoint) =>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Arguably the method name here (and in interceptors) should stay the same. It is clearly in the workflow class, there is no ambiguity, and there is not much value in qualifying the method name. (of course return type being NexusWorkflowClient makes sense)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it'd be odd for the method names to not match the type returned, but i'll defer to you and Justin

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree with Quinn on this. And it leaves room in the future if we need to return some other type of Nexus client that isn't a NexusWorkflowClient.

@Quinn-With-Two-Ns Quinn-With-Two-Ns changed the title Rename Nexus Operation classes used in a workflow in preparation for Stand alone Nexus operations 💥 [BREAKING CHANGE] Rename Nexus Operation classes used in a workflow in preparation for Stand alone Nexus operations Feb 27, 2026
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.

[Feature Request] Rename Nexus Operation classes used in a workflow in preparation for Stand alone Nexus operations

3 participants