- Nexus operation link propagation for signals. When a Nexus operation handler signals a workflow (including signal-with-start), the inbound Nexus request links are now forwarded onto the signaled workflow so its history events link back to the caller, and the link the server returns for the signaled event is attached to the caller workflow's Nexus operation history event. This makes the caller and callee mutually navigable in the UI for signal-based Nexus operations.
- Exposed
backoff_start_intervalfor continue-as-new, to allow the new workflow to start after a delay.
- AWS Lambda worker
configureparameter supports sync, async, and async generator style functions. This callback is invoked on the asyncio event loop. - Relaxed the protobuf dependency bounds to allow protobuf 7 where compatible with the selected optional dependencies.
- AWS Lambda worker
configureparameter has been changed to be invoked per-invocation of the worker instead of only at startup. It is advised that any shared, heavy-weight operations are performed outside of the callback beforerun_workeris invoked.
- Added experimental
temporalio.workflow.signal_with_start_workflow, backed by generated system Nexus bindings forWorkflowService.SignalWithStartWorkflowExecution. - Added OpenAI Agents plugin support for
CustomTooldispatch, including lazy tool discovery throughdefer_loading.
- Client connections now use gzip transport-level gRPC compression by default.
Pass
grpc_compression=GrpcCompression.NONEtoClient.connectorCloudOperationsClient.connectto disable it.
StartWorkflowUpdateWithStartInputnow owns the authoritativerpc_metadataandrpc_timeoutfields forOutboundInterceptor.start_update_with_start_workflow. These fields were removed from the nested update-with-start input objects, so custom interceptors that accessed them there should read or update the top-level fields instead.
- Fixed
breakpoint()andpdb.set_trace()inside workflow code when a worker runs withdebug_mode=TrueorTEMPORAL_DEBUG=1; sandboxed workflows without debug mode now get a clearer error pointing todebug_mode=True. - Fixed
start_update_with_start_workflowinterceptor handling so RPC metadata and timeouts are forwarded to the underlyingexecute_multi_operationcall. - Fixed OpenAI Agents plugin streamed event serialization when pydantic had not yet built deferred schemas, and fixed terminal sandbox errors retrying forever.
- Removed the lazy-connect lock from the per-RPC hot path. It was previously
acquired on every RPC, putting an event-loop-bound primitive on the hot path;
it is now skipped once the client is connected. This reduces the client's
coupling to the event loop it connected on, which can help when reusing a
single long-lived
Clientacross event loops or threads (e.g. the dedicated-loop pattern used with gevent/gunicorn and synchronous services). Note this does not make aClientfully thread- or loop-agnostic; reusing one long-lived loop is still the recommended pattern.