Features
-
[
workflow
] Add support for URL/URLSearchParams inside the workflow sandbox (#1173) -
[
worker
] Export theWorkerStatus
interface (#1184).
Bug Fixes
-
Use custom symbol-based implementation of
instanceof
for all of our custom error classes (#1166). This is a complete rework of the fixes introduced in 1.8.0 and 1.8.1, both of which turned out to be insufficient.instanceof
now works correctly both across execution contexts and when running tests with Jest.💥 The static
is
function introduced previously on some of our error classes is no longer required, as theinstanceof
operator itself now behave correctly; theseis
functions have therefore been removed. -
[
client
] Makeaction.workflowId
optional on Schedule update (#1176) -
[
activity
]heartbeatTimeoutMs
is now correctly set on Activity'sContext.current().info
. ThecurrentAttemptScheduledTimestampMs
property has also been added to that data structure (#1187) -
[
workflow
] The Workflow Bundler is now smarter regarding requiring files with incorrect or missing file extensions (#1186). Thanks to@GauBen
🙏. -
[
workflow
] Fix incorrect values ofworkflowInfo.historyLength
andworkflowInfo.unsafe.isReplaying
as reported in out-of-sandbox log messages, and as argument of sink function implementations (#1181). -
[
workflow
] Sink functions configured withcallDuringReplay = false
are no longer invoked from a replay-only worker (i.e.Worker.runReplayHistories()
); it was previously possible for these to get called in some cases on the very last Workflow Task (#1181). -
[
workflow
] Encoding and decoding of protobuf JSON payloads is now working in workflow context. This was previously failing, due to the fact that an underlying library depends on theBuffer
class, which is not available inside the workflow sandbox (#1170). Thanks to@antlai-temporal
🙏. -
[
core
] Improve warning message on error response to completion (temporalio/sdk-core#581) Thanks to@dandavison
🙏. -
[
core
] Fix abandoned children nondeterminism if they complete (temporalio/sdk-core#580).