Skip to content

1.11.0

Latest
Compare
Choose a tag to compare
@dandavison dandavison released this 23 Apr 21:26
e360398

PyPI

Highlights

Priority (Pre-release)

Users can now set a priority key when scheduling a workflow, activity or child workflows. The priority key will be used to help prioritize certain tasks over others when there is a backlog. Priority is currently not supported in any OSS Temporal release, but support will be coming soon. To experiment with this feature please see the pre-release development server or if you are a Temporal Cloud customer reach out to your SA.

Versioning / Safe Deploy (Pre-release)

This release introduces a preview of new APIs that gracefully manage code changes and worker pools that support them. The goal is to better control which workers should execute new, and existing, workflows and activities tasks, based on their code and configuration.

AUTO_UPGRADE and PINNED are two Versioning Behaviors that can be specified on a workflow implementation using the versioning_behavior argument to @workflow.defn. PINNED workflows are typically short lived, and are never affected by new versions, i.e., they do not need to use the patch API for compatibility. AUTO_UPGRADE workflows are mostly long running, but they need to use patching to safely transition to new versions. The choice of PINNED vs AUTO_UPGRADE ultimately depends on your willingness to keep old worker fleets running vs the complexity of patching.

To manage Worker Deployments please use the Temporal CLI, or Client.workflow_service

Automatic Poller Scaling

You can configure Workers to automatically adjust the number of concurrent polls they make for tasks! Set the workflow_task_poller_behavior and activity_task_poller_behavior arguments of the Worker constructor to PollerBehaviorAutoscaling to try it out. You can expect fewer unnecessary polls during low load, and increased polls during high load when they can be used to increase task throughput.

Specific Changes

2025-02-19 - 49ca10e - uv + maturin migration (#768)
2025-03-26 - b0dfaef - Evolve observability documentation (#797)
2025-03-27 - 65b10bf - Silence passing test (#804)
2025-03-27 - d219870 - Check for grpc status details before indexing & unpacking (#801)
2025-03-28 - bf747f1 - Workflow/Activity Priorities (#802)
2025-03-31 - 92b7758 - Expose root workflow execution (#805)
2025-04-04 - 7ffa822 - Improve workflow task deadlock and eviction (#806)
2025-04-07 - dfc6e7f - Add workflow.in_workflow() utility (#799)
2025-04-10 - 1296cd7 - Allow even-parentless workflow spans to always be created (#817)
2025-04-10 - f5e6d20 - Unskip update tests under java test server (#644)
2025-04-10 - fb3dccd - Treat TimeoutError as workflow/update failure instead of task failure (#800)
2025-04-16 - fd49c4e - Worker Deployment Versioning (#821)
2025-04-18 - 127835e - Expose poller autoscaling options (#830)
2025-04-18 - 4933dc5 - Data converter non-string keys (#833)
2025-04-18 - 52bc5cf - Investigate test flakes (#832)
2025-04-21 - 3d10ba6 - Enhancement/allow custom metric buckets (#781)
2025-04-21 - 6f31556 - Fix protobuf version in build-binaries wheel test (#836)
2025-04-22 - 2025f07 - Add dynamic config function (#842)
2025-04-23 - bc82930 - Add VERCEL_PROJECT_ID and VERCEL_ORG_ID (#844)