Notable Changes
- 💥 The Nexus API has several breaking changes in this release; see items marked 💥 in the sections below. Of particular note:
NexusClienthas been renamed toNexusServiceClient(#1993), andNexusInboundCallsInterceptornow requiresexecuteStartOperationandexecuteCancelOperationinstead of the old genericexecutemethod (#1979).
Features
- [
worker] Extend bundler to support pre-loading modules into the reusable V8 context via a newpreloadModulesoption onBundleOptions/WorkerOptions.bundleOptions; pre-loaded modules are shared across workflow executions, reducing per-workflow memory and startup overhead (#1999) - [
nexus] 💥 Add Nexus Inbound Interceptors —NexusInboundCallsInterceptornow exposesexecuteStartOperationandexecuteCancelOperation, replacing the previous genericexecuteinterceptor (#1979) - [
opentelemetry] 💥 Nexus OpenTelemetry support — adds inbound interceptors and distributed trace context propagation across Nexus service boundaries; renames interceptor I/O types fromExecuteNexusOperation*toNexusStartOperation*/NexusCancelOperation*, and addsRunStartNexusOperationandRunCancelNexusOperationspan names (#1998) - [
nexus] 💥 Nexus error serialization now uses TemporalProtoFailureend-to-end, aligning with other SDKs; also fixes a JS bug where comma-separatedcasevalues in gRPC status code mapping silently matched only the last value (#1973) - [
nexus] 💥 RenameNexusClienttoNexusServiceClientin preparation for upcoming Nexus Standalone Operations (#1993) - [
nexus] AddscheduleToStartTimeoutandstartToCloseTimeoutoptions to the workflow Nexus client API (#1942) - [
nexus] Standardize Nexus operation input deserialization error handling: payload codec decode failures are now surfaced as retryableINTERNALhandler errors, while payload converter failures remain non-retryableBAD_REQUEST;ApplicationFailureis passed through directly (#1949) - [
nexus] Infer workflow result type fromWorkflowRunOperationHandler—startWorkflownow returnsWorkflowHandle<WorkflowResultType<T>>, removing the need to explicitly type the handler (#1968) - [
worker] AllowWorkerDeploymentOptionsto omitdefaultVersioningBehaviorwhenuseWorkerVersioningisfalse, enabling workers to report a build ID to the Temporal UI without opting into full worker versioning (#1963) - [
worker] PropagatetargetWorkerDeploymentVersionChangedand Continue-As-New suggested reasons for worker deployment versioning trampolining (#1972)
Bug Fixes
- [
client] Suppress spurious unhandled rejection fromWithStartWorkflowOperationwhenexecuteUpdateWithStartfails before a response is received (#1990) - [
opentelemetry] Do not markCompleteAsyncErroras a span error (#1989) - [
opentelemetry] AvoidTypeErrorwhen user code throws a non-Errorvalue (#1984) - [
worker] Tolerate emptyrootWorkflowExecution/parentWorkflowExecutionobjects from pre-v1.24 servers, preventingIllegalStateErroron resumed workflows (#1969) - [
ai] UseactivityOptionsincallToolproxy (#1954)
Dependencies
- [
core] Update sdk-core (#1959) - [
deps] Bump vulnerable dependencies (#1957, #1988) - [
deps] Bump rustls-webpki from 0.103.9 to 0.103.10 (#1978) - [
deps] Bump quinn-proto from 0.11.13 to 0.11.14 (#1961) - [
deps] Bump tar (#1976, #1946)
Breaking changes are marked with 💥
Full Changelog: v1.15.0...v1.16.0