FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

2026-08-26, Version 26.8.0 (Current) by github-actions[bot] · Pull Request #65551 · nodejs/node · GitHub

/ node Public

2026-08-26, Version 26.8.0 (Current) - #65551

Open
github-actions[bot] wants to merge 344 commits into
v26.xfrom
v26.8.0-proposal
Open

2026-08-26, Version 26.8.0 (Current)#65551
github-actions[bot] wants to merge 344 commits into
v26.xfrom
v26.8.0-proposal

Conversation

github-actions Bot commented Aug 25, 2026
edited by aduh95
Loading

Copy link
Copy Markdown
Contributor
  • [74234ee30e] - (SEMVER-MINOR) benchmark: add --analyze mode to compare.js (James M Snell) #65416
  • [4232997fa2] - crypto: update root certificates to NSS 3.126 (Node.js GitHub Bot) #65495
  • [f0531f1c87] - (SEMVER-MINOR) crypto: enable SIV and GCM-SIV modes in Cipher/Decipher APIs (Filip Skokan) #63411
  • [3f4b80ebb5] - diagnostics_channel: mark TracingChannel as stable (Abdelrahman Awad) #64525
  • [753033c110] - (SEMVER-MINOR) lib,src: improve histogram implementation (James M Snell) #65024
  • [3d7d277493] - (SEMVER-MINOR) net: improve performance of net.BlockList (James M Snell) #64974
  • [9e8e9080fd] - (SEMVER-MINOR) perf_hooks: add statistical hypothesis testing to histogram (James M Snell) #65416
  • [c18b0aa54e] - repl: add basic syntax highlighting (Aviv Keller) #64591
  • [58ea88e1d3] - (SEMVER-MINOR) sqlite: add StatementSync.prototype.close() (Guilherme Araújo) #64232
  • [7c61b08aed] - (SEMVER-MINOR) sqlite: add StatementSync.prototype[Symbol.dispose]() (Guilherme Araújo) #64232
  • [4299cd5897] - (SEMVER-MINOR) util: add non-throwing MIMEType.parse (James M Snell) #64965
  • [df48191061] - (SEMVER-MINOR) zlib: add ZipEntry, ZipFile, and ZipBuffer (Philipp Dunkel) #64339
Commits
  • [162257b403] - assert: improve documentation wording (Kamal Rawal) #64953
  • [74234ee30e] - (SEMVER-MINOR) benchmark: add --analyze mode to compare.js (James M Snell) #65416
  • [2cb96dd462] - benchmark: add test-only and mock timers cases (Luan Muniz) #64097
  • [562168f93f] - benchmark: apply highWaterMark in webstreams pipe-to (Matteo Collina) #65138
  • [fbec4eb386] - benchmark: complete the sqlite is-transaction fix (Edy Silva) #65218
  • [d8acfc45f1] - benchmark: add test runner hooks and options (Luan Muniz) #63754
  • [13e7d54f67] - buffer: prevent string write offset overflow (Matteo Collina) #65043
  • [615273deac] - buffer: support aligned allocations (Robert Nagy) #65003
  • [bc6b630e21] - buffer: treat detached ArrayBuffers as empty (Archkon) #64504
  • [ddf9f9d265] - build: target Power 9 and z14 (Richard Lau) #65439
  • [fda8ee894e] - build: use build-ci for benchmark merge-commit rebuild (Yagiz Nizipli) #65362
  • [03692786ef] - build: add simdutf dir to include path in GN build (Shelley Vohr) #65382
  • [3da555a3ed] - build: pass target architecture to small-icu genccode (ulofiai) #65095
  • [ffe1e7cbea] - build: update binary-upload to use correct tarball name (Stewart X Addison) #65282
  • [50174cb94a] - build: deprecate always enabled --enable-static (Chengzhong Wu) #65103
  • [28f662b424] - build: check FIPS option value in node.gyp (Filip Skokan) #64982
  • [29a2ecefeb] - build: handle malformed OpenSSL macros (Filip Skokan) #64982
  • [6deeef1801] - build: enable perfetto updater (Chengzhong Wu) #64966
  • [312f0c6a7e] - build: add host toolset to perfetto_sdk (Ryuhei Shima) #64751
  • [1a4f5e537b] - build,win: add PGO workload scripts (Stefan Stojanovic) #63696
  • [21655dccbc] - child_process: keep SIGWINCH from killing on Win (Kirill Saied) #64510
  • [4232997fa2] - crypto: update root certificates to NSS 3.126 (Node.js GitHub Bot) #65495
  • [f0531f1c87] - (SEMVER-MINOR) crypto: enable SIV and GCM-SIV modes in Cipher/Decipher APIs (Filip Skokan) #63411
  • [109566a2f7] - crypto: fix missing error checks on ASN1_STRING_to_UTF8() (Nora Dossche) #65200
  • [501f81612d] - crypto: improve SubtleCrypto.supports() accuracy (Filip Skokan) #65222
  • [137ff67fd3] - crypto: use available BoringSSL APIs (Filip Skokan) #65423
  • [0e87576ed4] - crypto: remove obsolete BoringSSL shims (Filip Skokan) #65423
  • [af867ce3e4] - crypto: add mgf1Hash for RSA-OAEP (Adam Mcgrath) #65073
  • [66ee4792bf] - crypto: disable non-FIPS WebCrypto paths in FIPS mode (Filip Skokan) #65172
  • [6a142c03e9] - crypto: read WebCrypto inputs through primordials (Filip Skokan) #65115
  • [92e3110462] - crypto: fix disabling FIPS mode (Filip Skokan) #64982
  • [d69bed2f49] - debugger: wait for target startup (Filip Skokan) #65194
  • [5c7c0b8b15] - deps: update zlib to 1.3.2.1-motley-8002e91 (Node.js GitHub Bot) #65316
  • [4cb6b1335e] - deps: update simdjson to 4.6.7 (Node.js GitHub Bot) #65318
  • [a39ad67482] - deps: update googletest to 49495eacfdbda3f4b6ba219923fedbb2e3f99376 (Node.js GitHub Bot) #65317
  • [46762dad57] - deps: cherry-pick libuv/libuv@e640dc9 (ulofiai) #65118
  • [abb7a15a8d] - deps: update perfetto to 57.2 (Node.js GitHub Bot) #65114
  • [ebd8c6ba52] - deps: float ICU-23262 patch for icu78 (René) #64678
  • [f2cc681109] - deps: enable AVX-512 OpenSSL asm with clang (Daniel Lemire) #65136
  • [f45dc92913] - deps: update undici to 8.10.0 (Node.js GitHub Bot) #65155
  • [4160dfdf81] - deps: update googletest to d89aac5f0dd4021198d903d39de16f896726de21 (Node.js GitHub Bot) #65153
  • [631d3aa37b] - deps: update libffi to 3.8.0 (Node.js GitHub Bot) #65154
  • [788976c626] - dgram: don't swallow bind errors when callback is provided (armanmikoyan) #62602
  • [d286423043] - diagnostics_channel: validate before channel activation (Trivikram Kamat) #65313
  • [3f4b80ebb5] - diagnostics_channel: mark TracingChannel as stable (Abdelrahman Awad) #64525
  • [152a326f92] - dns: validate address type in lookupService (Lazizbek Ergashev) #64878
  • [00c71fec93] - dns: validate port range in setServers() (René) #65021
  • [e9327d1422] - dns: fix crash on setServers with port 0 (Lazizbek Ergashev) #65009
  • [9e227ef20d] - doc: update AHAFS reference link (Taeuk Ha) #65481
  • [5fbf6c57af] - doc: fix property names in os.networkInterfaces() example (Jihwan) #65469
  • [13f16d28d1] - doc: fix broken links in cli.md (Donghoon Kang) #65412
  • [0f36ee3755] - doc: remove outdated WASI version fallback (이혜미) #65303
  • [1ad09f712a] - doc: fix broken GYP link in n-api.md (Donghoon Kang) #65413
  • [24cd694237] - doc: document that an empty OPENSSL_CONF skips config loading (Orgad Shaneh) #64949
  • [dae434132e] - doc: fix broken TLS security level example (soreavis) #65391
  • [96b91dc987] - doc: clarify socket destroyed behavior (Dayun) #65395
  • [9d8d27d444] - doc: update outdated nodejs.org guide links (Donghoon Kang) #65394
  • [65f675086e] - doc: clarify that ipv4 mapped to ipv6 are classified as ipv6 (Vedant Kulkarni) #62117
  • [89aba0c311] - doc: clarify how fs.Dirent file types are determined (soreavis) #64532
  • [3ed0492f52] - doc: update security release prepare command (Rafael Gonzaga) #64699
  • [63583c4e75] - doc: clarify copyFile symlink behavior (T) #62941
  • [abfc51f757] - doc: document setRawMode write access on Windows (Erik Demaine) #63856
  • [4a784cb3e6] - doc: document per-architecture fast FFI argument limits (Seongeun Lee) #65207
  • [262f966155] - doc: add missing return types in fs.md (Chaseton Collins) #65307
  • [695cd896a7] - doc: add missing return types in buffer.md (Yuya Inoue) #65308
  • [676a1228cd] - doc: fix lint clean command (greenhead) #65274
  • [9ea318d4e3] - doc: fix typo in onboarding.md (서울민트초코) #65295
  • [3b6a918ab4] - doc: add missing added: tags to fs.lchmod (Lazizbek Ergashev) #65283
  • [a77b1e61df] - doc: fix SQLite changeset constant descriptions (greenhead) #65265
  • [ab50ae60e4] - doc: document open pull request limit (Matteo Collina) #65250
  • [e2f4ea03a3] - doc: document http2 header constants (Harjoth Khara) #64548
  • [5b5509d0d3] - doc: create ai-guidelines and include to CONTRIBUTING (Rafael Gonzaga) #62105
  • [c63e873073] - doc: fix broken fs.BigIntStats link in vfs.md (greenhead) #65045
  • [d6059e84c0] - doc: update synopsis (Augustin Mauroy) #65171
  • [43f1dc03e7] - doc: document close() error when in a sqlite callback (Trivikram Kamat) #65090
  • [8f5f48ad96] - doc: fix broken internal links (greenhead) #64901
  • [5b64b37739] - doc: report proper return type on urlPattern.test (Brian Muenzenmeyer) #64831
  • [9633bb0f29] - doc: fix permission documentation examples (greenhead) #64897
  • [e52e573fd7] - doc: document sqlite parameter binding (Guilherme Araújo) #65089
  • [fa52f11d3b] - doc: finalize statements in sqlite examples (Guilherme Araújo) #65088
  • [0157c45012] - doc: document quic stopSending() and resetStream() (Issac) #64888
  • [003a913799] - doc: clarify sqlite bare parameter default (Sumit Kumar Das) #62009
  • [c5588d71ad] - doc: remove usage of util.inherits (Augustin Mauroy) #60817
  • [673db40fbf] - doc: fix grammar in worker_threads.md (이혜미) #64913
  • [ee5f72cf16] - doc: fix broken link (Antoine du Hamel) #65078
  • [0450ab6c6a] - doc: update node.1 to fix linter (Antoine du Hamel) #65053
  • [9a256b0693] - doc: clarify OpenSSL FIPS configuration (Filip Skokan) #64982
  • [c321752dcb] - doc: remove --expose-gc flag from CLI documentation (Dario Piotrowicz) #58909
  • [0cf79931bb] - doc: document ArrayBuffer support in pbkd2Sync (kyungrae2002) #64976
  • [3b8a0bacaa] - doc: correct default highWaterMark values (Yilong Li) #64617
  • [be313012e4] - doc: use ffi.suffix in permission example (agape1225) #64914
  • [4a1c9a7ee0] - esm: avoid super-linear data URL MIME regex (Sumit Kumar Das) #61951
  • [b1770bc196] - esm: only register text format when enabled (Efe Karasakal) #64992
  • [f48927fe5b] - esm: fix wasm import name in error message (이혜미) #64950
  • [8d48adf688] - events: inline iterationCondition hybrid dispatch closure (Szymon Łągiewka) #64473
  • [b827c0047e] - events: inline createEvent hybrid dispatch closure (Szymon Łągiewka) #64473
  • [7670c81d99] - ffi: prefer canonical type names (Trivikram Kamat) #65417
  • [1fe7a1c33d] - ffi: validate the value passed to the float setters (Soul Lee) #65342
  • [537feecd0b] - ffi: reject direct SharedArrayBuffer pointers (Trivikram Kamat) #65233
  • [0002f0a718] - ffi: remove dead null check in callback arguments (Trivikram Kamat) #64998
  • [9024ec27b6] - ffi: keep FFI functions non-constructible (Trivikram Kamat) #65184
  • [9b4f349b01] - ffi: refresh cached string buffers on every call (Trivikram Kamat) #65051
  • [eacd65e9c2] - ffi: reject detached ArrayBufferViews (Trivikram Kamat) #65086
  • [be2ab89730] - ffi: reject detached ArrayBuffers as pointers (Trivikram Kamat) #65083
  • [6f9e0846ea] - ffi: validate fast pointer BigInt argument ranges (Trivikram Kamat) #65032
  • [3e6688c5e3] - ffi: reuse the callable created per symbol (Trivikram Kamat) #64971
  • [8b0bdd931c] - ffi: shrink trampoline placement probe window (Trivikram Kamat) #64969
  • [9c282c4532] - ffi: accept pointer BigInts in multi-argument fast calls (Trivikram Kamat) #64964
  • [b98294b57d] - ffi: support SharedArrayBuffer in getRawPointer (Junsoo Ha) #64864
  • [5cac7c2c55] - ffi: reuse libffi call plans (Yilong Li) #64958
  • [262f0ec82a] - fs: stop stat()ing every entry in recursive readdir (Shelley Vohr) #65487
  • [e3ae912e9a] - fs: use sized reads for large files in readFileUtf8 (Shelley Vohr) #65328
  • [bc1e19b4b7] - fs: fix realpath of namespaced drive paths (Jason Zhang) #65378
  • [6673ebadf2] - fs: abort in-flight stat operations (Mert Can Altin) #63143
  • [74dcdbb5f1] - fs: fix glob early return skipping sibling entries (Srinu desetti) #64895
  • [6305a744df] - fs: pass symlink type in cp when filter is provided (Jerry Zhao) #62654
  • [c5cb6bc7e2] - fs: allocate FSReqPromise stat arrays lazily (Samuel Attard) #63886
  • [992af05719] - fs: fix out-of-bounds write in mkdtemp for long prefixes (Hierax_Umbra) #64770
  • [2de845b2dd] - fs: treat std::errc::permission_denied as EPERM error (Kirill Saied) #64698
  • [77fedbd350] - fs: read small files in one thread pool round trip (Shelley Vohr) #65327
  • [810929b6dd] - Revert "fs: fix close listener leak in FileHandle streams" (Mike McCready) #65387
  • [8873b91fce] - fs: fix close listener leak in FileHandle streams (Y1D7NG) #64227
  • [656cfaeb2d] - fs: add windowsHandle option to file streams (Kirill Saied) #63851
  • [c2c31d69fd] - http: improve performance with known-length calls to end() (Tim Perry) #65466
  • [7e9204f4b3] - http: use intrusive lists in ConnectionsList (Matteo Collina) #65296
  • [98e6272c70] - http: cache maxHeaderPairs per header section (GetThatCookie) #64988
  • [6c3516f179] - http: fix keylog listener setup on existing agent sockets (Shani Singh) #65066
  • [dad9548fbc] - http: emit drain on socket takeover and avoid stale HWM reuse (Naman Trivedi) #64991
  • [563cab119b] - http2: avoid uaf while receiving and sending rst_stream (esgor) #64166
  • [099801641b] - inspector: avoid calling into JS from V8 interrupts (Joyee Cheung) #65028
  • [b71d5de0b8] - lib: use bracket notation instead of startsWith/endsWith for single char (Taejin Kim) #61500
  • [e8e2abcc8d] - lib: load fewer builtins when bootstrapping without a snapshot (Shelley Vohr) #65329
  • [3619dc0601] - lib: fix ERR_INVALID_ARG_TYPE with --enable-source-maps (June) #63215
  • [ad7c67026b] - lib: harden webidl dictionary member reads (Filip Skokan) #65115
  • [b5182f0a1c] - lib: use validateArray for array arguments (greenhead) #64959
  • [7f7df06821] - lib: add and test [EnforceRange] in webcrypto dictionaries (Filip Skokan) #65091
  • [753033c110] - (SEMVER-MINOR) lib,src: improve histogram implementation (James M Snell) #65024
  • [8d39d0d660] - meta: add a root-level AGENTS.md (James M Snell) #65493
  • [3770f9baea] - meta: move targos to emeritus (Michaël Zasso) #65393
  • [a9b31dfe30] - meta: add unified http api initiative (James M Snell) #65139
  • [6bffc306aa] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #65182
  • [4abd1c8100] - meta: add support for alpha prerelease tag (Antoine du Hamel) #63135
  • [132c578e97] - meta: add Aviv Keller to .mailmap (Aviv Keller) #65048
  • [7aff78d231] - meta: update sccache to 0.17.0 (René) #64985
  • [97a437e7ea] - module: add a read-only mode to the compile cache (Shelley Vohr) #65302
  • [5821362819] - module: do not split a portable compile cache by uid (Shelley Vohr) #65293
  • [eb5d66e856] - module: report unreadable package.json (Paul Bouchon) #65223
  • [43757d07c1] - module: cache nearest parent package.json per directory (Shelley Vohr) #65326
  • [d7805e00dc] - module: fix --check on ambiguous ESM files (Paul Bouchon) #65203
  • [646221a495] - net: handle undefined parent in _unrefTimer and _destroy (Shivay-98) #64644
  • [3d7d277493] - (SEMVER-MINOR) net: improve performance of net.BlockList (James M Snell) #64974
  • [9e8e9080fd] - (SEMVER-MINOR) perf_hooks: add statistical hypothesis testing to histogram (James M Snell) #65416
  • [01a8ae0ce6] - permission: guard UDP handle adoption (Rafael Gonzaga) #65358
  • [ac3c412aaf] - permission: enforce addon permission in GetLinkedBinding (Rafael Gonzaga) #65432
  • [8765afd4c2] - process: validate resource stats array offsets (Archkon) #65098
  • [d0447c93f6] - quic: changes for nghttp3_conn_close_stream2 (Marten Richter) #64574
  • [91393898b5] - quic: mark drain promise handled (James M Snell) #65319
  • [5c9576bf50] - quic: reset rejected HTTP/3 request streams with H3_REQUEST_REJECTED (trivenay) #65442
  • [ec956f2abc] - quic: write desired size needs update on maxstream (Marten Richter) #64768
  • [41c510803d] - quic: do not destroy incoming streams that have a consumer (trivenay) #65335
  • [009e376581] - quic: fix wake up blob (Marten Richter) #64044
  • [4674a10368] - quic: convert incoming :status header to number (Hallison Pereira Melo) #63589
  • [5953165f53] - quic: fix infinite loop if STOP_SENDING received on a buffering stream (Tim Perry) #64715
  • [bb499c312e] - repl: keep entries added while history file is loading (Mhayk Whandson) #64513
  • [825fcfe4d5] - repl: add benchmarks (Aviv Keller) #64590
  • [c18b0aa54e] - repl: add basic syntax highlighting (Aviv Keller) #64591
  • [f32a8631ad] - sea: avoid dangling CLI option pointers (Archkon) #64755
  • [3126ce5779] - sea: handle NUL bytes in asset keys (Archkon) #64773
  • [64a8843ff2] - sea: reject trailing content in config JSON (Archkon) #64774
  • [1d9dd252f1] - sea: reject malformed --node-options values (Archkon) #64803
  • [6ec735c910] - sqlite: reject reentry while binding parameters (Trevor Burnham) #65294
  • [60cb384c15] - sqlite: remove unused column name helper (Trivikram Kamat) #65401
  • [fce6754a83] - sqlite: reject busy statement finalization in authorizer (Trivikram Kamat) #65369
  • [e2f952f2ff] - sqlite: prevent reentrant session.close() (Trivikram Kamat) #65349
  • [0e8af3378a] - sqlite: reuse cached column names in statement all() and get() (Edy Silva) #65276
  • [e6bfec91be] - sqlite: validate StatementSync.run() integers (Trivikram Kamat) #65178
  • [bbb1226dbe] - sqlite: add diagnostic channel (Guilherme Araújo) #62241
  • [6302168de8] - sqlite: add stmt persistent flag (Guilherme Araújo) #62757
  • [2989311d81] - sqlite: reject connection access from authorizer callbacks (Trevor Burnham) #65156
  • [72c37b133e] - sqlite: expose prepared statement statistics (Edy Silva) #64541
  • [3e50a2f1e9] - sqlite: manage sqlite3_stmt lifetime with RAII (Guilherme Araújo) #62419
  • [3ab7e72555] - sqlite: check sqlite3_step() and sqlite3_reset() results (semimikoh) #63319
  • [5e387ce979] - sqlite: reject statement-less SQL in prepare() (Trevor Burnham) #65157
  • [83169e58f3] - sqlite: reject statement-less SQL in SQLTagStore (Trevor Burnham) #65157
  • [7f31f6226e] - sqlite: isolate applyChangeset filter errors (Trivikram Kamat) #64823
  • [c89878c3c8] - sqlite: reject deserialize() while in a callback (Trivikram Kamat) #64796
  • [5a852b22d4] - sqlite: check null returns from sqlite value functions (Nora Dossche) #63288
  • [5cb78ed300] - sqlite: validate maxSize argument in createTagStore() (Anshika Jain) #63792
  • [ca885876f6] - sqlite: refactor error helpers and user function pointers (Ali Hassan) #62794
  • [06b1758dcd] - sqlite: reject non-positive backup rates (Trivikram Kamat) #64893
  • [ce0ca47023] - sqlite: clear SQLTagStore bindings (Matteo Collina) #65041
  • [49fb028714] - sqlite: bind Boolean (mike-git374) #62001
  • [09d0da99e9] - sqlite: fix undefined behaviour in Session::Changeset() (Nora Dossche) #63637
  • [58ea88e1d3] - (SEMVER-MINOR) sqlite: add StatementSync.prototype.close() (Guilherme Araújo) #64232
  • [7c61b08aed] - (SEMVER-MINOR) sqlite: add StatementSync.prototype[Symbol.dispose]() (Guilherme Araújo) #64232
  • [9167ebd32b] - sqlite: bind ArrayBuffer (mike-git374) #62061
  • [5da6eaa8af] - sqlite: prevent database close during callbacks (Matteo Collina) #64743
  • [29d794bc84] - src: fix heap value deduplication in embedder graph (Ilyas Shabi) #64801
  • [b405e9b039] - src: fix out-of-bounds write when transcoding odd-length ucs2 (nashit hayat) #64512
  • [101a215472] - src: use simdutf for two-byte utf8 conversion (Mert Can Altin) #62248
  • [340b98346f] - src: run same-priority platform tasks in posting order (Shelley Vohr) #65353
  • [83a7949c18] - src: define O_SYNC, O_DSYNC and O_DIRECT on Windows (Kirill Saied) #64707
  • [32bb197f2a] - src: use simdutf for two-byte strings in UTF-8 writes (Shelley Vohr) #65324
  • [613be79cf4] - src: add v8::Local specialization for MaybeStackBuffer (James M Snell) #65159
  • [922d47cbd7] - src: escape Windows environment variables in task runner (Antoine du Hamel) #65217
  • [3a47f1f282] - src: apply minor namespace format tweak in permissions (James M Snell) #65158
  • [981cfa537d] - src: simplify permissions with BooleanPermissions (James M Snell) #65158
  • [5954b13f88] - src: simplify includes in permissions (James M Snell) #65158
  • [d4ced88c09] - src: apply a modest performance perf to permissions (James M Snell) #65158
  • [efb649ec26] - src: make permission storage a bit more efficient (James M Snell) #65158
  • [521aaf10fc] - src: apply multiple general cleanups to permissions (James M Snell) #65158
  • [ac920e0d2b] - src: simplify c++ diagnostics channel API (James M Snell) #65158
  • [ec8fe275a1] - src: make minor cleanup to permission checks (James M Snell) #65158
  • [968bdd0135] - src: use DictionaryTemplate for permission diag channel message (James M Snell) #65158
  • [f77aa2f703] - src: cache permission strings (James M Snell) #65158
  • [4018f3a776] - src: shave about 20 bytes off each TLSWrap instance (James M Snell) #65144
  • [b7a23426d9] - src: add SetAbortHandler (Max H Fisher) #64684
  • [3cfe19489c] - src: use concepts where appropriate (James M Snell) #65148
  • [d8a0f288ab] - src: match cmd.exe case-insensitively in task runner (Archkon) #64907
  • [262d88e6c2] - src: reuse cached env strings in remaining files (Seongeun Lee) #65039
  • [ad35fe97f0] - src: expose Windows-only fs open flags (Kirill Saied) #64775
  • [8c4531bbc9] - src: report why --enable-fips failed (Filip Skokan) #64979
  • [a293dbf0e1] - src: update repeated use strings to env (James M Snell) #64760
  • [044402cf0e] - src: use UTF-8 for task runner filesystem paths (Archkon) #64868
  • [5b7d02e401] - stream: normalize fused stateless transform results (Trivikram Kamat) #65367
  • [1d6ec2ddc5] - stream: encode whole chunks in TextEncoderStream (Matteo Collina) #65414
  • [0afda47ca4] - stream: prevent share from eagerly draining source (Trivikram Kamat) #65338
  • [dc51c7926e] - stream: drain pending writes before broadcast end (Trivikram Kamat) #65334
  • [a77f9f7a32] - stream: reuse unexposed managed read buffers (GetThatCookie) #64990
  • [c42fbcc0d1] - stream: avoid duplicated endReadableNT scheduling (Matteo Collina) #65310
  • [9ec9383d1d] - stream: decouple transform backpressure changes (Matteo Collina) #65143
  • [a9dc50d275] - stream: reject pull on signal abort during flush (Trivikram Kamat) #65346
  • [815424db74] - stream: avoid leaking consumers on signal failure (Trivikram Kamat) #65299
  • [6a2e0561e8] - stream: use validateObject for zlib/iter params (greenhead) #65015
  • [4f6f2cfffa] - stream: use validateNumber for BYOB reader options.min (greenhead) #65014
  • [4d297428e6] - stream: consolidate non-op algorithm callbacks (Matteo Collina) #65138
  • [f7e0c81be4] - stream: cut promise churn in webstreams hot paths (Matteo Collina) #65138
  • [5edffb544f] - stream: speed up async iteration of Readable (Matteo Collina) #64447
  • [0876a29bb6] - stream: preserve falsy cancellation reasons (Trivikram Kamat) #64705
  • [374f7e214d] - stream: use validateBuffer for BYOB reader view (greenhead) #65046
  • [6bd15b2ac9] - stream: fix recursive WritableStream abort (Jeong SeokChan) #64825
  • [f33dba704d] - string_decoder: decode UTF-8 via StringBytes::Encode (Shelley Vohr) #65324
  • [6409983a6c] - test: update WPT for WebCryptoAPI to e235e089b4 (Node.js GitHub Bot) #65478
  • [01cb4f99a0] - test: convert forEach to for of test-messageevent-brandcheck file (Nachiketa Pathak) #65279
  • [359369e24e] - test: use spawnSyncAndAssert in windowsHide test (Junsoo Ha) #65351
  • [9304dee833] - test: remove test-debugger-run-after-quit-restart as flaky on macOS (Yuya Inoue) #65424
  • [30f1a19eec] - test: simplify test-timers-interval-promisified.js (Donghoon Kang) #65322
  • [acaf986ad5] - test: add Headers coverage and benchmark (Yagiz Nizipli) #65365
  • [b6852e2b96] - test: deflake test-net-listen-ipv6only (sangwook) #64173
  • [235a0baf8b] - test: use common/child_process spawnSync helpers (Junsoo Ha) #65377
  • [29f010fbb0] - test: fix Linux debug skip in SEA test guard (구현우) #63751
  • [33d7b4c6b3] - test: add closed-library assertions for getFunctions and getSymbols (Anshika Jain) #63769
  • [24a76e18ec] - test: avoid timer race in event loop delay test (Trivikram Kamat) #64728
  • [fdc1e78595] - test: enforce exit code in test-http-server-stale-close (Antoine du Hamel) #65198
  • [c644f2e07c] - test: convert test-async-local-storage-bind to async loop (freida-code) #65270
  • [1d5e5e8f43] - test: replace forEach() with for...of in parallel tests (Phillip Markert) #65272
  • [9346570fed] - test: convert forEach to for in test-constant.js file (NIxxy25) #65271
  • [7af0a96090] - test: use for-of instead of forEach (Felix P.) #65268
  • [63e6f2edc3] - test: wait for FFI background optimization (Trivikram Kamat) #65300
  • [bca3367583] - test: add a simple test for import defer of a CJS module (Maya Lekova) #64694
  • [00b687bc4a] - test: cover ZIP fd lifecycle and add rollback (Philipp Dunkel) #65016
  • [31742f2f42] - test: cover ZIP header-confusion and DoS guards (Philipp Dunkel) #65016
  • [87ee7bff38] - test: cover realpathSync resolving symlinks after a FIFO stat (Hendrik Liebau) #65113
  • [fd7e904433] - test: update tests to run with OpenSSL >= 3.0 FIPS mode (Filip Skokan) #64960
  • [219495fe2c] - test: account for [EnforceRange] in test-webcrypto-prototype-pollution (Filip Skokan) #65173
  • [bf86fab458] - test: add permission fast api test (James M Snell) #65158
  • [cc19107e5d] - test: update WPT for WebCryptoAPI to 4c2fd05ed5 (Node.js GitHub Bot) #65150
  • [69e4fabb29] - test: update WPT for urlpattern to 4832db4761 (Node.js GitHub Bot) #65151
  • [b1aa78a57e] - test: fix hidden error in test-http-server-stale-close.js (Meghan Denny) #59357
  • [59d7e22a12] - test: avoid deadlock issue in pipeline http2 tests to fix flakiness (Tim Perry) #65079
  • [7074ae30fa] - test: allow half-open CONNECT tunnel sockets (Trivikram Kamat) #64973
  • [82b2d9c08d] - test: update passphrases to comply with the next OpenSSL FIPS mode (Filip Skokan) #65077
  • [7f3a42035c] - test: use libuv clock for immediate queue test (Trivikram Kamat) #64889
  • [7ddd853d8c] - test: increase timeout in probe-failure-hang-during-evaluate (Joyee Cheung) #64719
  • [28cad47cef] - test: update WPT for WebCryptoAPI to 82c3d9069c (Node.js GitHub Bot) #64977
  • [74a3e91bb7] - test: prefer in-memory databases in sqlite tests (Paul Bouchon) #64701
  • [7fc8a3ad8c] - test,doc: cover and document multi-byte offset/size in randomFill (kyungrae2002) #64834
  • [4de7e63883] - test_runner: match dotfiles in default coverage exclude (semimikoh) #63401
  • [79c39c217d] - test_runner: print coverage and diagnostic info with dot reporter (mag123c) #61423
  • [cce803b174] - test_runner: use run options with isolation="none" (Sylvester Keil) #62269
  • [797ef40d23] - test_runner: mock dual-package with conditional exports (Maruthan G) #62943
  • [1ad7ca310a] - test_runner: restore directory search for --test (Paul Bouchon) #64637
  • [400d598b3c] - test_runner: add classname hierarchy for JUnit reporter (mag123c) #60220
  • [9572a0b15f] - test_runner: fix junit report on empty diagnostic (Lazizbek Ergashev) #65357
  • [e3fda695fe] - test_runner: extend tag filter with boolean expression DSL (Chemi Atlow) #63054
  • [4e06739c7b] - test_runner: do not tag-filter test file wrappers (Chemi Atlow) #65170
  • [e73f74738d] - test_runner: fix env option validation (Jihwan) #64865
  • [2a0b1ec4cc] - tls: throw on invalid ALPNProtocols instead of aborting (Sankalp Thakur) #65076
  • [15da4a190b] - tls: fix authorized state on no-cert TLS1.3 client cert resumption (Tim Perry) #64677
  • [1864175435] - tls: don't trigger SNICallback or OCSPRequest from the TLS lib stack (Tim Perry) #64827
  • [8f4ee7eda5] - tls: drop hand-rolled TLS client hello parser (Tim Perry) #64827
  • [a457631496] - tools: improve commit queue failure comment (Filip Skokan) #65433
  • [78175c68f8] - tools: improve nix-changes coverage (Antoine du Hamel) #65403
  • [6f0c08bf80] - tools: refactor shell.nix pkcs11 integration to its own section (Antoine du Hamel) #65404
  • [35b18b4455] - tools: fix max body length handler in create-release-proposal.sh (Antoine du Hamel) #65455
  • [88d5f644a2] - tools: bump brace-expansion in /tools/clang-format (dependabot[bot]) #64984
  • [41edd2f214] - tools: make env variables consistent in cron jobs (Antoine du Hamel) #65168
  • [7c09bd5ece] - tools: fix man-page generation on Windows (James Ross) #64886
  • [1a20d27118] - tools: bump undici from 6.27.0 to 6.28.0 in /tools/doc (dependabot[bot]) #65011
  • [ebbe4af869] - tools: fix linter when permittedInsecurePackages is empty (Antoine du Hamel) #65226
  • [17d2b067bf] - tools: update BoringSSL pin on v26.x (Filip Skokan) #65483
  • [be4e7de04c] - tools: only include fast-tracked and old enough PRs in CQ (Antoine du Hamel) #65197
  • [53d52731c9] - tools: fix quote escaping in update-nixpkgs-pin.sh (Antoine du Hamel) #65166
  • [40b1b18839] - tools: remove skip logic in commit-queue.sh (Antoine du Hamel) #65162
  • [5506f77924] - tools: bump js-yaml from 4.2.0 to 4.3.1 in /tools/lint-md (dependabot[bot]) #65129
  • [fc038a0ef5] - tools: bump js-yaml from 4.2.0 to 4.3.1 in /tools/eslint (dependabot[bot]) #65130
  • [10b2c8a873] - tools: fix GITHUB_TOKEN permissions for CQ workflow (Antoine du Hamel) #65192
  • [73de450845] - tools: use the read-only token when filtering PRs in CQ (Antoine du Hamel) #65169
  • [31c1bcb627] - tools: delay removal of commit-queue label (Antoine du Hamel) #65101
  • [89d3905595] - tools: move ncu config to global for commit queue (Filip Skokan) #65132
  • [aa3b598e2e] - tools: prefilter commit queue metadata (Filip Skokan) #64343
  • [4f2c634258] - tools: lazy-abort failed PR merges in CQ (Antoine du Hamel) #65004
  • [8657497521] - tools: fix pkcs11-store-test check (Antoine du Hamel) #65023
  • [0e1a99ac24] - tools: add an OpenSSL FIPS build to test-shared.yml (Filip Skokan) #64960
  • [b6fa9c1819] - tools: sync mk-ca-bundle.pl with curl (Archkon) #64753
  • [f0140d7ebd] - tools: store "default" OpenSSL version in openssl-matrix.nix (Antoine du Hamel) #64962
  • [4c8d8afa99] - tools: remove true from branch name for auto-update automation (Antoine du Hamel) #64961
  • [2dd7d4c56f] - tools: add ./tools/nix/pkcs11.nix to nix-changes.yml (Filip Skokan) #64967
  • [cf395004ed] - tty: add raw-vt and io raw modes (Samuel Williams) #64140
  • [a5e5c7f756] - typings: add signal_wrap internal binding types (Seongeun Lee) #65229
  • [5219e53dd6] - typings: add diagnostics_channel typings (Seongeun Lee) #65227
  • [215223dff1] - typings: add watchdog internal binding types (Seongeun Lee) #65228
  • [eb095a94bd] - typings: add internal_only_v8 binding typeis (Donghoon Kang) #65071
  • [9fc811a0f2] - typings: add credentials internal binding types (Donghoon Kang) #65036
  • [f032c22430] - url: skip unused href reuse comparison (Yagiz Nizipli) #65361
  • [2a64032141] - url: speed up WHATWG URL parsing (Yagiz Nizipli) #65361
  • [c4dbe14ec6] - url: speed up URLSearchParams (Yagiz Nizipli) #65363
  • [001c37c0a2] - url: bounds-check short Windows file URL paths (Archkon) #64788
  • [1a63416b1a] - url: handle unparsable serialized URLs in setters (Matteo Collina) #64651
  • [cb4b89c018] - util: allow single-line format when break length is infinite (Hamid Reza Ghavami) #64238
  • [f644853680] - util: fix OSC 8 hyperlink stripping in stripVTControlCharacters (Dushyant Singh Hada) #64319
  • [eb1ebbb39d] - util: fix formatting of functions returned from getters (Richard Gibson) #64839
  • [f373dab724] - util: use more primordials in comparisons.js (Ayoub Mabrouk) #61198
  • [6ca9c1e078] - util: preserve function names without source map names (Hiroki Osame) #65108
  • [4299cd5897] - (SEMVER-MINOR) util: add non-throwing MIMEType.parse (James M Snell) #64965
  • [1aafd19813] - zlib: roll back a failed add() directory rewrite (Philipp Dunkel) #65016
  • [d29cc0926a] - zlib: let a ZipFile read finish before close() (Philipp Dunkel) #65016
  • [2bda6db916] - zlib: do not hang archiving a FIFO or device (Philipp Dunkel) #65016
  • [55b04957c9] - zlib: reject local/central ZIP header mismatch (Philipp Dunkel) #65016
  • [575260d3b4] - zlib: validate central directory record count (Matteo Collina) #65002
  • [8e848d9be3] - zlib: reject ambiguous ZIP archive ends (Matteo Collina) #65007
  • [df48191061] - (SEMVER-MINOR) zlib: add ZipEntry, ZipFile, and ZipBuffer (Philipp Dunkel) #64339
  • [ee7bf09090] - zlib: validate pledgedSrcSize for sync zstd (Archkon) #64601

trivikr and others added 30 commits August 26, 2026 00:55
CONNECT tunnels are full-duplex. When the upstream socket receives a
FIN while the client-to-upstream pipe is still draining, the default
socket behavior can produce EPIPE or ECONNRESET errors.

Keep the upstream socket half-open so both directions can drain.
Separate request logs from transport errors to verify that teardown
completes without errors.

Signed-off-by: Kamat, Trivikram <16024985+trivikr@users.noreply.github.com>
Assisted-by: codex:gpt-5.6-sol
PR-URL: #64973
Refs: https://github.com/nodejs/reliability/issues?q=%22test-https-proxy-request-invalid-char-in-url%22
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
This does not solve the remaining underlying deadlock issue, but does
bound the test behaviour in a way that seems to avoid failures in
practice. Deadlock fix to come separately later.

Co-authored-by: Filip Skokan <panva.ip@gmail.com>
Signed-off-by: Tim Perry <pimterry@gmail.com>
PR-URL: #65079
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: #65192
Refs: #65169
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Beth Griggs <bethanyngriggs@gmail.com>
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.2.0 to 4.3.1.
- [Changelog](https://github.com/nodeca/js-yaml/blob/4.3.1/CHANGELOG.md)
- [Commits](nodeca/js-yaml@4.2.0...4.3.1)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.3.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
PR-URL: #65130
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: René <contact.9a5d6388@renegade334.me.uk>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.2.0 to 4.3.1.
- [Changelog](https://github.com/nodeca/js-yaml/blob/4.3.1/CHANGELOG.md)
- [Commits](nodeca/js-yaml@4.2.0...4.3.1)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.3.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
PR-URL: #65129
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: René <contact.9a5d6388@renegade334.me.uk>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
`libnode.a` is now always produced, unless configured with flag
`--shared`. This deprecates the no-op flag `--enable-static`.

Signed-off-by: Chengzhong Wu <cwu631@bloomberg.net>
PR-URL: #65103
Refs: #65026
Refs: #63626
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
PR-URL: #59357
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Ryuhei Shima <shimaryuhei@gmail.com>
Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day>
Reviewed-By: Stefan Stojanovic <stefan.stojanovic@janeasystems.com>
PR-URL: #65154
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
PR-URL: #65153
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
PR-URL: #65151
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: #65150
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
PR-URL: #65155
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
sqlite3_prepare_v2() returns SQLITE_OK without producing a statement
when its input holds no SQL, such as a comment. PrepareStatement() only
checked the return code, so it cached a StatementSync wrapping a null
sqlite3_stmt. Executing it reached sqlite3_clear_bindings(), which only
guards against a null statement under SQLITE_ENABLE_API_ARMOR, and
segfaulted.

Reject such input instead of caching it. The StatementSync methods
already avoid the crash because their IsFinalized() guard treats a null
statement as finalized.

Fixes: #65149

Signed-off-by: Trevor Burnham <trevorburnham@gmail.com>
PR-URL: #65157
Fixes: #65149
Reviewed-By: René <contact.9a5d6388@renegade334.me.uk>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Apply the same check to DatabaseSync::Prepare() so that statement-less
SQL is rejected at preparation instead of on first use. This matches
SQLite's own oo1 JavaScript API, which throws when the SQL contains no
statements rather than exposing the C API's null statement pointer.

Previously db.prepare('-- comment') returned a StatementSync whose
statement_ was null. Every method on it threw "statement has been
finalized", which was misleading because nothing had been finalized, and
the object was still inserted into statements_. Since IsFinalized() is
true for a null statement, its destructor skipped UntrackStatement() and
left a dangling pointer in the set that a later close() would finalize.

Refs: #65157 (comment)
Refs: https://sqlite.org/wasm/doc/trunk/api-oo1.md

Signed-off-by: Trevor Burnham <trevorburnham@gmail.com>
PR-URL: #65157
Fixes: #65149
Reviewed-By: René <contact.9a5d6388@renegade334.me.uk>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Signed-off-by: Rawal27 <obviouslykamal@gmail.com>
PR-URL: #64953
Reviewed-By: Aviv Keller <me@aviv.sh>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: #65162
Reviewed-By: Jithil P Ponnan <jithil@outlook.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Aviv Keller <me@aviv.sh>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Some general modernizations of templates

Signed-off-by: James M Snell <jasnell@gmail.com>
PR-URL: #65148
Reviewed-By: Aviv Keller <me@aviv.sh>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Node.js ships two pre-generated sets of OpenSSL assembly: `asm`, which
contains the AVX-512 routines, and `asm_avx2`, which does not. The
set is picked in deps/openssl/openssl.gyp based on `gas_version` or
`nasm_version`, but configure.py only reports `gas_version` when the
compiler is not clang, because clang uses its own integrated
assembler and has no GNU assembler version to report. Consequently
every clang build silently falls back to the AVX-512-less `asm_avx2`
set, with no warning.

The result is that `ossl_vaes_vpclmulqdq_capable()` is assembled as a
stub that always returns 0, so OpenSSL never selects
`ossl_aes_gcm_encrypt_avx512()` and uses the older AES-NI path
instead. On an Intel Xeon Gold 6548N this costs roughly 1.6x on
AES-256-GCM and 1.8x on both ChaCha20-Poly1305 and RSA-2048 signing.
This is not limited to custom builds: BUILDING.md documents that the
official linux-x64 binaries are produced with clang, and the shipped
v25.x and v26.x binaries contain the stub.

Accept `llvm_version` in the condition, the way
deps/openssl/openssl.gypi already does for the AVX2 set. clang's
integrated assembler has handled AVX512IFMA since 3.9 and VAES /
VPCLMULQDQ since 6.0; 8.0 is used as a conservative floor, well below
the clang 19.1 that Node.js already requires.

PR-URL: #65136
Reviewed-By: Aviv Keller <me@aviv.sh>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Signed-off-by: semimikoh <ejffjeosms@gmail.com>
PR-URL: #63319
Fixes: #63311
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: #65166
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Signed-off-by: Trivikram Kamat <16024985+trivikr@users.noreply.github.com>
PR-URL: #65090
Refs: #64743
Reviewed-By: René <contact.9a5d6388@renegade334.me.uk>
Reviewed-By: Edy Silva <edigleyssonsilva@gmail.com>
Signed-off-by: Augustin Mauroy <97875033+AugustinMauroy@users.noreply.github.com>
PR-URL: #65171
Reviewed-By: Mike McCready <66998419+MikeMcC399@users.noreply.github.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Under run({ testTagFilters, isolation: 'process' }) the parent
process's FileTest wrappers have empty tag sets, so any include filter
filtered out the wrappers themselves and no test file was ever
spawned. The same applied to the single re-spawned child in watch mode
with isolation 'none'.

Exempt file wrappers from tag filtering: the filter is re-emitted to
the child process and applied there, matching isolation 'none'
results.

This also removes the testTagFilterExpressions bookkeeping and the
isolation-conditional assignment of testTagFilters, both of which
existed only to keep the parent process from filtering its own file
wrappers. The parent now always holds the canonical filter values and
re-emits them to child processes.

Refs: #63221
Signed-off-by: atlowChemi <chemi@atlow.co.il>
PR-URL: #65170
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: #63135
Refs: nodejs/Release#1154
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Signed-off-by: Max H Fisher <mfisher187@bloomberg.net>
PR-URL: #64684
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Signed-off-by: Guilherme Araújo <arauujogui@gmail.com>
PR-URL: #62419
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Optimized V8 fast API calls truncate out-of-range pointer BigInts.
Validate them against uintptrMax before invoking the raw function
so optimized calls match the generic and shared-buffer paths.

Signed-off-by: Kamat, Trivikram <16024985+trivikr@users.noreply.github.com>
Assisted-by: codex:gpt-5.6-sol
PR-URL: #65032
Fixes: #65031
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Add a CredentialsBinding declaration for internalBinding('credentials')
and wire it into InternalBindingMap.

Signed-off-by: HoonDongKang <d159123@naver.com>
PR-URL: #65036
Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com>
fs.md describes the bigint variant inside the fs.Stats section and has
no separate fs.BigIntStats section to link to.

Signed-off-by: greenhead <shren0812@gmail.com>
PR-URL: #65045
Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
By shifting from individual bool fields to a packed struct
we can save 20 bytes per TLSWrap instance

Signed-off-by: James M Snell <jasnell@gmail.com>
PR-URL: #65144
Reviewed-By: Tim Perry <pimterry@gmail.com>
Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
mertcanaltin and others added 21 commits August 26, 2026 00:56
Signed-off-by: Mert Can Altin <mertgold60@gmail.com>
PR-URL: #63143
Refs: #57775
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: James M Snell <jasnell@gmail.com>
Signed-off-by: ishabi <ilyasshabi94@gmail.com>
PR-URL: #64801
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Wait for buffer space after drop-newest discards an upstream result.
This keeps one consumer pull from draining the source or looping
indefinitely while a slower consumer keeps the buffer full.

Signed-off-by: Kamat, Trivikram <16024985+trivikr@users.noreply.github.com>
Assisted-by: codex:gpt-5.6-sol
PR-URL: #65338
Fixes: #65337
Reviewed-By: James M Snell <jasnell@gmail.com>
The bundled ansi-regex OSC pattern used a restrictive URI
character class that failed when URIs contained RFC 3986-valid
characters such as parentheses.

Match OSC sequences generically as ESC ] ... ST, aligned with
ansi-regex v6.2.0.

Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: dushyant <dushyanthada90@gmail.com>
PR-URL: #64319
Fixes: #64313
Reviewed-By: Aviv Keller <me@aviv.sh>
The JavaScript realpath implementation probes a namespaced drive root
through the fs binding. Windows path resolution drops the trailing
separator from that probe, so lstat receives C: and reports EISDIR.

Use the regular drive-root spelling only for the probe. Preserve the
namespaced spelling for traversal and returned paths.

Signed-off-by: Jason Zhang <xzha4350@gmail.com>
PR-URL: #65378
Fixes: #62446
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Stefan Stojanovic <stefan.stojanovic@janeasystems.com>
fs.readFileSync(path, 'utf8') read the whole file in 8 KiB read() calls
appended to a std::string, i.e. one syscall and a potential
reallocation per 8 KiB (an 8 MiB file took ~1400 read() calls).

Keep the exact old sequence for small files (one read into the 8 KiB
stack buffer, one read reporting EOF). Once a read fills the stack
buffer, read the rest directly into one heap buffer sized from fstat()
(plus one byte so that the EOF read does not force growth), growing
geometrically only when the size is unavailable or wrong. The size is
only an allocation hint: reading continues until read() reports EOF,
so procfs/sysfs files, FIFOs, files that change while being read and
file descriptors positioned mid-file behave as before, and the bytes
handed to StringBytes::Encode() are exactly the ones read.

Signed-off-by: Shelley Vohr <shelley.vohr@gmail.com>
PR-URL: #65328
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
PR-URL: #65478
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
This boosts RPS performance for the common API case where you call
`res.end(data)` with the entire response by up to 9%.

Signed-off-by: Tim Perry <pimterry@gmail.com>
PR-URL: #65466
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day>
Signed-off-by: RafaelGSS <rafael.nunu@hotmail.com>
PR-URL: #65432
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Beth Griggs <bethanyngriggs@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
tls.connect() with malformed ALPNProtocols hit
CHECK_EQ(0, SSL_set_alpn_protos(...)) in the C++ layer and aborted
the process with SIGABRT.

Validate in JS instead, in convertALPNProtocols, so both client and
server fail early with a recoverable ERR_INVALID_ARG_VALUE:

- zero-length string protocols now throw from convertProtocols
- wire-format buffers are checked for zero-length and truncated
  entries
- an empty buffer or array is still accepted and means skip ALPN,
  matching the historical behavior for []

The C++ CHECK_EQ is left unchanged: once JS has validated the input,
a non-zero SSL_set_alpn_protos return is an internal invariant
failure rather than user-facing input.

Fixes: #65069

Signed-off-by: Sankalp Thakur <sankalphimself@gmail.com>
PR-URL: #65076
Reviewed-By: Tim Perry <pimterry@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Signed-off-by: Hamid Reza Ghavami <hamidr.ghavami@gmail.com>
PR-URL: #64238
Reviewed-By: Jordan Harband <ljharb@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Signed-off-by: Taeuk Ha <tomcat0519@naver.com>
PR-URL: #65481
Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Beth Griggs <bethanyngriggs@gmail.com>
The encode-and-enqueue transform walked the chunk code unit by code
unit, materializing a single-character string per index and building
the output with string concatenation. The only state that crosses
chunks is a trailing high (leading) surrogate, and TextEncoder.encode's
USVString conversion already replaces every interior lone surrogate
with U+FFFD, which is exactly what the spec loop produces. Join a
pending high surrogate with the incoming chunk, hold back a new
trailing high surrogate, and encode the rest in a single native call.

The streaming decode path also reuses a single options object instead
of allocating { stream: true } per chunk.

An encoding-streams benchmark is added since the suite had no
TextEncoderStream/TextDecoderStream row. Encoding improves by ~546%
with 1KB string chunks and ~20% with 16-character chunks; decode is
unchanged.

Signed-off-by: Matteo Collina <hello@matteocollina.com>
PR-URL: #65414
Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Mattias Buelens <mattias@buelens.com>
Signed-off-by: RafaelGSS <rafael.nunu@hotmail.com>
PR-URL: #65358
Reviewed-By: James M Snell <jasnell@gmail.com>
This is the certdata.txt[0] from NSS 3.126.

This is the version of NSS that shipped in Firefox 154.0 on 2026-08-18.

Certificates added:
- SECOM TLS RSA Root CA 2024
- SECOM TLS ECC Root CA 2024
- Telia EC TLS Root CA v3
- Telia RSA TLS Root CA v3

Certificates removed:
- ePKI Root Certification Authority
- Atos TrustedRoot 2011

[0] https://raw.githubusercontent.com/nss-dev/nss/refs/tags/NSS_3_126_RTM/lib/ckfw/builtins/certdata.txt

PR-URL: #65495
Reviewed-By: René <contact.9a5d6388@renegade334.me.uk>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
We're seeing a number of repeated mistakes in AI-generated
contributions, including agents using `Signed-off-by`, creating
what appear to be unsupervised PRs, appearing to respond to
comments without human oversight, etc. Having an AGENTS.md
file with specific instructions to the agent on what to avoid
should help.

Signed-off-by: James M Snell <jasnell@gmail.com>
PR-URL: #65493
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Mike McCready <66998419+MikeMcC399@users.noreply.github.com>
Reviewed-By: Beth Griggs <bethanyngriggs@gmail.com>
Normalize each stateless transform result before passing it to
the next transform in a fused run. This ensures that subsequent
transforms always receive Uint8Array[] batches in both synchronous
and asynchronous pipelines.

Signed-off-by: Kamat, Trivikram <16024985+trivikr@users.noreply.github.com>
Assisted-by: codex:gpt-5.6-sol
PR-URL: #65367
Fixes: #65366
Reviewed-By: James M Snell <jasnell@gmail.com>
readdir({ recursive: true }) asked the binding for names only and then
called internalModuleStat() on every entry to find the directories to
descend into; with withFileTypes it built the Dirents and still stat()ed
every entry that was not already a directory. Both variants also ran
path.join() and path.relative() per entry to build the relative result.

Ask the binding for file types in all cases, descend into directories
directly, and only stat() symbolic links and entries of unknown type
(which is what could point to a directory). The relative name is the
parent's prefix plus the entry name. Results, their order and the
symlink-following behavior are unchanged for fs.readdirSync, fs.readdir
and fs.promises.readdir.

The known_issues test for Buffer paths (#58892) called back without
checking the error; the error now reaches the callback instead of being
thrown from the completion handler, so the test asserts success to keep
expressing the issue.

Signed-off-by: Shelley Vohr <shelley.vohr@gmail.com>
PR-URL: #65487
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day>
Originally added in 16b11cd, it first
had three callers. Now there's only one branch requireing it.

Signed-off-by: Szymon Łągiewka <slagiewka@users.noreply.github.com>
PR-URL: #64473
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
While more readable, the removed closure overhead unlocks 10-20% in
eventtarget.js benchmark.

Signed-off-by: Szymon Łągiewka <slagiewka@users.noreply.github.com>
PR-URL: #64473
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Notable changes:

benchmark:
  * (SEMVER-MINOR) add --analyze mode to compare.js (James M Snell) #65416
crypto:
  * update root certificates to NSS 3.126 (Node.js GitHub Bot) #65495
  * (SEMVER-MINOR) enable SIV and GCM-SIV modes in Cipher/Decipher APIs (Filip Skokan) #63411
diagnostics_channel:
  * mark TracingChannel as stable (Abdelrahman Awad) #64525
lib,src:
  * (SEMVER-MINOR) improve histogram implementation (James M Snell) #65024
net:
  * (SEMVER-MINOR) improve performance of net.BlockList (James M Snell) #64974
perf_hooks:
  * (SEMVER-MINOR) add statistical hypothesis testing to histogram (James M Snell) #65416
repl:
  * add basic syntax highlighting (Aviv Keller) #64591
sqlite:
  * (SEMVER-MINOR) add StatementSync.prototype.close() (Guilherme Araújo) #64232
  * (SEMVER-MINOR) add StatementSync.prototype[Symbol.dispose]() (Guilherme Araújo) #64232
util:
  * (SEMVER-MINOR) add non-throwing MIMEType.parse (James M Snell) #64965
zlib:
  * (SEMVER-MINOR) add ZipEntry, ZipFile, and ZipBuffer (Philipp Dunkel) #64339

PR-URL: #65551
github-actions Bot added release Issues and PRs related to Node.js releases. v26.x Issues that can be reproduced on v26.x or PRs targeting the v26.x-staging branch. labels Aug 25, 2026

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/actions
  • @nodejs/build
  • @nodejs/performance
  • @nodejs/security-wg
  • @nodejs/tsc

aduh95 marked this pull request as ready for review August 25, 2026 23:05
aduh95 added the request-ci Add this label to start a Jenkins CI on a PR. label Aug 25, 2026
github-actions Bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Aug 25, 2026

nodejs-github-bot commented Aug 25, 2026
edited by aduh95
Loading

Copy link
Copy Markdown
Collaborator

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

Labels

release Issues and PRs related to Node.js releases. v26.x Issues that can be reproduced on v26.x or PRs targeting the v26.x-staging branch.

Projects

None yet

Development

Successfully merging this pull request may close these issues.


Back | FazBrowse Home | New Git URL