Releases: Azure/azure-functions-durable-extension
Durable Functions v2.3.1 Release
NuGet Package
https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DurableTask/2.3.1
What's new
- Entity messages can be scheduled for times > 7 days in the future (#1475): Previously, entity messages could only be scheduled 6 days into the future due to limits on the Azure Storage queues. We now have logic to automatically handle messages scheduled greater than 7 days in the future.
- New partition management strategy on by default (#1507): A new partition management strategy that reduces split brain was introduced in 2.3.0. This is now on by default, but can be turned off by setting
extensions.durableTask.storageProvider.useLegacyPartitionManagement
totrue
in thehost.json
. - Support for cleaning entity state for deleted entities (#1442):
IDurableEntityClient.CleanEntityStorageAsync()
is a new API that will remove empty entities from storage and clean up orphaned locks.
Bug fixes
- Fix bug handling large inputs/outputs for orchestrations and activities (#1483)
- Improved handling of Graph and ARM APIs in CallHttpAsync (#1485)
- Gracefully handle the case where non-.NET languages set extendedSessionsEnabled:
true
(#1502) - Fix exception thrown by analyzer resulting in uncessary compile time warnings (#1494)
- Fixed a typo that caused another ArgumentException in the DurableAnalyzer ( #1521 )
Misc.
- Updated nuget dependencies:
- Microsoft.Azure.WebJobs.Extensions.DurableTask --> 2.3.1
- Microsoft.Azure.WebJobs.Extensions.Analyzers --> 0.3.2
- Microsoft.Azure.DurableTask.AzureStorage --> 1.8.1
- Improved telemetry sent to Azure support for Dedicated Linux Function Apps and Linux Consumption Function apps (#1482, #1515, #1522)
Durable Functions Roslyn Analyzer v0.3.2
For more detailed information on the Durable Functions Roslyn Analyzer, see these release notes: https://github.com/Azure/azure-functions-durable-extension/releases/tag/Analyzer-v0.2.0
This is a patch release to the Durable Functions Roslyn Analyzer that contains a bug fix.
If you have any issues with or suggestions for the Durable Functions Analyzer, open an issue, I'd love to hear your feedback!
NuGet package
https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DurableTask.Analyzers
Updates and Bug Fixes
- Fixed a typo that caused another ArgumentException ( #1521 )
Durable Functions Roslyn Analyzer v0.3.1
For more detailed information on the Durable Functions Roslyn Analyzer, see these release notes: https://github.com/Azure/azure-functions-durable-extension/releases/tag/Analyzer-v0.2.0
This is a patch release to the Durable Functions Roslyn Analyzer that contains several bug fixes.
If you have any issues with or suggestions for the Durable Functions Analyzer, open an issue, I'd love to hear your feedback!
NuGet package
https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DurableTask.Analyzers
Updates and Bug Fixes
All changes in this PR ( #1494 )
- Fixed NullReferenceException when using Nullable types in FunctionAnalyzer
- Fixed another ArgumentException related to SemanticModels
- Added a new, more specific warning message in FunctionAnalyzer ArgumentAnalyzer when using null inputs for a value type.
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.
Durable Functions Roslyn Analyzer v0.3.0
Durable Functions Roslyn Analyzer v0.3.0
For more detailed information on the Durable Functions Roslyn Analyzer, see these release notes: https://github.com/Azure/azure-functions-durable-extension/releases/tag/Analyzer-v0.2.0
This is a patch release to the Durable Functions Roslyn Analyzer that contains several bug fixes.
If you have any issues with or suggestions for the Durable Functions Analyzer, open an issue, I'd love to hear your feedback!
NuGet package
https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DurableTask.Analyzers
Updates and Bug Fixes
All changes in this PR ( #1394 )
- Fixed FunctionAnalyzer type comparison bug that did not correctly compare Tuples and type arguments correctly.
- Fixed NullReferenceException in FunctionAnalyzer
- Allow constants to be used in the function NameAnalyzer when there is no matching function found in source code
Durable Functions v1.8.6 Release
Bug Fixes:
- Dynamically generate ports for local RPC endpoints (#1375)
- Use unique worker ids to prevent split brain in all Azure Functions hosted environments (#1376)
- All of the bug fixes in DurableTask.AzureStorage from release 1.7.2 to 1.7.7 (see release notes)
Durable Functions v2.2.2 Release
NuGet package
https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DurableTask/2.2.2
Improvements:
- Add app insights tags for Orchestrators and Entities (#1301)
- Improve fan-in performance for orchestration instances with large histories (#399)
Bug Fixes:
- More reliably handle errors/exceptions in non-.NET languages (#1359)
- Fix entity proxies so they schedule signals properly (#1345)
- Use unique worker ids to prevent split brain in all Azure Functions hosted environments (#1360)
- More reliably handle constructor failures in Functions defined in non-static methods (#1366)
- Various analyzer fixes document in v0.2.2 and v0.2.3 of the analyzer package
Updated dependencies
- Upgraded Microsoft.Azure.WebJobs.Extensions.DurableTask.Analyzers to v0.2.3
- Upgraded Microsoft.Azure.DurableTask.AzureStorage to v1.7.6
- Upgraded Microsoft.Azure.DurableTask.Core to v2.2.5
Durable Functions Roslyn Analyzer v0.2.3
Durable Functions Roslyn Analyzer v0.2.3
For more detailed information on the Durable Functions Roslyn Analyzer, see these release notes: https://github.com/Azure/azure-functions-durable-extension/releases/tag/Analyzer-v0.2.0
This is a patch release to the Durable Functions Roslyn Analyzer that contains bug fixes.
If you have any issues with or suggestions for the Durable Functions Analyzer, open an issue, I'd love to hear your feedback!
NuGet package
https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DurableTask.Analyzers
Updates and Bug Fixes
Fixed InvalidCastException in OrchestratorAnalyzer/MethodAnalyzer (#1357)
Durable Functions Roslyn Analyzer v0.2.2
Durable Functions Roslyn Analyzer v0.2.2
For more detailed information on the Durable Functions Roslyn Analyzer, see these release notes: https://github.com/Azure/azure-functions-durable-extension/releases/tag/Analyzer-v0.2.0
This is a patch release to the Durable Functions Roslyn Analyzer that contains several bug fixes.
If you have any issues with or suggestions for the Durable Functions Analyzer, open an issue, I'd love to hear your feedback!
NuGet package
https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DurableTask.Analyzers
Updates and Bug Fixes
Fixed several FunctionAnalyzer bugs (#1332)
- Fixed bug that caused 'System.ArgumentException' with message 'Syntax node is not within syntax tree.'
- Fixed bug where ReturnTypeAnalyzer didn't properly handle function return types of Task when T was a mismatch JsonArray serialized type (types that implement IEnumerable).
- Fixed bug where ValueTuples would be incorrectly labeled as Tuples causing incorrect warnings when using ValueTuples.
- Added logic to ArgumentAnalyzer to allow passed input to be a subclass or implementation of the defined input.
- Added logic to ReturnTypeAnalzyer to allow expected return type to be a base/interface for the defined return type.
Durable Functions v2.2.1 Release
NuGet package
https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DurableTask/2.2.1
Improvements:
- Add backwards compatibility support for
OrchestrationClientAttribute
and binding type "orchestrationClient" for durable client bindings to make it easier to transition from Durable 1.x to Durable 2.x. (#1295) - Support the use of Durable Entities that implement multiple interfaces (#1277, thanks @alvpickmans!)
- Allow
IDurableClient
to make cross-app calls to Functions that do not exist on its own app (#1306) - Fixed doc-comment typo (#1289 thanks @andrew-field!)
Bug Fixes:
- Fix port utilization when starting local RPC endpoint (#1307)
- Utilize serializer settings from
IErrorSerializerSettingsFactory
in Activity/SubOrchestration contexts (#2194) - Fix orchestration/activity failures that occur during Functions host shutdowns (#1242)
- Fix issue with orchestration messages stop being read on workers until a site restart (#1274)
Analyzer (v0.2.1) improvements:
For more information on the Durable Functions Analyzer, see these release notes: https://github.com/Azure/azure-functions-durable-extension/releases/tag/Analyzer-v0.2.0
- Compare function names that use nameof() (#1263, thanks @marcduiker!)
- Read Azure Function names from constants (#1300, #1309, thanks @Fabian-Schmidt!)
- Fix invalid cast exception (#1309)
- Fix stack-overflow exception (#1309)
Updated dependencies
- Upgraded Microsoft.Azure.WebJobs.Extensions.DurableTask.Analyzers v0.2.1 dependency
- Upgraded Microsoft.Azure.DurableTask.AzureStorage to v1.7.5
- Upgraded Microsoft.Azure.DurableTask.Core to v2.2.4