Edit

Upgrade the Durable Functions extension version

If you're experiencing orchestration failures, slow replay, or unexpected behavior, upgrading the Durable Functions extension is the recommended first step. New releases often contain critical bug fixes and performance improvements. To get notified of new releases, watch releases on GitHub.

Choose the upgrade method that matches your app type:

App type Upgrade method
.NET (in-process or isolated) Reference the latest NuGet packages
Non-.NET (JavaScript, Python, Java, PowerShell) Upgrade the extension bundle
Advanced / time-sensitive fix needed Manually upgrade the extension

Reference the latest NuGet packages for .NET apps

Update the Durable Functions NuGet package reference in your project. The correct package depends on your hosting model and storage provider:

Storage provider In-process worker Isolated worker
Azure Storage (default) Microsoft.Azure.WebJobs.Extensions.DurableTask Microsoft.Azure.Functions.Worker.Extensions.DurableTask
Netherite Microsoft.Azure.DurableTask.Netherite.AzureFunctions Microsoft.Azure.Functions.Worker.Extensions.DurableTask.Netherite
MSSQL Microsoft.DurableTask.SqlServer.AzureFunctions Microsoft.Azure.Functions.Worker.Extensions.DurableTask.SqlServer

For example, to upgrade the default Azure Storage extension in an isolated worker app:

dotnet add package Microsoft.Azure.Functions.Worker.Extensions.DurableTask

Upgrade the extension bundle

Non-.NET apps (JavaScript, Python, Java, PowerShell) use extension bundles to access triggers and bindings, including the Durable Functions extension. Verify that the extensionBundle version range in your host.json includes the latest bundle release:

{
  "version": "2.0",
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[4.*, 5.0.0)"
  }
}

Update the version range if needed, then redeploy your app.

Manually upgrade the Durable Functions extension version

If upgrading the extension bundle didn't resolve your issue and a newer Durable Functions extension release contains a fix you need, you can manually install a specific extension version.

Caution

Manually managing extensions means you lose automatic updates from extension bundles and may encounter compatibility issues between extensions. Use this approach only for time-sensitive fixes.

  1. Remove the extensionBundle section from your host.json file.

  2. Install the .NET CLI if you don't already have it.

  3. Install extensions. To install all extensions supported by extension bundles, run:

    func extensions install
    

    To install only the Durable Functions extension at a specific version, run:

    func extensions install -p Microsoft.Azure.WebJobs.Extensions.DurableTask -v <version>
    

    Replace <version> with the target version from the releases page.

Next steps