Skip to content

Releases: temporalio/sdk-typescript

1.11.6

08 Jan 16:50
Compare
Choose a tag to compare

[1.11.6] - 2025-01-08

Features

  • Introduce Update-with-Start (#1585)

  • Aside from Update-with-Start, all Workflow Update APIs are no longer experimental (#1590)

  • [client] Add client.workflow.count high level API (#1573, thanks to @THardy98)

  • [workflow] Expose AbortController to the worker sandbox (#1576, thanks to @lukeramsden)

  • [workflow] Propagate OpenTelemetry context when scheduling local activities (#1577, thanks to @THardy98)

Misc

1.11.5

20 Nov 23:58
Compare
Choose a tag to compare

Noteworthy Changes

  • Normalize construction of user facing enums (#1534)

    All user-facing enums have been revisited to be more in line with usual TypeScript conventions, rather than sticking to Temporal's Protobuf enum definitions.

    In short, that means:

    • No more redundant prefixes on enum values;
    • No more UNSPECIFIED values — TypeScript's undefined already means that;
    • Enum types are now string unions, and users may choose to provide the string value directly.

    For example:

        await startChild(sleep, {
    -     parentClosePolicy: ParentClosePolicy.PARENT_CLOSE_POLICY_ABANDON,
        
    +     parentClosePolicy: ParentClosePolicy.ABANDON,
            /* or even */
    +     parentClosePolicy: 'ABANDON',
        });

    Built-time compatibility is preserved for enum values that existed before. For example, code using ParentClosePolicy.PARENT_CLOSE_POLICY_ABANDON will still compile, but a deprecation will be reported.

    💥 Compile-time backward compatibility is only preserved for enums that were imported from user facing packages, such as @temporalio/common, @temporalio/client and @temporalio/workflow. Enum definitions imported directly from the @temporalio/proto package may no longer compile.

Features

  • Add experimental support for user-implementable Slot Supplier. (#1553, temporalio/sdk-core#838, temporalio/sdk-core#842)

  • Add support for Workflow ID conflict policy. (#1490)

  • Expose classes TextEncoder and TextDecoder inside of the Workflow sandbox. (#1562, kudo to @lukeramsden)

  • The OpenTelemetry Interceptor now adds correlation metadata on emitted logs from Workflow and Activity context loggers. (#1565)

  • The OpenTelemetry Interceptor now passes the tracing metadata on signals. (#1449, kudo to @iravid)

  • [client] Add utility functions isGrpcDeadlineError and isGrpcCancelledError. (#1548)

Bug Fixes

  • [worker] Fix memory leak on non-existant activity (#1563)

  • [activity] Abort reason is now an instance of CancellationFailure (#1561, kudo to @ikonst)

  • [worker] Ensure Resource Tuner always hand out a minimum of one slot for sticky and not sticky Workflow Task pollers (temporalio/sdk-core#835)

Docs

  • Clarify ChildWorkflowOptions.taskQueue default value (#1551, kudo to @ikonst)

Miscellaneous Tasks

  • Upgrade to TypeScript 5.6 (#1560)
  • Upgrade to Neon 1.0 (#1554)

1.11.4

20 Nov 18:01
Compare
Choose a tag to compare

This release was retracted due to inconsistencies in some package.json. Please use v1.11.5 instead.

1.11.3

17 Oct 22:07
Compare
Choose a tag to compare

Bug Fixes

  • [worker] Gracefully shut down Worker on unexpected errors (#1539)
  • [worker] Avoid a spurious error if Worker receives SIGINT while already shutting down (#1547)

Features

  • [Schedule] Support query for listing schedules (#1535, Kudos to @nikhilbhatia08 🙏)
  • [client] :test: Add experimental support for Cloud Operations API (#1538)

1.11.2

25 Sep 17:38
Compare
Choose a tag to compare

Important ⚠️ ⚠️ ⚠️

  • This release fixes a bug in 1.11.0 and 1.11.1 that may result in Workflows failing to replay with the very same code.
    We urge users who are already using v1.11.0 or v1.11.1 to promptly upgrade to this release.

Bug Fixes

Dependencies

Thanks

1.11.1

16 Aug 19:58
Compare
Choose a tag to compare

Bug Fixes

  • [client] Reexport WorkflowExecutionAlreadyStartedError from @temporalio/client (#1498)

1.11.0

16 Aug 19:58
Compare
Choose a tag to compare

Bug Fixes

  • Fix flakes in Worker Tuner and Workflow Update tests (#1463)
  • [workflow] Don't propagate cancellation from non-cancellable scopes to children (#1429)
  • [worker] Don't fail Worker on Activity Task decode failures (port from #1473) (#1477)
  • [ci] Enable file-based persistence on dev server for stress tests (#1480)
  • [workflow] Fix cancel-before-started abandon activity (#1487)
  • [doc] Docs were no longer being built and deployed in CI (#1494)
  • [workflow] Process all activation jobs as a single batch (#1488)

Documentation

  • Clarify some drawbacks of ephemeral servers, and other minor fixes (#1478)

Features

Resource-based Worker Auto-tuning (EXPERIMENTAL)

Experimental support for worker tuning has been added along with an implementation for auto-tuning based on available
resources. WorkerOptions now has a tuner field that can be set to a WorkerTuner. This is composed of SlotSuppliers, of which currently FixedSize and ResourceBased are available. ResourceBased tuners change the number of available slots dynamically based on resource usage. For some examples of initializing the worker tuner, see here.

At some point the SlotSupplier interface will be manually implementable, but only fixed-size and resource-based slot suppliers are currently supported. Custom slot suppliers will appear in the future.

This SDK API is experimental and may change in incompatible ways in the future.

  • [workflow] Unify GRPC::CANCELED and DEADLINE_EXCEEDED in an SDK Timeout exception for Update (#1452)
  • [workflow] Expose updateId to update handlers (#1450)
  • [workflow] Add upsert memo command (#1321)

Miscellaneous Tasks

  • Bump GHA runner for stress tests (#1492)

Client

  • Make gRPC INTERNAL status retryable (#1455)

1.10.3

24 Jul 19:45
Compare
Choose a tag to compare

Bug Fixes

  • [worker] Don't fail Worker on Activity Task decode failures (#1473)

1.10.2

16 Jul 18:24
Compare
Choose a tag to compare

Bug Fixes

  • [worker] Fix clients being created without prefixed metric meter (#1465)
  • [workflow] Don't propagate cancellation from non-cancellable scopes to children (#1466)
  • Update dependencies (#1467)

1.10.1

27 May 13:05
Compare
Choose a tag to compare

What changed

  • On Linux, restored compatibility with GLIBC 2.18+ on both x64 and arm64 architectures.