Temporal .NET SDK and Worker Versioning

So I wanted to learn how Worker versioning work when using Temporal .NET SDK.

In order to achieve this I forked money-transfer-project-template-dotnet into public repository: money-transfer-project-template-versioned-dotnet

As far as I tried to follow Worker Versioning from docs I can’t force this to work either in Pinned or AutoUpgrade default versioning behavior.

When I run my client workflow is being added to the server but that’s it - as I can see there aren’t any version information connected to mine workflow.

I could see that there is 1 worker with buildId I defined visible in the UI under Workers

ID Build ID Last Accessed Workflow Task Handler Activity Handler
19960@MWITEK 1.0 2026-01-14 UTC 20:21:16.35 :check_mark: :check_mark:

But It doesn’t want to take this job.

I’m only seeing thise two events:

And nothing more.

Event 1:

{
  "eventId": "1",
  "eventTime": "2026-01-14T20:07:10.098908732Z",
  "eventType": "WorkflowExecutionStarted",
  "taskId": "1048576",
  "workflowExecutionStartedEventAttributes": {
    "workflowType": {
      "name": "MoneyTransferWorkflow"
    },
    "taskQueue": {
      "name": "MONEY_TRANSFER_TASK_QUEUE",
      "kind": "TASK_QUEUE_KIND_NORMAL"
    },
    "input": {
      "payloads": [
        {
          "SourceAccount": "85-150",
          "TargetAccount": "43-812",
          "Amount": 400,
          "ReferenceId": "12345"
        }
      ]
    },
    "workflowTaskTimeout": "10s",
    "originalExecutionRunId": "019bbe1e-8612-7dda-bdd5-ad70f5dab669",
    "identity": "5156@MWITEK",
    "firstExecutionRunId": "019bbe1e-8612-7dda-bdd5-ad70f5dab669",
    "attempt": 1,
    "firstWorkflowTaskBackoff": "0s",
    "workflowId": "pay-invoice-ee9358f7-6f6c-4ec7-b6db-d9053a27d21a"
  },
  "links": []
}

Event 2:

{
  "eventId": "2",
  "eventTime": "2026-01-14T20:07:10.098961773Z",
  "eventType": "WorkflowTaskScheduled",
  "taskId": "1048577",
  "workflowTaskScheduledEventAttributes": {
    "taskQueue": {
      "name": "MONEY_TRANSFER_TASK_QUEUE",
      "kind": "TASK_QUEUE_KIND_NORMAL"
    },
    "startToCloseTimeout": "10s",
    "attempt": 1
  },
  "links": []
}

I might suspect that there also should be some kind of change made to the Workflow definition or Client call so I want to ask you all for help and to point me what I’m doing wrong.

Kind Regards

Versioned workers won’t receive any tasks until you promote the version. Have you called


temporal worker deployment set-current-version \
    --deployment-name "YourDeploymentName" \
    --build-id "YourBuildID"

on that version as described here?

Yes, thank you for your ansfer.
Before rechecking forum I re-read the docs - looks’s like I missed a rolling-out-changes-with-the-cli

Seems like something that might be automated by sdk maybe, or there might be some kind of auto execution of this already.

long story short - It works now, I will add shell scripts to my repo for maybe future developers that might have same issue.

1 Like

GitHub - temporalio/temporal-worker-controller is a tool that the versioning crew is working on to automate those rollout API calls if you want to take a look there. Do you run your workers in kubernetes or in some other way?