Skip to content

Latest commit

 

History

History
84 lines (63 loc) · 3.17 KB

File metadata and controls

84 lines (63 loc) · 3.17 KB

Changelog

[Unreleased]

Added

Changed

  • AWS Lambda worker configure parameter supports sync, async, and async generator style functions. This callback is invoked on the asyncio event loop.

Deprecated

Breaking Changes

  • AWS Lambda worker configure parameter 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 before run_worker is invoked.

Fixed

Security

[1.29.0] - 2026-06-17

Added

  • Added experimental temporalio.workflow.signal_with_start_workflow, backed by generated system Nexus bindings for WorkflowService.SignalWithStartWorkflowExecution.
  • Added OpenAI Agents plugin support for CustomTool dispatch, including lazy tool discovery through defer_loading.

Changed

  • Client connections now use gzip transport-level gRPC compression by default. Pass grpc_compression=GrpcCompression.NONE to Client.connect or CloudOperationsClient.connect to disable it.

Breaking Changes

  • StartWorkflowUpdateWithStartInput now owns the authoritative rpc_metadata and rpc_timeout fields for OutboundInterceptor.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

  • Fixed breakpoint() and pdb.set_trace() inside workflow code when a worker runs with debug_mode=True or TEMPORAL_DEBUG=1; sandboxed workflows without debug mode now get a clearer error pointing to debug_mode=True.
  • Fixed start_update_with_start_workflow interceptor handling so RPC metadata and timeouts are forwarded to the underlying execute_multi_operation call.
  • 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 Client across event loops or threads (e.g. the dedicated-loop pattern used with gevent/gunicorn and synchronous services). Note this does not make a Client fully thread- or loop-agnostic; reusing one long-lived loop is still the recommended pattern.