Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 1 addition & 25 deletions azure-functions-durable/MIGRATION_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,6 @@ Before upgrading, account for these 2.x requirements:
- **Only the Azure Functions Python V2 programming model is supported.** Apps
must use `DFApp` or `Blueprint` decorators. The classic programming model with
one directory and `function.json` per function is not supported.
- **A modern Durable Functions host is required.** Local sample apps use the
preview extension bundle shown below.
- **The OpenAI Agents integration was removed.** The
`azure.durable_functions.openai_agents` package is not available in 2.x.
- **The primary APIs now come from `durabletask`.** Compatibility aliases are
Expand Down Expand Up @@ -72,29 +70,7 @@ azure-functions>=2.3.0b2
azure-functions-durable>=2.0.0b1,<3
```

### 3. Update the extension bundle

Use the preview extension bundle that contains the required Durable Task gRPC
runtime:

```json
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"version": "[4.*, 5.0.0)"
},
"extensions": {
"durableTask": {
"storageProvider": {
"type": "AzureStorage"
}
}
}
}
```

### 4. Keep supported 1.x code temporarily
### 3. Keep supported 1.x code temporarily
Comment thread
andystaples marked this conversation as resolved.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Please retain an extension-bundle upgrade step here, replacing the preview ID rather than deleting the requirement. This guide targets existing 1.x apps, which may still be pinned to bundle 3.x ([3.3.0, 4.0.0)); that bundle carries DurableTask 2.13.7, while this provider marks every Durable binding durable_requires_grpc=true and needs the DurableTask 3.x host extension now available through the stable 4.x bundle. As written, users can follow every migration step without updating an incompatible host.json. Showing Microsoft.Azure.Functions.ExtensionBundle with [4.*, 5.0.0) here would preserve the required migration guidance.


A decorator-based 1.x orchestrator and client starter can run through the 2.x
compatibility layer without changing their function shape:
Expand Down
4 changes: 1 addition & 3 deletions azure-functions-durable/samples/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,7 @@ durabletask-native APIs provided by `azure-functions-durable` 2.x.
- [Azure Functions Core Tools 4.x](https://learn.microsoft.com/azure/azure-functions/functions-run-local)
- [Azurite](https://learn.microsoft.com/azure/storage/common/storage-use-azurite)

The samples use the preview Azure Functions extension bundle required by the
Durable Functions 2.x provider. Their `local.settings.json` files connect to
Azurite.
The samples' `local.settings.json` files connect to Azurite.

## Run a sample

Expand Down
2 changes: 1 addition & 1 deletion azure-functions-durable/samples/durable-entities/host.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.*, 5.0.0)"
},
"extensions": {
Expand Down
2 changes: 1 addition & 1 deletion azure-functions-durable/samples/fan-out-fan-in/host.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.*, 5.0.0)"
},
"extensions": {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.*, 5.0.0)"
},
"extensions": {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.*, 5.0.0)"
},
"extensions": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
}
},
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.*, 5.0.0)"
},
"extensions": {
Expand Down
2 changes: 1 addition & 1 deletion tests/azure-functions-durable/e2e/apps/tracing/host.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"version": "2.0",
"telemetryMode": "OpenTelemetry",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.*, 5.0.0)"
},
"extensions": {
Expand Down
2 changes: 1 addition & 1 deletion tests/azure-functions-durable/e2e/apps/v1_style/host.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
}
},
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.*, 5.0.0)"
},
"extensions": {
Expand Down