AlexSKuznetsov / procure

1 stars 0 forks source link

fix(deps): update temporalio-ts monorepo to v1.9.1 #82

Closed renovate[bot] closed 7 months ago

renovate[bot] commented 7 months ago

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@temporalio/activity (source) 1.8.6 -> 1.9.1 age adoption passing confidence
@temporalio/client (source) 1.8.6 -> 1.9.1 age adoption passing confidence
@temporalio/common (source) 1.8.6 -> 1.9.1 age adoption passing confidence
@temporalio/worker (source) 1.8.6 -> 1.9.1 age adoption passing confidence
@temporalio/workflow (source) 1.8.6 -> 1.9.1 age adoption passing confidence

Release Notes

temporalio/sdk-typescript (@​temporalio/activity) ### [`v1.9.1`](https://togithub.com/temporalio/sdk-typescript/releases/tag/v1.9.1) [Compare Source](https://togithub.com/temporalio/sdk-typescript/compare/v1.9.0...v1.9.1) ##### \[1.9.1] - 2024-02-06 ##### Bug Fixes - \[`worker`] Fix prometheus and otel regressions ([#​1345](https://togithub.com/temporalio/sdk-typescript/issues/1345)) - Fix `devDependencies` in some of the SDK packages where file URLs were used instead of version numbers. ##### Documentation - Add note on custom conveters and bundleWorkflowCode ([#​1338](https://togithub.com/temporalio/sdk-typescript/issues/1338)) - Fix sort order + snipsync examples issue ([#​1341](https://togithub.com/temporalio/sdk-typescript/issues/1341)) - \[`worker`] Update webpack error doc link in worker/bundler.ts ([#​1344](https://togithub.com/temporalio/sdk-typescript/issues/1344)) - Explain the purpose of `updateId` ([#​1318](https://togithub.com/temporalio/sdk-typescript/issues/1318)) ##### Features - \[`worker`] Add a workflow metadata query ([#​1319](https://togithub.com/temporalio/sdk-typescript/issues/1319)) ### [`v1.9.0`](https://togithub.com/temporalio/sdk-typescript/releases/tag/v1.9.0) [Compare Source](https://togithub.com/temporalio/sdk-typescript/compare/v1.8.6...v1.9.0) ##### Important updates - **The `reuseV8Context` worker option is now enabled by default.** This major optimization of the Workflow sandboxing runtime significantly reduces RAM and CPU usage, without compromising the safety of the deterministic sandbox. You may still revert to the legacy execution model by adding `reuseV8Context: false` to your worker options. Note that support for the legacy, non-`reuseV8Context` execution model may be removed at some point in the future. Please reach out if you find any issue that requires disabling `reuseV8Context`. - **Support for Node.js 14 and Node.js 16 will soon be dropped.** 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](https://nodejs.org/en/about/previous-releases#release-schedule)). This has since then caused a rippling effect, as more and more libraries in the NPM ecosystem are progressively dropping support for both of those older targets. Given that challenges to maintaining compatibility with these outdated Node.js releases will only continue to grow, it is evident that we will soon need to follow suit in discontinuing support for Node.js 14 and 16 in the Temporal TypeScript SDK. For those reasons: - TS SDK v1.9 will be the last minor release to support Node.js 14. - TS SDK v1.10 could possibly be the last minor release to support Node.js 16. Note that this also implies that GLIBC 2.27 will no longer be supported from that point on, since Node.js 18+ wonโ€™t compile on GLIBC older than 2.28. 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. ##### New & Noteworthy ##### Support for Workflow Update (experimental) - Introduced Workflow Update APIs, both on Workflow side and Client side ([#​1277](https://togithub.com/temporalio/sdk-typescript/issues/1277), [#​1312](https://togithub.com/temporalio/sdk-typescript/issues/1312) and [#​1320](https://togithub.com/temporalio/sdk-typescript/issues/1320)). Kudos to [@​dandavison](https://togithub.com/dandavison) ๐Ÿ™. > โš ๏ธ The Workflow Update feature is currently in pre-release stage. Related APIs are considered experimental and may change in the near future. This feature requires Temporal Server version 1.21 or later, and must be enabled through configuration. Here are some examples to get started: // An Update is defined similarly to Query and Signal. The second type parameter (input) is optional const myUpdate = wf.defineUpdate('myUpdate'); // A handler is a sync or async function; the optional validator is always sync. wf.setHandler(myUpdate, handler, { validator }); // `await wfHandle.executeUpdate` to start an update and block until it completes or fails. // The signature resembles `WorkflowClient.start` in that the arguments are supplied // in the optional options object // (as opposed to the variadic signatures of wfHandle.query and wfHandle.signal) // An error is thrown if the RPC times out (we do not poll for this call) // or if the validator rejects, or the handler throws ApplicationFailure. const updateResult = await handle.executeUpdate(myUpdate, { args: ['a'] }); // `startUpdate` to block until Accepted and obtain a handle to the Update. Signature the same as `executeUpdate`. const updateHandle = await handle.startUpdate(myUpdate, { args: ['a'] }); // Blocking call to fetch result, with polling. // Validation failures or ApplicationFailure in the handler would throw here. const updateResult = await updateHandle.result(); ##### Major overhaul of logging support This release features a major overhaul of Workflow logging, Activity logging support, and Core log forwarding support. These changes add up to better DX, notably by promoting clear usage patterns that work out of the box, removing the need to use insufficiently documented features, and removing some requirements that were error-prone and a recurring source of support questions. **Workflow Logging** - Calling `appendDefaultInterceptors()` when registering custom interceptors is no longer required in order for Workflow logger support to work properly. `appendDefaultInterceptors()` is now deprecated and behave as a no-op in most cases (i.e. except when a custom logger is supplied in order to redirect log emitted by activities) ([#​1290](https://togithub.com/temporalio/sdk-typescript/issues/1290)). - Similarly, calling `defaultSink()` when registering custom sinks is no longer required for Workflow logging to work properly ([#​1283](https://togithub.com/temporalio/sdk-typescript/issues/1283)). SDK's logger sink is now forcibly injected. Registering a custom logger sink named `defaultWorkerLogger` is still supported, but discouraged and deprecated. - Attributes from the current Workflow are now automatically included as metadata on every log entries emitted using the Workflow context logger, and some key events of the Workflow's lifecycle are now automatically logged (at `DEBUG` level for most messages; `WARN` for failures) ([#​1290](https://togithub.com/temporalio/sdk-typescript/issues/1290)). - `WorkflowLogInterceptor` has been deprecated ([#​1290](https://togithub.com/temporalio/sdk-typescript/issues/1290)). **Activity Logging** - Attributes from the current Activity context are now automatically included as metadata on every log entries emitted using the Activity context logger, and some key events of the Activity's lifecycle are now automatically logged (at `DEBUG` level for most messages; `WARN` for failures) ([#​1284](https://togithub.com/temporalio/sdk-typescript/issues/1284)). - Logged Activity attributes can be customized by registering an `ActivityOutboundCallsInterceptor` that intercepts the `getLogAttributes()` method ([#​1284](https://togithub.com/temporalio/sdk-typescript/issues/1284)). - `ActivityInboundLogInterceptor` has been deprecated; registering such an interceptor with a custom logger still works, but will prevent the use of the newly introduced `getLogAttributes()` interceptor. The same is true about modifying the context logger directly (e.g. `context.log = myCustomLogger`) ([#​1284](https://togithub.com/temporalio/sdk-typescript/issues/1284)). **Core Logging** - Log entries forwarded from Core to TS now retain metadata ([#​1225](https://togithub.com/temporalio/sdk-typescript/issues/1225)). - Reduce the default Core log level to `WARN` and non Core Rust logs to `ERROR` ([#​1270](https://togithub.com/temporalio/sdk-typescript/issues/1270)). ##### Improvements to Activity-related APIs - ๐Ÿ’ฅ BREAKING: Non-local activities may now receive cancellation for schedule-to-close and start-to-close timeouts, without heartbeating. Heartbeating is still required to receive server sent cancellations. - All APIs provided through `Context.current()` can now be accessed directly from the `@temporalio/activity` import ([#​1252](https://togithub.com/temporalio/sdk-typescript/issues/1252)). Also, thanks to [@​SergeiMeza](https://togithub.com/SergeiMeza) for fixing a related issue that would occur when `heartbeat` and `sleep` functions were destructured out of `Context.current()` ([#​1249](https://togithub.com/temporalio/sdk-typescript/issues/1249)) ๐Ÿ™. Instead of this: import { Context } from `@temporalio/activity`; // ... Context.current().sleep('5 minutes'); you can now do: import { sleep } from `@temporalio/activity`; // ... sleep('5 minutes'); - `ActivityInboundCallsInterceptorFactory` has been deprecated. Activity Interceptors should now be instantiated using an `ActivityInterceptorsFactory` ([#​1284](https://togithub.com/temporalio/sdk-typescript/issues/1284)). - `MockActivityEnvironment` now accept a list of activity interceptors, and more closely match an actual activity execution ([#​1284](https://togithub.com/temporalio/sdk-typescript/issues/1284)). ##### Improvements to Client-related APIs - Allow specifying gRPC `CallCredentials` on Client connection. Also, fixed the fact that `ConnectionOptions.credentials` was completely ignored ([#​1261](https://togithub.com/temporalio/sdk-typescript/issues/1261)). - `Client` and `Connection` classes now expose a `withAbortSignal()` method. This can be used to cancel all ongoing connections started within a function's scope ([#​1272](https://togithub.com/temporalio/sdk-typescript/issues/1272)). Example: const ctrl = new AbortController(); setTimeout(() => ctrl.abort(), 10_000); // ๐Ÿ‘‡ throws if incomplete by the timeout. await conn.withAbortSignal(ctrl.signal, () => { /* make client or direct grpc calls */); - Add `startDelay` option to workflow `start`, `execute`, and `signalWithStart` ([#​1300](https://togithub.com/temporalio/sdk-typescript/issues/1300)). ##### Miscellaneous - `WorkerOptions` now exposes a `nonStickyToStickyPollRatio` property, which controls the proportion of Workflow Task Pollers assigned to polling from Regular Task Queue vs to polling from Sticky Tasks Queues ([#​1254](https://togithub.com/temporalio/sdk-typescript/issues/1254)). - Fixed a bug that could happen if the `@temporalio/proto` was minimized ([#​1279](https://togithub.com/temporalio/sdk-typescript/issues/1279)). - Prevents a Workflow-only Worker from requesting Eager Activity Execution for activities schedules on the same task queue name ([#​1326](https://togithub.com/temporalio/sdk-typescript/issues/1326)).

Configuration

๐Ÿ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

๐Ÿ”• Ignore: Close this PR and you won't be reminded about these updates again.



This PR has been generated by Mend Renovate. View repository job log here.