tag:github.com,2008:https://github.com/temporalio/sdk-dotnet/releases Release notes from sdk-dotnet 2025-04-17T20:20:56Z tag:github.com,2008:Repository/577960478/1.6.0 2025-04-21T13:52:40Z 1.6.0 <p>Get from <a href="https://www.nuget.org/packages/Temporalio" rel="nofollow">NuGet</a> and read the <a href="https://github.com/temporalio/sdk-dotnet">README</a></p> <h2>Highlights</h2> <h3>New Event Loop Algorithm</h3> <p>A significant change was made to the event loop internals to allow for proper expectations on tasks and wait conditions. Specifically for most users, the biggest difference is that only one <code>WaitConditionAsync</code> will be resolved at a time before the tasks continue. So now if you have multiple coroutines/tasks with:</p> <div class="highlight highlight-source-cs notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="await Workflow.WaitConditionAsync(() =&gt; !locked); locked = true;"><pre><span class="pl-k">await</span> <span class="pl-s1">Workflow</span><span class="pl-kos">.</span><span class="pl-en">WaitConditionAsync</span><span class="pl-kos">(</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-c1">=&gt;</span> <span class="pl-c1">!</span><span class="pl-s1">locked</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-s1">locked</span> <span class="pl-c1">=</span> <span class="pl-c1">true</span><span class="pl-kos">;</span></pre></div> <p>That kind of a mutex now works, whereas before it would wake up all wait conditions at once. So before you could not guarantee that the wait condition was satisfied on the line after the wait condition, but now you can.</p> <p>This change can cause backwards incompatible history, so we took care to make sure past workflows still use the previous algorithm. See <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2929297615" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/432" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/432/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/432">#432</a> for more details.</p> <h3>💥 BREAKING CHANGE - Removed assumed use-worker-versioning in DI when build ID present</h3> <p>This is a breaking change only for those that used non-GA versioning and use build IDs specifically in their <code>AddHostedTemporalWorker</code> calls. We previously assumed that the simple presence of a build ID was enough to opt-in to this non-GA versioning (which is being replaced with a newer form of versioning anyways). We now no longer assume this, so for any users relying on this unstable form of versioning, <code>UseWorkerVersioning</code> worker option will have to be explicitly set to <code>true</code> instead of relying on it being done implicitly when build ID is present.</p> <p>This only affects a very small subset of users trying out a pre-release form of versioning. See <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2929297615" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/432" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/432/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/432">#432</a> for more details.</p> <h3>MUSL-based Builds Supported</h3> <p>We now publish Linux-musl builds for x64 to NuGet which means users can use Alpine-based .NET docker images.</p> <h3>Serialization Context Available For Converters/Codecs</h3> <p>Payload converters, failure converters, and payload codecs can now implement <code>IWithSerializationContext</code> that will have <code>WithSerializationContext</code> called when needing to do context-specific conversion for workflows or activities. A common use case for this is to allow codecs to have different encryption keys per workflow ID or namespace. See <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2982818809" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/446" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/446/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/446">#446</a> for more details.</p> <h2>Specific Changes</h2> <p>2025-02-28 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/bbbfad13b0a03a771d18aab475ec5b740ad20df6/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/bbbfad13b0a03a771d18aab475ec5b740ad20df6"><tt>bbbfad1</tt></a> - Add advanced signal-handling tests (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2885748657" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/418" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/418/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/418">#418</a>)<br> 2025-03-17 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/612fe2f27ba7a81a9f0fcf2429837d7de0d04ef5/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/612fe2f27ba7a81a9f0fcf2429837d7de0d04ef5"><tt>612fe2f</tt></a> - Use RawValue for built-in query response (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2903942014" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/424" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/424/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/424">#424</a>)<br> 2025-03-17 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/7829fd3a5145f3fe25867bb93edea884b67b6288/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/7829fd3a5145f3fe25867bb93edea884b67b6288"><tt>7829fd3</tt></a> - Allow unaltered payload response from codec (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2907821272" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/425" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/425/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/425">#425</a>)<br> 2025-03-18 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/8631656460bfaf48606a790a4d2e0e9c2fcfc2aa/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/8631656460bfaf48606a790a4d2e0e9c2fcfc2aa"><tt>8631656</tt></a> - add protected constructors for metric instrumentation in Temporalio.Common namespace (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2929276794" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/431" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/431/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/431">#431</a>)<br> 2025-03-18 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/fc0fd7b484e2650b284f3c25378cb7e150774295/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/fc0fd7b484e2650b284f3c25378cb7e150774295"><tt>fc0fd7b</tt></a> - change readme activity examples from scheduletoclose to starttoclose (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2929742005" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/433" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/433/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/433">#433</a>)<br> 2025-03-19 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/bac42d3db19617fae17bc1965e1a9c33fd517fc1/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/bac42d3db19617fae17bc1965e1a9c33fd517fc1"><tt>bac42d3</tt></a> - Apply modern event loop algorithm with new SDK flag (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2929297615" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/432" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/432/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/432">#432</a>)<br> 2025-04-09 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/5cb605e96109f3e553f7bb610bef5649ebca588d/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/5cb605e96109f3e553f7bb610bef5649ebca588d"><tt>5cb605e</tt></a> - Add <code>Workflow.Unsafe.WithTracingEventListenerDisabled</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2973384264" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/443" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/443/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/443">#443</a>)<br> 2025-04-09 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/9ac9d69e65232e688d79e53a0785ac0457dca62b/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/9ac9d69e65232e688d79e53a0785ac0457dca62b"><tt>9ac9d69</tt></a> - Increase visibility on some client constructs and minor docs updates (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2929812872" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/434" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/434/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/434">#434</a>)<br> 2025-04-10 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/0ef89ac211f527268912cf29a0261abb2bb35483/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/0ef89ac211f527268912cf29a0261abb2bb35483"><tt>0ef89ac</tt></a> - Add ActivityDefinition.CreateWithoutAttribute overload (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2986619844" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/451" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/451/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/451">#451</a>)<br> 2025-04-10 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/409e53fcd382d0f4d34e91269503b9fc12814a54/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/409e53fcd382d0f4d34e91269503b9fc12814a54"><tt>409e53f</tt></a> - Remove assumed use-worker-versioning in DI when build ID present (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2986729049" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/452" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/452/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/452">#452</a>)<br> 2025-04-10 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/6c2a78fea0f93c5b0ac47dfcd59e9f480fdbbc09/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/6c2a78fea0f93c5b0ac47dfcd59e9f480fdbbc09"><tt>6c2a78f</tt></a> - Provide MUSL-based build (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2983341737" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/447" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/447/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/447">#447</a>)<br> 2025-04-10 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/fc4ea012bfa084e6264f5222bec6d0e3c6fb846a/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/fc4ea012bfa084e6264f5222bec6d0e3c6fb846a"><tt>fc4ea01</tt></a> - Allow absent payloads on some responses (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2984031982" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/449" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/449/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/449">#449</a>)<br> 2025-04-15 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/6dbf752ab792d7adc09e7ad84786ec785c994243/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/6dbf752ab792d7adc09e7ad84786ec785c994243"><tt>6dbf752</tt></a> - Serialization context for converters and codecs (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2982818809" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/446" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/446/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/446">#446</a>)<br> 2025-04-16 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/6a0eb693c374ee47d88758eb216b56c2af735914/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/6a0eb693c374ee47d88758eb216b56c2af735914"><tt>6a0eb69</tt></a> - Update Core (with changes needed) and update version to 1.6.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2997833349" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/453" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/453/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/453">#453</a>)<br> 2025-04-17 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/464b8952b5b3f26d357a6889d376acf1b56796e5/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/464b8952b5b3f26d357a6889d376acf1b56796e5"><tt>464b895</tt></a> - Custom histogram metric buckets (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3000871238" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/456" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/456/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/456">#456</a>)<br> 2025-04-17 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/4fed10af42e8b10ddbdb4cb71c3c19b4c1b99164/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/4fed10af42e8b10ddbdb4cb71c3c19b4c1b99164"><tt>4fed10a</tt></a> - Expose root execution (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3000419586" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/454" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/454/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/454">#454</a>)<br> 2025-04-17 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/5531bfe6eed8ffa8e1af03b63fa6e993bfb78534/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/5531bfe6eed8ffa8e1af03b63fa6e993bfb78534"><tt>5531bfe</tt></a> - proposed readme nits (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3000741329" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/455" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/455/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/455">#455</a>)</p> cretz tag:github.com,2008:Repository/577960478/1.5.0 2025-02-13T15:49:40Z 1.5.0 <p>Get from <a href="https://www.nuget.org/packages/Temporalio" rel="nofollow">NuGet</a> and read the <a href="https://github.com/temporalio/sdk-dotnet">README</a></p> <h2>Highlights</h2> <h3>Search Attributes in Dev Server</h3> <p>To make testing easier, <code>Temporalio.Testing.WorkflowEnvironment.StartLocalAsync</code> now accepts <code>SearchAttributes</code> in its options to start the server with pre-created search attributes.</p> <h3>Client in Activity</h3> <p>It is a common use case to use a Temporal client in an activity. <code>TemporalClient</code> is now available on the <code>Temporalio.Activities.ActivityExecutionContext</code> to make this easier.</p> <h3>Activity Service Scope</h3> <p>For those using dependency injection, <code>Temporalio.Extensions.Hosting.ActivityScope</code> is now available which provides access to both the activity instance and <code>IServiceScope</code> to have access to the service provider in the activity or activity interceptor.</p> <h2>Specific Changes</h2> <p>2025-01-16 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/3dd6ccae0eea4fdd95668c3cd031e4419e2c3cb6/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/3dd6ccae0eea4fdd95668c3cd031e4419e2c3cb6"><tt>3dd6cca</tt></a> - Expose instance to workflows/activities and client to activities (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2792892000" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/393" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/393/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/393">#393</a>)<br> 2025-01-24 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/b5ca8541b56a9790ded80801b6d1bd1924ed29a7/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/b5ca8541b56a9790ded80801b6d1bd1924ed29a7"><tt>b5ca854</tt></a> - Accept search attributes for dev server (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2375711743" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/289" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/289/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/289">#289</a>)<br> 2025-02-03 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/69dfe5ac650bb53f0a95c51027a6f4f28e11f3aa/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/69dfe5ac650bb53f0a95c51027a6f4f28e11f3aa"><tt>69dfe5a</tt></a> - Updated the docs for IdReusePolicy property (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2816454634" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/397" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/397/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/397">#397</a>)<br> 2025-02-03 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/7b9267477dcb5fd8977c69865c661841376fce77/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/7b9267477dcb5fd8977c69865c661841376fce77"><tt>7b92674</tt></a> - Fix issue where null timer summary breaks codec (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2828324546" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/405" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/405/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/405">#405</a>)<br> 2025-02-05 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/139a8532a15397f17832f35b921c23ac7c1c6444/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/139a8532a15397f17832f35b921c23ac7c1c6444"><tt>139a853</tt></a> - Update Core &amp; add HTTP Otel / Dev UI Port (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2831636289" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/407" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/407/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/407">#407</a>)<br> 2025-02-11 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/2b97703536b570517028faab2c12671bee84e8d4/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/2b97703536b570517028faab2c12671bee84e8d4"><tt>2b97703</tt></a> - Document CA issues in AWS and Azure (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2843024633" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/411" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/411/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/411">#411</a>)<br> 2025-02-11 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/f2ba7dd91becfb9e799a351862d5df6dca8a953c/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/f2ba7dd91becfb9e799a351862d5df6dca8a953c"><tt>f2ba7dd</tt></a> - Reserve __temporal prefix (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2840914764" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/410" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/410/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/410">#410</a>)</p> cretz tag:github.com,2008:Repository/577960478/1.4.0 2024-12-19T15:48:40Z 1.4.0 <p>Get from <a href="https://www.nuget.org/packages/Temporalio" rel="nofollow">NuGet</a> and read the <a href="https://github.com/temporalio/sdk-dotnet">README</a></p> <h2>Highlights</h2> <h3>Custom Slot Suppliers in Worker Tuners (experimental)</h3> <p>Worker tuners can now be created with custom slot suppliers. By providing a class extending <code>Temporalio.Worker.Tuning.CustomSlotSupplier</code> to a worker tuner, users can now control logic of when slots are available for use by the worker. This allows advanced, dynamic control over in-process tuning for how many concurrent activities, local activities, and workflow tasks can run. This is an advanced feature and is currently experimental which means future releases can technically update the API in incompatible ways.</p> <h3>User Metadata (experimental)</h3> <p>When starting workflows (directly, via update with start, via schedules, or via child workflows), users can now set a <code>StaticSummary</code> and/or <code>StaticDetails</code> option which may appear in the UI/CLI in the future. Similarly, users can provide <code>Summary</code> to timers and activity invocations. Finally, users can set the <code>Workflow.CurrentDetails</code> property to a string that can updated be throughout the life of the workflow based on the workflow's state. This value may also appear in the UI/CLI in the future. Values for summary or details can be in limited single-line or multi-line markdown format, respectively. This feature is currently experimental which means future releases can technically update the API in incompatible ways.</p> <h3>Update with Start Workflow (experimental)</h3> <p>Users can use <code>StartUpdateWithStartWorkflowAsync</code> or <code>ExecuteUpdateWithStartWorkflowAsync</code> on newer servers to perform an update with start. An update with start first starts a workflow if it does not exist (subject to conflict policy), and regardless of whether it started a workflow or not, sends an update. Depending on the call made, it either waits for the update to reach the worker/workflow, or waits for the update to complete. This is a very useful feature for those wanting to start a workflow and get back an early programmatic result but still let the rest of the workflow continue in the background. This feature is currently experimental which means future releases can technically update the API in incompatible ways.</p> <h3>Workflow Update No Longer Experimental</h3> <p>The "experimental" label has been removed from workflow update and it is no longer considered experimental.</p> <h2>Specific Changes</h2> <p>2024-10-08 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/600674497d00fbee772f42f8e74b1c066650bd8f/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/600674497d00fbee772f42f8e74b1c066650bd8f"><tt>6006744</tt></a> - Add update ID and name in log scope (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2573563530" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/355" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/355/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/355">#355</a>)<br> 2024-10-08 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/b33105e8bc61109d189ed143d166bb700cbc8ca4/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/b33105e8bc61109d189ed143d166bb700cbc8ca4"><tt>b33105e</tt></a> - Disallow open generics on activity methods (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2573214529" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/354" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/354/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/354">#354</a>)<br> 2024-10-08 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/d505adcf9620129924cdb38e3569fa7a8aff6680/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/d505adcf9620129924cdb38e3569fa7a8aff6680"><tt>d505adc</tt></a> - Detached cancellation test (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2557141500" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/352" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/352/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/352">#352</a>)<br> 2024-10-08 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/fb3c991ba6ff7bb192458975652db350ce86fd25/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/fb3c991ba6ff7bb192458975652db350ce86fd25"><tt>fb3c991</tt></a> - Support failed completion building for activity (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2573172796" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/353" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/353/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/353">#353</a>)<br> 2024-10-31 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/6a858a25ae82314f60a41f7ec83716badb18b255/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/6a858a25ae82314f60a41f7ec83716badb18b255"><tt>6a858a2</tt></a> - Upgrade dependency and add .NET 8 in one CI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2573654356" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/356" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/356/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/356">#356</a>)<br> 2024-11-04 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/46410a617fa4b155a4331b6423b768e44139a140/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/46410a617fa4b155a4331b6423b768e44139a140"><tt>46410a6</tt></a> - Update Rust dependencies and move to macos-13 in CI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2633623707" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/362" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/362/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/362">#362</a>)<br> 2024-11-22 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/240064479df790fcefe8544d2a6b826887db1042/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/240064479df790fcefe8544d2a6b826887db1042"><tt>2400644</tt></a> - Support <code>DisableEagerActivityExecution</code> option (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2652939198" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/366" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/366/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/366">#366</a>)<br> 2024-11-22 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/c30a2dbd9aa4bad3c106d0ce1b659a541db14c12/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/c30a2dbd9aa4bad3c106d0ce1b659a541db14c12"><tt>c30a2db</tt></a> - Update Microsoft.Extensions.Hosting and other CI failure fixes (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2683528531" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/370" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/370/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/370">#370</a>)<br> 2024-11-25 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/fe86f77744b5586d2f91cc945239748d7325f82d/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/fe86f77744b5586d2f91cc945239748d7325f82d"><tt>fe86f77</tt></a> - Store <code>MethodInfo</code> when creating an <code>ActivityDefinition</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2681570617" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/369" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/369/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/369">#369</a>)<br> 2024-12-04 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/c2196152cfcee7843e84c4d82b45b68e0ce3e4c0/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/c2196152cfcee7843e84c4d82b45b68e0ce3e4c0"><tt>c219615</tt></a> - Update Core (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2716277205" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/376" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/376/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/376">#376</a>)<br> 2024-12-05 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/15a31429357864884eff03702b76215c7f6d560c/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/15a31429357864884eff03702b76215c7f6d560c"><tt>15a3142</tt></a> - Custom slot suplier (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2692404714" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/372" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/372/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/372">#372</a>)<br> 2024-12-06 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/66436bffe872e3aeb567f0250a1547808a82be44/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/66436bffe872e3aeb567f0250a1547808a82be44"><tt>66436bf</tt></a> - Add limit to list workflows (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2721665638" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/377" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/377/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/377">#377</a>)<br> 2024-12-11 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/2546f0778d88a510e36a5ed99e0367e22d582bba/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/2546f0778d88a510e36a5ed99e0367e22d582bba"><tt>2546f07</tt></a> - User metadata and workflow metadata support (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2727735977" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/378" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/378/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/378">#378</a>)<br> 2024-12-11 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/301062a0dced279ed0338d1c9a8ea2fa84600741/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/301062a0dced279ed0338d1c9a8ea2fa84600741"><tt>301062a</tt></a> - Fix child workflow already exists and minor README updates (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2728181380" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/379" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/379/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/379">#379</a>)<br> 2024-12-11 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/aac363d293d935c7fec8bb8a79041a3f8d3b2f84/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/aac363d293d935c7fec8bb8a79041a3f8d3b2f84"><tt>aac363d</tt></a> - Fix CI after GHA's drop of node16 actions (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2700103373" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/374" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/374/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/374">#374</a>)<br> 2024-12-13 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/d0731760d480eeaac0fcd8f22c26bf52cce0b798/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/d0731760d480eeaac0fcd8f22c26bf52cce0b798"><tt>d073176</tt></a> - Remove "experimental" tag from workflow update (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2738756735" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/380" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/380/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/380">#380</a>)<br> 2024-12-17 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/855047e8eb8c2cc639a0945a55c7eff9375ee54a/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/855047e8eb8c2cc639a0945a55c7eff9375ee54a"><tt>855047e</tt></a> - Update with start (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2743367995" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/381" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/381/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/381">#381</a>)</p> cretz tag:github.com,2008:Repository/577960478/1.3.1 2024-09-11T14:03:57Z 1.3.1 <p>Get from <a href="https://www.nuget.org/packages/Temporalio" rel="nofollow">NuGet</a> and read the <a href="https://github.com/temporalio/sdk-dotnet">README</a></p> <h2>Highlights</h2> <p>This is mostly bugfix release meant to address:</p> <ul> <li>Unable to send OpenTelemetry metrics over TLS</li> <li>Sporadic activity completion RPC cancellation</li> </ul> <h2>Specific Changes</h2> <p>2024-08-26 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/aa3edefbf6a880413502e9bf07d2385768790a7c/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/aa3edefbf6a880413502e9bf07d2385768790a7c"><tt>aa3edef</tt></a> - Fix HTTP CONNECT proxy options not passing to core (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2484921725" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/336" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/336/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/336">#336</a>)<br> 2024-08-29 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/76e01fc1829eda3bf172b3ea21f65cedc64760ba/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/76e01fc1829eda3bf172b3ea21f65cedc64760ba"><tt>76e01fc</tt></a> - Fix BasicAuth bug in HttpConnectProxyOptions.ToInteropOptions() (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2484643828" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/334" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/334/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/334">#334</a>)<br> 2024-08-30 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/1985158b47a0635e077d7d66d96e44b7dc335242/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/1985158b47a0635e077d7d66d96e44b7dc335242"><tt>1985158</tt></a> - Custom features repo branch in CI until after 1.3.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2494540499" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/338" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/338/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/338">#338</a>)<br> 2024-08-30 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/622eda1aa12b56cff184c81d77f36c455939c046/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/622eda1aa12b56cff184c81d77f36c455939c046"><tt>622eda1</tt></a> - Fix cloud CI run and minor doc fix (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2494687991" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/339" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/339/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/339">#339</a>)<br> 2024-09-03 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/681cd016455352e9f2ab507db97092d561a32357/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/681cd016455352e9f2ab507db97092d561a32357"><tt>681cd01</tt></a> - Fix incorrect dep line (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2503404744" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/341" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/341/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/341">#341</a>)<br> 2024-09-05 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/ec8821ddee8f1f4485f668cca9c04a776558c4b2/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/ec8821ddee8f1f4485f668cca9c04a776558c4b2"><tt>ec8821d</tt></a> - Properly clear metadata when encoding/decoding payloads (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2505359209" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/343" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/343/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/343">#343</a>)<br> 2024-09-06 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/73eaf2b3296a646ba3a97efea5158e7d94bd8030/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/73eaf2b3296a646ba3a97efea5158e7d94bd8030"><tt>73eaf2b</tt></a> - Moved info about WorkflowAlreadyStartedException into the right position in XML docs (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2415810705" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/309" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/309/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/309">#309</a>)<br> 2024-09-11 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/5141c2cb1330cdce1ab88f1bffd246012d5e1aa7/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/5141c2cb1330cdce1ab88f1bffd246012d5e1aa7"><tt>5141c2c</tt></a> - Update core and update version to 1.3.1 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2505501773" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/344" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/344/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/344">#344</a>)</p> cretz tag:github.com,2008:Repository/577960478/1.3.0 2024-08-14T13:35:02Z 1.3.0 <p>Get from <a href="https://www.nuget.org/packages/Temporalio" rel="nofollow">NuGet</a> and read the <a href="https://github.com/temporalio/sdk-dotnet">README</a></p> <h2>Highlights</h2> <h3>Warn on Unfinished Workflow Handlers</h3> <p>Previously if you had a signal handler or update handler that was not complete when the workflow was marked complete,<br> it'd silently be ignored/abandoned. Now you will get a warning. Users are encouraged to add<br> <code>await Workflow.WaitConditionAsync(() =&gt; Workflow.AllHandlersFinished);</code> to the bottom of their workflow to ensure they<br> have no outstanding handlers. If the previous no-warn situation is preferred, the signal/update attribute has a setting<br> to just abandon.</p> <h3>New Deterministic Async Helpers</h3> <p>While many <code>Task</code> based calls are safe for use in workflows (e.g. <code>Task.WhenAll</code>) there are some that are not (e.g.<br> <code>Task.Run</code>). So instead of only having some safe implementations of these and documenting others are safe, we wrapped<br> multiple in general. Some were added this release, so overall the set is:</p> <ul> <li><code>Workflow.DelayAsync</code> - Safe form of <code>Task.Delay</code></li> <li><code>Workflow.RunTaskAsync</code> - Safe form of <code>Task.Run</code> or <code>Task.Factory.StartNew</code></li> <li><code>Workflow.WhenAllAsync</code> - Safe form of <code>Task.WhenAll</code></li> <li><code>Workflow.WhenAnyAsync</code> - Safe form of <code>Task.WhenAny</code></li> <li><code>Temporalio.Workflows.Mutex</code> - Safe form of <code>System.Threading.Mutex</code></li> <li><code>Temporalio.Workflows.Semaphore</code> - Safe form of <code>System.Threading.Semaphore</code> or <code>System.Threading.SemaphoreSlim</code></li> </ul> <h3>Cloud Operations Client (EXPERIMENTAL)</h3> <p>For making operation-based calls against the cloud, there is now a <code>Temporalio.Client.TemporalCloudOperationsClient</code><br> that implements <code>ITemporalCloudOperationsClient</code> and contains a static <code>ConnectAsync</code> method that works similar to the<br> <code>TemporalClient</code> version. There is a <code>CloudService</code> property on this client that gives raw access to the gRPC service.</p> <p>This SDK API and the cloud operations API is experimental and may change in incompatible ways in the future.</p> <h3>Resource-based Worker Auto-tuning (EXPERIMENTAL)</h3> <p>Experimental support for worker tuning has been added along with an implementation for auto-tuning based on available<br> resources. <code>TemporalWorkerOptions</code> now has a <code>Tuner</code> field that can be set with an instance of<br> <code>Temporalio.Worker.Tuning.IWorkerTuner</code>. This can be a fixed-size based tuner via <code>WorkerTuner.CreateFixedSize</code> or based<br> on resources via <code>WorkerTuner.CreateResourceBased</code>. Technically the interface can be manually implemented to return<br> custom <code>ISlotSupplier</code>s, but only fixed-size and resource-based slot suppliers are currently supported, custom slot<br> suppliers will appear in the future.</p> <p>This SDK API is experimental and may change in incompatible ways in the future.</p> <h2>Specific Changes</h2> <p>2024-07-01 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/29753e54631a04e3b6fd22341d615893604ab369/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/29753e54631a04e3b6fd22341d615893604ab369"><tt>29753e5</tt></a> - Expose resource based autotuning (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2379283793" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/293" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/293/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/293">#293</a>)<br> 2024-07-01 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/9ce6b8f733a22cdf17b9c374e1ff380f38fc45be/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/9ce6b8f733a22cdf17b9c374e1ff380f38fc45be"><tt>9ce6b8f</tt></a> - Added exception notation to ConnectAsync method (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2383964736" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/295" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/295/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/295">#295</a>)<br> 2024-07-02 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/0d0334f0566765e120928eba787821eb6ea3f26f/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/0d0334f0566765e120928eba787821eb6ea3f26f"><tt>0d0334f</tt></a> - Minor test fixes (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2384055384" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/296" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/296/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/296">#296</a>)<br> 2024-07-02 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/72f6fb2b34509148436f679b692b34d53da42d5c/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/72f6fb2b34509148436f679b692b34d53da42d5c"><tt>72f6fb2</tt></a> - Warn on unfinished workflow handlers (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2381197715" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/294" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/294/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/294">#294</a>)<br> 2024-07-02 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/8349537859f395495072058b1d9c9f9b9631175b/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/8349537859f395495072058b1d9c9f9b9631175b"><tt>8349537</tt></a> - Add Temporalio.Workflows.Mutex (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2384777807" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/298" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/298/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/298">#298</a>)<br> 2024-07-08 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/4a6d4a0e886360242ea66d3402095b9b4406d690/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/4a6d4a0e886360242ea66d3402095b9b4406d690"><tt>4a6d4a0</tt></a> - Experimental cloud operations client (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2396213168" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/302" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/302/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/302">#302</a>)<br> 2024-07-10 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/1fceb0b6a0c6eb7ae0b7d1a1943ff494b158f172/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/1fceb0b6a0c6eb7ae0b7d1a1943ff494b158f172"><tt>1fceb0b</tt></a> - Skip slow versioning test and update vuln dep (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2395906090" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/301" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/301/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/301">#301</a>)<br> 2024-07-12 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/fa3867e87b5c99faa8a330d7df3ab623177b0218/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/fa3867e87b5c99faa8a330d7df3ab623177b0218"><tt>fa3867e</tt></a> - Support for workflow ID conflict policy (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2405931711" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/304" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/304/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/304">#304</a>)<br> 2024-07-18 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/23af80339e84c1defc35fe61fbe053b26709011d/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/23af80339e84c1defc35fe61fbe053b26709011d"><tt>23af803</tt></a> - Use GH ARM runner (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2413425815" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/308" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/308/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/308">#308</a>)<br> 2024-07-19 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/32d1931ea00520530548acef873694c7d46f6e32/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/32d1931ea00520530548acef873694c7d46f6e32"><tt>32d1931</tt></a> - Support query for listing schedules (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2417199510" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/310" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/310/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/310">#310</a>)<br> 2024-07-25 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/df3b47ac26ce4025f08103d65bd0db191b5a5fef/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/df3b47ac26ce4025f08103d65bd0db191b5a5fef"><tt>df3b47a</tt></a> - Command reordering in Core (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2430265474" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/315" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/315/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/315">#315</a>)<br> 2024-08-02 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/64c3140a94964f69af67628886612aaacf17d878/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/64c3140a94964f69af67628886612aaacf17d878"><tt>64c3140</tt></a> - Change default schedule catchup window to match API (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2445872257" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/319" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/319/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/319">#319</a>)<br> 2024-08-05 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/62da5d6447c1d1ec88a191144fb598e20bf6193b/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/62da5d6447c1d1ec88a191144fb598e20bf6193b"><tt>62da5d6</tt></a> - Add workflow id conflict policy to signal with start (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2449515119" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/322" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/322/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/322">#322</a>)<br> 2024-08-05 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/ac9c891737853a554048b2dee964c2da31af7dd0/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/ac9c891737853a554048b2dee964c2da31af7dd0"><tt>ac9c891</tt></a> - Allow updating search attributes from schedule updates (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2445917566" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/320" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/320/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/320">#320</a>)<br> 2024-08-06 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/2ce6c99d87eb13d05b8fa068cb4d224942e3dcd0/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/2ce6c99d87eb13d05b8fa068cb4d224942e3dcd0"><tt>2ce6c99</tt></a> - HTTP CONNECT proxy support (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2441683575" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/318" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/318/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/318">#318</a>)<br> 2024-08-06 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/66574bd5ffd7af137b831465dec0261ef70aded5/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/66574bd5ffd7af137b831465dec0261ef70aded5"><tt>66574bd</tt></a> - Add rule code and edit signal warning (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2435957553" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/317" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/317/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/317">#317</a>)<br> 2024-08-06 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/6695adfba801972d6bce2e48a4cbfa721985ecb9/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/6695adfba801972d6bce2e48a4cbfa721985ecb9"><tt>6695adf</tt></a> - Add Workflow.RunTaskAsync and Workflow.WhenAllAsync (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2428305770" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/313" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/313/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/313">#313</a>)<br> 2024-08-06 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/9ffc9639b5142ce09541c8f8ef40a1cd3bd121d9/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/9ffc9639b5142ce09541c8f8ef40a1cd3bd121d9"><tt>9ffc963</tt></a> - Add features repo test to .NET CI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2451005414" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/324" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/324/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/324">#324</a>)<br> 2024-08-07 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/89c43d12621845c409f16ba552a186329beb44e5/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/89c43d12621845c409f16ba552a186329beb44e5"><tt>89c43d1</tt></a> - Add omes image build (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2449551510" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/323" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/323/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/323">#323</a>)<br> 2024-08-08 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/0b5a85792644fe4a2f7bfbd1611cfd97a01d8542/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/0b5a85792644fe4a2f7bfbd1611cfd97a01d8542"><tt>0b5a857</tt></a> - Fix NuGet package smoke test (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2454428328" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/326" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/326/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/326">#326</a>)<br> 2024-08-09 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/efdb9a06e232a992e822cf55f680a268212b3dd5/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/efdb9a06e232a992e822cf55f680a268212b3dd5"><tt>efdb9a0</tt></a> - Do not warn about leftover handlers on workflow failure (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2458176607" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/329" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/329/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/329">#329</a>)</p> cretz tag:github.com,2008:Repository/577960478/1.2.0 2024-06-27T15:51:29Z 1.2.0 <p>Get from <a href="https://www.nuget.org/packages/Temporalio" rel="nofollow">NuGet</a> and read the <a href="https://github.com/temporalio/sdk-dotnet">README</a></p> <h2>Highlights</h2> <p>There are not any significant features introduced in this release. But there are a couple of minor features and several dependency updates.</p> <h3>Ensure coroutines complete on workflow complete</h3> <p>Before, if a workflow function returned, nothing else that returned after it would be accepted even if it occurred in the same task (i.e. same event loop run before returning). Now, to better support update handlers and other coroutines, we allow all other coroutines to reach their yielded point upon main workflow method return and we make sure their commands are included before the workflow completion. Care was taken to ensure this is deterministic with workflows in older SDK versions by retaining the previous behavior for those.</p> <h3>Temporalio.Workflow.Semaphore</h3> <p>A lightweight, workflow-safe alternative to <code>SemaphoreSlim</code> is now available as <code>Temporalio.Workflow.Semaphore</code> for use within a workflow.</p> <h3>Workflow update improvements</h3> <p>Can access update info inside update handlers and there is now a special exception thrown from update client calls when an the RPC is cancelled or times out.</p> <h2>Specific Changes</h2> <p>2024-06-06 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/5ed423f69e882a20d84e52b9274dc5f13e67355d/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/5ed423f69e882a20d84e52b9274dc5f13e67355d"><tt>5ed423f</tt></a> - Update core/dependencies and call worker validate (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2338745203" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/267" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/267/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/267">#267</a>)<br> 2024-06-06 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/c299cec09b5fe6c7143264883f808f5ec4249938/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/c299cec09b5fe6c7143264883f808f5ec4249938"><tt>c299cec</tt></a> - Access current update info inside update handler (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2339079525" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/268" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/268/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/268">#268</a>)<br> 2024-06-11 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/3c6c7ac0aea8507d0bd8f4717b42fbdb09787974/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/3c6c7ac0aea8507d0bd8f4717b42fbdb09787974"><tt>3c6c7ac</tt></a> - Workflow completion command reordering (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2344557369" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/270" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/270/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/270">#270</a>)<br> 2024-06-11 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/af5e004b2328b2f65f640033079263fb65431074/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/af5e004b2328b2f65f640033079263fb65431074"><tt>af5e004</tt></a> - Bump GitHub Actions (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2336814706" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/266" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/266/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/266">#266</a>)<br> 2024-06-12 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/bf26249715f0da38f4800c6dd553541e41790919/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/bf26249715f0da38f4800c6dd553541e41790919"><tt>bf26249</tt></a> - Add exceptions to OTel client spans and minor 1.24 server test fixes (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2348748885" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/272" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/272/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/272">#272</a>)<br> 2024-06-13 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/d3f38172112ddf0c855ad1ab9a9878432eb5dc4b/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/d3f38172112ddf0c855ad1ab9a9878432eb5dc4b"><tt>d3f3817</tt></a> - Fix typo in CI workflow (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2351921313" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/273" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/273/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/273">#273</a>)<br> 2024-06-18 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/a87116418c526bb76e0cc11f951d6f8648b71e01/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/a87116418c526bb76e0cc11f951d6f8648b71e01"><tt>a871164</tt></a> - Set Rust callbacks to complete tasks asynchronously (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2360078657" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/279" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/279/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/279">#279</a>)<br> 2024-06-18 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/c0058a16e31e22256e41a455ffb22bc49845e9ab/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/c0058a16e31e22256e41a455ffb22bc49845e9ab"><tt>c0058a1</tt></a> - Download cURL in older Linux containers on binary build (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2358304481" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/275" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/275/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/275">#275</a>)<br> 2024-06-21 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/6f54944d31c147e5e9cbc2eab2b04c6626e6df29/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/6f54944d31c147e5e9cbc2eab2b04c6626e6df29"><tt>6f54944</tt></a> - Fix improper casts during clone (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2366931581" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/284" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/284/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/284">#284</a>)<br> 2024-06-21 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/8b430c4da90c0a788123ee739abe071d3b01d164/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/8b430c4da90c0a788123ee739abe071d3b01d164"><tt>8b430c4</tt></a> - Add workflow update RPC timeout/canceled exception (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2365393776" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/283" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/283/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/283">#283</a>)<br> 2024-06-26 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/8b7bd2a539f5fc2a4a42c3288d82d0a9a9f1bed3/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/8b7bd2a539f5fc2a4a42c3288d82d0a9a9f1bed3"><tt>8b7bd2a</tt></a> - Implementation of Temporalio.Workflow.Semaphore (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2373647868" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/287" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/287/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/287">#287</a>)</p> cretz tag:github.com,2008:Repository/577960478/1.1.2 2024-06-05T16:02:30Z 1.1.2 <p>Get from <a href="https://www.nuget.org/packages/Temporalio" rel="nofollow">NuGet</a> and read the <a href="https://github.com/temporalio/sdk-dotnet">README</a></p> <h2>Highlights</h2> <p>This is mostly a bug fix release.</p> <h3>💥 Fix <code>Workflow.WaitConditionAsync</code> issue introduced in 1.1.1</h3> <p>There is a bug introduced 1.1.1 where <code>WaitConditionAsync</code> could never be properly resolved. This release fixes that bug by (mostly) reverting to behavior in 1.1.0. There is technically a situation where, if your workflow has run in 1.1.1 and encountered this bug, this fix could lead to non-determinism.</p> <h3>💥 Breaking change on experimental workflow update</h3> <p>Updates, still experimental, now require the <code>WaitForStage</code> option to be set when using <code>StartUpdateAsync</code>. Also the <code>UpdateID</code> property in the options is just <code>Id</code> now.</p> <h2>Specific Changes</h2> <p>2024-05-21 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/618e878b7d56e8683334dacf760772531e5633f4/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/618e878b7d56e8683334dacf760772531e5633f4"><tt>618e878</tt></a> - Required wait update stage and polling improvements (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2308415223" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/251" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/251/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/251">#251</a>)<br> 2024-05-22 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/164517863eda66256b54837f0cecfacd267c4dc4/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/164517863eda66256b54837f0cecfacd267c4dc4"><tt>1645178</tt></a> - Improved docs for RetryPolicy.NonRetryableErrorTypes (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2310142241" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/252" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/252/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/252">#252</a>)<br> 2024-05-28 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/ef70705865946b9d8259f14900f424317b2f1884/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/ef70705865946b9d8259f14900f424317b2f1884"><tt>ef70705</tt></a> - Support ApplicationFailureException.NextRetryDelay (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2321055237" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/254" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/254/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/254">#254</a>)<br> 2024-05-29 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/1f6676bb9563ddb8eb4606a8df650fb540420fc2/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/1f6676bb9563ddb8eb4606a8df650fb540420fc2"><tt>1f6676b</tt></a> - Extended reporting of failed workflow with OTel (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2322823283" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/255" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/255/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/255">#255</a>)<br> 2024-06-04 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/0e24a43af15d99b844e5523b01a7f90821dca0b1/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/0e24a43af15d99b844e5523b01a7f90821dca0b1"><tt>0e24a43</tt></a> - feat: add workflow client updater for updating workflow client (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2328519409" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/258" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/258/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/258">#258</a>)<br> 2024-06-04 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/43d0f86f1d14212c7c6c3d2121259837a14b3c9d/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/43d0f86f1d14212c7c6c3d2121259837a14b3c9d"><tt>43d0f86</tt></a> - Update generated rpc requests to not omit ConfigureAwait(false) (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2332334797" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/260" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/260/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/260">#260</a>)<br> 2024-06-04 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/83670a0d7a1a55d49adb532e4db24ed2d24dd9d8/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/83670a0d7a1a55d49adb532e4db24ed2d24dd9d8"><tt>83670a0</tt></a> - Fix wait condition evaluation issue (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2331903873" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/259" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/259/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/259">#259</a>)</p> cretz tag:github.com,2008:Repository/577960478/1.1.1 2024-05-10T13:34:29Z 1.1.1 <p>Get from <a href="https://www.nuget.org/packages/Temporalio" rel="nofollow">NuGet</a> and read the <a href="https://github.com/temporalio/sdk-dotnet">README</a></p> <h2>Highlights</h2> <p>This is just a bug-fix release, no significant highlights of note.</p> <h2>Specific Changes</h2> <p>2024-05-08 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/5cd6f59df5c64896f8cb9facd26a552ff0aa39f8/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/5cd6f59df5c64896f8cb9facd26a552ff0aa39f8"><tt>5cd6f59</tt></a> - Run wait-condition callbacks in workflow context (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2286028065" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/242" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/242/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/242">#242</a>)<br> 2024-05-08 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/f40e78e2770ed1b90a6c1f196034e17282237a8a/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/f40e78e2770ed1b90a6c1f196034e17282237a8a"><tt>f40e78e</tt></a> - Fix issue enumerating services in newer .NET DI library (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2285799575" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/241" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/241/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/241">#241</a>)</p> cretz tag:github.com,2008:Repository/577960478/1.1.0 2024-05-07T19:43:36Z 1.1.0 <p>Get from <a href="https://www.nuget.org/packages/Temporalio" rel="nofollow">NuGet</a> and read the <a href="https://github.com/temporalio/sdk-dotnet">README</a></p> <h2>Highlights</h2> <h3>Experimental Workflow Failure Type Customization</h3> <p>When a workflow raises an exception that wasn't <code>ApplicationFailureException</code> or bubbled from a Temporal call (e.g. activity failure), it would be a "task failure" which puts the workflow in a suspended state retrying the task until a code fix is deployed. An experimental feature is now available that lets users set which exception types should instead fail the workflow instead of suspending it. Users can now set the per-workflow <code>FailureExceptionTypes</code> on the <code>[Workflow]</code> attribute or set the worker-level <code>WorkflowFailureExceptionTypes</code> option when creating the <code>TemporalWorker</code>. If an exception extends from one of these when raised, it will fail the workflow when raised.</p> <h3>Worker Client Replacement</h3> <p>Workers can now have the client they use replaced without shutting down the worker. The <code>Client</code> property on the <code>TemporalWorker</code> can be set to a different connected client. This is useful for users that need to change options like mTLS client certificate without worker downtime. The worker will not interrupt any polling calls but will start using the new client for subsequent calls.</p> <h3>API Key Client Option</h3> <p>If you use API keys in your Temporal server (i.e. <code>Bearer</code> tokens on <code>Authorization</code> headers), you can now set <code>ApiKey</code> option when connecting a <code>TemporalClient</code>/<code>TemporalConnection</code> or set the <code>ApiKey</code> property on an existing connection to update it.</p> <h3>Floats and Durations in Metrics</h3> <p>Users using <code>MetricMeter</code> directly to create metrics (off of runtime, activity, or workflow) can now create float-based histograms and gauges, and duration-based histograms. Similarly users using <code>ICustomMetricMeter</code> to retrieve metrics can say how they want to retrieve durations (float seconds, int milliseconds, or <code>TimeSpan</code>). A <code>UseSecondsForDuration</code> option was added to telemetry options for users that prefer seconds as float-based durations to OpenTelemetry and Prometheus instead of the default of integer milliseconds.</p> <p>💥 This has a minor compatibility break. For users that implemented <code>ICustomMetricMeter</code>, calls on that interface can now start passing in <code>double</code> and <code>TimeSpan</code> where it didn't before, but only if users start using those types of metrics.</p> <h3>Counting Workflows</h3> <p>A new <code>CountWorkflowsAsync</code> call has been added to the <code>ITemporalClient</code> that takes the same query as <code>ListWorkflowsAsync</code> but is optimized just to perform counts.</p> <h2>Specific Changes</h2> <p>2024-01-05 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/0e592ee76e537f371b33f57f90c77588fe7d58b3/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/0e592ee76e537f371b33f57f90c77588fe7d58b3"><tt>0e592ee</tt></a> - Fix issue with DI-based static async activities (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2066467315" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/172" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/172/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/172">#172</a>)<br> 2024-01-10 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/53a8a3d61170d310e0b965e963f6a52d0e4f56e9/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/53a8a3d61170d310e0b965e963f6a52d0e4f56e9"><tt>53a8a3d</tt></a> - Properly ignore unknown fields when parsing history JSON (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2074598769" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/175" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/175/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/175">#175</a>)<br> 2024-01-12 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/712743767fe625e91143cdb54942542af94d7f3d/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/712743767fe625e91143cdb54942542af94d7f3d"><tt>7127437</tt></a> - Add build id to workflow context (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2073422639" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/174" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/174/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/174">#174</a>)<br> 2024-01-19 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/ba4763bfcbe3a11d818cc92b22eab21d93aacf35/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/ba4763bfcbe3a11d818cc92b22eab21d93aacf35"><tt>ba4763b</tt></a> - Fix issue with Rust cache using newer node version (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2084285951" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/177" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/177/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/177">#177</a>)<br> 2024-02-01 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/79104b6382bee46573f0515b2ac06aeeadf9f0f3/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/79104b6382bee46573f0515b2ac06aeeadf9f0f3"><tt>79104b6</tt></a> - Prefix some errors with rule identifiers (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2094713048" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/180" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/180/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/180">#180</a>)<br> 2024-02-12 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/bfe4b3a66f037c59d86f7340bced423113abad73/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/bfe4b3a66f037c59d86f7340bced423113abad73"><tt>bfe4b3a</tt></a> - Doc/README updates (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2130215298" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/188" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/188/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/188">#188</a>)<br> 2024-02-27 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/66abe70761883635c587a3724d47e7cc1b69629e/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/66abe70761883635c587a3724d47e7cc1b69629e"><tt>66abe70</tt></a> - Update core (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2157198974" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/192" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/192/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/192">#192</a>)<br> 2024-02-28 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/c703da9d85ea7749538ffe8562f19d348809c306/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/c703da9d85ea7749538ffe8562f19d348809c306"><tt>c703da9</tt></a> - Add type-safe SignalWithStart (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2159174782" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/193" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/193/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/193">#193</a>)<br> 2024-03-01 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/e99bcb0d29c33af7fa65bfaabbc4b30b97308445/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/e99bcb0d29c33af7fa65bfaabbc4b30b97308445"><tt>e99bcb0</tt></a> - Eager workflow start (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2162175252" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/195" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/195/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/195">#195</a>)<br> 2024-03-07 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/666ab45f92a4e7290010ca8b21e0dbb99afc300c/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/666ab45f92a4e7290010ca8b21e0dbb99afc300c"><tt>666ab45</tt></a> - Fix issue with unconfigured metric meter (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2173996043" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/202" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/202/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/202">#202</a>)<br> 2024-03-07 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/ce3f1950d870f8c1c2946595df4af414844d9d02/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/ce3f1950d870f8c1c2946595df4af414844d9d02"><tt>ce3f195</tt></a> - Worker poller and ratio options (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2172483045" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/200" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/200/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/200">#200</a>)<br> 2024-03-08 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/070fba543695e83ac48df104ec2e80583a9d6452/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/070fba543695e83ac48df104ec2e80583a9d6452"><tt>070fba5</tt></a> - Use Debugger.IsAttached to affect default for debug mode (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2172558171" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/201" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/201/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/201">#201</a>)<br> 2024-03-12 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/3faaf2bccfb29af3e3db6617dbaa6001d6bcd309/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/3faaf2bccfb29af3e3db6617dbaa6001d6bcd309"><tt>3faaf2b</tt></a> - Client API key (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2180333435" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/203" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/203/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/203">#203</a>)<br> 2024-03-21 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/67a52ff89e0a525bfa8e29fd72c165708b12f094/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/67a52ff89e0a525bfa8e29fd72c165708b12f094"><tt>67a52ff</tt></a> - Ability for certain task failure types to fail workflow (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2192832266" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/205" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/205/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/205">#205</a>)<br> 2024-03-21 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/d2be9598f37d22e17ff06b2abb69dec043cffb86/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/d2be9598f37d22e17ff06b2abb69dec043cffb86"><tt>d2be959</tt></a> - Add Client.CountWorkflowsAsync (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2198652187" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/206" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/206/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/206">#206</a>)<br> 2024-03-26 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/c6b7aca05cdd2b61e4b99098f3f3904692323a4a/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/c6b7aca05cdd2b61e4b99098f3f3904692323a4a"><tt>c6b7aca</tt></a> - Alternative CreateTemporalActivityDefinition (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2203952598" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/207" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/207/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/207">#207</a>)<br> 2024-03-29 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/7d37b9d00911e0822da477c41fa81a3dc0243187/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/7d37b9d00911e0822da477c41fa81a3dc0243187"><tt>7d37b9d</tt></a> - Fix README snippet (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2214408602" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/213" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/213/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/213">#213</a>)<br> 2024-04-02 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/070faacc6f1ea15f5c7e5a6c07448e935eeb68fc/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/070faacc6f1ea15f5c7e5a6c07448e935eeb68fc"><tt>070faac</tt></a> - Remove experimental flag from StartDelay (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2205963442" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/208" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/208/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/208">#208</a>)<br> 2024-04-16 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/740dfa2bcf30edf7130298cf3e1951f675e28815/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/740dfa2bcf30edf7130298cf3e1951f675e28815"><tt>740dfa2</tt></a> - Use build ID in the unique DI identifier for workers (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2231997176" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/216" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/216/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/216">#216</a>)<br> 2024-04-19 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/1573d3a4df544cc7c9ac145106dd44fc5c064c26/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/1573d3a4df544cc7c9ac145106dd44fc5c064c26"><tt>1573d3a</tt></a> - Support duration and float metrics (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2246854535" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/223" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/223/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/223">#223</a>)<br> 2024-04-21 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/e11dfd577599aeed57671657b2f18df7a21d0245/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/e11dfd577599aeed57671657b2f18df7a21d0245"><tt>e11dfd5</tt></a> - Correct xmldoc spelling error on WorkflowAttribute (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2254694665" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/227" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/227/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/227">#227</a>)<br> 2024-04-22 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/899672cc61310f291c08c83c49576d60989f08af/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/899672cc61310f291c08c83c49576d60989f08af"><tt>899672c</tt></a> - Make ctor for <code>DefaultPayloadConverter</code> public to expose <code>JsonSerializerOptions</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2254690390" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/226" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/226/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/226">#226</a>)<br> 2024-04-24 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/2bd9ed3894adb290f78f4a4409797dc5d4ec82a0/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/2bd9ed3894adb290f78f4a4409797dc5d4ec82a0"><tt>2bd9ed3</tt></a> - Readme updates (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2262174018" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/230" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/230/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/230">#230</a>)<br> 2024-04-25 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/9c1c12730302dbd210e61b82a976286dc38bf352/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/9c1c12730302dbd210e61b82a976286dc38bf352"><tt>9c1c127</tt></a> - Use macos-12 GHA runners instead of macos-latest (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2264561266" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/232" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/232/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/232">#232</a>)<br> 2024-04-26 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/f1b8ddef53873c69b4326b39d550d8dac6ea68ae/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/f1b8ddef53873c69b4326b39d550d8dac6ea68ae"><tt>f1b8dde</tt></a> - Support macOS ARM + macOS Intel and update proto generation (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2265724971" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/233" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/233/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/233">#233</a>)<br> 2024-05-06 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/e771d5b3f2d09015ad5c451c7accb20f16449517/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/e771d5b3f2d09015ad5c451c7accb20f16449517"><tt>e771d5b</tt></a> - Worker client replacement (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2278501663" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/236" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/236/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/236">#236</a>)</p> cretz tag:github.com,2008:Repository/577960478/1.0.0 2023-12-05T14:46:18Z 1.0.0 <p>Get from <a href="https://www.nuget.org/packages/Temporalio" rel="nofollow">NuGet</a> and read the <a href="https://github.com/temporalio/sdk-dotnet">README</a></p> <h2>Highlights</h2> <h3>Temporal .NET SDK Generally Available</h3> <p>With this 1.0.0 release, the .NET SDK is now considered stable. This means it has been thoroughly used and tested to ensure it meets Temporal quality standards. Throughout the prerelease period, we have received ample feedback and have adjusted the SDK as needed to address feedback and address any issues encountered. We strive to not make any backwards incompatible changes.</p> <h3>Log Forwarding</h3> <p>The Core logic powering the SDK is written in Rust and emits its own logs to console in many situations. Until now, users could only control the level of this log but not adjust where it was emitted or how. Now, with <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1984538826" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/153" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/153/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/153">#153</a>, users can set <code>Temporalio.Runtime.LoggingOptions.Forwarding.Logger</code> to an <code>ILogger</code> which will forward all logs from Rust to the .NET logger in a reasonably performant manner.</p> <h2>Specific Changes</h2> <p>2023-11-08 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/abab4b2de1f69abe7219589f173d3addb3205a03/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/abab4b2de1f69abe7219589f173d3addb3205a03"><tt>abab4b2</tt></a> - Update README.md to remove note about DI issue (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1982623699" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/152" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/152/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/152">#152</a>)<br> 2023-11-14 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/67a257280d0536cc5f3ec501eb8dc0e7f10be9f3/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/67a257280d0536cc5f3ec501eb8dc0e7f10be9f3"><tt>67a2572</tt></a> - Log forwarding (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1984538826" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/153" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/153/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/153">#153</a>)<br> 2023-11-16 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/32411c75aac3daf97d6165d37374287ca939d6f4/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/32411c75aac3daf97d6165d37374287ca939d6f4"><tt>32411c7</tt></a> - Demonstrate OpenTelemetry + dependency injection (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1987138622" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/154" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/154/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/154">#154</a>)<br> 2023-11-17 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/8626167993647f78a0b9c4eecd7c11b0b5b6de87/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/8626167993647f78a0b9c4eecd7c11b0b5b6de87"><tt>8626167</tt></a> - Delete .github/workflows/semgrep.yml (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1999789116" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/159" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/159/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/159">#159</a>)<br> 2023-12-04 - <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/temporalio/sdk-dotnet/commit/7c07aa7960b0238b522abca12b9762b368f3da80/hovercard" href="https://github.com/temporalio/sdk-dotnet/commit/7c07aa7960b0238b522abca12b9762b368f3da80"><tt>7c07aa7</tt></a> - Handle new .NET 8 analyzer suggestions (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2024055830" data-permission-text="Title is private" data-url="https://github.com/temporalio/sdk-dotnet/issues/164" data-hovercard-type="pull_request" data-hovercard-url="/temporalio/sdk-dotnet/pull/164/hovercard" href="https://github.com/temporalio/sdk-dotnet/pull/164">#164</a>)</p> cretz