Important updates

  • đź’Ą Support for Node.js 14 and older GLIBC releases has been dropped. As announced previously, TS SDK v1.9 was the last minor release to support Node.js 14.

    Going forward, the TypeScript SDK requires:

    • Node.js 16.15 or more recent;

    • GLIBC 2.35 or more recent.

  • đź’Ą Support for Node.js 16 will soon be dropped. TS SDK v1.10 will be the last minor release to support Node.js 16. TS SDK v1.11 will require Node 18 or higher.

    Node.js 14 officially reached end-of-life on April 30th, 2023, and Node.js 16 reached end-of-life on September 11th, 2023 (see Node.js release schedule). We strongly encourage everyone to take immediate action in updating their deployments to supported versions of Node.js to ensure continued compatibility and receive the latest features and security updates.

Features

  • [client] Both Connectionand NativeConnectionnow accept an apiKeyoption, making it easier to connect to Temporal Cloud and other Temporal servers that use bearer token authentication (#1385), as well as HTTP CONNECT Proxy (#1411, thanks to @brendan-myers for his help on getting this started 🙏).

  • [client] The startdelayWorkflow option is no longer experimental (#1379). Thanks @tlafano 🙏.

  • [core] Core can now be configured to emit duration metrics as either seconds or milliseconds, as well as to include unit suffixes in metric names (#1383).

  • [worker] Add taskQueueand logSourcemetadata attributes on all log messages emitted inside the context of a worker. These attributes are there make is easier to diagnose some low level issues, as well as allow implementing fine-grained filtering of messages (eg. show DEBUG level messages for user-code, but only WARN for messages from the worker) (#1391).

Bug Fixes

  • [client] Bring gRPC retry options in line with other SDKs (#1368). Thanks to @chronos-tachyon 🙏.

  • [worker] Unreference timer created in parseWorkflowCode(#1370). Thanks @jhecking 🙏.

  • On POSIX systems, stdoutand stderrare now properly inherited by ephemeral servers (e.g. TestWorkflowEnvironment.createLocal()and TestWorkflowEnvironment.createTimeSkipping()), making it easier to diagnose issues while creating a test environment (#1394).

  • @grpc/grpc-js has been updated to 1.10.x (#1388). It had previously been pinned to 1.7.3 to avoid multiple bugs and incompatibilities introduced in grpc-js1.8.0. We have since reviewed these changes and confirmed that there is no longer any reason to refrain form updating that dependency.

  • bundler: Webpack output is now recorded as a single log entry, and color are disabled if output is not being sent to the console (#1414). Thanks @ikonst 🙏.

  • MockActivityEnvironment no longer causes initialization of the Runtime(#1401).

  • [common] Improve error messages for failureConverters(#1373).

  • [doc] Fix comment on default maxConcurrentActivityTaskPollsvalue (#1374) Thanks @taonic 🙏.