1.15.0
Breaking Changes
💥 Outbound Workflow Interceptor Nexus Operation Types and Methods Renamed
- On
WorkflowOutboundInterceptortype,StartNexusOperationAsyncmethod renamed toScheduleNexusOperationAsync StartNexusOperationInputtype renamed toScheduleNexusOperationInput
Highlights
Standalone Nexus Operations (Experimental)
Added support for Standalone Nexus Operations, allowing clients to start and manage Nexus operations directly outside of a Workflow. Documentation, Samples, and instructions to request enablement in Temporal Cloud will be linked here when available.
Standalone Nexus Operations is experimental and currently only supported on pre-release versions of the dev server.
⚠️ Possible Local Activity Behavioral Difference
This release includes a bugfix in the Core library that changes incorrect behavior that may have unintentionally worked previously. Specifically, local activities that start running, and continue running while their associated workflow was evicted from the cache, could possibly be "re-attached" to the workflow if it was recreated before they finished. This behavior was unsound. Now, any running local activities are invalidated when a workflow is evicted. This change was really only likely to be encountered if you were running with the workflow cache disabled, which we never recommend doing.
What's Changed
- Fix NexusWorkerTests to not capture OperationStartContext by @jmaeagle99 in #697
- CI: Fix Rust cache by @maciejdudko in #695
- chore: ignore lscache files by @jmaeagle99 in #699
- fix(worker): allow Nexus-only workers by @jmaeagle99 in #698
- 💥 Add support for Stand Alone Nexus Operations by @Quinn-With-Two-Ns in #639
- Bump slackapi/slack-github-action from 3.0.1 to 3.0.3 by @dependabot[bot] in #685
- chore: enable public API compat validation by @jmaeagle99 in #680
- chore(nightly): update aws-actions/configure-aws-credentials to latest release by @jmaeagle99 in #701
- fix(tests): wait for routing config propagation in worker deployment ramp test by @jmaeagle99 in #705
- Add standalone activity start delay support by @eamsden in #691
- build: add SimpleBench project to solution by @jmaeagle99 in #679
- remove stale nightly tps omes test by @THardy98 in #707
- Nexus - Fix null operation input handling in workflow by @Quinn-With-Two-Ns in #714
- test: enable draining worker pollers on shutdown by @jmaeagle99 in #715
- feat(otel): add otel tracing for standalone activities. by @cconstable in #647
- remove dead omes job by @THardy98 in #718
- chore: update System.CommandLine to 2.0.8 by @jmaeagle99 in #716
- Make README.md more specific about which AWS Lambda images cause CA by @eamsden in #720
- Generic Temporal Nexus Operation Handler by @Quinn-With-Two-Ns in #690
- chore: update sdk-core submodule by @jmaeagle99 in #722
- chore: update version to 1.15.0 by @jmaeagle99 in #723
SDK Core Update
Updated from temporalio/sdk-rust@a0ad876 to temporalio/sdk-rust@6a8355a
- Enforce minimum DNS resolution interval in temporalio/sdk-rust#1272
- Upgrade cloud-api to v0.15.0 in temporalio/sdk-rust#1253
- Make TLS backend feature-selectable in sdk-core and client in temporalio/sdk-rust#1274
- VLN-1346: fix missing-dependency-cooldown in temporalio/sdk-rust#1275
- fix(sdk): no longer error on cancelling fired timer in temporalio/sdk-rust#1268
- fix: retry transport-sourced Cancelled errors and count them in metrics in temporalio/sdk-rust#1269
- (CI) Disable caching cargo binaries in temporalio/sdk-rust#1278
- refactor(examples): extract saga compensation into a reusable Saga pattern in temporalio/sdk-rust#1279
- build(deps): update ringbuf requirement from 0.4 to 0.5 in temporalio/sdk-rust#1285
- build(deps): update lru requirement from 0.16 to 0.18 in temporalio/sdk-rust#1276
- Update README & add banner in temporalio/sdk-rust#1280
- Add activity execution interceptors in temporalio/sdk-rust#1277
- Add uds support in channel creation in temporalio/sdk-rust#1288
- chore(sdk): rename child_workflow -> start_child_workflow in temporalio/sdk-rust#1263
- 💥 WASM Workflows in temporalio/sdk-rust#1239
- feat(client): support custom ServerCertVerifier in TlsOptions in temporalio/sdk-rust#1271
- fix(shutdown): increase shutdown timeout in temporalio/sdk-rust#1290
- docs: update sdk arch docs to include nexus. in temporalio/sdk-rust#1258
- Upgrade cloud-api to v0.16.0 in temporalio/sdk-rust#1295
- fix(sdk): no longer treat unrecognized activity as worker fatal error in temporalio/sdk-rust#1296
- Add activity cancels from nexus in temporalio/sdk-rust#1160
- fix(metrics): emit
workflow_typeattribute ontemporal_workflow_task_execution_failedin temporalio/sdk-rust#1301 - Caret-bump tonic and related packages to 0.14.6 in temporalio/sdk-rust#1303
- Fix start-to-close timeout failure caused by short heatbeat timeout in temporalio/sdk-rust#1300
- 💥 Fix possible panic due to LA completing after an eviction in temporalio/sdk-rust#1304
New Contributors
Full Changelog: 1.14.1...1.15.0