diff --git a/WebJobs.Extensions.DurableTask.sln b/WebJobs.Extensions.DurableTask.sln
index 8efe24eee..353e83805 100644
--- a/WebJobs.Extensions.DurableTask.sln
+++ b/WebJobs.Extensions.DurableTask.sln
@@ -94,6 +94,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PerfTests", "PerfTests", "{
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DFPerfScenariosV4", "test\DFPerfScenarios\DFPerfScenariosV4.csproj", "{FC8AD123-F949-4D21-B817-E5A4BBF7F69B}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Worker.Extensions.DurableTask.Tests", "test\Worker.Extensions.DurableTask.Tests\Worker.Extensions.DurableTask.Tests.csproj", "{76DEC17C-BF6A-498A-8E8A-7D6CB2E03284}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -178,6 +180,10 @@ Global
{FC8AD123-F949-4D21-B817-E5A4BBF7F69B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FC8AD123-F949-4D21-B817-E5A4BBF7F69B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FC8AD123-F949-4D21-B817-E5A4BBF7F69B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {76DEC17C-BF6A-498A-8E8A-7D6CB2E03284}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {76DEC17C-BF6A-498A-8E8A-7D6CB2E03284}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {76DEC17C-BF6A-498A-8E8A-7D6CB2E03284}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {76DEC17C-BF6A-498A-8E8A-7D6CB2E03284}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -211,6 +217,7 @@ Global
{65F904AA-0F6F-48CB-BE19-593B7D68152A} = {7387E723-E153-4B7A-B105-8C67BFBD48CF}
{7387E723-E153-4B7A-B105-8C67BFBD48CF} = {78BCF152-C22C-408F-9FB1-0F8C99B154B5}
{FC8AD123-F949-4D21-B817-E5A4BBF7F69B} = {7387E723-E153-4B7A-B105-8C67BFBD48CF}
+ {76DEC17C-BF6A-498A-8E8A-7D6CB2E03284} = {78BCF152-C22C-408F-9FB1-0F8C99B154B5}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {5E9AC327-DE18-41A5-A55D-E44CB4281943}
diff --git a/nuget.exe b/nuget.exe
new file mode 100644
index 000000000..d70c80b7f
Binary files /dev/null and b/nuget.exe differ
diff --git a/release_notes.md b/release_notes.md
index b5a489c99..9252a985d 100644
--- a/release_notes.md
+++ b/release_notes.md
@@ -1,11 +1,10 @@
# Release Notes
-## Microsoft.Azure.Functions.Worker.Extensions.DurableTask 1.2.0
+## Microsoft.Azure.Functions.Worker.Extensions.DurableTask 1.2.1
### New Features
-- Add `suspendPostUri` and `resumePostUri` to the list of returned URIs in `CreateCheckStatusResponseAsync`. (https://github.com/Azure/azure-functions-durable-extension/pull/2785)
-- Fix `NotSupportedException` when calling `PurgeAllInstancesAsync` and `PurgeInstanceAsync`
+- Fix regression on `TerminateInstanceAsync` API causing invocations to fail with "unimplemented" exceptions (https://github.com/Azure/azure-functions-durable-extension/pull/2829).
### Bug Fixes
diff --git a/src/WebJobs.Extensions.DurableTask/WebJobs.Extensions.DurableTask.csproj b/src/WebJobs.Extensions.DurableTask/WebJobs.Extensions.DurableTask.csproj
index 44efb7506..d95a8bbb8 100644
--- a/src/WebJobs.Extensions.DurableTask/WebJobs.Extensions.DurableTask.csproj
+++ b/src/WebJobs.Extensions.DurableTask/WebJobs.Extensions.DurableTask.csproj
@@ -8,7 +8,7 @@
0
0
$(MajorVersion).$(MinorVersion).$(PatchVersion)
- preview.3
+ preview.4
$(MajorVersion).$(MinorVersion).$(PatchVersion)
$(MajorVersion).0.0.0
Microsoft Corporation
@@ -124,7 +124,7 @@
-
+
diff --git a/src/Worker.Extensions.DurableTask/AssemblyInfo.cs b/src/Worker.Extensions.DurableTask/AssemblyInfo.cs
index 32927df11..7f387ee55 100644
--- a/src/Worker.Extensions.DurableTask/AssemblyInfo.cs
+++ b/src/Worker.Extensions.DurableTask/AssemblyInfo.cs
@@ -1,7 +1,9 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
+using System.Runtime.CompilerServices;
using Microsoft.Azure.Functions.Worker.Extensions.Abstractions;
// TODO: Find a way to generate this dynamically at build-time
-[assembly: ExtensionInformation("Microsoft.Azure.WebJobs.Extensions.DurableTask", "2.13.3")]
+[assembly: ExtensionInformation("Microsoft.Azure.WebJobs.Extensions.DurableTask", "2.13.4")]
+[assembly: InternalsVisibleTo("Worker.Extensions.DurableTask.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100cd1dabd5a893b40e75dc901fe7293db4a3caf9cd4d3e3ed6178d49cd476969abe74a9e0b7f4a0bb15edca48758155d35a4f05e6e852fff1b319d103b39ba04acbadd278c2753627c95e1f6f6582425374b92f51cca3deb0d2aab9de3ecda7753900a31f70a236f163006beefffe282888f85e3c76d1205ec7dfef7fa472a17b1")]
\ No newline at end of file
diff --git a/src/Worker.Extensions.DurableTask/FunctionsDurableTaskClient.cs b/src/Worker.Extensions.DurableTask/FunctionsDurableTaskClient.cs
index d47eef1f5..0f9231375 100644
--- a/src/Worker.Extensions.DurableTask/FunctionsDurableTaskClient.cs
+++ b/src/Worker.Extensions.DurableTask/FunctionsDurableTaskClient.cs
@@ -85,9 +85,9 @@ public override Task SuspendInstanceAsync(
}
public override Task TerminateInstanceAsync(
- string instanceId, object? output = null, CancellationToken cancellation = default)
+ string instanceId, TerminateInstanceOptions? options = null, CancellationToken cancellation = default)
{
- return this.inner.TerminateInstanceAsync(instanceId, output, cancellation);
+ return this.inner.TerminateInstanceAsync(instanceId, options, cancellation);
}
public override Task WaitForInstanceCompletionAsync(
diff --git a/src/Worker.Extensions.DurableTask/HTTP/HttpMethodConverter.cs b/src/Worker.Extensions.DurableTask/HTTP/HttpMethodConverter.cs
index 540f1f981..933ec55d9 100644
--- a/src/Worker.Extensions.DurableTask/HTTP/HttpMethodConverter.cs
+++ b/src/Worker.Extensions.DurableTask/HTTP/HttpMethodConverter.cs
@@ -20,7 +20,8 @@ public override HttpMethod Read(
Type objectType,
JsonSerializerOptions options)
{
- return new HttpMethod(reader.GetString());
+ string readerString = reader.GetString() ?? string.Empty;
+ return new HttpMethod(readerString);
}
public override void Write(
diff --git a/src/Worker.Extensions.DurableTask/Worker.Extensions.DurableTask.csproj b/src/Worker.Extensions.DurableTask/Worker.Extensions.DurableTask.csproj
index 7a93ae655..b5c22a516 100644
--- a/src/Worker.Extensions.DurableTask/Worker.Extensions.DurableTask.csproj
+++ b/src/Worker.Extensions.DurableTask/Worker.Extensions.DurableTask.csproj
@@ -29,7 +29,7 @@
..\..\sign.snk
- 1.1.3
+ 1.1.4
$(VersionPrefix).0
@@ -39,8 +39,8 @@
-
-
+
+
diff --git a/test/Worker.Extensions.DurableTask.Tests/FunctionsDurableTaskClientTests.cs b/test/Worker.Extensions.DurableTask.Tests/FunctionsDurableTaskClientTests.cs
new file mode 100644
index 000000000..5a335aefa
--- /dev/null
+++ b/test/Worker.Extensions.DurableTask.Tests/FunctionsDurableTaskClientTests.cs
@@ -0,0 +1,57 @@
+using Microsoft.DurableTask.Client;
+using Microsoft.DurableTask.Client.Grpc;
+using Moq;
+
+namespace Microsoft.Azure.Functions.Worker.Tests
+{
+ ///
+ /// Unit tests for
+
+
+ net6.0
+ enable
+ enable
+
+ false
+ true
+
+
+ true
+ ..\..\sign.snk
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+