Temporal worker update process recommendation

Hi folks,

What is the recommended way to to update temporal worker with no down time? Our current setup works by deploying new bit to a parallel worker and stopping the old one. One problem we are experiencing with this is that the context cancelation causes ongoing activities to be failed.
Is there a way to set a worker in “drain” mode, allowing it to finish activity/workflow execution while accepting new workflow/activities on the new worker running in parallel.

Is there a recommended way to update workers with no downtime otherwise?
Thanks

We have the same problem. During deployments we see errors in the UI for new workflows:

“Workflow Worker Unhandled Failure”

{
  "message": "unable to find workflow type: NewWorkflowName. Supported types: [OldWorkflowA, OldWorkflowB]",
  "source": "GoSDK",
  "applicationFailureInfo": {}
}

Any advice would be appreciated.