October 15, 2024
Nexus is available in pre-release
Note: This feature requires a server version 1.25+ and must be enabled. For self-hosted see Trying Nexus Out. For Temporal Cloud Nexus support is available as public preview.
Temporal Nexus is a new feature of the Temporal platform designed to connect durable executions across team, namespace, region, and cloud boundaries. It promotes a more modular architecture for sharing a subset of your team’s capabilities via well-defined service API contracts for other teams to use, that abstract underlying Temporal primitives, like Workflows, or execute arbitrary code.
Learn more at temporal.io/nexus.
More Java-specific docs and samples coming soon.
Note: This feature requires a server version 1.24+ and must be enabled. For self-hosted you can set frontend.enableExecuteMultiOperation
. For Temporal Cloud please reach out to your Temporal account team or Temporal Support Team to enable update with start in your namespace.
This release adds support for Workflow Update-With-Start. Update-With-Start allows users to send a Workflow Update request along with a Start Workflow request in the same RPC. Users can think of Update-With-Start as analogous to Signal-With-Start except for Updates instead of Signals. To make an Update-with-start request users can call WorkflowClient.updateWithStart
.
Added a new annotation @WorkflowInit
users can add to the constructor of their workflow implementations to specify that the constructor accepts the workflow input arguments. The constructor annotated with this annotation is called when a new workflow instance is created. It will be called before the main workflow method and any signal or update handlers. The constructor must be public and take the same arguments as the main workflow method. All normal workflow constraints also apply in the constructor.
NOTE: Workflow Init is currently NOT supported with our Spring-Boot integration
Added a new Workflow API Workflow.upsertMemo
. This allows users to modify a workflow's memo field inside the workflow. Normal determinism constraints apply to upsertMemo
.
Note: This feature requires a server version 1.25+
This release adds support for user metadata inside Workflows. This lets users set custom metadata on Workflow executions and certain APIs inside workflow, that will be visible in the UI.
Currently, the Java SDK supports:
Fixed "summary" and "details" on workflow start
Fixed "summary" and "details" on child workflows
Details on timer names through
TimerOptions
Changed the return type of DynamicUpdateHandler::handleExecute
from EncodedValues
→ Object
to align with other dynamic handlers in the Java SDK.
Renamed io.temporal.client.UpdateHandle
to io.temporal.client.WorkflowUpdateHandle
to align with other SDKs.
The SDK will now attempt to perform more validation on workflows at registration time rather then waiting until the workflow is invoked. Specifically the SDK now checks if a workflow has a default public constructor at registration time instead of invocation time.
Refactored SDK internals to avoid holding onto large user payloads like activity or child workflow inputs after the operation was scheduled.