Features
-
[
workflow
] (Experimental) Introduced a major optimization to the workflow runtime (#951).This optimization allows the worker to reuse execution context across workflows, without compromising the safety of the deterministic sandbox. Some initial performance tests have demonstrated reduction of RAM usage by as much as 66%, and reduction of CPU usage by up to 50%.
To enable this feature, add
reuseV8Context: true
to yourWorkerOptions
. -
[
workflow
] AddedworkflowInfo().startTime
andworkflowInfo().runStartTime
. (#1031) -
[
workflow
] Added support for default workflow handlers (#1038).A workflow bundle may opt-in to receive requests for non-registered workflow types by exporting a default function:
export default async function (...args: unknown[]): Promise<unknown> { const { workflowType } = workflowInfo(); // ... }
-
[
workflow
] Added support for default signal handlers (#1038).A workflow function may opt-in to receive requests for non-registered signals with:
setDefaultSignalHandler((signalName: string, ...args: unknown[]) => { // ... });
-
[
worker
] It is now possible to launch workers in debug mode by setting environment variableTEMPORAL_DEBUG=true
(#1031).
Bug Fixes
-
A recent release of
@grpc/grpc-js
has been causing multiple issues:- 10 seconds timeout on process exit,
- process crashing unexplainedly,
- "Failed to connect before deadline" errors, and more.
We pinned our dependencies on
@grpc/grpc-js
to1.7.3
(#1025). This pin will be removed once we confirm that the upstream project is stable again for our usage. -
[
client
] Multiple small changes to the experimental Schedules API. (#1028, #1032, #1009) -
[
workflow
]instanceof
onWorkflowInfo
fields now works as expected (#1031, #659) -
[
create-project
]create-project
now works correctly on Node 18 (#995) -
[
core
] Fixed incorrect calculation of schedule-to-start timeouts on local activities (#450). -
[
core
] Fixed some rare case where sdk-core would panic on unexpected history fetching responses from the server (#468). -
[
core
] Fixed some rare case where an activation completion might get blocked if fetching history pages failed (#478).