Releases: microsoft/durabletask-dotnet
v1.23.1
What's Changed
- Fix concurrent timer race condition in InMemoryOrchestrationService by @nytian in #678
- Add ContinueAsNewOptions with NewVersion support by @YunchuWang in #682
- Add Prepare Release GitHub Action for automated release kickoff by @YunchuWang in #686
- Fix CHANGELOG line ending preservation in Prepare Release workflow by @YunchuWang in #687
Full Changelog: v1.23.0...v1.23.1
v1.23.0
What's Changed
- Fix build warnings and clean up exception message by @YunchuWang in #647
- Bump dotnet-sdk from 10.0.102 to 10.0.103 by @dependabot[bot] in #639
- Add OpenTelemetry sample and update deps by @torosent in #637
- Add ExportHistory package to NuGet publish pipeline by @YunchuWang in #651
- Add missing input validation to SuspendInstanceAsync and ResumeInstan… by @YunchuWang in #652
- Add missing permissions to workflow files by @Copilot in #655
- Bump Microsoft.Azure.Functions.Worker.Extensions.DurableTask from 1.12.1 to 1.15.0 by @dependabot[bot] in #658
- Bump Azure.Identity from 1.17.1 to 1.18.0 by @dependabot[bot] in #656
- Add DURABLE0011: ContinueAsNew warning for unbounded orchestration loops by @torosent in #660
- Bump Analyzers package version to 1.22.0 stable release by @YunchuWang in #661
- Add NuGet publish job for Microsoft.DurableTask.Analyzers by @Copilot in #662
- Add multi-agent pipeline: issue-scanner, issue-fixer, pr-verification by @YunchuWang in #663
- Change pull-requests permission from write to read by @YunchuWang in #665
- fix: switch auto-issue-fix pipeline to branch-push approach (no PR write permission needed) by @YunchuWang in #667
- Add ReplaySafeLoggerFactory for context wrappers by @torosent in #670
- Fix #668: Change work item filters from auto opt-in to explicit opt-in by @YunchuWang in #669
- Generate extension methods in task namespace instead of Microsoft.DurableTask by @Copilot in #538
- Release v1.23.0 by @YunchuWang in #676
Full Changelog: v1.22.0...v1.23.0
v1.22.0
What's Changed
- Changing the default dedupe statuses behavior by @sophiatev in #622
NOTICE OF BREAKING CHANGE
Described in this issue.
This release will now allow for all orchestration statuses to be reusable upon an orchestration creation request, not just terminal statuses. This means that all server-side implementations must now have logic to handle existing orchestrations with non-terminal runtime statuses with the same instance ID as that passed to the creation request.
It also changes the behavior of ShimDurableTaskClient.RestartAsync to terminate an existing non-terminal instance if restartWithNewInstanceId is false. Previously, an InvalidOperationException would be thrown in this situation.
If a caller of DurableTaskClient.ScheduleNewOrchestrationInstanceAsync leaves the StartOrchestrationOptions.DedupeStatuses field as null, or does not pass any StartOrchestrationOptions to the request at all, then the GrpcDurableTaskClient will not attach an OrchestrationIdReusePolicy to the request, and the behavior will follow whatever the server-side implementation default is for a null OrchestrationIdReusePolicy. Previously, an empty dedupe statuses array also led to no OrchestrationIdReusePolicy being attached to the request. Now, a non-null, but explicitly empty array for the dedupe statuses field is treated as all statuses being reusable. The ShimDurableTaskClient now treats a null dedupe statuses field as all statuses being reusable. This means it will terminate any existing running orchestrations with the same instance ID upon a call to ScheduleNewOrchestrationInstanceAsync in the case of a null StartOrchestrationOptions.DedupeStatuses field.
Full Changelog: v1.21.0...v1.22.0
Links
Microsoft.DurableTask.Abstractions: https://www.nuget.org/packages/Microsoft.DurableTask.Abstractions/1.22.0
Microsoft.DurableTask.Client: https://www.nuget.org/packages/Microsoft.DurableTask.Client/1.22.0
Microsoft.DurableTask.Client.Grpc: https://www.nuget.org/packages/Microsoft.DurableTask.Client.Grpc/1.22.0
Microsoft.DurableTask.Client.AzureManaged: https://www.nuget.org/packages/Microsoft.DurableTask.Client.AzureManaged/1.22.0
Microsoft.DurableTask.Client.OrchestrationServiceClientShim: https://www.nuget.org/packages/Microsoft.DurableTask.Client.OrchestrationServiceClientShim/1.22.0
Microsoft.DurableTask.Grpc: https://www.nuget.org/packages/Microsoft.DurableTask.Grpc/1.22.0
Microsoft.DurableTask.Worker: https://www.nuget.org/packages/Microsoft.DurableTask.Worker/1.22.0
Microsoft.DurableTask.Worker.Grpc: https://www.nuget.org/packages/Microsoft.DurableTask.Worker.Grpc/1.22.0
Microsoft.DurableTask.Worker.AzureManaged: https://www.nuget.org/packages/Microsoft.DurableTask.Worker.AzureManaged/1.22.0
Microsoft.DurableTask.ScheduledTasks: https://www.nuget.org/packages/Microsoft.DurableTask.ScheduledTasks/1.22.0-preview.1
Microsoft.DurableTask.Extensions.AzureBlobPayloads: https://www.nuget.org/packages/Microsoft.DurableTask.Extensions.AzureBlobPayloads/1.22.0
v1.21.0
What's Changed
- Fix Anaylzers treating passed in variable argument name as null by @YunchuWang in #640
- Fix analyzer release notes: move DURABLE0009/0010 to Shipped by @cgillum in #641
- Introduce WorkItemFilters into worker flow by @halspang in #616
- Update changelog for v1.21.0 by @halspang in #643
Full Changelog: v1.20.1...v1.21.0
v1.20.1
What's Changed
- Bump dotnet-sdk from 10.0.101 to 10.0.102 by @dependabot[bot] in #618
- Fix GrpcChannel handle leak in AzureManaged backend by @nytian in #629
Full Changelog: v1.20.0...v1.20.1
v1.20.0
What's Changed
- Add dependency injection support to DurableTaskTestHost by @nytian in #613
- Export History job by @YunchuWang in #494
- Partial orchestration workitem completion support by @YunchuWang in #514
- Release V1.20.0 by @YunchuWang in #623
Full Changelog: v1.19.1...v1.20.0
v.1.19.1
What's Changed
- Document orchestration discovery and method probing behavior in analyzers by @Copilot in #594
- Validate C# identifiers in DurableTask source generator by @Copilot in #578
- Throw an
InvalidOperationExceptionfor purge requests on running orchestrations by @sophiatev in #611
Full Changelog: v1.19.0...v1.19.1
Links
- Microsoft.DurableTask.Abstractions: https://www.nuget.org/packages/Microsoft.DurableTask.Abstractions/1.19.1
- Microsoft.DurableTask.Client: https://www.nuget.org/packages/Microsoft.DurableTask.Client/1.19.1
- Microsoft.DurableTask.Client.Grpc: https://www.nuget.org/packages/Microsoft.DurableTask.Client.Grpc/1.19.1
- Microsoft.DurableTask.Client.AzureManaged: https://www.nuget.org/packages/Microsoft.DurableTask.Client.AzureManaged/1.19.1
- Microsoft.DurableTask.Client.OrchestrationServiceClientShim: https://www.nuget.org/packages/Microsoft.DurableTask.Client.OrchestrationServiceClientShim/1.19.1
- Microsoft.DurableTask.Grpc: https://www.nuget.org/packages/Microsoft.DurableTask.Grpc/1.19.1
- Microsoft.DurableTask.Worker: https://www.nuget.org/packages/Microsoft.DurableTask.Worker/1.19.1
- Microsoft.DurableTask.Worker.Grpc: https://www.nuget.org/packages/Microsoft.DurableTask.Worker.Grpc/1.19.1
- Microsoft.DurableTask.Worker.AzureManaged: https://www.nuget.org/packages/Microsoft.DurableTask.Worker.AzureManaged/1.19.1
- Microsoft.DurableTask.ScheduledTasks: https://www.nuget.org/packages/Microsoft.DurableTask.ScheduledTasks/1.19.1-preview.1
- Microsoft.DurableTask.Extensions.AzureBlobPayloads: https://www.nuget.org/packages/Microsoft.DurableTask.Extensions.AzureBlobPayloads/1.19.1
v1.19.0
What's Changed
- Fix source generator for void-returning activity functions by @Copilot in #554
- Add WaitForExternalEvent overload with timeout and cancellation token by @Copilot in #555
- Fix "SyntaxTree is not part of the compilation" exception in orchestration analyzers by @Copilot in #588
- Expand Azure Functions smoke tests to cover source generator scenarios by @Copilot in #604
- Add TimeProvider support to orchestration analyzer by @Copilot in #573
- Improve DurableTask source generator detection and add optional project type configuration by @Copilot in #575
- Adding the ability to specify tags and a retry policy for suborchestrations by @sophiatev in #603
- Extended sessions for entities in .NET isolated by @sophiatev in #507
Full Changelog: v1.18.2...v1.19.0
Links
- Microsoft.DurableTask.Abstractions: https://www.nuget.org/packages/Microsoft.DurableTask.Abstractions/1.19.0
- Microsoft.DurableTask.Client: https://www.nuget.org/packages/Microsoft.DurableTask.Client/1.19.0
- Microsoft.DurableTask.Client.Grpc: https://www.nuget.org/packages/Microsoft.DurableTask.Client.Grpc/1.19.0
- Microsoft.DurableTask.Client.AzureManaged: https://www.nuget.org/packages/Microsoft.DurableTask.Client.AzureManaged/1.19.0
- Microsoft.DurableTask.Client.OrchestrationServiceClientShim: https://www.nuget.org/packages/Microsoft.DurableTask.Client.OrchestrationServiceClientShim/1.19.0
- Microsoft.DurableTask.Grpc: https://www.nuget.org/packages/Microsoft.DurableTask.Grpc/1.19.0
- Microsoft.DurableTask.Worker: https://www.nuget.org/packages/Microsoft.DurableTask.Worker/1.19.0
- Microsoft.DurableTask.Worker.Grpc: https://www.nuget.org/packages/Microsoft.DurableTask.Worker.Grpc/1.19.0
- Microsoft.DurableTask.Worker.AzureManaged: https://www.nuget.org/packages/Microsoft.DurableTask.Worker.AzureManaged/1.19.0
- Microsoft.DurableTask.ScheduledTasks: https://www.nuget.org/packages/Microsoft.DurableTask.ScheduledTasks/1.19.0-preview.1
- Microsoft.DurableTask.Extensions.AzureBlobPayloads: https://www.nuget.org/packages/Microsoft.DurableTask.Extensions.AzureBlobPayloads/1.19.0
v1.18.2
What's Changed
- Add scheduled auto-closure for stale “Needs Author Feedback” issues by @Copilot in #566
- Delete stale ci it already exists by @YunchuWang in #567
- Bump dotnet-sdk from 10.0.100 to 10.0.101 by @dependabot[bot] in #568
- Add Azure Functions smoke tests with Docker CI automation by @Copilot in #545
- Bump FluentAssertions from 6.12.1 to 6.12.2 by @dependabot[bot] in #528
- Bump coverlet.collector from 6.0.2 to 6.0.4 by @dependabot[bot] in #527
- Add integration test coverage for Suspend/Resume operations by @Copilot in #546
- Bump Google.Protobuf from 3.33.1 to 3.33.2 by @dependabot[bot] in #569
- Add DateTimeOffset.Now and DateTimeOffset.UtcNow detection to Roslyn analyzer by @Copilot in #547
- Add HelpLinkUri to Roslyn analyzer diagnostics by @Copilot in #548
- Fix race condition in WaitForInstanceAsync causing intermittent test failures by @Copilot in #574
- Fix orchestration analyzer to detect non-function orchestrations correctly by @Copilot in #572
- Add strongly-typed external events with DurableEventAttribute by @Copilot in #549
- Add analyzer to suggest input parameter binding over GetInput() by @Copilot in #550
- Fix flaky integration test race condition in dedup status check by @Copilot in #579
- Add specific logging categories for Worker.Grpc and orchestration logs with backward-compatible opt-in by @Copilot in #583
- Add Roslyn analyzer for non-contextual logger usage in orchestrations (DURABLE0010) by @Copilot in #553
- Change FunctionNotFound analyzer severity to Info for cross-assembly scenarios by @Copilot in #584
- Add copy constructors to TaskOptions and sub-classes by @Copilot in #587
- Bump packages version to 1.18.2 for release by @Copilot in #586
Full Changelog: v1.18.1...v1.18.2
v1.18.1
What's Changed
- Add entity source generation support for Durable Functions by @Copilot in #533
- Add XML documentation with see cref links to generated code for better IDE navigation by @Copilot in #535
- Remove preview suffix from source generator package version by @Copilot in #541
- Add Roslyn Analyzer to detect calls to non-existent functions (name mismatch) by @Copilot in #530
- Add integration tests for exception type handling by @Copilot in #544
- Bump Analyzers version to 0.2.0 by @Copilot in #552
- Add 404 exception handling in BlobPayloadStore.DownloadAsync by @Copilot in #534
- Support dedup status when starting orchestration by @YunchuWang in #542
- Add Tags to CreateSubOrchestrationAction by @sophiatev in #558
- Add GitHub Pull Request template by @Copilot in #563
- Add ExceptionPropertiesSample demonstrating IExceptionPropertiesProvi… by @YunchuWang in #560
- Cut release 1.18.1 by @Copilot in #565
Full Changelog: v1.18.0...v1.18.1