Skip to content

1.20.0

Latest

Choose a tag to compare

@jmaeagle99 jmaeagle99 released this 28 Sep 23:50
0549315

Notable Changes

Added

  • Added the experimental Temporalio.Extensions.Gcp.CloudRun.Id package for long-lived
    Temporal workers on Google Cloud Run worker pools and services. Register a single CloudRunIdPlugin
    on your client's Plugins; 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.WorkflowStreams package 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. Previously PayloadsTooLarge failures and history fetch failures were
    re-reported on every attempt.
  • The temporal_workflow_task_execution_failed metric is now recorded for every failed workflow
    task attempt, including attempts whose failure was not reported to the server. Its
    failure_reason attribute now distinguishes GrpcMessageTooLarge, PayloadsTooLarge, and
    RequestTooLarge on 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

SDK Core Update

Updated from temporalio/sdk-rust@399cb7a to temporalio/sdk-rust@0eb03f2

New Contributors

Full Changelog: 1.19.0...1.20.0