Durable Functions v2.3.0 Release
NuGet Package
https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DurableTask/2.3.0
What's new
- AppLease settings for GeoRedundancy feature (#1431, #1128): By default, two apps with the same name will not be able to read messages from a task hub at the same time. This is primarily intended to make supporting geo-redundant deployments easier.
- New partition management strategies (#1445): Enabled via a setting, switches to a new partition management strategy that eliminates the occasional duplicate function executions that occur when an application is scaled-out to additional instances.
- Long running durable timers (#1390, #14): Durable timers were previously restricted to 6 days. This restriction has been removed and timers can be set for arbitrarily long durations.
- Added TaskEventId to function traces (#1386, #1382): This change adds additional information to traces that allows you to distinguish multiple activity function calls in the same orchestration.
- Adding DefaultAzureCredentialOptions to ManagedIdentityTokenSource() (#1407, #1279): Allows using Durable HTTP with managed identities in government clouds.
- Durable Task Framework logging (#1426): You can now capture the lower-level logs emitted by the Durable Task Framework. This includes core engine logs (
DurableTask.Core
) and the Azure Storage provider logs (DurableTask.AzureStorage
). See here for more information.
Bug fixes
- Durable Entity signaling duplication at scale (#1417)
- DurableHttpRequest Throws Exception When Content Is Supplied (#1344)
- Traces with IsReplay=false not correctly filtered out in Application Insights (#1351) - contributed by @AtOMiCNebula!
- Start orchestration cross function app (#1281)
- ReadEntityStateAsync sometimes fails with HTTP 412 when calling Azure Storage (#1406)
- Activity fail to correctly deserialize DateTimeOffset and lose the offset (#393, #934)
- Millisecond field in ISO8601 string value is changed unexpectedly between starter and orchestrator (Azure/azure-functions-durable-js#208)
Misc.
- Updated nuget dependencies (#1426):
- Microsoft.Azure.WebJobs.Extensions.DurableTask --> 2.3.0
- Microsoft.Azure.WebJobs.Extensions.Analyzers --> 0.3.0
- Microsoft.Azure.DurableTask.AzureStorage --> 1.8.0
- Microsoft.Azure.DurableTask.Core --> 2.4.1
- Swapping Microsoft.Azure.Services.AppAuthentication nuget dependency for Azure.Identity (#1399)
Breaking changes
- Improve unit testability of .NET interfaces (#1422): New methods were added to
IDurableOrchestrationContext
,IDurableOrchestrationClient
,IDurableEntityContext
, andIDurableEntityClient
to make them easier to unit test. This is a breaking change if you have custom implementations of these interfaces in your unit test code. If you are using a unit test framework like Moq (recommended) that can automatically implement interfaces, then this is a non-breaking change.