Get from NuGet and read the README
Highlights
Custom Slot Suppliers in Worker Tuners (experimental)
Worker tuners can now be created with custom slot suppliers. By providing a class extending Temporalio.Worker.Tuning.CustomSlotSupplier
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.
User Metadata (experimental)
When starting workflows (directly, via update with start, via schedules, or via child workflows), users can now set a StaticSummary
and/or StaticDetails
option which may appear in the UI/CLI in the future. Similarly, users can provide Summary
to timers and activity invocations. Finally, users can set the Workflow.CurrentDetails
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.
Update with Start Workflow (experimental)
Users can use StartUpdateWithStartWorkflowAsync
or ExecuteUpdateWithStartWorkflowAsync
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.
Workflow Update No Longer Experimental
The "experimental" label has been removed from workflow update and it is no longer considered experimental.
Specific Changes
2024-10-08 - 6006744 - Add update ID and name in log scope (#355)
2024-10-08 - b33105e - Disallow open generics on activity methods (#354)
2024-10-08 - d505adc - Detached cancellation test (#352)
2024-10-08 - fb3c991 - Support failed completion building for activity (#353)
2024-10-31 - 6a858a2 - Upgrade dependency and add .NET 8 in one CI (#356)
2024-11-04 - 46410a6 - Update Rust dependencies and move to macos-13 in CI (#362)
2024-11-22 - 2400644 - Support DisableEagerActivityExecution
option (#366)
2024-11-22 - c30a2db - Update Microsoft.Extensions.Hosting and other CI failure fixes (#370)
2024-11-25 - fe86f77 - Store MethodInfo
when creating an ActivityDefinition
(#369)
2024-12-04 - c219615 - Update Core (#376)
2024-12-05 - 15a3142 - Custom slot suplier (#372)
2024-12-06 - 66436bf - Add limit to list workflows (#377)
2024-12-11 - 2546f07 - User metadata and workflow metadata support (#378)
2024-12-11 - 301062a - Fix child workflow already exists and minor README updates (#379)
2024-12-11 - aac363d - Fix CI after GHA's drop of node16 actions (#374)
2024-12-13 - d073176 - Remove "experimental" tag from workflow update (#380)
2024-12-17 - 855047e - Update with start (#381)