Skip to content

deps: update temporal_rs to 0.2.3#64191

Open
Renegade334 wants to merge 2 commits into
nodejs:mainfrom
Renegade334:t2
Open

deps: update temporal_rs to 0.2.3#64191
Renegade334 wants to merge 2 commits into
nodejs:mainfrom
Renegade334:t2

Conversation

@Renegade334

@Renegade334 Renegade334 commented Jun 28, 2026

Copy link
Copy Markdown
Member

Submitting as an alternative to #63281, since we are going straight to rustc 1.88 in the build environment, which means we can upgrade this directly.

First, a note on the update methodology. The process I've used for the manifest and cargo lockfile is somewhat different to what we were doing before, and ensures that we are mirroring the exact locked dependencies in the Chromium snapshot, in a way that should be amenable to semi-automation. The steps used were:

  1. Update deps/v8/DEPS with the target third_party/rust commit hash.
  2. Obtain chromium_crates_io/{Cargo.toml,Cargo.lock} from https://chromium.googlesource.com/chromium/src/third_party/rust at the target commit.
  3. In our own Cargo.toml:
    1. Update the crate version to match the new temporal_rs version.
    2. Update the crate's rust-version to that of temporal_rs.
    3. Copy across all of the icu_* and temporal_* dependency configs from Chromium's Cargo.toml, to ensure a feature-matched build. (Transitive dependencies which do not have config blocks in Chromium do not need listing here, but will be version-locked in the next step.)
  4. Replace our own Cargo.lock with the one in the Chromium snapshot. (It contains a lot of entries that we don't need, but those will be pruned in the next step.)
  5. Run cargo vendor.
    • temporal_rs and its dependencies will be vendored according to the matching entries in the Chromium lockfile, ensuring that every package in our dependency tree matches the one used by Chromium.
    • This step also prunes the lockfile, so all the dependencies there that don't exist in our own tree are removed.
  6. Update workflows.

temporal_rs 0.2 contains a whole raft of bugfixes and spec compliance issues, which I think we are obliged to land before v26.x goes LTS, even though it doesn't match the dependency used in V8 14.6. There are no V8 changes required for this update to land, although there are one or two small Temporal compliance patches that we should probably cherry-pick independently.

Note that the ICU4X dependencies now contain vendored locale data, which is required for calendar operations in temporal_rs (boa-dev/temporal#693 (comment)). This increases the size of the vendored source by around 55KiB, but almost none of this is linked into the build, so the final binary size is unchanged. The inclusion of compiled locale data doesn't have any effect on Intl – temporal_rs doesn't do any Intl formatting operations itself.

Blocking on nodejs/build#4265.

Refs: v8/v8@7d9b7e0
Signed-off-by: Renegade334 <contact.9a5d6388@renegade334.me.uk>
@Renegade334 Renegade334 added the blocked PRs that are blocked by other issues or PRs. label Jun 28, 2026
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/actions
  • @nodejs/security-wg

@nodejs-github-bot nodejs-github-bot added dependencies Pull requests that update a dependency file. meta Issues and PRs related to the general management of the project. needs-ci PRs that need a full CI run. labels Jun 28, 2026
@Renegade334 Renegade334 added dont-land-on-v22.x PRs that should not land on the v22.x-staging branch and should not be released in v22.x. dont-land-on-v24.x PRs that should not land on the v24.x-staging branch and should not be released in v24.x. labels Jun 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

blocked PRs that are blocked by other issues or PRs. dependencies Pull requests that update a dependency file. dont-land-on-v22.x PRs that should not land on the v22.x-staging branch and should not be released in v22.x. dont-land-on-v24.x PRs that should not land on the v24.x-staging branch and should not be released in v24.x. meta Issues and PRs related to the general management of the project. needs-ci PRs that need a full CI run.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants