{{ message }}
Repository navigation
chore(dockerfile): upgrade node version - #10665
Merged
Merged
Conversation
Made with ❤️️ by updatecli
Made with ❤️️ by updatecli
Made with ❤️️ by updatecli
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

chore(node): upgrade node version
deps: update pnpm version to 12.8.2"
change detected: * key "$.jobs.*.steps[?(@.uses =~ /^pnpm\\/action-setup/)].with.version" updated from "12.8.1" to "12.8.2", in file ".github/workflows/go.yaml" (doc 0)
v12.8.2
pnpm 12.8.2 fixes a startup crash on Linux ppc64le and `UnknownIssuer` errors on systems without CA certificates. `pnpm run` no longer installs before every script on CI when `autoDedupe` is enabled, and resolution and hoisted installs on macOS are faster. ### Patch Changes #### Platforms and environments - Fixed pnpm crashing on startup on Linux ppc64le [#16380](https://github.com/pnpm/pnpm/issues/16380). - Fixed installs failing with `UnknownIssuer` on Linux systems without CA certificates, such as `node:24-slim`, when `NODE_EXTRA_CA_CERTS` is set. The extra certificates now extend the bundled CA roots [#16365](https://github.com/pnpm/pnpm/issues/16365). - pnpm now creates its store operation locks and other per-user lock files in `$XDG_RUNTIME_DIR` when it points to a directory only the user can write to. Otherwise, pnpm still uses `/tmp` on Linux and macOS. Sandboxes that block writes to `/tmp` can point `XDG_RUNTIME_DIR` at a writable directory [#16390](https://github.com/pnpm/pnpm/issues/16390). - POSIX bin shims and the `pnpm`, `pn`, `pnpx`, and `pnx` launchers now run inside a Nix build, where the system default path holds none of the utilities they call. Installing again replaces the shims already in `node_modules` [#16377](https://github.com/pnpm/pnpm/issues/16377). - In a project that pins another pnpm version, pnpm now passes a command with an option it does not know to the pinned version. Before, pnpm rejected the option before switching, so `pnpm install --auto-dedupe` failed with "Unknown option" even though the pinned pnpm supports it [#16353](https://github.com/pnpm/pnpm/issues/16353). #### Installing and resolving dependencies - `pnpm install --frozen-lockfile` now fails when `Cargo.lock` does not satisfy a dependency requirement in `Cargo.toml`. The error names the crate and the version the lockfile holds [#16355](https://github.com/pnpm/pnpm/issues/16355). - `pnpm install` returns "Already up to date" again in a workspace with injected workspace dependencies and a shared lockfile. Since 12.7.0 every repeat install in such a workspace ran the full install and copied the injected projects again. - With `injectWorkspacePackages: true`, a fresh `pnpm install` now records a workspace dependency as `link:` when its injected copy differs from the project only by an optional peer that peer-dependent dedupe merges. It was recorded as a peer-suffixed `file:` copy [#16354](https://github.com/pnpm/pnpm/issues/16354). - `pnpm dedupe --check` now passes right after `pnpm dedupe` when deduplication merges variants of a package that differ only in their peers. A lockfile key whose peer suffix named a merged variant now names the variant that replaced it [#16356](https://github.com/pnpm/pnpm/issues/16356). - When `minimumReleaseAge` hides the version that `latest` points to, pnpm now falls back to a prerelease of the same major before a stable version of an older major. A stable version of the same major is still preferred. Before, while a new `1.0.0` was too new, `latest` fell back to an old `0.0.1` even though `1.0.0-beta.4` had been `latest` until then [#16388](https://github.com/pnpm/pnpm/issues/16388). - Git-hosted dependencies now respect `pmOnFail`. If it is set to anything other than `download`, a git-hosted dependency that pins a pnpm version is prepared by the running pnpm, and pnpm does not download the pinned version [#16376](https://github.com/pnpm/pnpm/issues/16376). - pnpmfile hooks such as `readPackage` now run once for a dependency that several packages request at the same time. They could run twice for it before. - `childConcurrency` now defaults to 5, the documented value. It used to be capped at 4 and to follow the host's CPU count. #### Running scripts - `pnpm run` and `pnpm exec` no longer install dependencies before every script on CI when `autoDedupe` is enabled. `pnpm install --frozen-lockfile` now keeps the deduplication record left by an earlier install [#16374](https://github.com/pnpm/pnpm/issues/16374). - On macOS and Linux, lifecycle scripts and `pnpm run` now always get `PATH` from the `PATH` variable. When the environment also held a `Path` variable, a script sometimes got `Path`'s value, and failed with `node: not found` [#16308](https://github.com/pnpm/pnpm/issues/16308). - `pnpm run` now exits after a `SIGTERM` in a container where pnpm is PID 1 and the script runs pnpm again, as `"start": "pnpm serve"` does. Since 12.6.0 it kept waiting after the script had shut down, until the container runtime killed it. #### Other commands and settings - `pnpm config get globalShims`, `pnpm shim list`, and global installs no longer read `globalShims` from a project's `pnpm-workspace.yaml`. Only the global config file, the pnpm home's own `pnpm-workspace.yaml`, and `PNPM_CONFIG_GLOBAL_SHIMS` set it, so a repository cannot choose which globally installed packages get project-aware shims. - `pnpm config set --location=project` refuses a machine-level setting such as `stateDir` or `scope` with `ERR_PNPM_CONFIG_SET_NOT_A_PROJECT_SETTING`, which names where the setting belongs. `pnpm config delete` still clears such a key from a project's `pnpm-workspace.yaml`. - `pnpm deploy` no longer fails with `ERR_PNPM_DEPLOY_AMBIGUOUS_PEER` in a workspace with `injectWorkspacePackages: true` when a workspace package lists its peer dependency as a dev dependency too [#16375](https://github.com/pnpm/pnpm/issues/16375). - `pnpm deploy` no longer copies the workspace root's `packageManager` and `devEngines.packageManager` fields into the deployed `package.json` [#16403](https://github.com/pnpm/pnpm/issues/16403). - `pnpm publish` now includes bare `README` files and README files with Markdown extensions such as `readme.markdown` in registry metadata [#12704](https://github.com/pnpm/pnpm/issues/12704). - `pnpm store prune` now removes the packages that only expired `pnpm dlx` cache entries used. They were left in the store until the next `pnpm store prune` [#16383](https://github.com/pnpm/pnpm/discussions/16383). #### Performance - Sped up dependency resolution in large workspaces, and when many dependencies request different ranges of the same package. Resolution also uses less memory. - Sped up `pnpm install` with `nodeLinker: hoisted` on macOS when the lockfile is re-resolved, such as with `autoDedupe` enabled [#16397](https://github.com/pnpm/pnpm/issues/16397). - Sped up extracting package tarballs. - `pnpm install` without `--frozen-lockfile` is faster on some machines in projects with a `pnpm-workspace.yaml`. Those installs linked with one worker thread per core, half of what a frozen install uses. - On Windows, warm `pnpm install --frozen-lockfile` runs are 4-5% faster on 4- and 8-core machines. pnpm now links with one worker thread per core on Windows, between 4 and 16. This changes frozen installs and installs in projects without a `pnpm-workspace.yaml` on machines with 3 to 15 cores. <!-- sponsors --> ## Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.cloud/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> <td align="center" valign="middle"> <a href="https://openai.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/openai_dark.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/openai_light.svg" /> <img src="https://pnpm.io/img/users/openai_dark.svg" width="160" alt="OpenAI" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://notion.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"><img src="https://pnpm.io/img/users/notion.svg" width="80" alt="Notion"></a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> </tr> </tbody> </table> ## Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/sanity.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/sanity_light.svg" /> <img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"><img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"></a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/serpapi_dark.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/serpapi_light.svg" /> <img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160" alt="SerpApi" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" /> <img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://latitude.so/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"><img src="https://pnpm.io/img/users/latitude.svg" width="160" alt="Latitude"></a> </td> </tr> </tbody> </table> <!-- sponsors end -->v12.8.1
pnpm 12.8.1 fixes `pnpm install --frozen-lockfile` rejecting lockfiles with injected workspace packages that have peers, restores the executable bit on files of local directory dependencies, makes `pnpm dedupe` converge, and uses less CPU on many-core machines. ### Patch Changes - `pnpm install --frozen-lockfile` no longer rejects a freshly generated lockfile when an injected workspace package has peer dependencies [#16332](https://github.com/pnpm/pnpm/issues/16332). - Executable files in a `file:` directory dependency or an injected workspace package keep their executable bit again. Since 12.8.0, pnpm installed these files without the permissions they have in their project. - `pnpm dedupe` now reaches a stable lockfile when a package's peer suffix is long enough to be hashed. Before, each run could switch that package's key between the hashed and the spelled-out suffix, so `pnpm dedupe --check` always failed [#16331](https://github.com/pnpm/pnpm/issues/16331). - `pnpm install --frozen-lockfile`, the default in CI, now uses less CPU on machines with more than 8 cores. Warm installs on many-core Windows machines got up to 10% faster. Frozen installs now link with at most 16 worker threads. - `verifyDepsBeforeRun` no longer reports dependencies as outdated after a filtered install just because `pnpm-lock.yaml` has a newer modification time. It checks the lockfile against the packages that install put in place. Before, `pnpm run` reinstalled the whole workspace with lifecycle scripts on, for example after a Docker `COPY` brought in a lockfile with a newer mtime [#16322](https://github.com/pnpm/pnpm/issues/16322). After a filtered install, `verifyDepsBeforeRun` now also checks that the install put the selected projects' dependencies in place. A `node_modules` directory alone no longer counts as proof. - `pnpm run` and `pnpm exec` no longer install a project that has never been installed and has nothing to install. Such a project declares no dependencies, no peer dependencies that `autoInstallPeers` would fetch, and no install lifecycle scripts. The command now runs without writing `node_modules` or `pnpm-lock.yaml` [#16313](https://github.com/pnpm/pnpm/issues/16313). - `pnpm update -g --latest` now upgrades globally installed packages beyond their saved version ranges [#16320](https://github.com/pnpm/pnpm/issues/16320). <!-- sponsors --> ## Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.cloud/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> <td align="center" valign="middle"> <a href="https://openai.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/openai_dark.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/openai_light.svg" /> <img src="https://pnpm.io/img/users/openai_dark.svg" width="160" alt="OpenAI" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://notion.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"><img src="https://pnpm.io/img/users/notion.svg" width="80" alt="Notion"></a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> </tr> </tbody> </table> ## Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/sanity.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/sanity_light.svg" /> <img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"><img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"></a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/serpapi_dark.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/serpapi_light.svg" /> <img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160" alt="SerpApi" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" /> <img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://latitude.so/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"><img src="https://pnpm.io/img/users/latitude.svg" width="160" alt="Latitude"></a> </td> </tr> </tbody> </table> <!-- sponsors end -->deps: update node version to 26.10.0"
change detected: * key "$.jobs.*.steps[?(@.uses =~ /^actions\\/setup-node/)].with.node-version" updated from "26.8.2" to "26.10.0", in file ".github/workflows/go.yaml" (doc 0)
v26.10.0
### Notable Changes * \[[`c0a42d23e5`](https://github.com/nodejs/node/commit/c0a42d23e5)] - **(SEMVER-MINOR)** **crypto**: add crypto.parsePKCS12() (Brian Muenzenmeyer) [#65627](https://github.com/nodejs/node/pull/65627) * \[[`eb4fabe81e`](https://github.com/nodejs/node/commit/eb4fabe81e)] - **doc**: add araujogui to collaborators (Guilherme Araújo) [#66090](https://github.com/nodejs/node/pull/66090) * \[[`64fb33d791`](https://github.com/nodejs/node/commit/64fb33d791)] - **(SEMVER-MINOR)** **ffi**: load libraries from a mounted VFS (Matteo Collina) [#65909](https://github.com/nodejs/node/pull/65909) * \[[`2b1701f810`](https://github.com/nodejs/node/commit/2b1701f810)] - **(SEMVER-MINOR)** **fs**: add openAsBlobSync (greenhead) [#65644](https://github.com/nodejs/node/pull/65644) * \[[`080e76b3d7`](https://github.com/nodejs/node/commit/080e76b3d7)] - **(SEMVER-MINOR)** **net**: support sending net.BoundSocket to threads and child processes (Guy Bedford) [#64725](https://github.com/nodejs/node/pull/64725) * \[[`13e61f6ae6`](https://github.com/nodejs/node/commit/13e61f6ae6)] - **(SEMVER-MINOR)** **perf\_hooks**: implement SlidingWindowHistogram (James M Snell) [#65825](https://github.com/nodejs/node/pull/65825) * \[[`a326546094`](https://github.com/nodejs/node/commit/a326546094)] - **(SEMVER-MINOR)** **perf\_hooks**: implement qrde analysis support in Histogram (James M Snell) [#65806](https://github.com/nodejs/node/pull/65806) * \[[`0306b0a71e`](https://github.com/nodejs/node/commit/0306b0a71e)] - **(SEMVER-MINOR)** **sqlite**: bind undefined to NULL (Trevor Burnham) [#65709](https://github.com/nodejs/node/pull/65709) * \[[`3c999edef7`](https://github.com/nodejs/node/commit/3c999edef7)] - **(SEMVER-MINOR)** **src,lib**: add util.markPromiseAsHandled (James M Snell) [#65805](https://github.com/nodejs/node/pull/65805) * \[[`f7d18ec360`](https://github.com/nodejs/node/commit/f7d18ec360)] - **(SEMVER-MINOR)** **test**: expand histogram test coverage (James M Snell) [#65825](https://github.com/nodejs/node/pull/65825) * \[[`3ce4d23bbb`](https://github.com/nodejs/node/commit/3ce4d23bbb)] - **(SEMVER-MINOR)** **util**: implement util.throttle (James M Snell) [#65899](https://github.com/nodejs/node/pull/65899) * \[[`336f33ccc1`](https://github.com/nodejs/node/commit/336f33ccc1)] - **(SEMVER-MINOR)** **util**: implement debounce (James M Snell) [#65899](https://github.com/nodejs/node/pull/65899) ### Commits * \[[`2bf082453b`](https://github.com/nodejs/node/commit/2bf082453b)] - **assert**: fix TypeError on deepStrictEqual with null Map key or Set member (Sergey Sannikov) [#64449](https://github.com/nodejs/node/pull/64449) * \[[`c518831d00`](https://github.com/nodejs/node/commit/c518831d00)] - **benchmark**: add --csv option to compare.js with --analyze (James M Snell) [#65922](https://github.com/nodejs/node/pull/65922) * \[[`89bae46e68`](https://github.com/nodejs/node/commit/89bae46e68)] - **buffer**: fix unaligned UTF-16LE decoding (Matteo Collina) [#65905](https://github.com/nodejs/node/pull/65905) * \[[`01cee9dcef`](https://github.com/nodejs/node/commit/01cee9dcef)] - **build**: do not use bundled simdutf when built with `--shared-simdutf` (Antoine du Hamel) [#65891](https://github.com/nodejs/node/pull/65891) * \[[`20606a4d19`](https://github.com/nodejs/node/commit/20606a4d19)] - **build**: suppress OpenSSL asm warnings with clang (Richard Lau) [#66023](https://github.com/nodejs/node/pull/66023) * \[[`a76e97b5c5`](https://github.com/nodejs/node/commit/a76e97b5c5)] - **build**: derive V8\_LOGGING\_LEVEL from dcheck\_always\_on (Joyee Cheung) [#65744](https://github.com/nodejs/node/pull/65744) * \[[`ac7fcf0cef`](https://github.com/nodejs/node/commit/ac7fcf0cef)] - **build**: sync cargo/rustc version warnings (Richard Lau) [#65912](https://github.com/nodejs/node/pull/65912) * \[[`f24a495b36`](https://github.com/nodejs/node/commit/f24a495b36)] - **build**: fix quiet default for make builds (Shelley Vohr) [#65826](https://github.com/nodejs/node/pull/65826) * \[[`c4381765fe`](https://github.com/nodejs/node/commit/c4381765fe)] - **child\_process**: clear timeout timer on spawn-time error too (kishore280) [#65506](https://github.com/nodejs/node/pull/65506) * \[[`8955781eeb`](https://github.com/nodejs/node/commit/8955781eeb)] - **crypto**: remove redundent `std::move` call (Antoine du Hamel) [#66111](https://github.com/nodejs/node/pull/66111) * \[[`0b88aa5a15`](https://github.com/nodejs/node/commit/0b88aa5a15)] - **crypto**: read RSA-PSS restrictions from provider (Filip Skokan) [#66108](https://github.com/nodejs/node/pull/66108) * \[[`f90d3d3cb0`](https://github.com/nodejs/node/commit/f90d3d3cb0)] - **crypto**: skip private RSA parameters in key details (Filip Skokan) [#66108](https://github.com/nodejs/node/pull/66108) * \[[`97828d91db`](https://github.com/nodejs/node/commit/97828d91db)] - **crypto**: use provider EC group names (Filip Skokan) [#66108](https://github.com/nodejs/node/pull/66108) * \[[`3de05da569`](https://github.com/nodejs/node/commit/3de05da569)] - **crypto**: fetch ciphers for private-key encoding (Filip Skokan) [#66108](https://github.com/nodejs/node/pull/66108) * \[[`ca8ee04594`](https://github.com/nodejs/node/commit/ca8ee04594)] - **crypto**: decode PKCS#1 keys through providers (Filip Skokan) [#66108](https://github.com/nodejs/node/pull/66108) * \[[`54a625e953`](https://github.com/nodejs/node/commit/54a625e953)] - **crypto**: derive keys through EVP\_KDF (Filip Skokan) [#66108](https://github.com/nodejs/node/pull/66108) * \[[`971adece6a`](https://github.com/nodejs/node/commit/971adece6a)] - **crypto**: use names for asymmetric key algorithms (Filip Skokan) [#65966](https://github.com/nodejs/node/pull/65966) * \[[`bfb544eb00`](https://github.com/nodejs/node/commit/bfb544eb00)] - **crypto**: optimize and benchmark key preparation (Filip Skokan) [#65892](https://github.com/nodejs/node/pull/65892) * \[[`c0a42d23e5`](https://github.com/nodejs/node/commit/c0a42d23e5)] - **(SEMVER-MINOR)** **crypto**: add crypto.parsePKCS12() (Brian Muenzenmeyer) [#65627](https://github.com/nodejs/node/pull/65627) * \[[`c58a4e0ba7`](https://github.com/nodejs/node/commit/c58a4e0ba7)] - **crypto**: add Hybrid KEMs to Web Cryptography (Filip Skokan) [#65759](https://github.com/nodejs/node/pull/65759) * \[[`70edf90851`](https://github.com/nodejs/node/commit/70edf90851)] - **crypto**: avoid EC reconstruction for signature sizing (Filip Skokan) [#65908](https://github.com/nodejs/node/pull/65908) * \[[`fab5dddd77`](https://github.com/nodejs/node/commit/fab5dddd77)] - **crypto**: avoid EC raw export reconstruction (Filip Skokan) [#65908](https://github.com/nodejs/node/pull/65908) * \[[`220a499614`](https://github.com/nodejs/node/commit/220a499614)] - **crypto**: export EC JWK coordinates directly (Filip Skokan) [#65908](https://github.com/nodejs/node/pull/65908) * \[[`f1295e11db`](https://github.com/nodejs/node/commit/f1295e11db)] - **crypto**: read EC curve metadata directly (Filip Skokan) [#65908](https://github.com/nodejs/node/pull/65908) * \[[`775173a5db`](https://github.com/nodejs/node/commit/775173a5db)] - **crypto**: optimize private EC JWK import (Filip Skokan) [#65908](https://github.com/nodejs/node/pull/65908) * \[[`e44669bb7d`](https://github.com/nodejs/node/commit/e44669bb7d)] - **crypto**: validate the limit of PBKDF2 iterations (Filip Skokan) [#65704](https://github.com/nodejs/node/pull/65704) * \[[`cd5a7611e9`](https://github.com/nodejs/node/commit/cd5a7611e9)] - **crypto**: use primordials in HKDF info validation (Filip Skokan) [#65704](https://github.com/nodejs/node/pull/65704) * \[[`94affce749`](https://github.com/nodejs/node/commit/94affce749)] - _**Revert**_ "**deps**: V8: override `depot_tools` version" (Richard Lau) [#66110](https://github.com/nodejs/node/pull/66110) * \[[`870a366c49`](https://github.com/nodejs/node/commit/870a366c49)] - **deps**: V8: cherry-pick 95efbaf92a0d (Igor Sheludko) [#66020](https://github.com/nodejs/node/pull/66020) * \[[`d62a452738`](https://github.com/nodejs/node/commit/d62a452738)] - **deps**: V8: backport a0607c5006b8 (Antoine du Hamel) [#65891](https://github.com/nodejs/node/pull/65891) * \[[`e8edeffe2d`](https://github.com/nodejs/node/commit/e8edeffe2d)] - **deps**: update googletest to 8eff9e336692fc95961e096564f1044c600b881d (Node.js GitHub Bot) [#66009](https://github.com/nodejs/node/pull/66009) * \[[`eb4fabe81e`](https://github.com/nodejs/node/commit/eb4fabe81e)] - **doc**: add araujogui to collaborators (Guilherme Araújo) [#66090](https://github.com/nodejs/node/pull/66090) * \[[`2fffb3872d`](https://github.com/nodejs/node/commit/2fffb3872d)] - **doc**: fix duplicate 'the' typo in `node_platform.cc` (Muhammad Al-Muzahid) [#66058](https://github.com/nodejs/node/pull/66058) * \[[`317abb8131`](https://github.com/nodejs/node/commit/317abb8131)] - **doc**: clarify sub-1000ms behavior in socket.setKeepAlive (Haram Jeong) [#65869](https://github.com/nodejs/node/pull/65869) * \[[`1c12f815c2`](https://github.com/nodejs/node/commit/1c12f815c2)] - **doc**: remove obsolete mentioning of cl.exe on windows (Chengzhong Wu) [#66038](https://github.com/nodejs/node/pull/66038) * \[[`2cc17dd67c`](https://github.com/nodejs/node/commit/2cc17dd67c)] - **doc**: note that default signal handling resets the signal mask (Shelley Vohr) [#65877](https://github.com/nodejs/node/pull/65877) * \[[`3a69cc1bf4`](https://github.com/nodejs/node/commit/3a69cc1bf4)] - **doc**: clarify QUIC async write backpressure (John Finnerty) [#65947](https://github.com/nodejs/node/pull/65947) * \[[`549694349d`](https://github.com/nodejs/node/commit/549694349d)] - **doc**: clarify permission model scope for output paths (Rafael Gonzaga) [#66004](https://github.com/nodejs/node/pull/66004) * \[[`3325ded3a8`](https://github.com/nodejs/node/commit/3325ded3a8)] - **doc**: fix sign-off format in AGENTS.md (Filip Skokan) [#65958](https://github.com/nodejs/node/pull/65958) * \[[`89aa2bd10c`](https://github.com/nodejs/node/commit/89aa2bd10c)] - **doc**: fill in missing zstd docs (James M Snell) [#65867](https://github.com/nodejs/node/pull/65867) * \[[`8d1ce4d477`](https://github.com/nodejs/node/commit/8d1ce4d477)] - **doc**: add inoway46 as triager (Yuya Inoue) [#65565](https://github.com/nodejs/node/pull/65565) * \[[`9a3697c5c7`](https://github.com/nodejs/node/commit/9a3697c5c7)] - **doc**: document windowsHide for child\_process.fork (Christopher Buss) [#65887](https://github.com/nodejs/node/pull/65887) * \[[`69911bf6b5`](https://github.com/nodejs/node/commit/69911bf6b5)] - **doc**: qualify directory read ordering for native fs (Trivikram Kamat) [#65868](https://github.com/nodejs/node/pull/65868) * \[[`2d0c3fed12`](https://github.com/nodejs/node/commit/2d0c3fed12)] - **doc**: add DOMException section to errors API reference (Avocado) [#65206](https://github.com/nodejs/node/pull/65206) * \[[`f744023cce`](https://github.com/nodejs/node/commit/f744023cce)] - **doc**: expand revert commit collaborator instructions (Mike McCready) [#65848](https://github.com/nodejs/node/pull/65848) * \[[`412399efd3`](https://github.com/nodejs/node/commit/412399efd3)] - **doc**: clarify supported Python releases (Mike McCready) [#65850](https://github.com/nodejs/node/pull/65850) * \[[`79331f5779`](https://github.com/nodejs/node/commit/79331f5779)] - **doc**: note that FreeEnvironment() runs a shared event loop (Shelley Vohr) [#65691](https://github.com/nodejs/node/pull/65691) * \[[`6ddbb9982f`](https://github.com/nodejs/node/commit/6ddbb9982f)] - **doc,test**: account for OpenSSL 4.1 behaviours (Filip Skokan) [#65956](https://github.com/nodejs/node/pull/65956) * \[[`64fb33d791`](https://github.com/nodejs/node/commit/64fb33d791)] - **(SEMVER-MINOR)** **ffi**: load libraries from a mounted VFS (Matteo Collina) [#65909](https://github.com/nodejs/node/pull/65909) * \[[`07fcf1ed02`](https://github.com/nodejs/node/commit/07fcf1ed02)] - **ffi**: throw ERR\_INVALID\_ARG\_TYPE for wrong-typed pointer and size (Soul Lee) [#65842](https://github.com/nodejs/node/pull/65842) * \[[`b7406b0a9b`](https://github.com/nodejs/node/commit/b7406b0a9b)] - **fs**: coerce FileHandle.read length like fs.read (Xia Chao) [#65521](https://github.com/nodejs/node/pull/65521) * \[[`cb9995be4d`](https://github.com/nodejs/node/commit/cb9995be4d)] - **fs**: honor dereference for symlinks nested in cpSync trees (Christian Aurich) [#65731](https://github.com/nodejs/node/pull/65731) * \[[`2b1701f810`](https://github.com/nodejs/node/commit/2b1701f810)] - **(SEMVER-MINOR)** **fs**: add openAsBlobSync (greenhead) [#65644](https://github.com/nodejs/node/pull/65644) * \[[`9b3f1aa03f`](https://github.com/nodejs/node/commit/9b3f1aa03f)] - **fs**: throw on existing dir in cpSync with errorOnExist (Daijiro Wachi) [#64124](https://github.com/nodejs/node/pull/64124) * \[[`2b502e0798`](https://github.com/nodejs/node/commit/2b502e0798)] - **fs**: support removing read-only files in rmSync on Windows (Sparsh :)) [#64453](https://github.com/nodejs/node/pull/64453) * \[[`77d8f17ab1`](https://github.com/nodejs/node/commit/77d8f17ab1)] - **http**: don't destroy socket after request completes (Barath Raj) [#65952](https://github.com/nodejs/node/pull/65952) * \[[`46f76ed57b`](https://github.com/nodejs/node/commit/46f76ed57b)] - **http2**: settle pending write callbacks on destroy (Matteo Collina) [#66016](https://github.com/nodejs/node/pull/66016) * \[[`205443721d`](https://github.com/nodejs/node/commit/205443721d)] - **http2**: fix onread assert when destroying session from stream handler (Sankalp Thakur) [#65116](https://github.com/nodejs/node/pull/65116) * \[[`7e1db4724a`](https://github.com/nodejs/node/commit/7e1db4724a)] - **inspector**: report an error when DOM storage is unavailable (Avocado) [#65973](https://github.com/nodejs/node/pull/65973) * \[[`95110712b8`](https://github.com/nodejs/node/commit/95110712b8)] - **inspector**: fix abort when two Environments own the inspector (Shelley Vohr) [#65877](https://github.com/nodejs/node/pull/65877) * \[[`9fd3e6caa4`](https://github.com/nodejs/node/commit/9fd3e6caa4)] - **inspector**: fix crash when the IsolateData has no platform (Shelley Vohr) [#65818](https://github.com/nodejs/node/pull/65818) * \[[`cce2795ad7`](https://github.com/nodejs/node/commit/cce2795ad7)] - **lib**: fix AbortSignal.any() abort propagation (Yuya Inoue) [#66014](https://github.com/nodejs/node/pull/66014) * \[[`2c0ccc0067`](https://github.com/nodejs/node/commit/2c0ccc0067)] - **lib**: fix for FileHandle.readableWebStream (Patrick Dähne) [#58842](https://github.com/nodejs/node/pull/58842) * \[[`28acafe6a0`](https://github.com/nodejs/node/commit/28acafe6a0)] - **lib**: avoid repeat internal receiver checks (Filip Skokan) [#65910](https://github.com/nodejs/node/pull/65910) * \[[`b9b0e33923`](https://github.com/nodejs/node/commit/b9b0e33923)] - **lib**: avoid unsafe array iteration in cli table (Donghoon Kang) [#65838](https://github.com/nodejs/node/pull/65838) * \[[`7f514d3310`](https://github.com/nodejs/node/commit/7f514d3310)] - **lib**: fix shared buffer growability validation (Filip Skokan) [#65845](https://github.com/nodejs/node/pull/65845) * \[[`7534117e38`](https://github.com/nodejs/node/commit/7534117e38)] - **lib**: optimize internal Web IDL dictionaries (Filip Skokan) [#65857](https://github.com/nodejs/node/pull/65857) * \[[`bdacc08fbe`](https://github.com/nodejs/node/commit/bdacc08fbe)] - **lib**: validate sequence iterator objects (Filip Skokan) [#65844](https://github.com/nodejs/node/pull/65844) * \[[`5b6ac71fb2`](https://github.com/nodejs/node/commit/5b6ac71fb2)] - **lib**: use Web IDL interface brand checks (Filip Skokan) [#65846](https://github.com/nodejs/node/pull/65846) * \[[`da341e2571`](https://github.com/nodejs/node/commit/da341e2571)] - **lib,src**: apply multiple updates to dtls implementation (James M Snell) [#65511](https://github.com/nodejs/node/pull/65511) * \[[`13eb4843d5`](https://github.com/nodejs/node/commit/13eb4843d5)] - **meta**: bump step-security/harden-runner from 2.21.0 to 2.21.1 (dependabot\[bot]) [#66044](https://github.com/nodejs/node/pull/66044) * \[[`0f759174af`](https://github.com/nodejs/node/commit/0f759174af)] - **meta**: bump github/codeql-action/upload-sarif from 4.37.9 to 4.38.0 (dependabot\[bot]) [#66046](https://github.com/nodejs/node/pull/66046) * \[[`c75b830082`](https://github.com/nodejs/node/commit/c75b830082)] - **meta**: bump cachix/cachix-action (dependabot\[bot]) [#66047](https://github.com/nodejs/node/pull/66047) * \[[`1ada7055a4`](https://github.com/nodejs/node/commit/1ada7055a4)] - **meta**: bump github/codeql-action/init from 4.37.9 to 4.38.0 (dependabot\[bot]) [#66048](https://github.com/nodejs/node/pull/66048) * \[[`1ed8b05742`](https://github.com/nodejs/node/commit/1ed8b05742)] - **meta**: bump github/codeql-action/analyze from 4.37.9 to 4.38.0 (dependabot\[bot]) [#66049](https://github.com/nodejs/node/pull/66049) * \[[`9165abe840`](https://github.com/nodejs/node/commit/9165abe840)] - **meta**: bump github/codeql-action/autobuild from 4.37.9 to 4.38.0 (dependabot\[bot]) [#66050](https://github.com/nodejs/node/pull/66050) * \[[`d03e7313cf`](https://github.com/nodejs/node/commit/d03e7313cf)] - **meta**: add joyeecheung as v8 currency strategic initiative champion (Joyee Cheung) [#65965](https://github.com/nodejs/node/pull/65965) * \[[`53d7592378`](https://github.com/nodejs/node/commit/53d7592378)] - **meta**: expand on collaborator restoration process (Chengzhong Wu) [#65962](https://github.com/nodejs/node/pull/65962) * \[[`fa972d02b2`](https://github.com/nodejs/node/commit/fa972d02b2)] - **meta**: add web-standards as webidl owners (Filip Skokan) [#65856](https://github.com/nodejs/node/pull/65856) * \[[`080e76b3d7`](https://github.com/nodejs/node/commit/080e76b3d7)] - **(SEMVER-MINOR)** **net**: support sending net.BoundSocket to threads and child processes (Guy Bedford) [#64725](https://github.com/nodejs/node/pull/64725) * \[[`0d14c0e507`](https://github.com/nodejs/node/commit/0d14c0e507)] - **path**: remove `StringPrototypeCharCodeAt` from some methods of `posix` (Wiyeong Seo) [#54668](https://github.com/nodejs/node/pull/54668) * \[[`13e61f6ae6`](https://github.com/nodejs/node/commit/13e61f6ae6)] - **(SEMVER-MINOR)** **perf\_hooks**: implement SlidingWindowHistogram (James M Snell) [#65825](https://github.com/nodejs/node/pull/65825) * \[[`a326546094`](https://github.com/nodejs/node/commit/a326546094)] - **(SEMVER-MINOR)** **perf\_hooks**: implement qrde analysis support in Histogram (James M Snell) [#65806](https://github.com/nodejs/node/pull/65806) * \[[`32401c2229`](https://github.com/nodejs/node/commit/32401c2229)] - **perf\_hooks**: reuse buffer for uv metrics (Donghoon Kang) [#65985](https://github.com/nodejs/node/pull/65985) * \[[`5e2fbfe0e5`](https://github.com/nodejs/node/commit/5e2fbfe0e5)] - **perf\_hooks**: validate import normalization offset (Matteo Collina) [#65950](https://github.com/nodejs/node/pull/65950) * \[[`4743cd8d33`](https://github.com/nodejs/node/commit/4743cd8d33)] - **quic**: fix two small bugs in HTTP/3 stream internals (Tim Perry) [#65970](https://github.com/nodejs/node/pull/65970) * \[[`0df54fb38f`](https://github.com/nodejs/node/commit/0df54fb38f)] - **quic**: improve stream cleanup & lookup (Tim Perry) [#65944](https://github.com/nodejs/node/pull/65944) * \[[`7cf448889c`](https://github.com/nodejs/node/commit/7cf448889c)] - **quic**: fix timeout regression from 11ed32572b3 (James M Snell) [#66028](https://github.com/nodejs/node/pull/66028) * \[[`61a98e6512`](https://github.com/nodejs/node/commit/61a98e6512)] - **quic**: fix readable stream truncation on stop-sending, abort & timeout (Tim Perry) [#63967](https://github.com/nodejs/node/pull/63967) * \[[`975cac593c`](https://github.com/nodejs/node/commit/975cac593c)] - **quic**: add promise to QuicStream for pending strms (Marten Richter) [#65862](https://github.com/nodejs/node/pull/65862) * \[[`ae29cc92ea`](https://github.com/nodejs/node/commit/ae29cc92ea)] - **quic**: split headers out from src/quic/stream.{h/cc} (James M Snell) [#65863](https://github.com/nodejs/node/pull/65863) * \[[`833c58d9dc`](https://github.com/nodejs/node/commit/833c58d9dc)] - **quic**: fix crash in onStreamClose (Marten Richter) [#65861](https://github.com/nodejs/node/pull/65861) * \[[`84ecb21343`](https://github.com/nodejs/node/commit/84ecb21343)] - **quic**: reject zero addressLRUSize (Christian Aurich) [#65827](https://github.com/nodejs/node/pull/65827) * \[[`293e69d065`](https://github.com/nodejs/node/commit/293e69d065)] - **sqlite**: throw on invalid URL path instead of abort (Guilherme Araújo) [#66026](https://github.com/nodejs/node/pull/66026) * \[[`6f5fb76d0e`](https://github.com/nodejs/node/commit/6f5fb76d0e)] - **sqlite**: track registered user-defined functions (Trivikram Kamat) [#65896](https://github.com/nodejs/node/pull/65896) * \[[`baf112b639`](https://github.com/nodejs/node/commit/baf112b639)] - **sqlite**: always copy changeset before applying (Trivikram Kamat) [#65870](https://github.com/nodejs/node/pull/65870) * \[[`0306b0a71e`](https://github.com/nodejs/node/commit/0306b0a71e)] - **(SEMVER-MINOR)** **sqlite**: bind undefined to NULL (Trevor Burnham) [#65709](https://github.com/nodejs/node/pull/65709) * \[[`1f24901c0c`](https://github.com/nodejs/node/commit/1f24901c0c)] - **src**: fix `-Wextra` warning in `WriteFileSync` (Antoine du Hamel) [#66020](https://github.com/nodejs/node/pull/66020) * \[[`b98787fe2d`](https://github.com/nodejs/node/commit/b98787fe2d)] - **src**: reuse crypto GetCipherInfo in DTLS session (Ilyas Shabi) [#66022](https://github.com/nodejs/node/pull/66022) * \[[`410093dbf7`](https://github.com/nodejs/node/commit/410093dbf7)] - **src**: avoid union type-punning in trace values (Khaidi Chu) [#65933](https://github.com/nodejs/node/pull/65933) * \[[`9ec030b1e7`](https://github.com/nodejs/node/commit/9ec030b1e7)] - **src**: print exception thrown during primordial initialization (Joyee Cheung) [#65991](https://github.com/nodejs/node/pull/65991) * \[[`a0f99f1d6c`](https://github.com/nodejs/node/commit/a0f99f1d6c)] - **src**: support building with the V8 sandbox (Shelley Vohr) [#62237](https://github.com/nodejs/node/pull/62237) * \[[`27c62235d0`](https://github.com/nodejs/node/commit/27c62235d0)] - **src**: ffi: create fast-call metadata Symbols lazily (Matteo Collina) [#66015](https://github.com/nodejs/node/pull/66015) * \[[`5a5abd8fd0`](https://github.com/nodejs/node/commit/5a5abd8fd0)] - **src**: avoid copying SEA snapshot data (Colin McDonnell) [#65876](https://github.com/nodejs/node/pull/65876) * \[[`a05023f331`](https://github.com/nodejs/node/commit/a05023f331)] - **src**: fix crash on empty, foreign or truncated --snapshot-blob files (Shelley Vohr) [#65955](https://github.com/nodejs/node/pull/65955) * \[[`4141e22606`](https://github.com/nodejs/node/commit/4141e22606)] - **src**: don't kill own process group on failed spawn (Lazizbek Ergashev) [#65054](https://github.com/nodejs/node/pull/65054) * \[[`05f4e54eda`](https://github.com/nodejs/node/commit/05f4e54eda)] - **src**: fix external reference list race between concurrent isolates (Shelley Vohr) [#65779](https://github.com/nodejs/node/pull/65779) * \[[`1518b7d67f`](https://github.com/nodejs/node/commit/1518b7d67f)] - **src**: keep the first snapshot blob alive for later isolates (Shelley Vohr) [#65779](https://github.com/nodejs/node/pull/65779) * \[[`62e2bf025c`](https://github.com/nodejs/node/commit/62e2bf025c)] - **src**: detach cppgc wrappers from their Realm before it is freed (Shelley Vohr) [#65778](https://github.com/nodejs/node/pull/65778) * \[[`afc3e559d2`](https://github.com/nodejs/node/commit/afc3e559d2)] - **src**: fix Stop() terminating the next Environment on the isolate (Shelley Vohr) [#65819](https://github.com/nodejs/node/pull/65819) * \[[`f245e53b29`](https://github.com/nodejs/node/commit/f245e53b29)] - **src**: seed V8 from the OS CSPRNG instead of OpenSSL's DRBG (Colin McDonnell) [#65796](https://github.com/nodejs/node/pull/65796) * \[[`830ca7df7a`](https://github.com/nodejs/node/commit/830ca7df7a)] - **src**: fix null pointer call when running without a startup snapshot (Shelley Vohr) [#65820](https://github.com/nodejs/node/pull/65820) * \[[`48158fba8c`](https://github.com/nodejs/node/commit/48158fba8c)] - **src**: stop leaking a CppHeap in CommonEnvironmentSetup (Shelley Vohr) [#65792](https://github.com/nodejs/node/pull/65792) * \[[`3c999edef7`](https://github.com/nodejs/node/commit/3c999edef7)] - **(SEMVER-MINOR)** **src,lib**: add util.markPromiseAsHandled (James M Snell) [#65805](https://github.com/nodejs/node/pull/65805) * \[[`e5d2a336bd`](https://github.com/nodejs/node/commit/e5d2a336bd)] - **stream**: destroy half-open sockets after iteration (Matteo Collina) [#65986](https://github.com/nodejs/node/pull/65986) * \[[`4075161405`](https://github.com/nodejs/node/commit/4075161405)] - **stream**: destroy Duplex.from async function on early return (Aman Chadha(IVIXMMI)) [#65963](https://github.com/nodejs/node/pull/65963) * \[[`7d245cfd8d`](https://github.com/nodejs/node/commit/7d245cfd8d)] - **stream**: fixup stream/iter to drop at most one entry per share call (James M Snell) [#66028](https://github.com/nodejs/node/pull/66028) * \[[`30e1f7651c`](https://github.com/nodejs/node/commit/30e1f7651c)] - **stream**: reject unbounded at SyncShare construction (James M Snell) [#66028](https://github.com/nodejs/node/pull/66028) * \[[`0372056cd8`](https://github.com/nodejs/node/commit/0372056cd8)] - **stream**: make share budget failures detach before throwing (James M Snell) [#66028](https://github.com/nodejs/node/pull/66028) * \[[`36cc238dce`](https://github.com/nodejs/node/commit/36cc238dce)] - **stream**: make Broadcast.from abort its background pump (James M Snell) [#66028](https://github.com/nodejs/node/pull/66028) * \[[`3134ca6f8e`](https://github.com/nodejs/node/commit/3134ca6f8e)] - **stream**: update broadcast to retain buffered data with zero consumers (James M Snell) [#66028](https://github.com/nodejs/node/pull/66028) * \[[`04e5c282a1`](https://github.com/nodejs/node/commit/04e5c282a1)] - **stream**: fix async iteration of undefined chunks (Caleb Everett) [#65969](https://github.com/nodejs/node/pull/65969) * \[[`f81a1483b3`](https://github.com/nodejs/node/commit/f81a1483b3)] - **stream**: avoid promise allocation for parked transform writes (Matteo Collina) [#65625](https://github.com/nodejs/node/pull/65625) * \[[`aec01c5ae1`](https://github.com/nodejs/node/commit/aec01c5ae1)] - **stream**: keep webstream stream states in fast-mode objects (Matteo Collina) [#65625](https://github.com/nodejs/node/pull/65625) * \[[`898cd55bdf`](https://github.com/nodejs/node/commit/898cd55bdf)] - **stream**: reject closed only after sink abort settles (Lazizbek Ergashev) [#65727](https://github.com/nodejs/node/pull/65727) * \[[`5661526006`](https://github.com/nodejs/node/commit/5661526006)] - **stream**: fix ERR\_INVALID\_STATE when cancelling Readable.toWeb() (Richard Scarrott) [#62773](https://github.com/nodejs/node/pull/62773) * \[[`fb8a97f46b`](https://github.com/nodejs/node/commit/fb8a97f46b)] - **stream**: improve handling of falsy errors in stream/iter (James M Snell) [#65864](https://github.com/nodejs/node/pull/65864) * \[[`cfee7fa3d9`](https://github.com/nodejs/node/commit/cfee7fa3d9)] - **stream**: amortize writable buffer compaction (Gürgün Dayıoğlu) [#65847](https://github.com/nodejs/node/pull/65847) * \[[`15605210f8`](https://github.com/nodejs/node/commit/15605210f8)] - **stream**: create write request objects lazily (Matteo Collina) [#64455](https://github.com/nodejs/node/pull/64455) * \[[`619470a9ae`](https://github.com/nodejs/node/commit/619470a9ae)] - **stream**: allocate stream read buffers from a slab (Matteo Collina) [#64455](https://github.com/nodejs/node/pull/64455) * \[[`7e79c33354`](https://github.com/nodejs/node/commit/7e79c33354)] - **test**: consolidate crypto provider cache coverage (Filip Skokan) [#66108](https://github.com/nodejs/node/pull/66108) * \[[`dcc9c3c02a`](https://github.com/nodejs/node/commit/dcc9c3c02a)] - **test**: avoid call to `chmodSync` in `test-fs-cp-async-file-modes` (Antoine du Hamel) [#66104](https://github.com/nodejs/node/pull/66104) * \[[`dda22c06d7`](https://github.com/nodejs/node/commit/dda22c06d7)] - **test**: deflake test-run-watch-cwd-isolation-none-\* (Antoine du Hamel) [#66035](https://github.com/nodejs/node/pull/66035) * \[[`d63928dda0`](https://github.com/nodejs/node/commit/d63928dda0)] - **test**: move permission FFI test to native suite (Yuya Inoue) [#66059](https://github.com/nodejs/node/pull/66059) * \[[`80c1bf7fb5`](https://github.com/nodejs/node/commit/80c1bf7fb5)] - **test**: deflake user timing WPT assertions (Filip Skokan) [#66036](https://github.com/nodejs/node/pull/66036) * \[[`12116d1d70`](https://github.com/nodejs/node/commit/12116d1d70)] - **test**: unskip `test-watch-create-isolation-none` (Antoine du Hamel) [#66041](https://github.com/nodejs/node/pull/66041) * \[[`e90575cb4d`](https://github.com/nodejs/node/commit/e90575cb4d)] - **test**: deflake util.throttle tests (Filip Skokan) [#66034](https://github.com/nodejs/node/pull/66034) * \[[`f7d18ec360`](https://github.com/nodejs/node/commit/f7d18ec360)] - **(SEMVER-MINOR)** **test**: expand histogram test coverage (James M Snell) [#65825](https://github.com/nodejs/node/pull/65825) * \[[`bfa6d49b5c`](https://github.com/nodejs/node/commit/bfa6d49b5c)] - **test**: implement low-risk test optimizations (James M Snell) [#65926](https://github.com/nodejs/node/pull/65926) * \[[`c3307ebddf`](https://github.com/nodejs/node/commit/c3307ebddf)] - **test**: update WPT for WebCryptoAPI to 55ce71bb9d (Node.js GitHub Bot) [#65813](https://github.com/nodejs/node/pull/65813) * \[[`ee29c56993`](https://github.com/nodejs/node/commit/ee29c56993)] - **test**: prevent parser reuse across close scenarios (Filip Skokan) [#66017](https://github.com/nodejs/node/pull/66017) * \[[`8a27474044`](https://github.com/nodejs/node/commit/8a27474044)] - **test**: cover cpSync fast path timestamp preservation (Abhinandan Kumar) [#65678](https://github.com/nodejs/node/pull/65678) * \[[`89297305c0`](https://github.com/nodejs/node/commit/89297305c0)] - **test**: fix stderr Buffer assertion in exec encoding test (greenhead) [#66008](https://github.com/nodejs/node/pull/66008) * \[[`d4cb916624`](https://github.com/nodejs/node/commit/d4cb916624)] - **test**: skip test-vfs-real-provider-watch.js on IBM i (SRAVANI GUNDEPALLI) [#65987](https://github.com/nodejs/node/pull/65987) * \[[`6515db8ab6`](https://github.com/nodejs/node/commit/6515db8ab6)] - **test**: fix RSA/DSA wrong-passphrase flake (Filip Skokan) [#65983](https://github.com/nodejs/node/pull/65983) * \[[`fa19ecad9d`](https://github.com/nodejs/node/commit/fa19ecad9d)] - **test**: improve sequential test performance (James M Snell) [#65928](https://github.com/nodejs/node/pull/65928) * \[[`3666d6a238`](https://github.com/nodejs/node/commit/3666d6a238)] - **test**: schedule WPT variants individually (Filip Skokan) [#65984](https://github.com/nodejs/node/pull/65984) * \[[`f2aa27d82d`](https://github.com/nodejs/node/commit/f2aa27d82d)] - **test**: overlap SLH-DSA signature checks (Filip Skokan) [#65980](https://github.com/nodejs/node/pull/65980) * \[[`2170207253`](https://github.com/nodejs/node/commit/2170207253)] - **test**: unref cancelled broadcast source timer (Filip Skokan) [#65980](https://github.com/nodejs/node/pull/65980) * \[[`71a54aaf5f`](https://github.com/nodejs/node/commit/71a54aaf5f)] - **test**: collect timeout signals explicitly (Filip Skokan) [#65980](https://github.com/nodejs/node/pull/65980) * \[[`1a15aff897`](https://github.com/nodejs/node/commit/1a15aff897)] - **test**: skip retries in DNS timeout coverage (Filip Skokan) [#65980](https://github.com/nodejs/node/pull/65980) * \[[`5c7e6b4a6e`](https://github.com/nodejs/node/commit/5c7e6b4a6e)] - **test**: synchronize ordered runner events (Filip Skokan) [#65980](https://github.com/nodejs/node/pull/65980) * \[[`37f24eddc9`](https://github.com/nodejs/node/commit/37f24eddc9)] - **test**: reuse fixed primes in DH tests (Filip Skokan) [#65980](https://github.com/nodejs/node/pull/65980) * \[[`831ec42bcc`](https://github.com/nodejs/node/commit/831ec42bcc)] - **test**: avoid idle HTTP/HTTPS connections (Filip Skokan) [#65980](https://github.com/nodejs/node/pull/65980) * \[[`f523342bcd`](https://github.com/nodejs/node/commit/f523342bcd)] - **test**: close WebAssembly test HTTP servers (Filip Skokan) [#65980](https://github.com/nodejs/node/pull/65980) * \[[`f23847a122`](https://github.com/nodejs/node/commit/f23847a122)] - **test**: use named parameters in DH stress test (Filip Skokan) [#65980](https://github.com/nodejs/node/pull/65980) * \[[`7131e3b437`](https://github.com/nodejs/node/commit/7131e3b437)] - **test**: reduce ZIP64 stress test I/O (Filip Skokan) [#65980](https://github.com/nodejs/node/pull/65980) * \[[`e4ca72a984`](https://github.com/nodejs/node/commit/e4ca72a984)] - **test**: avoid allocations in external memory test (Filip Skokan) [#65975](https://github.com/nodejs/node/pull/65975) * \[[`7fe64727a2`](https://github.com/nodejs/node/commit/7fe64727a2)] - **test**: cover experimental stream iterator builtins (Jungwon Sohn) [#65964](https://github.com/nodejs/node/pull/65964) * \[[`88ba17bae2`](https://github.com/nodejs/node/commit/88ba17bae2)] - **test**: deflake node-api test-free-called (Christian Aurich) [#65948](https://github.com/nodejs/node/pull/65948) * \[[`6eee01fbae`](https://github.com/nodejs/node/commit/6eee01fbae)] - **test**: fix flaky common WPT inspector test (Yuya Inoue) [#65937](https://github.com/nodejs/node/pull/65937) * \[[`858702e51c`](https://github.com/nodejs/node/commit/858702e51c)] - **test**: skip C++ symbols in tick-processor-arguments (Philipp Dunkel) [#65906](https://github.com/nodejs/node/pull/65906) * \[[`472215ff9b`](https://github.com/nodejs/node/commit/472215ff9b)] - **test**: try fixing windows build replacing WMIC (James M Snell) [#65949](https://github.com/nodejs/node/pull/65949) * \[[`7f5168149c`](https://github.com/nodejs/node/commit/7f5168149c)] - **test**: fix flaky test-bench-stream (Matteo Collina) [#65874](https://github.com/nodejs/node/pull/65874) * \[[`9f2d544576`](https://github.com/nodejs/node/commit/9f2d544576)] - **test**: move sqlite length validation out of the reentry test (Trevor Burnham) [#65769](https://github.com/nodejs/node/pull/65769) * \[[`75a9fa65ac`](https://github.com/nodejs/node/commit/75a9fa65ac)] - **test**: fix flaky cleanup in http2 test (Tim Perry) [#65701](https://github.com/nodejs/node/pull/65701) * \[[`f8cdf05586`](https://github.com/nodejs/node/commit/f8cdf05586)] - **test,benchmark**: use OpenSSL feature helpers (Filip Skokan) [#65762](https://github.com/nodejs/node/pull/65762) * \[[`88b12c03cd`](https://github.com/nodejs/node/commit/88b12c03cd)] - **test\_runner**: avoid reusing v8 serializers (Yuya Inoue) [#65951](https://github.com/nodejs/node/pull/65951) * \[[`9b3085e660`](https://github.com/nodejs/node/commit/9b3085e660)] - **test\_runner**: fix quote escaping in JUnit (Jihwan) [#65971](https://github.com/nodejs/node/pull/65971) * \[[`02c2302c31`](https://github.com/nodejs/node/commit/02c2302c31)] - **tls**: propagate singleUse to the secure context (Carlos Vinicius) [#66025](https://github.com/nodejs/node/pull/66025) * \[[`2a8b5d9269`](https://github.com/nodejs/node/commit/2a8b5d9269)] - **tls**: load all CRLs from a PEM bundle (Lazizbek Ergashev) [#65577](https://github.com/nodejs/node/pull/65577) * \[[`d141ddb8dc`](https://github.com/nodejs/node/commit/d141ddb8dc)] - **tls**: defer re-entrant calls to SSL state machine from JS (Tim Perry) [#65105](https://github.com/nodejs/node/pull/65105) * \[[`b7fe779632`](https://github.com/nodejs/node/commit/b7fe779632)] - **tools**: update `tools/v8` for Python 3.13 (Richard Lau) [#66109](https://github.com/nodejs/node/pull/66109) * \[[`6105b37a3d`](https://githu...