Skip to content

feat!: release v5 - #1152

Draft
jGleitz wants to merge 38 commits into
mainfrom
v5
Draft

feat!: release v5#1152
jGleitz wants to merge 38 commits into
mainfrom
v5

Conversation

@jGleitz

@jGleitz jGleitz commented Aug 13, 2026

Copy link
Copy Markdown
Owner

Review only — do not merge

This draft PR exists solely to make the completed v5 release candidate easy to review, including on mobile.

Opening this PR does not authorize any release action. Do not merge it, update either branch, change rulesets, pin v4.x, publish a release, retarget Renovate, or perform any other step from the release runbook without separate explicit approval.

Release candidate

Final verification

  • F1 plan compliance: APPROVE — 17/17 Must Haves, 13/13 Must NOTs
  • F2 code quality: APPROVE — lint, 45/45 tests, build, publint/attw
  • F3 real package QA: APPROVE — ESM, CJS, markdown-it 15, Webpack, Vite
  • F4 scope fidelity: APPROVE — 9/9 mapped PRs compliant, contamination clean

Pending release runbook

Todo 18 in .omo/plans/v5-major-release.md remains fully in force and unexecuted. It requires a main freeze and drift check, pinning/configuring v4.x, updating the main ruleset, a fresh pre-merge check, an explicitly approved squash merge, release verification, and only then the post-release Renovate update.

If this PR is eventually approved for release, its squash commit subject must remain exactly feat!: release v5 and include a BREAKING CHANGE: footer.

BREAKING CHANGE: v5 requires markdown-it 15 and Node.js 22.3 or later, replaces the Babel build with native dual ESM/CommonJS outputs, and changes browser-bundler plugin loading as documented.

jGleitz and others added 30 commits August 6, 2026 15:28
BREAKING CHANGE: switch the package foundations to native ESM/NodeNext while preserving the documented CJS migration path for the following build wave.
BREAKING CHANGE: Node 20 is dropped; package output moves to dist with conditional ESM/CJS exports.
BREAKING CHANGE: the markdown-it peer dependency is now ^15.0.0; consumers must remove @types/markdown-it because markdown-it v15 bundles its declarations.
Add packed-tarball ESM and CJS consumer compilation/runtime gates and require them for release checks.
BREAKING CHANGE: document the markdown-it v15 and Node 22 requirements, native ESM/CJS exports, and temporary browser-bundler regression.
## Exact-SHA sync

- `SYNC_MAIN_SHA`: `2cd4b414639b5b3902918199928f955b8ff459e9`
- `SYNC_V5_BASE_SHA`: `8441daebdf923c9a9a3ca7b7da9a33cce7bd1bf2`
- Merge commit: `4a4b1945102dc4563fcd4a8747f9b328d1c0b736`; second
parent verified as `SYNC_MAIN_SHA`.

## Reviewed conflict exception attestation

- `.github/workflows/ci.yml` restored exactly from the v5 base.
- `package.json` restored from v5 except `packageManager: pnpm@11.21.0`.
- `pnpm-lock.yaml` seeded from v5 and `npx --yes pnpm@11.21.0 install
--lockfile-only` produced zero lockfile diff.
- Retained the non-conflicting Renovate `baseBranches` →
`baseBranchPatterns` migration.
- PR diff is exactly `package.json` (one package-manager line) and
`renovate.json5` (one key migration).

## Local verification

- Frozen pnpm 11.21 install
- lint and TypeScript alias checks (TypeScript 6.0.2 / native 7.0.2)
- 45/45 Vitest tests
- build and package lint
- markdown-it 15 compatibility type-check and tests
- fresh packed ESM and CJS consumers

No operation targets `main`.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
…ains Node-only) (#1150)

Outcome B restores the core browser-bundler flow while keeping the plugins option explicitly Node-only.

All required Test 22/24/26, compatibility, consuming, Sonar quality gate, issue, hotspot, and review-thread gates passed.
Restore the v5 Vitest and TypeScript alias release contracts.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
renovate Bot added 8 commits August 25, 2026 02:00
> ℹ️ **Note**
> 
> This PR body was truncated due to platform limits.

This PR contains the following updates:

| Package | Update | Change | Pending |
|---|---|---|---|
| [node](https://nodejs.org)
([source](https://redirect.github.com/nodejs/node)) | minor | `26.7.0` →
`26.8.0` | `v26.8.1` |

---

### Release Notes

<details>
<summary>nodejs/node (node)</summary>

###
[`v26.8.0`](https://redirect.github.com/nodejs/node/releases/tag/v26.8.0):
2026-08-26, Version 26.8.0 (Current), @&#8203;aduh95

[Compare
Source](https://redirect.github.com/nodejs/node/compare/v26.7.0...v26.8.0)

##### Notable Changes

-
\[[`74234ee30e`](https://redirect.github.com/nodejs/node/commit/74234ee30e)]
- **(SEMVER-MINOR)** **benchmark**: add --analyze mode to compare.js
(James M Snell)
[#&#8203;65416](https://redirect.github.com/nodejs/node/pull/65416)
-
\[[`4232997fa2`](https://redirect.github.com/nodejs/node/commit/4232997fa2)]
- **crypto**: update root certificates to NSS 3.126 (Node.js GitHub Bot)
[#&#8203;65495](https://redirect.github.com/nodejs/node/pull/65495)
-
\[[`f0531f1c87`](https://redirect.github.com/nodejs/node/commit/f0531f1c87)]
- **(SEMVER-MINOR)** **crypto**: enable SIV and GCM-SIV modes in
Cipher/Decipher APIs (Filip Skokan)
[#&#8203;63411](https://redirect.github.com/nodejs/node/pull/63411)
-
\[[`3f4b80ebb5`](https://redirect.github.com/nodejs/node/commit/3f4b80ebb5)]
- **diagnostics\_channel**: mark TracingChannel as stable (Abdelrahman
Awad)
[#&#8203;64525](https://redirect.github.com/nodejs/node/pull/64525)
-
\[[`753033c110`](https://redirect.github.com/nodejs/node/commit/753033c110)]
- **(SEMVER-MINOR)** **lib,src**: improve histogram implementation
(James M Snell)
[#&#8203;65024](https://redirect.github.com/nodejs/node/pull/65024)
-
\[[`3d7d277493`](https://redirect.github.com/nodejs/node/commit/3d7d277493)]
- **(SEMVER-MINOR)** **net**: improve performance of net.BlockList
(James M Snell)
[#&#8203;64974](https://redirect.github.com/nodejs/node/pull/64974)
-
\[[`9e8e9080fd`](https://redirect.github.com/nodejs/node/commit/9e8e9080fd)]
- **(SEMVER-MINOR)** **perf\_hooks**: add statistical hypothesis testing
to histogram (James M Snell)
[#&#8203;65416](https://redirect.github.com/nodejs/node/pull/65416)
-
\[[`c18b0aa54e`](https://redirect.github.com/nodejs/node/commit/c18b0aa54e)]
- **repl**: add basic syntax highlighting (Aviv Keller)
[#&#8203;64591](https://redirect.github.com/nodejs/node/pull/64591)
-
\[[`58ea88e1d3`](https://redirect.github.com/nodejs/node/commit/58ea88e1d3)]
- **(SEMVER-MINOR)** **sqlite**: add StatementSync.prototype.close()
(Guilherme Araújo)
[#&#8203;64232](https://redirect.github.com/nodejs/node/pull/64232)
-
\[[`7c61b08aed`](https://redirect.github.com/nodejs/node/commit/7c61b08aed)]
- **(SEMVER-MINOR)** **sqlite**: add
StatementSync.prototype\[Symbol.dispose]\() (Guilherme Araújo)
[#&#8203;64232](https://redirect.github.com/nodejs/node/pull/64232)
-
\[[`4299cd5897`](https://redirect.github.com/nodejs/node/commit/4299cd5897)]
- **(SEMVER-MINOR)** **util**: add non-throwing MIMEType.parse (James M
Snell)
[#&#8203;64965](https://redirect.github.com/nodejs/node/pull/64965)
-
\[[`df48191061`](https://redirect.github.com/nodejs/node/commit/df48191061)]
- **(SEMVER-MINOR)** **zlib**: add ZipEntry, ZipFile, and ZipBuffer
(Philipp Dunkel)
[#&#8203;64339](https://redirect.github.com/nodejs/node/pull/64339)

##### Commits

-
\[[`162257b403`](https://redirect.github.com/nodejs/node/commit/162257b403)]
- **assert**: improve documentation wording (Kamal Rawal)
[#&#8203;64953](https://redirect.github.com/nodejs/node/pull/64953)
-
\[[`74234ee30e`](https://redirect.github.com/nodejs/node/commit/74234ee30e)]
- **(SEMVER-MINOR)** **benchmark**: add --analyze mode to compare.js
(James M Snell)
[#&#8203;65416](https://redirect.github.com/nodejs/node/pull/65416)
-
\[[`2cb96dd462`](https://redirect.github.com/nodejs/node/commit/2cb96dd462)]
- **benchmark**: add test-only and mock timers cases (Luan Muniz)
[#&#8203;64097](https://redirect.github.com/nodejs/node/pull/64097)
-
\[[`562168f93f`](https://redirect.github.com/nodejs/node/commit/562168f93f)]
- **benchmark**: apply `highWaterMark` in webstreams `pipe-to` (Matteo
Collina)
[#&#8203;65138](https://redirect.github.com/nodejs/node/pull/65138)
-
\[[`fbec4eb386`](https://redirect.github.com/nodejs/node/commit/fbec4eb386)]
- **benchmark**: complete the sqlite is-transaction fix (Edy Silva)
[#&#8203;65218](https://redirect.github.com/nodejs/node/pull/65218)
-
\[[`d8acfc45f1`](https://redirect.github.com/nodejs/node/commit/d8acfc45f1)]
- **benchmark**: add test runner hooks and options (Luan Muniz)
[#&#8203;63754](https://redirect.github.com/nodejs/node/pull/63754)
-
\[[`13e7d54f67`](https://redirect.github.com/nodejs/node/commit/13e7d54f67)]
- **buffer**: prevent string write offset overflow (Matteo Collina)
[#&#8203;65043](https://redirect.github.com/nodejs/node/pull/65043)
-
\[[`615273deac`](https://redirect.github.com/nodejs/node/commit/615273deac)]
- **buffer**: support aligned allocations (Robert Nagy)
[#&#8203;65003](https://redirect.github.com/nodejs/node/pull/65003)
-
\[[`bc6b630e21`](https://redirect.github.com/nodejs/node/commit/bc6b630e21)]
- **buffer**: treat detached ArrayBuffers as empty (Archkon)
[#&#8203;64504](https://redirect.github.com/nodejs/node/pull/64504)
-
\[[`ddf9f9d265`](https://redirect.github.com/nodejs/node/commit/ddf9f9d265)]
- **build**: target Power 9 and z14 (Richard Lau)
[#&#8203;65439](https://redirect.github.com/nodejs/node/pull/65439)
-
\[[`fda8ee894e`](https://redirect.github.com/nodejs/node/commit/fda8ee894e)]
- **build**: use build-ci for benchmark merge-commit rebuild (Yagiz
Nizipli)
[#&#8203;65362](https://redirect.github.com/nodejs/node/pull/65362)
-
\[[`03692786ef`](https://redirect.github.com/nodejs/node/commit/03692786ef)]
- **build**: add simdutf dir to include path in GN build (Shelley Vohr)
[#&#8203;65382](https://redirect.github.com/nodejs/node/pull/65382)
-
\[[`3da555a3ed`](https://redirect.github.com/nodejs/node/commit/3da555a3ed)]
- **build**: pass target architecture to small-icu genccode (ulofiai)
[#&#8203;65095](https://redirect.github.com/nodejs/node/pull/65095)
-
\[[`ffe1e7cbea`](https://redirect.github.com/nodejs/node/commit/ffe1e7cbea)]
- **build**: update binary-upload to use correct tarball name (Stewart X
Addison)
[#&#8203;65282](https://redirect.github.com/nodejs/node/pull/65282)
-
\[[`50174cb94a`](https://redirect.github.com/nodejs/node/commit/50174cb94a)]
- **build**: deprecate always enabled `--enable-static` (Chengzhong Wu)
[#&#8203;65103](https://redirect.github.com/nodejs/node/pull/65103)
-
\[[`28f662b424`](https://redirect.github.com/nodejs/node/commit/28f662b424)]
- **build**: check FIPS option value in node.gyp (Filip Skokan)
[#&#8203;64982](https://redirect.github.com/nodejs/node/pull/64982)
-
\[[`29a2ecefeb`](https://redirect.github.com/nodejs/node/commit/29a2ecefeb)]
- **build**: handle malformed OpenSSL macros (Filip Skokan)
[#&#8203;64982](https://redirect.github.com/nodejs/node/pull/64982)
-
\[[`6deeef1801`](https://redirect.github.com/nodejs/node/commit/6deeef1801)]
- **build**: enable perfetto updater (Chengzhong Wu)
[#&#8203;64966](https://redirect.github.com/nodejs/node/pull/64966)
-
\[[`312f0c6a7e`](https://redirect.github.com/nodejs/node/commit/312f0c6a7e)]
- **build**: add host toolset to perfetto\_sdk (Ryuhei Shima)
[#&#8203;64751](https://redirect.github.com/nodejs/node/pull/64751)
-
\[[`1a4f5e537b`](https://redirect.github.com/nodejs/node/commit/1a4f5e537b)]
- **build,win**: add PGO workload scripts (Stefan Stojanovic)
[#&#8203;63696](https://redirect.github.com/nodejs/node/pull/63696)
-
\[[`21655dccbc`](https://redirect.github.com/nodejs/node/commit/21655dccbc)]
- **child\_process**: keep SIGWINCH from killing on Win (Kirill Saied)
[#&#8203;64510](https://redirect.github.com/nodejs/node/pull/64510)
-
\[[`4232997fa2`](https://redirect.github.com/nodejs/node/commit/4232997fa2)]
- **crypto**: update root certificates to NSS 3.126 (Node.js GitHub Bot)
[#&#8203;65495](https://redirect.github.com/nodejs/node/pull/65495)
-
\[[`f0531f1c87`](https://redirect.github.com/nodejs/node/commit/f0531f1c87)]
- **(SEMVER-MINOR)** **crypto**: enable SIV and GCM-SIV modes in
Cipher/Decipher APIs (Filip Skokan)
[#&#8203;63411](https://redirect.github.com/nodejs/node/pull/63411)
-
\[[`109566a2f7`](https://redirect.github.com/nodejs/node/commit/109566a2f7)]
- **crypto**: fix missing error checks on ASN1\_STRING\_to\_UTF8() (Nora
Dossche)
[#&#8203;65200](https://redirect.github.com/nodejs/node/pull/65200)
-
\[[`501f81612d`](https://redirect.github.com/nodejs/node/commit/501f81612d)]
- **crypto**: improve SubtleCrypto.supports() accuracy (Filip Skokan)
[#&#8203;65222](https://redirect.github.com/nodejs/node/pull/65222)
-
\[[`137ff67fd3`](https://redirect.github.com/nodejs/node/commit/137ff67fd3)]
- **crypto**: use available BoringSSL APIs (Filip Skokan)
[#&#8203;65423](https://redirect.github.com/nodejs/node/pull/65423)
-
\[[`0e87576ed4`](https://redirect.github.com/nodejs/node/commit/0e87576ed4)]
- **crypto**: remove obsolete BoringSSL shims (Filip Skokan)
[#&#8203;65423](https://redirect.github.com/nodejs/node/pull/65423)
-
\[[`af867ce3e4`](https://redirect.github.com/nodejs/node/commit/af867ce3e4)]
- **crypto**: add mgf1Hash for RSA-OAEP (Adam Mcgrath)
[#&#8203;65073](https://redirect.github.com/nodejs/node/pull/65073)
-
\[[`66ee4792bf`](https://redirect.github.com/nodejs/node/commit/66ee4792bf)]
- **crypto**: disable non-FIPS WebCrypto paths in FIPS mode (Filip
Skokan)
[#&#8203;65172](https://redirect.github.com/nodejs/node/pull/65172)
-
\[[`6a142c03e9`](https://redirect.github.com/nodejs/node/commit/6a142c03e9)]
- **crypto**: read WebCrypto inputs through primordials (Filip Skokan)
[#&#8203;65115](https://redirect.github.com/nodejs/node/pull/65115)
-
\[[`92e3110462`](https://redirect.github.com/nodejs/node/commit/92e3110462)]
- **crypto**: fix disabling FIPS mode (Filip Skokan)
[#&#8203;64982](https://redirect.github.com/nodejs/node/pull/64982)
-
\[[`d69bed2f49`](https://redirect.github.com/nodejs/node/commit/d69bed2f49)]
- **debugger**: wait for target startup (Filip Skokan)
[#&#8203;65194](https://redirect.github.com/nodejs/node/pull/65194)
-
\[[`5c7c0b8b15`](https://redirect.github.com/nodejs/node/commit/5c7c0b8b15)]
- **deps**: update zlib to 1.3.2.1-motley-8002e91 (Node.js GitHub Bot)
[#&#8203;65316](https://redirect.github.com/nodejs/node/pull/65316)
-
\[[`4cb6b1335e`](https://redirect.github.com/nodejs/node/commit/4cb6b1335e)]
- **deps**: update simdjson to 4.6.7 (Node.js GitHub Bot)
[#&#8203;65318](https://redirect.github.com/nodejs/node/pull/65318)
-
\[[`a39ad67482`](https://redirect.github.com/nodejs/node/commit/a39ad67482)]
- **deps**: update googletest to
[`49495ea`](https://redirect.github.com/nodejs/node/commit/49495eacfdbda3f4b6ba219923fedbb2e3f99376)
(Node.js GitHub Bot)
[#&#8203;65317](https://redirect.github.com/nodejs/node/pull/65317)
-
\[[`46762dad57`](https://redirect.github.com/nodejs/node/commit/46762dad57)]
- **deps**: cherry-pick
[libuv/libuv@`e640dc9`](https://redirect.github.com/libuv/libuv/commit/e640dc9)
(ulofiai)
[#&#8203;65118](https://redirect.github.com/nodejs/node/pull/65118)
-
\[[`abb7a15a8d`](https://redirect.github.com/nodejs/node/commit/abb7a15a8d)]
- **deps**: update perfetto to 57.2 (Node.js GitHub Bot)
[#&#8203;65114](https://redirect.github.com/nodejs/node/pull/65114)
-
\[[`ebd8c6ba52`](https://redirect.github.com/nodejs/node/commit/ebd8c6ba52)]
- **deps**: float ICU-23262 patch for icu78 (René)
[#&#8203;64678](https://redirect.github.com/nodejs/node/pull/64678)
-
\[[`f2cc681109`](https://redirect.github.com/nodejs/node/commit/f2cc681109)]
- **deps**: enable AVX-512 OpenSSL asm with clang (Daniel Lemire)
[#&#8203;65136](https://redirect.github.com/nodejs/node/pull/65136)
-
\[[`f45dc92913`](https://redirect.github.com/nodejs/node/commit/f45dc92913)]
- **deps**: update undici to 8.10.0 (Node.js GitHub Bot)
[#&#8203;65155](https://redirect.github.com/nodejs/node/pull/65155)
-
\[[`4160dfdf81`](https://redirect.github.com/nodejs/node/commit/4160dfdf81)]
- **deps**: update googletest to
[`d89aac5`](https://redirect.github.com/nodejs/node/commit/d89aac5f0dd4021198d903d39de16f896726de21)
(Node.js GitHub Bot)
[#&#8203;65153](https://redirect.github.com/nodejs/node/pull/65153)
-
\[[`631d3aa37b`](https://redirect.github.com/nodejs/node/commit/631d3aa37b)]
- **deps**: update libffi to 3.8.0 (Node.js GitHub Bot)
[#&#8203;65154](https://redirect.github.com/nodejs/node/pull/65154)
-
\[[`788976c626`](https://redirect.github.com/nodejs/node/commit/788976c626)]
- **dgram**: don't swallow bind errors when callback is provided
(armanmikoyan)
[#&#8203;62602](https://redirect.github.com/nodejs/node/pull/62602)
-
\[[`d286423043`](https://redirect.github.com/nodejs/node/commit/d286423043)]
- **diagnostics\_channel**: validate before channel activation
(Trivikram Kamat)
[#&#8203;65313](https://redirect.github.com/nodejs/node/pull/65313)
-
\[[`3f4b80ebb5`](https://redirect.github.com/nodejs/node/commit/3f4b80ebb5)]
- **diagnostics\_channel**: mark TracingChannel as stable (Abdelrahman
Awad)
[#&#8203;64525](https://redirect.github.com/nodejs/node/pull/64525)
-
\[[`152a326f92`](https://redirect.github.com/nodejs/node/commit/152a326f92)]
- **dns**: validate address type in lookupService (Lazizbek Ergashev)
[#&#8203;64878](https://redirect.github.com/nodejs/node/pull/64878)
-
\[[`00c71fec93`](https://redirect.github.com/nodejs/node/commit/00c71fec93)]
- **dns**: validate port range in `setServers()` (René)
[#&#8203;65021](https://redirect.github.com/nodejs/node/pull/65021)
-
\[[`e9327d1422`](https://redirect.github.com/nodejs/node/commit/e9327d1422)]
- **dns**: fix crash on setServers with port 0 (Lazizbek Ergashev)
[#&#8203;65009](https://redirect.github.com/nodejs/node/pull/65009)
-
\[[`9e227ef20d`](https://redirect.github.com/nodejs/node/commit/9e227ef20d)]
- **doc**: update AHAFS reference link (Taeuk Ha)
[#&#8203;65481](https://redirect.github.com/nodejs/node/pull/65481)
-
\[[`5fbf6c57af`](https://redirect.github.com/nodejs/node/commit/5fbf6c57af)]
- **doc**: fix property names in os.networkInterfaces() example (Jihwan)
[#&#8203;65469](https://redirect.github.com/nodejs/node/pull/65469)
-
\[[`13f16d28d1`](https://redirect.github.com/nodejs/node/commit/13f16d28d1)]
- **doc**: fix broken links in cli.md (Donghoon Kang)
[#&#8203;65412](https://redirect.github.com/nodejs/node/pull/65412)
-
\[[`0f36ee3755`](https://redirect.github.com/nodejs/node/commit/0f36ee3755)]
- **doc**: remove outdated WASI version fallback (이혜미)
[#&#8203;65303](https://redirect.github.com/nodejs/node/pull/65303)
-
\[[`1ad09f712a`](https://redirect.github.com/nodejs/node/commit/1ad09f712a)]
- **doc**: fix broken GYP link in n-api.md (Donghoon Kang)
[#&#8203;65413](https://redirect.github.com/nodejs/node/pull/65413)
-
\[[`24cd694237`](https://redirect.github.com/nodejs/node/commit/24cd694237)]
- **doc**: document that an empty OPENSSL\_CONF skips config loading
(Orgad Shaneh)
[#&#8203;64949](https://redirect.github.com/nodejs/node/pull/64949)
-
\[[`dae434132e`](https://redirect.github.com/nodejs/node/commit/dae434132e)]
- **doc**: fix broken TLS security level example (soreavis)
[#&#8203;65391](https://redirect.github.com/nodejs/node/pull/65391)
-
\[[`96b91dc987`](https://redirect.github.com/nodejs/node/commit/96b91dc987)]
- **doc**: clarify socket destroyed behavior (Dayun)
[#&#8203;65395](https://redirect.github.com/nodejs/node/pull/65395)
-
\[[`9d8d27d444`](https://redirect.github.com/nodejs/node/commit/9d8d27d444)]
- **doc**: update outdated nodejs.org guide links (Donghoon Kang)
[#&#8203;65394](https://redirect.github.com/nodejs/node/pull/65394)
-
\[[`65f675086e`](https://redirect.github.com/nodejs/node/commit/65f675086e)]
- **doc**: clarify that ipv4 mapped to ipv6 are classified as ipv6
(Vedant Kulkarni)
[#&#8203;62117](https://redirect.github.com/nodejs/node/pull/62117)
-
\[[`89aba0c311`](https://redirect.github.com/nodejs/node/commit/89aba0c311)]
- **doc**: clarify how fs.Dirent file types are determined (soreavis)
[#&#8203;64532](https://redirect.github.com/nodejs/node/pull/64532)
-
\[[`3ed0492f52`](https://redirect.github.com/nodejs/node/commit/3ed0492f52)]
- **doc**: update security release prepare command (Rafael Gonzaga)
[#&#8203;64699](https://redirect.github.com/nodejs/node/pull/64699)
-
\[[`63583c4e75`](https://redirect.github.com/nodejs/node/commit/63583c4e75)]
- **doc**: clarify copyFile symlink behavior (T)
[#&#8203;62941](https://redirect.github.com/nodejs/node/pull/62941)
-
\[[`abfc51f757`](https://redirect.github.com/nodejs/node/commit/abfc51f757)]
- **doc**: document setRawMode write access on Windows (Erik Demaine)
[#&#8203;63856](https://redirect.github.com/nodejs/node/pull/63856)
-
\[[`4a784cb3e6`](https://redirect.github.com/nodejs/node/commit/4a784cb3e6)]
- **doc**: document per-architecture fast FFI argument limits (Seongeun
Lee) [#&#8203;65207](https://redirect.github.com/nodejs/node/pull/65207)
-
\[[`262f966155`](https://redirect.github.com/nodejs/node/commit/262f966155)]
- **doc**: add missing return types in fs.md (Chaseton Collins)
[#&#8203;65307](https://redirect.github.com/nodejs/node/pull/65307)
-
\[[`695cd896a7`](https://redirect.github.com/nodejs/node/commit/695cd896a7)]
- **doc**: add missing return types in buffer.md (Yuya Inoue)
[#&#8203;65308](https://redirect.github.com/nodejs/node/pull/65308)
-
\[[`676a1228cd`](https://redirect.github.com/nodejs/node/commit/676a1228cd)]
- **doc**: fix lint clean command (greenhead)
[#&#8203;65274](https://redirect.github.com/nodejs/node/pull/65274)
-
\[[`9ea318d4e3`](https://redirect.github.com/nodejs/node/commit/9ea318d4e3)]
- **doc**: fix typo in onboarding.md (서울민트초코)
[#&#8203;65295](https://redirect.github.com/nodejs/node/pull/65295)
-
\[[`3b6a918ab4`](https://redirect.github.com/nodejs/node/commit/3b6a918ab4)]
- **doc**: add missing `added:` tags to `fs.lchmod` (Lazizbek Ergashev)
[#&#8203;65283](https://redirect.github.com/nodejs/node/pull/65283)
-
\[[`a77b1e61df`](https://redirect.github.com/nodejs/node/commit/a77b1e61df)]
- **doc**: fix SQLite changeset constant descriptions (greenhead)
[#&#8203;65265](https://redirect.github.com/nodejs/node/pull/65265)
-
\[[`ab50ae60e4`](https://redirect.github.com/nodejs/node/commit/ab50ae60e4)]
- **doc**: document open pull request limit (Matteo Collina)
[#&#8203;65250](https://redirect.github.com/nodejs/node/pull/65250)
-
\[[`e2f4ea03a3`](https://redirect.github.com/nodejs/node/commit/e2f4ea03a3)]
- **doc**: document http2 header constants (Harjoth Khara)
[#&#8203;64548](https://redirect.github.com/nodejs/node/pull/64548)
-
\[[`5b5509d0d3`](https://redirect.github.com/nodejs/node/commit/5b5509d0d3)]
- **doc**: create ai-guidelines and include to CONTRIBUTING (Rafael
Gonzaga)
[#&#8203;62105](https://redirect.github.com/nodejs/node/pull/62105)
-
\[[`c63e873073`](https://redirect.github.com/nodejs/node/commit/c63e873073)]
- **doc**: fix broken fs.BigIntStats link in vfs.md (greenhead)
[#&#8203;65045](https://redirect.github.com/nodejs/node/pull/65045)
-
\[[`d6059e84c0`](https://redirect.github.com/nodejs/node/commit/d6059e84c0)]
- **doc**: update synopsis (Augustin Mauroy)
[#&#8203;65171](https://redirect.github.com/nodejs/node/pull/65171)
-
\[[`43f1dc03e7`](https://redirect.github.com/nodejs/node/commit/43f1dc03e7)]
- **doc**: document close() error when in a sqlite callback (Trivikram
Kamat)
[#&#8203;65090](https://redirect.github.com/nodejs/node/pull/65090)
-
\[[`8f5f48ad96`](https://redirect.github.com/nodejs/node/commit/8f5f48ad96)]
- **doc**: fix broken internal links (greenhead)
[#&#8203;64901](https://redirect.github.com/nodejs/node/pull/64901)
-
\[[`5b64b37739`](https://redirect.github.com/nodejs/node/commit/5b64b37739)]
- **doc**: report proper return type on urlPattern.test (Brian
Muenzenmeyer)
[#&#8203;64831](https://redirect.github.com/nodejs/node/pull/64831)
-
\[[`9633bb0f29`](https://redirect.github.com/nodejs/node/commit/9633bb0f29)]
- **doc**: fix permission documentation examples (greenhead)
[#&#8203;64897](https://redirect.github.com/nodejs/node/pull/64897)
-
\[[`e52e573fd7`](https://redirect.github.com/nodejs/node/commit/e52e573fd7)]
- **doc**: document sqlite parameter binding (Guilherme Araújo)
[#&#8203;65089](https://redirect.github.com/nodejs/node/pull/65089)
-
\[[`fa52f11d3b`](https://redirect.github.com/nodejs/node/commit/fa52f11d3b)]
- **doc**: finalize statements in sqlite examples (Guilherme Araújo)
[#&#8203;65088](https://redirect.github.com/nodejs/node/pull/65088)
-
\[[`0157c45012`](https://redirect.github.com/nodejs/node/commit/0157c45012)]
- **doc**: document quic stopSending() and resetStream() (Issac)
[#&#8203;64888](https://redirect.github.com/nodejs/node/pull/64888)
-
\[[`003a913799`](https://redirect.github.com/nodejs/node/commit/003a913799)]
- **doc**: clarify sqlite bare parameter default (Sumit Kumar Das)
[#&#8203;62009](https://redirect.github.com/nodejs/node/pull/62009)
-
\[[`c5588d71ad`](https://redirect.github.com/nodejs/node/commit/c5588d71ad)]
- **doc**: remove usage of `util.inherits` (Augustin Mauroy)
[#&#8203;60817](https://redirect.github.com/nodejs/node/pull/60817)
-
\[[`673db40fbf`](https://redirect.github.com/nodejs/node/commit/673db40fbf)]
- **doc**: fix grammar in worker\_threads.md (이혜미)
[#&#8203;64913](https://redirect.github.com/nodejs/node/pull/64913)
-
\[[`ee5f72cf16`](https://redirect.github.com/nodejs/node/commit/ee5f72cf16)]
- **doc**: fix broken link (Antoine du Hamel)
[#&#8203;65078](https://redirect.github.com/nodejs/node/pull/65078)
-
\[[`0450ab6c6a`](https://redirect.github.com/nodejs/node/commit/0450ab6c6a)]
- **doc**: update `node.1` to fix linter (Antoine du Hamel)
[#&#8203;65053](https://redirect.github.com/nodejs/node/pull/65053)
-
\[[`9a256b0693`](https://redirect.github.com/nodejs/node/commit/9a256b0693)]
- **doc**: clarify OpenSSL FIPS configuration (Filip Skokan)
[#&#8203;64982](https://redirect.github.com/nodejs/node/pull/64982)
-
\[[`c321752dcb`](https://redirect.github.com/nodejs/node/commit/c321752dcb)]
- **doc**: remove `--expose-gc` flag from CLI documentation (Dario
Piotrowicz)
[#&#8203;58909](https://redirect.github.com/nodejs/node/pull/58909)
-
\[[`0cf79931bb`](https://redirect.github.com/nodejs/node/commit/0cf79931bb)]
- **doc**: document ArrayBuffer support in pbkd2Sync (kyungrae2002)
[#&#8203;64976](https://redirect.github.com/nodejs/node/pull/64976)
-
\[[`3b8a0bacaa`](https://redirect.github.com/nodejs/node/commit/3b8a0bacaa)]
- **doc**: correct default highWaterMark values (Yilong Li)
[#&#8203;64617](https://redirect.github.com/nodejs/node/pull/64617)
-
\[[`be313012e4`](https://redirect.github.com/nodejs/node/commit/be313012e4)]
- **doc**: use ffi.suffix in permission example (agape1225)
[#&#8203;64914](https://redirect.github.com/nodejs/node/pull/64914)
-
\[[`4a1c9a7ee0`](https://redirect.github.com/nodejs/node/commit/4a1c9a7ee0)]
- **esm**: avoid super-linear data URL MIME regex (Sumit Kumar Das)
[#&#8203;61951](https://redirect.github.com/nodejs/node/pull/61951)
-
\[[`b1770bc196`](https://redirect.github.com/nodejs/node/commit/b1770bc196)]
- **esm**: only register text format when enabled (Efe Karasakal)
[#&#8203;64992](https://redirect.github.com/nodejs/node/pull/64992)
-
\[[`f48927fe5b`](https://redirect.github.com/nodejs/node/commit/f48927fe5b)]
- **esm**: fix wasm import name in error message (이혜미)
[#&#8203;64950](https://redirect.github.com/nodejs/node/pull/64950)
-
\[[`8d48adf688`](https://redirect.github.com/nodejs/node/commit/8d48adf688)]
- **events**: inline iterationCondition hybrid dispatch closure (Szymon
Łągiewka)
[#&#8203;64473](https://redirect.github.com/nodejs/node/pull/64473)
-
\[[`b827c0047e`](https://redirect.github.com/nodejs/node/commit/b827c0047e)]
- **events**: inline createEvent hybrid dispatch closure (Szymon
Łągiewka)
[#&#8203;64473](https://redirect.github.com/nodejs/node/pull/64473)
-
\[[`7670c81d99`](https://redirect.github.com/nodejs/node/commit/7670c81d99)]
- **ffi**: prefer canonical type names (Trivikram Kamat)
[#&#8203;65417](https://redirect.github.com/nodejs/node/pull/65417)
-
\[[`1fe7a1c33d`](https://redirect.github.com/nodejs/node/commit/1fe7a1c33d)]
- **ffi**: validate the value passed to the float setters (Soul Lee)
[#&#8203;65342](https://redirect.github.com/nodejs/node/pull/65342)
-
\[[`537feecd0b`](https://redirect.github.com/nodejs/node/commit/537feecd0b)]
- **ffi**: reject direct SharedArrayBuffer pointers (Trivikram Kamat)
[#&#8203;65233](https://redirect.github.com/nodejs/node/pull/65233)
-
\[[`0002f0a718`](https://redirect.github.com/nodejs/node/commit/0002f0a718)]
- **ffi**: remove dead null check in callback arguments (Trivikram
Kamat)
[#&#8203;64998](https://redirect.github.com/nodejs/node/pull/64998)
-
\[[`9024ec27b6`](https://redirect.github.com/nodejs/node/commit/9024ec27b6)]
- **ffi**: keep FFI functions non-constructible (Trivikram Kamat)
[#&#8203;65184](https://redirect.github.com/nodejs/node/pull/65184)
-
\[[`9b4f349b01`](https://redirect.github.com/nodejs/node/commit/9b4f349b01)]
- **ffi**: refresh cached string buffers on every call (Trivikram Kamat)
[#&#8203;65051](https://redirect.github.com/nodejs/node/pull/65051)
-
\[[`eacd65e9c2`](https://redirect.github.com/nodejs/node/commit/eacd65e9c2)]
- **ffi**: reject detached ArrayBufferViews (Trivikram Kamat)
[#&#8203;65086](https://redirect.github.com/nodejs/node/pull/65086)
-
\[[`be2ab89730`](https://redirect.github.com/nodejs/node/commit/be2ab89730)]
- **ffi**: reject detached ArrayBuffers as pointers (Trivikram Kamat)
[#&#8203;65083](https://redirect.github.com/nodejs/node/pull/65083)
-
\[[`6f9e0846ea`](https://redirect.github.com/nodejs/node/commit/6f9e0846ea)]
- **ffi**: validate fast pointer BigInt argument ranges (Trivikram
Kamat)
[#&#8203;65032](https://redirect.github.com/nodejs/node/pull/65032)
-
\[[`3e6688c5e3`](https://redirect.github.com/nodejs/node/commit/3e6688c5e3)]
- **ffi**: reuse the callable created per symbol (Trivikram Kamat)
[#&#8203;64971](https://redirect.github.com/nodejs/node/pull/64971)
-
\[[`8b0bdd931c`](https://redirect.github.com/nodejs/node/commit/8b0bdd931c)]
- **ffi**: shrink trampoline placement probe window (Trivikram Kamat)
[#&#8203;64969](https://redirect.github.com/nodejs/node/pull/64969)
-
\[[`9c282c4532`](https://redirect.github.com/nodejs/node/commit/9c282c4532)]
- **ffi**: accept pointer BigInts in multi-argument fast calls
(Trivikram Kamat)
[#&#8203;64964](https://redirect.github.com/nodejs/node/pull/64964)
-
\[[`b98294b57d`](https://redirect.github.com/nodejs/node/commit/b98294b57d)]
- **ffi**: support SharedArrayBuffer in getRawPointer (Junsoo Ha)
[#&#8203;64864](https://redirect.github.com/nodejs/node/pull/64864)
-
\[[`5cac7c2c55`](https://redirect.github.com/nodejs/node/commit/5cac7c2c55)]
- **ffi**: reuse libffi call plans (Yilong Li)
[#&#8203;64958](https://redirect.github.com/nodejs/node/pull/64958)
-
\[[`262f0ec82a`](https://redirect.github.com/nodejs/node/commit/262f0ec82a)]
- **fs**: stop stat()ing every entry in recursive readdir (Shelley Vohr)
[#&#8203;65487](https://redirect.github.com/nodejs/node/pull/65487)
-
\[[`e3ae912e9a`](https://redirect.github.com/nodejs/node/commit/e3ae912e9a)]
- **fs**: use sized reads for large files in readFileUtf8 (Shelley Vohr)
[#&#8203;65328](https://redirect.github.com/nodejs/node/pull/65328)
-
\[[`bc1e19b4b7`](https://redirect.github.com/nodejs/node/commit/bc1e19b4b7)]
- **fs**: fix realpath of namespaced drive paths (Jason Zhang)
[#&#8203;65378](https://redirect.github.com/nodejs/node/pull/65378)
-
\[[`6673ebadf2`](https://redirect.github.com/nodejs/node/commit/6673ebadf2)]
- **fs**: abort in-flight stat operations (Mert Can Altin)
[#&#8203;63143](https://redirect.github.com/nodejs/node/pull/63143)
-
\[[`74dcdbb5f1`](https://redirect.github.com/nodejs/node/commit/74dcdbb5f1)]
- **fs**: fix glob early return skipping sibling entries (Srinu desetti)
[#&#8203;64895](https://redirect.github.com/nodejs/node/pull/64895)
-
\[[`6305a744df`](https://redirect.github.com/nodejs/node/commit/6305a744df)]
- **fs**: pass symlink type in cp when filter is provided (Jerry Zhao)
[#&#8203;62654](https://redirect.github.com/nodejs/node/pull/62654)
-
\[[`c5cb6bc7e2`](https://redirect.github.com/nodejs/node/commit/c5cb6bc7e2)]
- **fs**: allocate FSReqPromise stat arrays lazily (Samuel Attard)
[#&#8203;63886](https://redirect.github.com/nodejs/node/pull/63886)
-
\[[`992af05719`](https://redirect.github.com/nodejs/node/commit/992af05719)]
- **fs**: fix out-of-bounds write in mkdtemp for long prefixes
(Hierax\_Umbra)
[#&#8203;64770](https://redirect.github.com/nodejs/node/pull/64770)
-
\[[`2de845b2dd`](https://redirect.github.com/nodejs/node/commit/2de845b2dd)]
- **fs**: treat `std::errc::permission_denied` as `EPERM` error (Kirill
Saied)
[#&#8203;64698](https://redirect.github.com/nodejs/node/pull/64698)
-
\[[`77fedbd350`](https://redirect.github.com/nodejs/node/commit/77fedbd350)]
- **fs**: read small files in one thread pool round trip (Shelley Vohr)
[#&#8203;65327](https://redirect.github.com/nodejs/node/pull/65327)
-
\[[`810929b6dd`](https://redirect.github.com/nodejs/node/commit/810929b6dd)]
- ***Revert*** "**fs**: fix close listener leak in FileHandle streams"
(Mike McCready)
[#&#8203;65387](https://redirect.github.com/nodejs/node/pull/65387)
-
\[[`8873b91fce`](https://redirect.github.com/nodejs/node/commit/8873b91fce)]
- **fs**: fix close listener leak in FileHandle streams (Y1D7NG)
[#&#8203;64227](https://redirect.github.com/nodejs/node/pull/64227)
-
\[[`656cfaeb2d`](https://redirect.github.com/nodejs/node/commit/656cfaeb2d)]
- **fs**: add windowsHandle option to file streams (Kirill Saied)
[#&#8203;63851](https://redirect.github.com/nodejs/node/pull/63851)
-
\[[`c2c31d69fd`](https://redirect.github.com/nodejs/node/commit/c2c31d69fd)]
- **http**: improve performance with known-length calls to end() (Tim
Perry)
[#&#8203;65466](https://redirect.github.com/nodejs/node/pull/65466)
-
\[[`7e9204f4b3`](https://redirect.github.com/nodejs/node/commit/7e9204f4b3)]
- **http**: use intrusive lists in ConnectionsList (Matteo Collina)
[#&#8203;65296](https://redirect.github.com/nodejs/node/pull/65296)
-
\[[`98e6272c70`](https://redirect.github.com/nodejs/node/commit/98e6272c70)]
- **http**: cache maxHeaderPairs per header section (GetThatCookie)
[#&#8203;64988](https://redirect.github.com/nodejs/node/pull/64988)
-
\[[`6c3516f179`](https://redirect.github.com/nodejs/node/commit/6c3516f179)]
- **http**: fix keylog listener setup on existing agent sockets (Shani
Singh)
[#&#8203;65066](https://redirect.github.com/nodejs/node/pull/65066)
-
\[[`dad9548fbc`](https://redirect.github.com/nodejs/node/commit/dad9548fbc)]
- **http**: emit drain on socket takeover and avoid stale HWM reuse
(Naman Trivedi)
[#&#8203;64991](https://redirect.github.com/nodejs/node/pull/64991)
-
\[[`563cab119b`](https://redirect.github.com/nodejs/node/commit/563cab119b)]
- **http2**: avoid uaf while receiving and sending rst\_stream (esgor)
[#&#8203;64166](https://redirect.github.com/nodejs/node/pull/64166)
-
\[[`099801641b`](https://redirect.github.com/nodejs/node/commit/099801641b)]
- **inspector**: avoid calling into JS from V8 interrupts (Joyee Cheung)
[#&#8203;65028](https://redirect.github.com/nodejs/node/pull/65028)
-
\[[`b71d5de0b8`](https://redirect.github.com/nodejs/node/commit/b71d5de0b8)]
- **lib**: use bracket notation instead of startsWith/endsWith for
single char (Taejin Kim)
[#&#8203;61500](https://redirect.github.com/nodejs/node/pull/61500)
-
\[[`e8e2abcc8d`](https://redirect.github.com/nodejs/node/commit/e8e2abcc8d)]
- **lib**: load fewer builtins when bootstrapping without a snapshot
(Shelley Vohr)
[#&#8203;65329](https://redirect.github.com/nodejs/node/pull/65329)
-
\[[`3619dc0601`](https://redirect.github.com/nodejs/node/commit/3619dc0601)]
- **lib**: fix ERR\_INVALID\_ARG\_TYPE with --enable-source-maps (June)
[#&#8203;63215](https://redirect.github.com/nodejs/node/pull/63215)
-
\[[`ad7c67026b`](https://redirect.github.com/nodejs/node/commit/ad7c67026b)]
- **lib**: harden webidl dictionary member reads (Filip Skokan)
[#&#8203;65115](https://redirect.github.com/nodejs/node/pull/65115)
-
\[[`b5182f0a1c`](https://redirect.github.com/nodejs/node/commit/b5182f0a1c)]
- **lib**: use validateArray for array arguments (greenhead)
[#&#8203;64959](https://redirect.github.com/nodejs/node/pull/64959)
-
\[[`7f7df06821`](https://redirect.github.com/nodejs/node/commit/7f7df06821)]
- **lib**: add and test \[EnforceRange] in webcrypto dictionaries (Filip
Skokan)
[#&#8203;65091](https://redirect.github.com/nodejs/node/pull/65091)
-
\[[`753033c110`](https://redirect.github.com/nodejs/node/commit/753033c110)]
- **(SEMVER-MINOR)** **lib,src**: improve histogram implementation
(James M Snell)
[#&#8203;65024](https://redirect.github.com/nodejs/node/pull/65024)
-
\[[`8d39d0d660`](https://redirect.github.com/nodejs/node/commit/8d39d0d660)]
- **meta**: add a root-level AGENTS.md (James M Snell)
[#&#8203;65493](https://redirect.github.com/nodejs/node/pull/65493)
-
\[[`3770f9baea`](https://redirect.github.com/nodejs/node/commit/3770f9baea)]
- **meta**: move targos to emeritus (Michaël Zasso)
[#&#8203;65393](https://redirect.github.com/nodejs/node/pull/65393)
-
\[[`a9b31dfe30`](https://redirect.github.com/nodejs/node/commit/a9b31dfe30)]
- **meta**: add unified http api initiative (James M Snell)
[#&#8203;65139](https://redirect.github.com/nodejs/node/pull/65139)
-
\[[`6bffc306aa`](https://redirect.github.com/nodejs/node/commit/6bffc306aa)]
- **meta**: move one or more collaborators to emeritus (Node.js GitHub
Bot) [#&#8203;65182](https://redirect.github.com/nodejs/node/pull/65182)
-
\[[`4abd1c8100`](https://redirect.github.com/nodejs/node/commit/4abd1c8100)]
- **meta**: add support for alpha prerelease tag (Antoine du Hamel)
[#&#8203;63135](https://redirect.github.com/nodejs/node/pull/63135)
-
\[[`132c578e97`](https://redirect.github.com/nodejs/node/commit/132c578e97)]
- **meta**: add Aviv Keller to `.mailmap` (Aviv Keller)
[#&#8203;65048](https://redirect.github.com/nodejs/node/pull/65048)
-
\[[`7aff78d231`](https://redirect.github.com/nodejs/node/commit/7aff78d231)]
- **meta**: update sccache to 0.17.0 (René)
[#&#8203;64985](https://redirect.github.com/nodejs/node/pull/64985)
-
\[[`97a437e7ea`](https://redirect.github.com/nodejs/node/commit/97a437e7ea)]
- **module**: add a read-only mode to the compile cache (Shelley Vohr)
[#&#8203;65302](https://redirect.github.com/nodejs/node/pull/65302)
-
\[[`5821362819`](https://redirect.github.com/nodejs/node/commit/5821362819)]
- **module**: do not split a portable compile cache by uid (Shelley
Vohr)
[#&#8203;65293](https://redirect.github.com/nodejs/node/pull/65293)
-
\[[`eb5d66e856`](https://redirect.github.com/nodejs/node/commit/eb5d66e856)]
- **module**: report unreadable package.json (Paul Bouchon)
[#&#8203;65223](https://redirect.github.com/nodejs/node/pull/65223)
-
\[[`43757d07c1`](https://redirect.github.com/nodejs/node/commit/43757d07c1)]
- **module**: cache nearest parent package.json per directory (Shelley
Vohr)
[#&#8203;65326](https://redirect.github.com/nodejs/node/pull/65326)
-
\[[`d7805e00dc`](https://redirect.github.com/nodejs/node/commit/d7805e00dc)]
- **module**: fix --check on ambiguous ESM files (Paul Bouchon)
[#&#8203;65203](https://redirect.github.com/nodejs/node/pull/65203)
-
\[[`646221a495`](https://redirect.github.com/nodejs/node/commit/646221a495)]
- **net**: handle undefined parent in \_unrefTimer and \_destroy
(Shivay-98)
[#&#8203;64644](https://redirect.github.com/nodejs/node/pull/64644)
-
\[[`3d7d277493`](https://redirect.github.com/nodejs/node/commit/3d7d277493)]
- **(SEMVER-MINOR)** **net**: improve performance of net.BlockList
(James M Snell)
[#&#8203;64974](https://redirect.github.com/nodejs/node/pull/64974)
-
\[[`9e8e9080fd`](https://redirect.github.com/nodejs/node/commit/9e8e9080fd)]
- **(SEMVER-MINOR)** **perf\_hooks**: add statistical hypothesis testing
to histogram (James M Snell)
[#&#8203;65416](https://redirect.github.com/nodejs/node/pull/65416)
-
\[[`01a8ae0ce6`](https://redirect.github.com/nodejs/node/commit/01a8ae0ce6)]
- **permission**: guard UDP handle adoption (Rafael Gonzaga)
[#&#8203;65358](https://redirect.github.com/nodejs/node/pull/65358)
-
\[[`ac3c412aaf`](https://redirect.github.com/nodejs/node/commit/ac3c412aaf)]
- **permission**: enforce addon permission in GetLinkedBinding (Rafael
Gonzaga)
[#&#8203;65432](https://redirect.github.com/nodejs/node/pull/65432)
-
\[[`8765afd4c2`](https://redirect.github.com/nodejs/node/commit/8765afd4c2)]
- **process**: validate resource stats array offsets (Archkon)
[#&#8203;65098](https://redirect.github.com/nodejs/node/pull/65098)
-
\[[`d0447c93f6`](https://redirect.github.com/nodejs/node/commit/d0447c93f6)]
- **quic**: changes for nghttp3\_conn\_close\_stream2 (Marten Richter)
[#&#8203;64574](https://redirect.github.com/nodejs/node/pull/64574)
-
\[[`91393898b5`](https://redirect.github.com/nodejs/node/commit/91393898b5)]
- **quic**: mark drain promise handled (James M Snell)
[#&#8203;65319](https://redirect.github.com/nodejs/node/pull/65319)
-
\[[`5c9576bf50`](https://redirect.github.com/nodejs/node/commit/5c9576bf50)]
- **quic**: reset rejected HTTP/3 request streams with
H3\_REQUEST\_REJECTED (trivenay)
[#&#8203;65442](https://redirect.github.com/nodejs/node/pull/65442)
-
\[[`ec956f2abc`](https://redirect.github.com/nodejs/node/commit/ec956f2abc)]
- **quic**: write desired size needs update on maxstream (Marten
Richter)
[#&#8203;64768](https://redirect.github.com/nodejs/node/pull/64768)
-
\[[`41c510803d`](https://redirect.github.com/nodejs/node/commit/41c510803d)]
- **quic**: do not destroy incoming streams that have a consumer
(trivenay)
[#&#8203;65335](https://redirect.github.com/nodejs/node/pull/65335)
-
\[[`009e376581`](https://redirect.github.com/nodejs/node/commit/009e376581)]
- **quic**: fix wake up blob (Marten Richter)
[#&#8203;64044](https://redirect.github.com/nodejs/node/pull/64044)
-
\[[`4674a10368`](https://redirect.github.com/nodejs/node/commit/4674a10368)]
- **quic**: convert incoming :status header to number (Hallison Pereira
Melo)
[#&#8203;63589](https://redirect.github.com/nodejs/node/pull/63589)
-
\[[`5953165f53`](https://redirect.github.com/nodejs/node/commit/5953165f53)]
- **quic**: fix infinite loop if STOP\_SENDING received on a buffering
stream (Tim Perry)
[#&#8203;64715](https://redirect.github.com/nodejs/node/pull/64715)
-
\[[`bb499c312e`](https://redirect.github.com/nodejs/node/commit/bb499c312e)]
- **repl**: keep entries added while history file is loading (Mhayk
Whandson)
[#&#8203;64513](https://redirect.github.com/nodejs/node/pull/64513)
-
\[[`825fcfe4d5`](https://redirect.github.com/nodejs/node/commit/825fcfe4d5)]
- **repl**: add benchmarks (Aviv Keller)
[#&#8203;64590](https://redirect.github.com/nodejs/node/pull/64590)
-
\[[`c18b0aa54e`](https://redirect.github.com/nodejs/node/commit/c18b0aa54e)]
- **repl**: add basic syntax highlighting (Aviv Keller)
[#&#8203;64591](https://redirect.github.com/nodejs/node/pull/64591)
-
\[[`f32a8631ad`](https://redirect.github.com/nodejs/node/commit/f32a8631ad)]
- **sea**: avoid dangling CLI option pointers (Archkon)
[#&#8203;64755](https://redirect.github.com/nodejs/node/pull/64755)
-
\[[`3126ce5779`](https://redirect.github.com/nodejs/node/commit/3126ce5779)]
- **sea**: handle NUL bytes in asset keys (Archkon)
[#&#8203;64773](https://redirect.github.com/nodejs/node/pull/64773)
-
\[[`64a8843ff2`](https://redirect.github.com/nodejs/node/commit/64a8843ff2)]
- **sea**: reject trailing content in config JSON (Archkon)
[#&#8203;64774](https://redirect.github.com/nodejs/node/pull/64774)
-
\[[`1d9dd252f1`](https://redirect.github.com/nodejs/node/commit/1d9dd252f1)]
- **sea**: reject malformed --node-options values (Archkon)
[#&#8203;64803](https://redirect.github.com/nodejs/node/pull/64803)
-
\[[`6ec735c910`](https://redirect.github.com/nodejs/node/commit/6ec735c910)]
- **sqlite**: reject reentry while binding parameters (Trevor Burnham)
[#&#8203;65294](https://redirect.github.com/nodejs/node/pull/65294)
-
\[[`60cb384c15`](https://redirect.github.com/nodejs/node/commit/60cb384c15)]
- **sqlite**: remove unused column name helper (Trivikram Kamat)
[#&#8203;65401](https://redirect.github.com/nodejs/node/pull/65401)
-
\[[`fce6754a83`](https://redirect.github.com/nodejs/node/commit/fce6754a83)]
- **sqlite**: reject busy statement finalization in authorizer
(Trivikram Kamat)
[#&#8203;65369](https://redirect.github.com/nodejs/node/pull/65369)
-
\[[`e2f952f2ff`](https://redirect.github.com/nodejs/node/commit/e2f952f2ff)]
- **sqlite**: prevent reentrant session.close() (Trivikram Kamat)
[#&#8203;65349](https://redirect.github.com/nodejs/node/pull/65349)
-
\[[`0e8af3378a`](https://redirect.github.com/nodejs/node/commit/0e8af3378a)]
- **sqlite**: reuse cached column names in statement all() and get()
(Edy Silva)
[#&#8203;65276](https://redirect.github.com/nodejs/node/pull/65276)
-
\[[`e6bfec91be`](https://redirect.github.com/nodejs/node/commit/e6bfec91be)]
- **sqlite**: validate StatementSync.run() integers (Trivikram Kamat)
[#&#8203;65178](https://redirect.github.com/nodejs/node/pull/65178)
-
\[[`bbb1226dbe`](https://redirect.github.com/nodejs/node/commit/bbb1226dbe)]
- **sqlite**: add diagnostic channel (Guilherme Araújo)
[#&#8203;62241](https://redirect.github.com/nodejs/node/pull/62241)
-
\[[`6302168de8`](https://redirect.github.com/nodejs/node/commit/6302168de8)]
- **sqlite**: add stmt persistent flag (Guilherme Araújo)
[#&#8203;62757](https://redirect.github.com/nodejs/node/pull/62757)
-
\[[`2989311d81`](https://redirect.github.com/nodejs/node/commit/2989311d81)]
- **sqlite**: reject connection access from authorizer callbacks (Trevor
Burnham)
[#&#8203;65156](https://redirect.github.com/nodejs/node/pull/65156)
-
\[[`72c37b133e`](https://redirect.github.com/nodejs/node/commit/72c37b133e)]
- **sqlite**: expose prepared statement statistics (Edy Silva)
[#&#8203;64541](https://redirect.github.com/nodejs/node/pull/64541)
-
\[[`3e50a2f1e9`](https://redirect.github.com/nodejs/node/commit/3e50a2f1e9)]
- **sqlite**: manage sqlite3\_stmt lifetime with RAII (Guilherme Araújo)
[#&#8203;62419](https://redirect.github.com/nodejs/node/pull/62419)
-
\[[`3ab7e72555`](https://redirect.github.com/nodejs/node/commit/3ab7e72555)]
- **sqlite**: check sqlite3\_step() and sqlite3\_reset() results
(semimikoh)
[#&#8203;63319](https://redirect.github.com/nodejs/node/pull/63319)
-
\[[`5e387ce979`](https://redirect.github.com/nodejs/node/commit/5e387ce979)]
- **sqlite**: reject statement-less SQL in prepare() (Trevor Burnham)
[#&#8203;65157](https://redirect.github.com/nodejs/node/pull/65157)
-
\[[`83169e58f3`](https://redirect.github.com/nodejs/node/commit/83169e58f3)]
- **sqlite**: reject statement-less SQL in SQLTagStore (Trevor Burnham)
[#&#8203;65157](https://redirect.github.com/nodejs/node/pull/65157)
-
\[[`7f31f6226e`](https://redirect.github.com/nodejs/node/commit/7f31f6226e)]
- **sqlite**: isolate applyChangeset filter errors (Trivikram Kamat)
[#&#8203;64823](https://redirect.github.com/nodejs/node/pull/64823)
-
\[[`c89878c3c8`](https://redirect.github.com/nodejs/node/commit/c89878c3c8)]
- **sqlite**: reject deserialize() while in a callback (Trivikram Kamat)
[#&#8203;64796](https://redirect.github.com/nodejs/node/pull/64796)
-
\[[`5a852b22d4`](https://redirect.github.com/nodejs/node/commit/5a852b22d4)]
- **sqlite**: check null returns from sqlite value functions (Nora
Dossche)
[#&#8203;63288](https://redirect.github.com/nodejs/node/pull/63288)
-
\[[`5cb78ed300`](https://redirect.github.com/nodejs/node/commit/5cb78ed300)]
- **sqlite**: validate maxSize argument in createTagStore() (Anshika
Jain)
[#&#8203;63792](https://redirect.github.com/nodejs/node/pull/63792)
-
\[[`ca885876f6`](https://redirect.github.com/nodejs/node/commit/ca885876f6)]
- **sqlite**: refactor error helpers and user function pointers (Ali
Hassan)
[#&#8203;62794](https://redirect.github.com/nodejs/node/pull/62794)
-
\[[`06b1758dcd`](https://redirect.github.com/nodejs/node/commit/06b1758dcd)]
- **sqlite**: reject non-positive backup rates (Trivikram Kamat)
[#&#8203;64893](https://redirect.github.com/nodejs/node/pull/64893)
-
\[[`ce0ca47023`](https://redirect.github.com/nodejs/node/commit/ce0ca47023)]
- **sqlite**: clear SQLTagStore bindings (Matteo Collina)
[#&#8203;65041](https://redirect.github.com/nodejs/node/pull/65041)
-
\[[`49fb028714`](https://redirect.github.com/nodejs/node/commit/49fb028714)]
- **sqlite**: bind Boolean (mike-git374)
[#&#8203;62001](https://redirect.github.com/nodejs/node/pull/62001)
-
\[[`09d0da99e9`](https://redirect.github.com/nodejs/node/commit/09d0da99e9)]
- **sqlite**: fix undefined behaviour in `Session::Changeset()` (Nora
Dossche)
[#&#8203;63637](https://redirect.github.com/nodejs/node/pull/63637)
-
\[[`58ea88e1d3`](https://redirect.github.com/nodejs/node/commit/58ea88e1d3)]
- **(SEMVER-MINOR)** **sqlite**: add StatementSync.prototype.close()
(Guilherme Araújo)
[#&#8203;64232](https://redirect.github.com/nodejs/node/pull/64232)
-
\[[`7c61b08aed`](https://redirect.github.com/nodejs/node/commit/7c61b08aed)]
- **(SEMVER-MINOR)** **sqlite**: add
StatementSync.prototype\[Symbol.dispose]\() (Guilherme Araújo)
[#&#8203;64232](https://redirect.github.com/nodejs/node/pull/64232)
-
\[[`9167ebd32b`](https://redirect.github.com/nodejs/node/commit/9167ebd32b)]
- **sqlite**: bind ArrayBuffer (mike-git374)
[#&#8203;62061](https://redirect.github.com/nodejs/node/pull/62061)
-
\[[`5da6eaa8af`](https://redirect.github.com/nodejs/node/commit/5da6eaa8af)]
- **sqlite**: prevent database close during callbacks (Matteo Collina)
[#&#8203;64743](https://redirect.github.com/nodejs/node/pull/64743)
-
\[[`29d794bc84`](https://redirect.github.com/nodejs/node/commit/29d794bc84)]
- **src**: fix heap value deduplication in embedder graph (Ilyas Shabi)
[#&#8203;64801](https://redirect.github.com/nodejs/node/pull/64801)
-
\[[`b405e9b039`](https://redirect.github.com/nodejs/node/commit/b405e9b039)]
- **src**: fix out-of-bounds write when transcoding odd-length ucs2
(nashit hayat)
[#&#8203;64512](https://redirect.github.com/nodejs/node/pull/64512)
-
\[[`101a215472`](https://redirect.github.com/nodejs/node/commit/101a215472)]
- **src**: use simdutf for two-byte utf8 conversion (Mert Can Altin)
[#&#8203;62248](https://redirect.github.com/nodejs/node/pull/62248)
-
\[[`340b98346f`](https://redirect.github.com/nodejs/node/commit/340b98346f)]
- **src**: run same-priority platform tasks in posting order (Shelley
Vohr)
[#&#8203;65353](https://redirect.github.com/nodejs/node/pull/65353)
-
\[[`83a7949c18`](https://redirect.github.com/nodejs/node/commit/83a7949c18)]
- **src**: define O\_SYNC, O\_DSYNC and O\_DIRECT on Windows (Kirill
Saied)
[#&#8203;64707](https://redirect.github.com/nodejs/node/pull/64707)
-
\[[`32bb197f2a`](https://redirect.github.com/nodejs/node/commit/32bb197f2a)]
- **src**: use simdutf for two-byte strings in UTF-8 writes (Shelley
Vohr)
[#&#8203;65324](https://redirect.github.com/nodejs/node/pull/65324)
-
\[[`613be79cf4`](https://redirect.github.com/nodejs/node/commit/613be79cf4)]
- **src**: add v8::Local specialization for MaybeStackBuffer (James M
Snell)
[#&#8203;65159](https://redirect.github.com/nodejs/node/pull/65159)
-
\[[`922d47cbd7`](https://redirect.github.com/nodejs/node/commit/922d47cbd7)]
- **src**: escape Windows environment variables in task runner (Antoine
du Hamel)
[#&#8203;65217](https://redirect.github.com/nodejs/node/pull/65217)
-
\[[`3a47f1f282`](https://redirect.github.com/nodejs/node/commit/3a47f1f282)]
- **src**: apply minor namespace format tweak in permissions (James M
Snell)
[#&#8203;65158](https://redirect.github.com/nodejs/node/pull/65158)
-
\[[`981cfa537d`](https://redirect.github.com/nodejs/node/commit/981cfa537d)]
- **src**: simplify permissions with BooleanPermissions (James M Snell)
[#&#8203;65158](https://redirect.github.com/nodejs/node/pull/65158)
-
\[[`5954b13f88`](https://redirect.github.com/nodejs/node/commit/5954b13f88)]
- **src**: simplify includes in permissions (James M Snell)
[#&#8203;65158](https://redirect.github.com/nodejs/node/pull/65158)
-
\[[`d4ced88c09`](https://redirect.github.com/nodejs/node/commit/d4ced88c09)]
- **src**: apply a modest performance perf to permissions (James M
Snell)
[#&#8203;65158](https://redirect.github.com/nodejs/node/pull/65158)
-
\[[`efb649ec26`](https://redirect.github.com/nodejs/node/commit/efb649ec26)]
- **src**: make permission storage a bit more efficient (James M Snell)
[#&#8203;65158](https://redirect.github.com/nodejs/node/pull/65158)
-
\[[`521aaf10fc`](https://redirect.github.com/nodejs/node/commit/521aaf10fc)]
- **src**: apply multiple general cleanups to permissions (James M
Snell)
[#&#8203;65158](https://redirect.github.com/nodejs/node/pull/65158)
-
\[[`ac920e0d2b`](https://redirect.github.com/nodejs/node/commit/ac920e0d2b)]
- **src**: simplify c++ diagnostics channel API (James M Snell)
[#&#8203;65158](https://redirect.github.com/nodejs/node/pull/65158)
-
\[[`ec8fe275a1`](https://redirect.github.com/nodejs/node/commit/ec8fe275a1)]
- **src**: make minor cleanup to permission checks (James M Snell)
[#&#8203;65158](https://redirect.github.com/nodejs/node/pull/65158)
-
\[[`968bdd0135`](https://redirect.github.com/nodejs/node/commit/968bdd0135)]
- **src**: use DictionaryTemplate for permission diag channel message
(James M Snell)
[#&#8203;65158](https://redirect.github.com/nodejs/node/pull/65158)
-
\[[`f77aa2f703`](https://redirect.github.com/nodejs/node/commit/f77aa2f703)]
- **src**: cache permission strings (James M Snell)
[#&#8203;65158](https://redirect.github.com/nodejs/node/pull/65158)
-
\[[`4018f3a776`](https://redirect.github.com/nodejs/node/commit/4018f3a776)]
- **src**: shave about 20 bytes off each TLSWrap instance (James M
Snell)
[#&#8203;65144](https://redirect.github.com/nodejs/node/pull/65144)
-
\[[`b7a23426d9`](https://redirect.github.com/nodejs/node/commit/b7a23426d9)]
- **src**: add SetAbortHandler (Max H Fisher)
[#&#8203;64684](https://redirect.github.com/nodejs/node/pull/64684)
-
\[[`3cfe19489c`](https://redirect.github.com/nodejs/node/commit/3cfe19489c)]
- **src**: use concepts where appropriate (James M Snell)
[#&#8203;65148](https://redirect.github.com/nodejs/node/pull/65148)
-
\[[`d8a0f288ab`](https://redirect.github.com/nodejs/node/commit/d8a0f288ab)]
- **src**: match cmd.exe case-insensitively in task runner (Archkon)
[#&#8203;64907](https://redirect.github.com/nodejs/node/pull/64907)
-
\[[`262d88e6c2`](https://redirect.github.com/nodejs/node/commit/262d88e6c2)]
- **src**: reuse cached env strings in remaining files (Seongeun Lee)
[#&#8203;65039](https://redirect.github.com/nodejs/node/pull/65039)
-
\[[`ad35fe97f0`](https://redirect.github.com/nodejs/node/commit/ad35fe97f0)]
- **src**: expose Windows-only fs open flags (Kirill Saied)
[#&#8203;64775](https://redirect.github.com/nodejs/node/pull/64775)
-
\[[`8c4531bbc9`](https://redirect.github.com/nodejs/node/commit/8c4531bbc9)]
- **src**: report why --enable-fips failed (Filip Skokan)
[#&#8203;64979](https://redirect.github.com/nodejs/node/pull/64979)
-
\[[`a293dbf0e1`](https://redirect.github.com/nodejs/node/commit/a293dbf0e1)]
- **src**: update repeated use strings to env (James M Snell)
[#&#8203;64760](https://redirect.github.com/nodejs/node/pull/64760)
-
\[[`044402cf0e`](https://redirect.github.com/nodejs/node/commit/044402cf0e)]
- **src**: use UTF-8 for task runner filesystem paths (Archkon)
[#&#8203;64868](https://redirect.github.com/nodejs/node/pull/64868)
-
\[[`5b7d02e401`](https://redirect.github.com/nodejs/node/commit/5b7d02e401)]
- **stream**: normalize fused stateless transform results (Trivikram
Kamat)
[#&#8203;65367](https://redirect.github.com/nodejs/node/pull/65367)
-
\[[`1d6ec2ddc5`](https://redirect.github.com/nodejs/node/commit/1d6ec2ddc5)]
- **stream**: encode whole chunks in TextEncoderStream (Matteo Collina)
[#&#8203;65414](https://redirect.github.com/nodejs/node/pull/65414)
-
\[[`0afda47ca4`](https://redirect.github.com/nodejs/node/commit/0afda47ca4)]
- **stream**: prevent share from eagerly draining source (Trivikram
Kamat)
[#&#8203;65338](https://redirect.github.com/nodejs/node/pull/65338)
-
\[[`dc51c7926e`](https://redirect.github.com/nodejs/node/commit/dc51c7926e)]
- **stream**: drain pending writes before broadcast end (Trivikram
Kamat)
[#&#8203;65334](https://redirect.github.com/nodejs/node/pull/65334)
-
\[[`a77f9f7a32`](https://redirect.github.com/nodejs/node/commit/a77f9f7a32)]
- **stream**: reuse unexposed managed read buffers (GetThatCookie)
[#&#8203;64990](https://redirect.github.com/nodejs/node/pull/64990)
-
\[[`c42fbcc0d1`](https://redirect.github.com/nodejs/node/commit/c42fbcc0d1)]
- **stream**: avoid duplicated endReadableNT scheduling (Matteo Collina)
[#&#8203;65310](https://redirect.github.com/nodejs/node/pull/65310)
-
\[[`9ec9383d1d`](https://redirect.github.com/nodejs/node/commit/9ec9383d1d)]
- **stream**: decouple transform backpressure changes (Matteo Collina)
[#&#8203;65143](https://redirect.github.com/nodejs/node/pull/65143)
-
\[[`a9dc50d275`](https://redirect.github.com/nodejs/node/commit/a9dc50d275)]
- **stream**: reject pull on signal abort during flush (Trivikram Kamat)
[#&#8203;65346](https://redirect.github.com/nodejs/node/pull/65346)
-
\[[`815424db74`](https://redirect.github.com/nodejs/node/commit/815424db74)]
- **stream**: avoid leaking consumers on signal failure (Trivikram
Kamat)
[#&#8203;65299](https://redirect.github.com/nodejs/node/pull/65299)
-
\[[`6a2e0561e8`](https://redirect.github.com/nodejs/node/commit/6a2e0561e8)]
- **stream**: use validateObject for zlib/iter params (greenhead)
[#&#8203;65015](https://redirect.github.com/nodejs/node/pull/65015)
-
\[[`4f6f2cfffa`](https://redirect.github.com/nodejs/node/commit/4f6f2cfffa)]
- **stream**: use validateNumber for BYOB reader options.min (greenhead)
[#&#8203;65014](https://redirect.github.com/nodejs/node/pull/65014)
-
\[[`4d297428e6`](https://redirect.github.com/nodejs/node/commit/4d297428e6)]
- **stream**: consolidate non-op algorithm callbacks (Matteo Collina)
[#&#8203;65138](https://redirect.github.com/nodejs/node/pull/65138)
-
\[[`f7e0c81be4`](https://redirect.github.com/nodejs/node/commit/f7e0c81be4)]
- **stream**: cut promise churn in webstreams hot paths (Matteo Collina)
[#&#8203;65138](https://redirect.github.com/nodejs/node/pull/65138)
-
\[[`5edffb544f`](https://redirect.github.com/nodejs/node/commit/5edffb544f)]
- **stream**: speed up async iteration of Readable (Matteo Collina)
[#&#8203;64447](https://redirect.github.com/nodejs/node/pull/64447)
-
\[[`0876a29bb6`](https://redirect.github.com/nodejs/node/commit/0876a29bb6)]
- **stream**: preserve falsy cancellation reasons (Trivikram Kamat)
[#&#8203;64705](https://redirect.github.com/nodejs/node/pull/64705)
-
\[[`374f7e214d`](https://redirect.github.com/nodejs/node/commit/374f7e214d)]
- **stream**: use validateBuffer for BYOB reader view (greenhead)
[#&#8203;65046](https://redirect.github.com/nodejs/node/pull/65046)
-
\[[`6bd15b2ac9`](https://redirect.github.com/nodejs/node/commit/6bd15b2ac9)]
- **stream**: fix recursive WritableStream abort (Jeong SeokChan)
[#&#8203;64825](https://redirect.github.com/nodejs/node/pull/64825)
-
\[[`f33dba704d`](https://redirect.github.com/nodejs/node/commit/f33dba704d)]
- **string\_decoder**: decode UTF-8 via StringBytes::Encode (Shelley
Vohr)
[#&#8203;65324](https://redirect.github.com/nodejs/node/pull/65324)
-
\[[`6409983a6c`](https://redirect.github.com/nodejs/node/commit/6409983a6c)]
- **test**: update WPT for WebCryptoAPI to
[`e235e08`](https://redirect.github.com/nodejs/node/commit/e235e089b4)
(Node.js GitHub Bot)
[#&#8203;65478](https://redirect.github.com/nodejs/node/pull/65478)
-
\[[`01cb4f99a0`](https://redirect.github.com/nodejs/node/commit/01cb4f99a0)]
- **test**: convert forEach to for of test-messageevent-brandcheck file
(Nachiketa Pathak)
[#&#8203;65279](https://redirect.github.com/nodejs/node/pull/65279)
-
\[[`359369e24e`](https://redirect.github.com/nodejs/node/commit/359369e24e)]
- **test**: use spawnSyncAndAssert in windowsHide test (Junsoo Ha)
[#&#8203;65351](https://redirect.github.com/nodejs/node/pull/65351)
-
\[[`9304dee833`](https://redirect.github.com/nodejs/node/commit/9304dee833)]
- **test**: remove test-debugger-run-after-quit-restart as flaky on
macOS (Yuya Inoue)
[#&#8203;65424](https://redirect.github.com/nodejs/node/pull/65424)
-
\[[`30f1a19eec`](https://redirect.github.com/nodejs/node/commit/30f1a19eec)]
- **test**: simplify test-timers-interval-promisified.js (Donghoon Kang)
[#&#8203;65322](https://redirect.github.com/nodejs/node/pull/65322)
-
\[[`acaf986ad5`](https://redirect.github.com/nodejs/node/commit/acaf986ad5)]
- **test**: add Headers coverage and benchmark (Yagiz Nizipli)
[#&#8203;65365](https://redirect.github.com/nodejs/node/pull/65365)
-
\[[`b6852e2b96`](https://redirect.github.com/nodejs/node/commit/b6852e2b96)]
- **test**: deflake test-net-listen-ipv6only (sangwook)
[#&#8203;64173](ht

> ✂ **Note**
> 
> PR body was truncated to here.


</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/jGleitz/markdown-it-prism).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC40OS4wIiwidXBkYXRlZEluVmVyIjoiNDQuNDkuMCIsInRhcmdldEJyYW5jaCI6InY1IiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [pnpm](https://pnpm.io)
([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm11/pnpm))
| [`11.24.0` →
`11.25.0`](https://renovatebot.com/diffs/npm/pnpm/11.24.0/11.25.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/11.25.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/11.24.0/11.25.0?slim=true)
|

---

### Release Notes

<details>
<summary>pnpm/pnpm (pnpm)</summary>

###
[`v11.25.0`](https://redirect.github.com/pnpm/pnpm/releases/tag/v11.25.0):
pnpm 11.25

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v11.24.0...v11.25.0)

##### Minor Changes

- Added an opt-in proof of concept that lets installs reuse a
dependency's build output across machines, by publishing and restoring
signed, organization-scoped artifacts through pnpr instead of running
the lifecycle scripts locally.

Configure it with the new `remoteSideEffectsCache` setting. A workspace
names the eligible `organization` and `packages`; everything describing
the act of signing — `publish`, `keyId`, `builderId`, `trustedKeys`,
`privateKey` and the provenance fields — is refused in
`pnpm-workspace.yaml` and read from the global config file or the
environment instead.

- Added macOS and Windows x64 and arm64 support to remote shared build
artifacts
[pnpm/pnpm#13771](https://redirect.github.com/pnpm/pnpm/issues/13771).

- Added the `audit.ignorePrune` setting. When set to `true`, `pnpm audit
--fix` removes ignored GHSA entries that no longer appear in the audit
report.

- Generalized the experimental shared-artifact protocol so candidates
and signed payloads identify a discriminated subject. Dependency side
effects use package and source-integrity subjects, while workspace tasks
use project and task subjects.

This changes shared-artifact request bodies and signed payloads. A pnpr
server and its clients have to be on matching versions.

- `pnpm init` now pins the latest pnpm version, instead of the version
of pnpm that ran the command. A project scaffolded by an outdated pnpm
therefore no longer inherits that staleness through its own
`devEngines.packageManager` / `packageManager` pin
[#&#8203;7490](https://redirect.github.com/pnpm/pnpm/issues/7490).

The version is read from the `latest` tag on the package-manager
registries. When that lookup cannot answer — no network, an unreachable
or slow registry, `offline`, or a `latest` that the `minimumReleaseAge`
/ `trustPolicy` settings reject — `pnpm init` pins the running version
as before, and never fails or hangs on the lookup. A `latest` that is
older than the running pnpm is never pinned either.

- A `scope` set in a project's `pnpm-workspace.yaml` is now ignored,
with a warning naming where to set it instead. `pnpm login` records the
scope as a `@scope:registry` route in the machine-global `auth.ini`,
which outranks `~/.npmrc` in every project — so a repository-committed
file could redirect a scope such as `@acme` for all of a user's other
projects after one routine login. Use `--scope`, the `PNPM_CONFIG_SCOPE`
environment variable, or the global config file instead
[#&#8203;13557](https://redirect.github.com/pnpm/pnpm/issues/13557).

- Verified remote build artifacts are persisted in the shared store with
their signed origin metadata. Later installs reverify the artifact
against current trust, policy, platform, and source before reuse, while
invalid remote variants are quarantined per channel
([pnpm/pnpm#13771](https://redirect.github.com/pnpm/pnpm/issues/13771)).

- Persist completed recursive tasks so `--resume-from` skips exactly the
work that passed during a matching interrupted or failed `pnpm -r run` /
`pnpm -r exec` invocation. When no compatible state exists, pnpm retains
its graph-based resume behavior.

- Allowed `pnpm update --patches` to refresh registry revisions through
a configured pnpr server while retaining locked package versions.

- Added explicit registry revision selection with `<version>+rN` and
`pnpm update --patches` for refreshing revision artifacts without
changing package versions. Registry-backed lockfile policy checks
recognize historical revisions, and pnpr now preserves safe revision
histories from upstream registries.

- Workspace install, rebuild, pack, publish, stage, and lifecycle work
now starts as soon as its dependencies finish instead of waiting for an
unrelated topological group.

- `pnpm stage approve` now approves several staged packages at once. Run
it without a stage id to pick from the staged versions interactively, or
pass a list of stage ids. The whole batch is approved with a single
one-time password, and pnpm asks for a new one only once the registry
stops accepting it. Inside a workspace, the selected packages are
approved in dependency order, and a package whose workspace dependency
could not be approved is skipped instead of being published against a
dependency that never reached the registry.

- Added per-task concurrency limits to workspace task orchestration. Set
`tasks.<name>.concurrency` in `pnpm-workspace.yaml` to limit how many
instances of that task may run across workspace projects at once:

  ```yaml
  tasks:
    build:
      concurrency: 2
  ```

- Added support for registry replacement tarballs using standard
integrity values, explicit revision fields, registry routing from the
`registries` setting, non-redirecting integrity-addressed URLs,
canonical safe-integer revision numbers, and pnpr proxying for immutable
upstream revision artifacts.

- `sideEffectsCache` now declares the whole of how a package's build
output is reused — whether one is restored, whether one is saved, and
the remote tier that shares it between machines:

  ```yaml
  sideEffectsCache:
    read: true
    write: true
    remote:
      org: acme
      packages: ['native-addon']
  ```

`sideEffectsCache: true`, `sideEffectsCacheReadonly`,
`remoteSideEffectsCache`, and its `organization` field all keep working.
Where a field is set under both spellings the one above wins; where it
is set under only one, it is kept.

Two behaviors change, both bringing this CLI in line with what the Rust
one already did: `sideEffectsCacheReadonly: true` now blocks writing to
the cache, and setting it alongside `sideEffectsCache: false` gives a
read-only view rather than switching the cache off entirely. A cache can
also be declared write-only now, to populate one the run does not read.

- Workspace task orchestration
([pnpm/rfcs#23](https://redirect.github.com/pnpm/rfcs/pull/23)). `pnpm
-r run` and `pnpm -r exec` now schedule per task instead of in
topological chunks: a task starts as soon as the tasks it depends on
have finished, so a project no longer waits for unrelated projects that
happen to share its chunk.

A new `tasks` section in `pnpm-workspace.yaml` declares what a task
depends on, using the `^` convention:

  ```yaml
  tasks:
    build:
      dependsOn: ['^build']
    test:
      dependsOn: ['build']
    lint: {}
  ```

`^name` means the named task in each of the project's workspace
dependencies; a bare `name` means the task in the same project; an entry
with no `dependsOn` declares an empty dependency list. A task with no
entry behaves as `dependsOn: ['^<its own name>']`, which is exactly what
the previous chunked ordering implied — an unconfigured workspace gets
the scheduler improvement and nothing else changes meaning. A project
without the script is reported skipped and passes its edges through to
its own dependencies, so a scriptless package does not sever a chain.

  Also part of this change:

- A dependency cycle among the tasks of a run is now an error naming the
participating tasks (`ERR_PNPM_TASK_CYCLE`) instead of silently running
in an arbitrary order. Setting `ignoreWorkspaceCycles: true` downgrades
the error to a warning: the cycle's tasks run in an arbitrary order
relative to each other.
- `--resume-from` now skips exactly the transitive dependencies of the
anchor package; work unrelated to the anchor still runs.
- Under `--no-bail`, tasks whose dependencies failed are reported as
skipped, not failed, and do not add to the exit code.
- With `--bail` (the default), the first failure still ends the run at
once and nothing new is dispatched — including scripts already queued
behind the concurrency limit.
- `pnpm -r run --dry-run <script>` prints the task graph that would
execute without running anything (including skipping the
`verifyDepsBeforeRun` check); `--json` emits the tasks and their
resolved dependency edges.
- Output is inherited rather than piped only when at most one script can
ever be in flight (`--workspace-concurrency=1`, or the graph forces the
scripts to run one after another).

##### Patch Changes

- An `_auth` entry in the global config file no longer decides which
registry packages come from when something else says. A `registry` or
`registries` declared in `pnpm-workspace.yaml` or the global config now
wins over the route inferred from a stored credential, which still
applies where nothing else declares one. The `pnpm_config__auth`
environment variable is unchanged: it stays the way to point a CI runner
at a mandated proxy, and still overrides what a repository declares.

- Prevent installs through a symlinked `node_modules` directory from
rewriting the target checkout
[pnpm/pnpm#14286](https://redirect.github.com/pnpm/pnpm/issues/14286).

- Treat empty scripts selected by a regular expression as missing before
running dependent tasks.

- The options type of the `fetch` command now declares `allowBuilds`, a
setting its handler already forwarded to the installer. Type-level only
— what `pnpm fetch` does is unchanged.

- Filter hidden scripts matched by a regular expression during recursive
runs when a visible script also matches.

- Fixed automatically switched pnpm versions forcing all descendant pnpm
processes to use the same version
[pnpm/pnpm#14309](https://redirect.github.com/pnpm/pnpm/issues/14309).

- Fixed `ERR_PNPM_UNUSED_PATCH` validation during incremental installs
[pnpm/pnpm#13692](https://redirect.github.com/pnpm/pnpm/issues/13692).

- Fixed `pnpm deploy --prod` failing when an excluded dev dependency was
also declared as an optional peer dependency
[pnpm/pnpm#14302](https://redirect.github.com/pnpm/pnpm/issues/14302).

- `pnpm update -g` no longer downgrades a global package. `--latest`
resolves the `latest` dist-tag, which can point at an older release than
the one installed — after `pnpm add -g <pkg>@next`, for instance
[#&#8203;14270](https://redirect.github.com/pnpm/pnpm/issues/14270).

`pnpm update -g` also no longer changes the pnpm version. pnpm's own
global install belongs to `pnpm self-update`
[#&#8203;14270](https://redirect.github.com/pnpm/pnpm/issues/14270).

- Copying a built package to its other hoisted locations no longer
replaces the destination directory. With `nodeLinker: hoisted`, that
replacement deleted the dependencies nested inside the destination's
`node_modules`, and made concurrent copies of the same build chunk fail
with `ERR_PNPM_ENOENT: no such file or directory, rename
'.../node_modules/_tmp_...'`
[#&#8203;12880](https://redirect.github.com/pnpm/pnpm/issues/12880).

- `pnpm update` no longer replaces the specifier a project declares for
a dependency that is also listed in `overrides`. A `catalog:` reference
stays a `catalog:` reference, and a declared range stays as written,
instead of being rewritten to the version the override resolved to
[#&#8203;12115](https://redirect.github.com/pnpm/pnpm/issues/12115).

- `pnpm update` no longer moves the range a project declares for a
dependency that `overrides` also lists, even when the override repeats
that range verbatim. Previously the updated `package.json` disagreed
with the lockfile, so the next `pnpm install --frozen-lockfile` failed
with a specifier mismatch
[#&#8203;14224](https://redirect.github.com/pnpm/pnpm/issues/14224).

- Make `pnpm add --lockfile-only` skip dependency linking
[pnpm/pnpm#14286](https://redirect.github.com/pnpm/pnpm/issues/14286).

- `--production` is accepted again as an alias of `--prod` on `install`,
`fetch`, `prune`, `update`, `list`, `why`, and `sbom`, and the install
that `verifyDepsBeforeRun` reproduces is now spelled with `--prod`.
`pnpm run` no longer aborts with "unexpected argument '--production'
found" after a production-only install
[#&#8203;14147](https://redirect.github.com/pnpm/pnpm/issues/14147).

- The progress output no longer overwrites the lines above it once it
grows taller than the terminal window
[#&#8203;14270](https://redirect.github.com/pnpm/pnpm/issues/14270).

- Restoring a dependency's build from the remote side-effects cache no
longer downloads files the store already holds.

- Forward `patchedDependencies` hashes and `packageExtensions` to pnpr
so server-side resolution preserves patches and package extensions in
the lockfile and installed packages.

- Published the workspace task graph and scheduler as
`@pnpm/workspace.task-scheduler` so other workspace commands can use the
same dependency-aware scheduling as recursive run and exec.

- The environment variables for the remote side-effects cache are named
for the setting they configure: `PNPM_SIDE_EFFECTS_CACHE_REMOTE_KEY_ID`,
`..._BUILDER_ID`, `..._IMAGE_DIGEST`, `..._ARCHITECTURE_BASELINE`,
`..._PRIVATE_KEY`, `..._BUILD_ENV`, `..._TRUSTED_KEYS` and
`..._PUBLISH`. The `PNPM_REMOTE_SIDE_EFFECTS_CACHE_*` names keep
working, and the new one wins when both are set.

- A `devEngines.packageManager` range pin on pnpm is now recorded in
`pnpm-lock.yaml`'s `packageManagerDependencies` when the running pnpm
already satisfies it, using the running version and keeping the range as
the recorded specifier. Previously only an exact pin — or a range
resolved on the way through a version switch — reached the lockfile, so
a range pin written by hand (or by any tool other than `pnpm add` /
`pnpm self-update`) left the project without the shared resolution the
pin exists to provide.

- Fixed recursive `run` cleanup on Windows when a lifecycle script fails
while another script's process tree is still running.

- The update notification now suggests `pnpm self-update` when
`PNPM_HOME` manages the pnpm in use, and the [standalone install
script](https://pnpm.io/installation) otherwise — under Corepack, or
when another package manager installed pnpm. `pnpm self-update` under
Corepack names the standalone install script too.

- Enforce `allowBuilds` when a prepared git dependency is reused from
the shared store, and use the lockfile's canonical git resolution ID in
approval suggestions.

- Topologically sorting workspace projects now runs in linear time,
fixing installs and lockfile updates that stalled for seconds on
workspaces with thousands of projects forming deep dependency chains
[#&#8203;14149](https://redirect.github.com/pnpm/pnpm/issues/14149),
[#&#8203;14151](https://redirect.github.com/pnpm/pnpm/issues/14151).

<!-- 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">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/notion.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/notion_light.svg" />
<img src="https://pnpm.io/img/users/notion.svg" width="80" alt="Notion"
/>
          </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://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>
      <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>
    </tr>
    <tr>
      <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>
      <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 -->

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/jGleitz/markdown-it-prism).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC40OS4wIiwidXBkYXRlZEluVmVyIjoiNDQuNDkuMCIsInRhcmdldEJyYW5jaCI6InY1IiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@sonarqubecloud

sonarqubecloud Bot commented Sep 2, 2026

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant