Get from NuGet and read the README


There are not any significant features introduced in this release. But there are a couple of minor features and several dependency updates.

Ensure coroutines complete on workflow complete

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.


A lightweight, workflow-safe alternative to SemaphoreSlimis now available as Temporalio.Workflow.Semaphorefor use within a workflow.

Workflow update improvements

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.

Specific Changes

2024-06-06 - 5ed423f - Update core/dependencies and call worker validate (#267) 2024-06-06 - c299cec - Access current update info inside update handler (#268) 2024-06-11 - 3c6c7ac - Workflow completion command reordering (#270) 2024-06-11 - af5e004 - Bump GitHub Actions (#266) 2024-06-12 - bf26249 - Add exceptions to OTel client spans and minor 1.24 server test fixes (#272) 2024-06-13 - d3f3817 - Fix typo in CI workflow (#273) 2024-06-18 - a871164 - Set Rust callbacks to complete tasks asynchronously (#279) 2024-06-18 - c0058a1 - Download cURL in older Linux containers on binary build (#275) 2024-06-21 - 6f54944 - Fix improper casts during clone (#284) 2024-06-21 - 8b430c4 - Add workflow update RPC timeout/canceled exception (#283) 2024-06-26 - 8b7bd2a - Implementation of Temporalio.Workflow.Semaphore (#287)