1.12.0
Highlights
💥 Standalone Activities (Experimental, Pre-Release)
Activities can now be started directly from a ITemporalClient, independent of any workflow.
As part of this change, some ISerializationContext implementation properties have been made nullable or obsolete.
See https://docs.temporal.io/standalone-activity and #609 for details.
💥 Nexus Changes (Pre-Release)
Rename Nexus Operation Classes Inside a Workflow
In preparation for Stand Alone Nexus Operations we renamed the Nexus classes inside a workflow to help distinguish them from future client classes. All classes are now prefixed by NexusWorkflow instead of just Nexus .
See #619 for details.
Standardize Nexus Operation Input Argument Deserialization
This release changes some of the behavior when a handler fails to deserialize the input arguments for a Nexus operation. Previously the SDK would treat any failure as always retry-able. Now the SDK will treat failures at the payload converter level as non-retryable. This aligns the .NET SDK with the other Temporal SDKs.
See #615 for details.
What's Changed
- 💥 Standalone activity support by @cretz in #609
- Upload symbols from build by @jmaeagle99 in #581
- Add support for more timeouts to Nexus operations by @Quinn-With-Two-Ns in #595
- 💥 Standardize Nexus Operation Input Arg. Deserialization Failure by @Quinn-With-Two-Ns in #615
- Improve client refresh example by @cretz in #617
- 💥 [BREAKING CHANGE] Rename Nexus Operation classes used in a workflow in preparation for Stand alone Nexus operations by @Quinn-With-Two-Ns in #619
- Update sdk-core submodule to latest by @jmaeagle99 in #625
- Validate deployment options and test worker with versioning off and custom build ID by @mjameswh in #623
- Update version to 1.12.0 by @jmaeagle99 in #626
SDK Core Update
Updated from temporalio/sdk-rust@372b270 to temporalio/sdk-rust@c6b601d
- Fix temporal metrics in C bridge to have temporal_ prefix in temporalio/sdk-rust#1156
- Remove system.enableNexus dynamic config flag in temporalio/sdk-rust#1151
- fix(client): retry
WorkflowUpdateHandle::get_resultpoll in temporalio/sdk-rust#1150 - Ingest API PR #709: Add target_worker_deployment_version_changed field in temporalio/sdk-rust#1148
- Return ClientWorkerSet from Connection in temporalio/sdk-rust#1147
- fix: disable default features for prometheus dependency in temporalio/sdk-rust#1134
- Add wrappers for futures helpers in temporalio/sdk-rust#1133
- feat(sdk): add workflow_id and run_id to workflow context in temporalio/sdk-rust#1131
- chore: add [crates.io](http://crates.io/) links to readme in temporalio/sdk-rust#1125
- chore: add test to verify wait_condition futures wake on state_mut in temporalio/sdk-rust#1128
- fix(sdk): provide default worker identity in temporalio/sdk-rust#1123
- Expose continue_as_new_suggested on WorkflowContext in temporalio/sdk-rust#1126
- chore: fix flake in list workflows test in temporalio/sdk-rust#1124
- no longer cancel pending polls on shutdown in temporalio/sdk-rust#1122
- chore: exclude github workflows and uml from published crates in temporalio/sdk-rust#1121
- chore: prepare for initial publish in temporalio/sdk-rust#1120
- Fix encoding problems in heavy tests in temporalio/sdk-rust#1119
- Fix wait_condition to wake registered wakers on state_mut in temporalio/sdk-rust#1118
- Rust SDK Prerelease in temporalio/sdk-rust#1101
- Nexus error types in temporalio/sdk-rust#1109
- Remove extra license file from macros. Causing build failures in Python features tests in temporalio/sdk-rust#1116
- Poller autoscaler: further refinement of backoff on grpc errors in temporalio/sdk-rust#1111
- Fix recording workflow termination metrics before receiving server response in temporalio/sdk-rust#1112
- Poller autoscaler: add backoff on ResourceExhausted errors in temporalio/sdk-rust#1110
- Fix incorrect metric kind repported in Buffered Metrics in temporalio/sdk-rust#1108
- Plumb initial versioning behavior in temporalio/sdk-rust#1107
- Fix TemporalPatchVersion search attribute type to use KeywordList format in temporalio/sdk-rust#1106
- Add CAN versioning and suggested reasons to core protos in temporalio/sdk-rust#1104
- Update Worker validate to allow SDKs to get namespace limit information in temporalio/sdk-rust#1102
- Update upstream_api to v1.61.0 in temporalio/sdk-rust#1100
- Add Request Deadline as timestamp to NexusTask in temporalio/sdk-rust#1094
- Update api_upstream to v1.60.0 in temporalio/sdk-rust#1090
New Contributors
- @Quinn-With-Two-Ns made their first contribution in #595
Full Changelog: 1.11.1...1.12.0