Skip to content

Releases: microsoft/durabletask-dotnet

v1.23.1

24 Mar 22:03

Choose a tag to compare

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

24 Mar 21:09
1b31c9a

Choose a tag to compare

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

26 Feb 22:17
ba6fa9a

Choose a tag to compare

What's Changed

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

25 Feb 04:28
2dc5843

Choose a tag to compare

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

03 Feb 01:41
9cbe486

Choose a tag to compare

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

26 Jan 18:24
e35ae32

Choose a tag to compare

What's Changed

Full Changelog: v1.19.1...v1.20.0

v.1.19.1

13 Jan 18:18
da748a4

Choose a tag to compare

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 InvalidOperationException for purge requests on running orchestrations by @sophiatev in #611

Full Changelog: v1.19.0...v1.19.1

Links

v1.19.0

06 Jan 01:11
0270482

Choose a tag to compare

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

v1.18.2

22 Dec 23:05
a6e207e

Choose a tag to compare

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

15 Dec 21:29
2adacc2

Choose a tag to compare

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