Repository navigation
Notable Changes
Added
- Added the experimental
Temporalio.Extensions.Gcp.CloudRun.Idpackage for long-lived
Temporal workers on Google Cloud Run worker pools and services. Register a singleCloudRunIdPlugin
on your client'sPlugins; it sets the worker identity from the Cloud Run instance at connect
time (unless one is already configured), and workers created from that client inherit it. - Added the experimental
Temporalio.Extensions.WorkflowStreamspackage for durable, batched,
offset-based publish/subscribe streams hosted by workflows, interoperable with other Temporal
SDK Workflow Streams implementations. - Nexus workers now decode marked Temporal System Nexus operation inputs with the System Nexus converter.
- NexusPayloadSerializer now preserves marked System Nexus envelopes while applying payload codecs only to their embedded user payloads.
Fixed
- A failing workflow task is now reported to the server only on its first attempt, with later
attempts left to time out. PreviouslyPayloadsTooLargefailures and history fetch failures were
re-reported on every attempt. - The
temporal_workflow_task_execution_failedmetric is now recorded for every failed workflow
task attempt, including attempts whose failure was not reported to the server. Its
failure_reasonattribute now distinguishesGrpcMessageTooLarge,PayloadsTooLarge, and
RequestTooLargeon every path. - Non-sticky workflow task polling can now use spare capacity once sticky pollers have reached
their configured or autoscaled polling limit. - Poller autoscaling no longer lowers its target after a poll is cancelled or times out, and a
poller in backoff keeps its slot. Resource-exhaustion errors still lower the target.
What's Changed
- chore: update baseline to 1.19.0 by @jmaeagle99 in #897
- Fix System Nexus codec serialization context by @tconley1428 in #887
- fix: apply serialization context to Nexus operation summary by @jmaeagle99 in #894
- Add experimental Workflow Streams extension by @brianstrauch in #884
- Add Google Cloud Run CloudRunIDPlugin by @seanbollin in #855
- chore: limit Dependabot NuGet to security updates by @jmaeagle99 in #905
- fix: drop redundant SourceLink package by @jmaeagle99 in #907
- chore: pin the bridge dependencies with a Cargo workspace by @jmaeagle99 in #902
- [SDK Sentinel] Fix custom slot supplier test permit ID race by @sdk-sentinel-bot in #909
- chore: update sdk-core submodule by @jmaeagle99 in #918
- chore: update sdk version to 1.20.0 by @jmaeagle99 in #919
- Handle System Nexus payloads in Nexus Worker by @VegetarianOrc in #892
SDK Core Update
Updated from temporalio/sdk-rust@399cb7a to temporalio/sdk-rust@0eb03f2
- Run Cloud-eligible integration tests with filtering in temporalio/sdk-rust#1518
- Allow normal polling when sticky is saturated in temporalio/sdk-rust#1579
- build(deps): update wit-bindgen requirement from 0.57.1 to 0.61.1 in temporalio/sdk-rust#1601
- Fix PayloadsTooLarge errors spamming WFT failures in temporalio/sdk-rust#1604
- Preserve targets after transient errors in temporalio/sdk-rust#1600
- Generate payload visitor implementations in a stable order in temporalio/sdk-rust#1608
- Update API definitions in temporalio/sdk-rust#1607
- Standalone Activities samples in temporalio/sdk-rust#1603
- feat: add RetryPolicy option under ChildWorkflowOptions in temporalio/sdk-rust#1610
New Contributors
- @brianstrauch made their first contribution in #884
- @seanbollin made their first contribution in #855
Full Changelog: 1.19.0...1.20.0