Skip to content

Conversation

RafaelGSS
Copy link
Member

@RafaelGSS RafaelGSS commented Sep 15, 2025

Cut-off date: 2025-09-15
Target release date: 2025-10-15
TODO:


2025-10-15, Version 25.0.0 (Current), @RafaelGSS

Node.js 25 is here! We have upgraded V8 to 14.1, bringing major JSON.stringify
performance improvements, built-in Uint8Array base64/hex conversion, and ongoing
WebAssembly and JIT pipeline optimizations.

This release doubles down on secure-by-default apps and web-standard APIs: the permission
model gains --allow-net, Web Storage is enabled by default, and ErrorEvent is now a global.

We’ve also removed or finalized long-deprecated APIs such as SlowBuffer,
upgraded to a newer V8, and added quality-of-life improvements like a portable compile cache and
JSPI for WebAssembly.

Notable Changes

  • [8bc7dfd16f] - build: test on Python 3.14 release candidate 3 (Christian Clauss) #59983
  • [663554abdf] - (SEMVER-MAJOR) lib: expose global ErrorEvent (Richie Bendall) #58920
  • [3312e4e946] - (SEMVER-MAJOR) src: unflag --experimental-webstorage by default (Daniel M Brasil) #57666
  • [462c74181d] - (SEMVER-MAJOR) src,permission: add --allow-net permission (Rafael Gonzaga) #58517

Deprecations and Removals

  • [d33f4b539a] - (SEMVER-MAJOR) assert: move assert.fail with multiple arguments to eol (James M Snell) #58532
  • [b21574d63b] - (SEMVER-MAJOR) assert: move CallTracker to EOL (James M Snell) #58006
  • [308b6bc6de] - (SEMVER-MAJOR) async_hooks: move asyncResource property on bound function to EOL (James M Snell) #58618
  • [daced4ab98] - (SEMVER-MAJOR) buffer: move SlowBuffer to EOL (Filip Skokan) #58220
  • [df16f0fd8d] - (SEMVER-MAJOR) child_process: move _channel to end-of-life (James M Snell) #58527
  • [a472745958] - (SEMVER-MAJOR) crypto: runtime-deprecate default shake128/256 output lengths (Filip Skokan) #59008
  • [c3b986853c] - (SEMVER-MAJOR) crypto: move deprecated hash and mgf1Hash options to EOL (James M Snell) #58706
  • [66632648ba] - (SEMVER-MAJOR) crypto: runtime deprecate ECDH.setPublicKey() (James M Snell) #58620
  • [a5f9ca1f77] - (SEMVER-MAJOR) dns: move falsy hostname in lookup to end-of-life (James M Snell) #58619
  • [2bb7667475] - (SEMVER-MAJOR) fs: move FileHandle close on GC to EOL (James M Snell) #58536
  • [eec0302088] - (SEMVER-MAJOR) fs: move rmdir recursive option to end-of-life (James M Snell) #58616
  • [25dd206c29] - (SEMVER-MAJOR) fs: remove fs.F_OK, fs.R_OK, fs.W_OK, fs.X_OK (Livia Medeiros) #55862
  • [91dadf2897] - (SEMVER-MAJOR) http: deprecate writeHeader (Sebastian Beltran) #59060
  • [4e06a648ff] - (SEMVER-MAJOR) perf_hooks: move deprecated accessors to EOF (James M Snell) #58531
  • [a3dfca90d1] - (SEMVER-MAJOR) process: move multipleResolves event to EOL (James M Snell) #58707
  • [790acc8689] - (SEMVER-MAJOR) tls: move IP-address servername deprecation to eol (James M Snell) #58533
  • [3aaa2ebe19] - (SEMVER-MAJOR) url: move bad port deprecation in legacy url to end-of-life (James M Snell) #58617

Semver-Major Commits

  • [7c9fbc15bc] - (SEMVER-MAJOR) assert,util: fail promise comparison in deep equal checks (Ruben Bridgewater) #59448
  • [11222f1a27] - (SEMVER-MAJOR) assert,util: handle invalid dates as equal in deep comparison (Ruben Bridgewater) #57627
  • [acce2e8f87] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Michaël Zasso) #59805
  • [8a87ba031b] - (SEMVER-MAJOR) build: bump minimum Clang version to 19 (Michaël Zasso) #59048
  • [21b131e93a] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Michaël Zasso) #58064
  • [f31c88021b] - (SEMVER-MAJOR) build: stop distributing Corepack (Antoine du Hamel) #57617
  • [b3238442d8] - (SEMVER-MAJOR) deps: patch V8 for illumos (Dan McDonald) #59805
  • [2a1da3260d] - (SEMVER-MAJOR) deps: patch V8 to avoid duplicated zlib symbol (Michaël Zasso) #54077
  • [7772a2df9d] - (SEMVER-MAJOR) deps: update V8 to 14.1.146.11 (Michaël Zasso) #59805
  • [6d61175db0] - (SEMVER-MAJOR) deps: V8: backport 1d3362c55396 (Shu-yu Guo) #58064
  • [974773572e] - (SEMVER-MAJOR) deps: V8: cherry-pick 4f38995c8295 (Shu-yu Guo) #58064
  • [70bfc398e9] - (SEMVER-MAJOR) deps: V8: cherry-pick 044b9b6f589d (Rezvan Mahdavi Hezaveh) #58064
  • [6bfc525cf0] - (SEMVER-MAJOR) deps: V8: cherry-pick d2ad518a0b57 (Joyee Cheung) #58064
  • [754d28e34f] - (SEMVER-MAJOR) deps: V8: revert 6d6c1e680c7b (Michaël Zasso) #58064
  • [8c508b9399] - (SEMVER-MAJOR) deps: V8: revert e3cddbedb205 (Michaël Zasso) #58064
  • [88ca8287b6] - (SEMVER-MAJOR) deps: use std::map in MSVC STL for EphemeronRememberedSet (Joyee Cheung) #58064
  • [838e2332a5] - (SEMVER-MAJOR) deps: patch V8 for illumos (Dan McDonald) #58064
  • [3522731d9a] - (SEMVER-MAJOR) deps: remove problematic comment from v8-internal (Michaël Zasso) #58064
  • [d234475a33] - (SEMVER-MAJOR) deps: define V8_PRESERVE_MOST as no-op on Windows (Stefan Stojanovic) #58064
  • [a738eb4a7f] - (SEMVER-MAJOR) deps: fix FP16 bitcasts.h (Stefan Stojanovic) #58064
  • [1744c7d991] - (SEMVER-MAJOR) deps: patch V8 to avoid duplicated zlib symbol (Michaël Zasso) #58064
  • [fff0d1554d] - (SEMVER-MAJOR) deps: update V8 to 13.7.152.9 (Michaël Zasso) #58064
  • [968e2f47c8] - (SEMVER-MAJOR) dgram: move deprecated APIs to EOL (James M Snell) #58474
  • [5623194a6b] - (SEMVER-MAJOR) doc,src,test: replace use of deprecated GetIsolate (Michaël Zasso) #59805
  • [823ca6991f] - (SEMVER-MAJOR) fs: make processReadResult() and readSyncRecursive() private (Livia Medeiros) #58672
  • [a273674dee] - (SEMVER-MAJOR) fs: move fs stream open method to eol (James M Snell) #58529
  • [39d73036e7] - (SEMVER-MAJOR) lib: use validators for argument validation (Nam Yooseong) #59416
  • [cd68e35704] - (SEMVER-MAJOR) lib: deprecate _stream_* modules (Dario Piotrowicz) #58337
  • [a822a1cbe7] - (SEMVER-MAJOR) lib: deprecate _tls_common and _tls_wrap (Dario Piotrowicz) #57643
  • [705bcc2a00] - (SEMVER-MAJOR) module: move Module._debug to end-of-life (James M Snell) #58473
  • [5fe7800683] - (SEMVER-MAJOR) node-api: add warning for NAPI_EXPERIMENTAL (Miguel Marcondes Filho) #58280
  • [e1d4d6ab49] - (SEMVER-MAJOR) repl: eol deprecate instantiating without new (Aviv Keller) #59495
  • [ed94bc48f3] - (SEMVER-MAJOR) src: update crypto.getCipherInfo() to use DictionaryTemplate (James M Snell) #60036
  • [37a3df3556] - (SEMVER-MAJOR) src: fix calls to v8::Object::wrap (Andreas Haas) #59805
  • [801ae26fa3] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 141 (Michaël Zasso) #59805
  • [10df38a38b] - (SEMVER-MAJOR) src: improve performance of dotenv ToObject (James M Snell) #60038
  • [075936b413] - (SEMVER-MAJOR) src: use std::string_view from node_report (iknoom) #60006
  • [234c26cca3] - (SEMVER-MAJOR) src: store Local for CallbackScope on stack (Anna Henningsen) #59705
  • [708fd1945b] - (SEMVER-MAJOR) src: remove node.h APIs to make callback without an async context (Chengzhong Wu) #58471
  • [56989d33f5] - (SEMVER-MAJOR) src: remove deprecated node::EmitBeforeExit and node::EmitExit (Chengzhong Wu) #58469
  • [d429aa2d17] - (SEMVER-MAJOR) src: remove deprecated node::CreatePlatform and node::FreePlatform (Chengzhong Wu) #58470
  • [e0ae14ce73] - (SEMVER-MAJOR) src: remove deprecated node::InitializeNodeWithArgs (Chengzhong Wu) #58470
  • [db1700e4b5] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 138 (Michaël Zasso) #58064
  • [0a87084150] - (SEMVER-MAJOR) test: update cppgc-object addon config (StefanStojanovic) #59805
  • [7dd49d7da4] - (SEMVER-MAJOR) test: spin longer for sequential/test-worker-prof (Michaël Zasso) #59805
  • [faba50df96] - (SEMVER-MAJOR) test: remove --always-turbofan flag (Michaël Zasso) #59805
  • [496f12dec6] - (SEMVER-MAJOR) test: update snapshot for V8 14.1 (Michaël Zasso) #59805
  • [05aa3a1c70] - (SEMVER-MAJOR) test,win: split addon tests (StefanStojanovic) #59805
  • [308de27255] - (SEMVER-MAJOR) tools: update V8 gypfiles for 14.0 (Michaël Zasso) #59805
  • [b736370c07] - (SEMVER-MAJOR) tools: update V8 gypfiles for 13.9 (Michaël Zasso) #59805
  • [085a94ac9b] - (SEMVER-MAJOR) tools: update V8 gypfiles for 13.8 (Michaël Zasso) #59805
  • [a71ae18ac8] - (SEMVER-MAJOR) tools: enable leaptiering for aix/ibmi (Abdirahim Musse) #59805
  • [a8217a9eb8] - (SEMVER-MAJOR) tools: update V8 gypfiles for 13.7 (Michaël Zasso) #58064
  • [fdef0725de] - (SEMVER-MAJOR) util,console: colorize regexp groups, character classes, etc (Ruben Bridgewater) #59710
  • [411cc42d22] - (SEMVER-MAJOR) worker: move terminate callback to end-of-life (James M Snell) #58528

Semver-Minor Commits

  • [94422e8a40] - (SEMVER-MINOR) src: add an option to make compile cache portable (Aditi) #58797
  • [29738c7b42] - (SEMVER-MINOR) src,permission: add --allow-inspector ability (Rafael Gonzaga) #59711
  • [f9fcc746f3] - (SEMVER-MINOR) v8: add cpu profile (theanarkh) #59807
  • [4396cf2d45] - (SEMVER-MINOR) wasm: enable JSPI (Guy Bedford) #59941

Semver-Patch Commits

  • [91f035e597] - assert: resolve TODO and rename function (Antoine du Hamel) #59451
  • [2e675c4fa3] - benchmark: use non-deprecated WriteUtf8V2 method (Michaël Zasso) #60173
  • [0fb040603b] - build: upgrade Python linter ruff, add rules ASYNC,PERF (Christian Clauss) #59984
  • [f468b6c72b] - build: update minimum Xcode version to 16.4 (Michaël Zasso) #60079
  • [0eda17ba20] - build: fix flags for ngtcp2 on IBM i (SRAVANI GUNDEPALLI) #60073
  • [22a864a275] - build: remove corepack from release tarballs (Jordan Harband) #59835
  • [7079041e0a] - build: only mention Apple when on Apple (Michaël Zasso) #59385
  • [954d3f44ef] - build: check Apple clang version in configure script (Michaël Zasso) #59358
  • [2b4a09ef8b] - build: fix OpenSSL version detection (Richard Lau) #59353
  • [af77e4bf2f] - build: update macOS runner and Xcode (Michaël Zasso) #59238
  • [86bfdb5528] - build: remove nocorepack vcbuild flag (Antoine du Hamel) #57772
  • [b13f24c2da] - build, src: fix include paths for vtune files (Rahul) #59999
  • [2216a3b1d5] - deps: V8: cherry-pick 1e190bbb0396 (Richard Lau) #60206
  • [1b22f6049a] - deps: upgrade npm to 11.6.2 (npm team) #60168
  • [a1b73fe430] - deps: V8: cherry-pick 2abc61361dd4 (Richard Lau) #60177
  • [4eb6e6fd79] - deps: V8: cherry-pick 87356585659b (Joyee Cheung) #60069
  • [c0b8c80164] - deps: define V8_PRESERVE_MOST as no-op on Windows (Stefan Stojanovic) #56238
  • [65a32bac18] - deps: add ngtcp2 test binaries (James M Snell) #59946
  • [ebfc28a037] - deps: update nghttp3 to 1.11.0 (James M Snell) #59249
  • [dceb1fca40] - deps: update ngtcp2 to 1.14.0 (James M Snell) #59249
  • [ee36b86ba3] - deps: patch V8 to 13.7.152.19 (Node.js GitHub Bot) #58713
  • [0b3fc0d7a8] - deps: patch V8 to 13.7.152.14 (Node.js GitHub Bot) #58631
  • [91b3bd3fe6] - deps: patch V8 to 13.7.152.13 (Node.js GitHub Bot) #58539
  • [f77a96cd76] - deps: patch V8 to 13.7.152.10 (Node.js GitHub Bot) #58446
  • [1cd16e5355] - doc: improve code snippet alternative of url.parse() using WHATWG URL (Steven) #60209
  • [d54e6aec9e] - doc: createSQLTagStore -> createTagStore (Aviv Keller) #60182
  • [aef3fc37eb] - doc: use markdown when branch-diff major release (Rafael Gonzaga) #60179
  • [a2f088d516] - doc: update teams in collaborator-guide.md and add links (Bart Louwers) #60065
  • [75a6fff6be] - doc: disambiguate top-level worker_threads module exports (René) #59890
  • [51df7b92bc] - doc: update macOS version used to build releases (Michaël Zasso) #60080
  • [910c8796f9] - doc: update BUILDING to reflect Clang 19 changes (Michaël Zasso) #59782
  • [34f9b7eab9] - doc: reserve NMV 140 for Electron 39 (David Sanders) #59627
  • [3f6f6db43f] - doc: update minimum Xcode and VS versions (Michaël Zasso) #59358
  • [d9fe28bd6b] - doc: fix CHANGELOG.md version listing (Antoine du Hamel) #59299
  • [0ab50c2768] - doc: reserve NMV 139 for Electron 38 (Calvin) #58779
  • [516b4ebd3c] - doc: mark Node.js 23 as End-of-Life (Antoine du Hamel) #58563
  • [59b70e5fe3] - http: fix http client leaky with double response (theanarkh) #60062
  • [5cf3c3e24c] - http2: rename variable to additionalPseudoHeaders (Tobias Nießen) #60208
  • [535efea962] - http2: do not crash on mismatched ping buffer length (René) #60135
  • [4bfa387f6d] - lib: fix constructor in _errnoException stack tree (SeokHun) #60156
  • [4daeec11b9] - lib: fix typo in QuicSessionStats (SeokHun) #60155
  • [15278252bb] - lib: remove redundant destroyHook checks (Gürgün Dayıoğlu) #60120
  • [83052ff9ad] - lib: add node: prefix in sys module deprecation warning (Dario Piotrowicz) #58442
  • [d5abfbf582] - lib: add module to use in module deprecation warnings (Dario Piotrowicz) #58442
  • [db0121bedd] - module: fix directory option in the enableCompileCache() API (Joyee Cheung) #59931
  • [822a8c3244] - perf_hooks: fix stack overflow error (Antoine du Hamel) #60084
  • [d52cd04591] - quic: continue working on quic api bits (James M Snell) #60123
  • [b4af647920] - quic: reduce boilerplate and other minor cleanups (James M Snell) #59342
  • [cd9fd09a27] - quic: multiple fixups and updates (James M Snell) #59342
  • [a6c5d27739] - quic: update more of the quic to the new compile guard (James M Snell) #59342
  • [ee7b8ab29c] - quic: few additional small comment edits in cid.h (James M Snell) #59342
  • [c8b64bd023] - quic: fixup NO_ERROR macro conflict on windows (James M Snell) #59381
  • [e2fefd78e2] - quic: fixup windows coverage compile error (James M Snell) #59381
  • [99c80e3a45] - quic: update the guard to check openssl version (James M Snell) #59249
  • [0e754fa5d1] - quic: start re-enabling quic with openssl 3.5 (James M Snell) #59249
  • [200fe9e7f4] - repl: move completion logic to internal module (Dario Piotrowicz) #59889
  • [3ac88a7a66] - src: use string_view in WriteReport() (Anna Henningsen) #60201
  • [a1244f04de] - src: make additional cleanups in node locks impl (James M Snell) #60061
  • [fdb6e66227] - src: update locks to use DictionaryTemplate (James M Snell) #60061
  • [367bcce6a6] - src: fix usage of deprecated V8 API (Michaël Zasso) #60174
  • [23fa18444f] - src: fix small compile warning in quic/streams.cc (James M Snell) #60118
  • [0ec1d186f4] - src: always use strong reference to napi_async_context resource (Anna Henningsen) #59828
  • [ce748f6cae] - src: use Global for storing resource in Node-API callback scope (Anna Henningsen) #59828
  • [36256230b4] - src: cleanup quic TransportParams class (James M Snell) #59884
  • [985e2fb383] - Revert "test: ensure message event fires in worker message port test" (Luigi Pinca) #60126
  • [da9cd745c8] - test: ensure assertions are reachable in test/client-proxy (Antoine du Hamel) #60175
  • [e105e821e9] - test: skip quic tests that IBM i does not support (SRAVANI GUNDEPALLI) #60160
  • [bfc81ca228] - test: ensure assertions are reachable in test/async-hooks (Antoine du Hamel) #60150
  • [712cee951c] - test: skip tests that cause timeouts on IBM i (SRAVANI GUNDEPALLI) #60148
  • [f8a43f6f34] - test: deflake test-fs-promises-watch-iterator (Luigi Pinca) #60060
  • [1f95d39997] - test: prepare junit file attribute normalization (sangwook) #59432
  • [eb159a8cfd] - test: remove duplicated allocUnsafeSlow test (Michaël Zasso) #58524
  • [d93cff5af3] - Revert "test: fix watch tests not including completion messages" (Joyee Cheung) #58190
  • [6102159fa1] - test: fix watch tests not including completion messages (Dario Piotrowicz) #58183
  • [ad2c1bf62e] - test,doc: skip --max-old-space-size-percentage on 32-bit platforms (Asaf Federman) #60144
  • [6dbf7086bb] - test_runner: fix suite timeout (Moshe Atlow) #59853
  • [f0aa073907] - test_runner: add junit file attribute support (sangwook) #59432
  • [cff138c6b1] - tests: start adding quic test server utilities (James M Snell) #59946
  • [20dc4b514a] - tools: use cooldown property correctly (Rafael Gonzaga) #60134
  • [ec26b1c01a] - tools: add lint rule to ensure assertions are reached (Antoine du Hamel) #60125
  • [bab752d4db] - typings: add buffer internalBinding typing (방진혁) #60163
  • [1986ee4b65] - vm: hint module identifier in instantiate errors (Chengzhong Wu) #60199
  • [23b834058c] - wasm: revert enable JSPI as already enabled (Guy Bedford) #60014
  • [4bfcad1ac5] - Revert "watch: fix watch args not being properly filtered" (Joyee Cheung) #58190
  • [4acb854039] - watch: fix watch args not being properly filtered (Dario Piotrowicz) #57936

@nodejs-github-bot nodejs-github-bot added meta Issues and PRs related to the general management of the project. needs-ci PRs that need a full CI run. v25.x Issues that can be reproduced on v25.x or PRs targeting the v25.x-staging branch. labels Sep 15, 2025
m0th3rch1p pushed a commit to m0th3rch1p/node that referenced this pull request Sep 16, 2025
assert:
  * (SEMVER-MAJOR) move assert.fail with multiple arguments to eol (James M Snell) nodejs#58532
  * (SEMVER-MAJOR) move CallTracker to EOL (James M Snell) nodejs#58006
assert,util:
  * (SEMVER-MAJOR) fail promise comparison in deep equal checks (Ruben Bridgewater) nodejs#59448
  * (SEMVER-MAJOR) handle invalid dates as equal in deep comparison (Ruben Bridgewater) nodejs#57627
async_hooks:
  * (SEMVER-MAJOR) move `asyncResource` property on bound function to EOL (James M Snell) nodejs#58618
buffer:
  * (SEMVER-MAJOR) move SlowBuffer to EOL (Filip Skokan) nodejs#58220
build:
  * (SEMVER-MAJOR) bump minimum Clang version to 19 (Michaël Zasso) nodejs#59048
  * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) nodejs#58064
  * (SEMVER-MAJOR) stop distributing Corepack (Antoine du Hamel) nodejs#57617
child_process:
  * (SEMVER-MAJOR) move _channel to end-of-life (James M Snell) nodejs#58527
crypto:
  * (SEMVER-MAJOR) runtime-deprecate default shake128/256 output lengths (Filip Skokan) nodejs#59008
  * (SEMVER-MAJOR) move deprecated hash and mgf1Hash options to EOL (James M Snell) nodejs#58706
  * (SEMVER-MAJOR) runtime deprecate ECDH.setPublicKey() (James M Snell) nodejs#58620
deps:
  * (SEMVER-MAJOR) V8: backport 1d3362c55396 (Shu-yu Guo) nodejs#58064
  * (SEMVER-MAJOR) V8: cherry-pick 4f38995c8295 (Shu-yu Guo) nodejs#58064
  * (SEMVER-MAJOR) V8: cherry-pick 044b9b6f589d (Rezvan Mahdavi Hezaveh) nodejs#58064
  * (SEMVER-MAJOR) V8: cherry-pick d2ad518a0b57 (Joyee Cheung) nodejs#58064
  * (SEMVER-MAJOR) V8: revert 6d6c1e680c7b (Michaël Zasso) nodejs#58064
  * (SEMVER-MAJOR) V8: revert e3cddbedb205 (Michaël Zasso) nodejs#58064
  * (SEMVER-MAJOR) use std::map in MSVC STL for EphemeronRememberedSet (Joyee Cheung) nodejs#58064
  * (SEMVER-MAJOR) patch V8 for illumos (Dan McDonald) nodejs#58064
  * (SEMVER-MAJOR) remove problematic comment from v8-internal (Michaël Zasso) nodejs#58064
  * (SEMVER-MAJOR) define V8_PRESERVE_MOST as no-op on Windows (Stefan Stojanovic) nodejs#58064
  * (SEMVER-MAJOR) fix FP16 bitcasts.h (Stefan Stojanovic) nodejs#58064
  * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) nodejs#58064
  * (SEMVER-MAJOR) update V8 to 13.7.152.9 (Michaël Zasso) nodejs#58064
dgram:
  * (SEMVER-MAJOR) move deprecated APIs to EOL (James M Snell) nodejs#58474
dns:
  * (SEMVER-MAJOR) move falsy hostname in lookup to end-of-life (James M Snell) nodejs#58619
fs:
  * (SEMVER-MAJOR) move FileHandle close on GC to EOL (James M Snell) nodejs#58536
  * (SEMVER-MAJOR) move rmdir recursive option to end-of-life (James M Snell) nodejs#58616
  * (SEMVER-MAJOR) make `processReadResult()` and `readSyncRecursive()` private (Livia Medeiros) nodejs#58672
  * (SEMVER-MAJOR) move fs stream open method to eol (James M Snell) nodejs#58529
  * (SEMVER-MAJOR) remove `fs.F_OK`, `fs.R_OK`, `fs.W_OK`, `fs.X_OK` (Livia Medeiros) nodejs#55862
http:
  * (SEMVER-MAJOR) deprecate writeHeader (Sebastian Beltran) nodejs#59060
lib:
  * (SEMVER-MAJOR) expose global ErrorEvent (Richie Bendall) nodejs#58920
  * (SEMVER-MAJOR) deprecate `_stream_*` modules (Dario Piotrowicz) nodejs#58337
  * (SEMVER-MAJOR) deprecate _tls_common and _tls_wrap (Dario Piotrowicz) nodejs#57643
module:
  * (SEMVER-MAJOR) move Module._debug to end-of-life (James M Snell) nodejs#58473
node-api:
  * (SEMVER-MAJOR) add warning for NAPI_EXPERIMENTAL (Miguel Marcondes Filho) nodejs#58280
perf_hooks:
  * (SEMVER-MAJOR) move deprecated accessors to EOF (James M Snell) nodejs#58531
process:
  * (SEMVER-MAJOR) move multipleResolves event to EOL (James M Snell) nodejs#58707
repl:
  * (SEMVER-MAJOR) eol deprecate instantiating without new (Aviv Keller) nodejs#59495
src:
  * (SEMVER-MAJOR) store `Local` for `CallbackScope` on stack (Anna Henningsen) nodejs#59705
  * (SEMVER-MAJOR) remove node.h APIs to make callback without an async context (Chengzhong Wu) nodejs#58471
  * (SEMVER-MAJOR) remove deprecated node::EmitBeforeExit and node::EmitExit (Chengzhong Wu) nodejs#58469
  * (SEMVER-MAJOR) remove deprecated node::CreatePlatform and node::FreePlatform (Chengzhong Wu) nodejs#58470
  * (SEMVER-MAJOR) remove deprecated node::InitializeNodeWithArgs (Chengzhong Wu) nodejs#58470
  * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 138 (Michaël Zasso) nodejs#58064
src,permission:
  * (SEMVER-MAJOR) add --allow-net permission (Rafael Gonzaga) nodejs#58517
tls:
  * (SEMVER-MAJOR) move IP-address servername deprecation to eol (James M Snell) nodejs#58533
tools:
  * (SEMVER-MAJOR) update V8 gypfiles for 13.7 (Michaël Zasso) nodejs#58064
url:
  * (SEMVER-MAJOR) move bad port deprecation in legacy url to end-of-life (James M Snell) nodejs#58617
util,console:
  * (SEMVER-MAJOR) colorize regexp groups, character classes, etc (Ruben Bridgewater) nodejs#59710
worker:
  * (SEMVER-MAJOR) move terminate callback to end-of-life (James M Snell) nodejs#58528

PR-URL: nodejs#59896
@RafaelGSS
Copy link
Member Author

@targos
Copy link
Member

targos commented Sep 18, 2025

I added two critical items to the TODO list.

@geeksilva97 geeksilva97 added the release Issues and PRs related to Node.js releases. label Sep 20, 2025
@targos
Copy link
Member

targos commented Sep 24, 2025

I added an item to fix or revert #58797 as it is part of the v25.x branch.

@targos
Copy link
Member

targos commented Oct 4, 2025

#59805, #60079, and #60080 all landed on main and should be pulled in.

About #58797, /cc @joyeecheung

RafaelGSS added a commit that referenced this pull request Oct 6, 2025
assert:
  * (SEMVER-MAJOR) move assert.fail with multiple arguments to eol (James M Snell) #58532
  * (SEMVER-MAJOR) move CallTracker to EOL (James M Snell) #58006
assert,util:
  * (SEMVER-MAJOR) fail promise comparison in deep equal checks (Ruben Bridgewater) #59448
  * (SEMVER-MAJOR) handle invalid dates as equal in deep comparison (Ruben Bridgewater) #57627
async_hooks:
  * (SEMVER-MAJOR) move `asyncResource` property on bound function to EOL (James M Snell) #58618
buffer:
  * (SEMVER-MAJOR) move SlowBuffer to EOL (Filip Skokan) #58220
build:
  * (SEMVER-MAJOR) bump minimum Clang version to 19 (Michaël Zasso) #59048
  * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) #58064
  * (SEMVER-MAJOR) stop distributing Corepack (Antoine du Hamel) #57617
child_process:
  * (SEMVER-MAJOR) move _channel to end-of-life (James M Snell) #58527
crypto:
  * (SEMVER-MAJOR) runtime-deprecate default shake128/256 output lengths (Filip Skokan) #59008
  * (SEMVER-MAJOR) move deprecated hash and mgf1Hash options to EOL (James M Snell) #58706
  * (SEMVER-MAJOR) runtime deprecate ECDH.setPublicKey() (James M Snell) #58620
deps:
  * (SEMVER-MAJOR) V8: backport 1d3362c55396 (Shu-yu Guo) #58064
  * (SEMVER-MAJOR) V8: cherry-pick 4f38995c8295 (Shu-yu Guo) #58064
  * (SEMVER-MAJOR) V8: cherry-pick 044b9b6f589d (Rezvan Mahdavi Hezaveh) #58064
  * (SEMVER-MAJOR) V8: cherry-pick d2ad518a0b57 (Joyee Cheung) #58064
  * (SEMVER-MAJOR) V8: revert 6d6c1e680c7b (Michaël Zasso) #58064
  * (SEMVER-MAJOR) V8: revert e3cddbedb205 (Michaël Zasso) #58064
  * (SEMVER-MAJOR) use std::map in MSVC STL for EphemeronRememberedSet (Joyee Cheung) #58064
  * (SEMVER-MAJOR) patch V8 for illumos (Dan McDonald) #58064
  * (SEMVER-MAJOR) remove problematic comment from v8-internal (Michaël Zasso) #58064
  * (SEMVER-MAJOR) define V8_PRESERVE_MOST as no-op on Windows (Stefan Stojanovic) #58064
  * (SEMVER-MAJOR) fix FP16 bitcasts.h (Stefan Stojanovic) #58064
  * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) #58064
  * (SEMVER-MAJOR) update V8 to 13.7.152.9 (Michaël Zasso) #58064
dgram:
  * (SEMVER-MAJOR) move deprecated APIs to EOL (James M Snell) #58474
dns:
  * (SEMVER-MAJOR) move falsy hostname in lookup to end-of-life (James M Snell) #58619
fs:
  * (SEMVER-MAJOR) move FileHandle close on GC to EOL (James M Snell) #58536
  * (SEMVER-MAJOR) move rmdir recursive option to end-of-life (James M Snell) #58616
  * (SEMVER-MAJOR) make `processReadResult()` and `readSyncRecursive()` private (Livia Medeiros) #58672
  * (SEMVER-MAJOR) move fs stream open method to eol (James M Snell) #58529
  * (SEMVER-MAJOR) remove `fs.F_OK`, `fs.R_OK`, `fs.W_OK`, `fs.X_OK` (Livia Medeiros) #55862
http:
  * (SEMVER-MAJOR) deprecate writeHeader (Sebastian Beltran) #59060
lib:
  * (SEMVER-MAJOR) expose global ErrorEvent (Richie Bendall) #58920
  * (SEMVER-MAJOR) deprecate `_stream_*` modules (Dario Piotrowicz) #58337
  * (SEMVER-MAJOR) deprecate _tls_common and _tls_wrap (Dario Piotrowicz) #57643
module:
  * (SEMVER-MAJOR) move Module._debug to end-of-life (James M Snell) #58473
node-api:
  * (SEMVER-MAJOR) add warning for NAPI_EXPERIMENTAL (Miguel Marcondes Filho) #58280
perf_hooks:
  * (SEMVER-MAJOR) move deprecated accessors to EOF (James M Snell) #58531
process:
  * (SEMVER-MAJOR) move multipleResolves event to EOL (James M Snell) #58707
repl:
  * (SEMVER-MAJOR) eol deprecate instantiating without new (Aviv Keller) #59495
src:
  * (SEMVER-MAJOR) store `Local` for `CallbackScope` on stack (Anna Henningsen) #59705
  * (SEMVER-MAJOR) remove node.h APIs to make callback without an async context (Chengzhong Wu) #58471
  * (SEMVER-MAJOR) remove deprecated node::EmitBeforeExit and node::EmitExit (Chengzhong Wu) #58469
  * (SEMVER-MAJOR) remove deprecated node::CreatePlatform and node::FreePlatform (Chengzhong Wu) #58470
  * (SEMVER-MAJOR) remove deprecated node::InitializeNodeWithArgs (Chengzhong Wu) #58470
  * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 138 (Michaël Zasso) #58064
src,permission:
  * (SEMVER-MAJOR) add --allow-net permission (Rafael Gonzaga) #58517
tls:
  * (SEMVER-MAJOR) move IP-address servername deprecation to eol (James M Snell) #58533
tools:
  * (SEMVER-MAJOR) update V8 gypfiles for 13.7 (Michaël Zasso) #58064
url:
  * (SEMVER-MAJOR) move bad port deprecation in legacy url to end-of-life (James M Snell) #58617
util,console:
  * (SEMVER-MAJOR) colorize regexp groups, character classes, etc (Ruben Bridgewater) #59710
worker:
  * (SEMVER-MAJOR) move terminate callback to end-of-life (James M Snell) #58528

PR-URL: #59896
Copy link

codecov bot commented Oct 7, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 88.54%. Comparing base (59b70e5) to head (0fbf580).

Additional details and impacted files
@@            Coverage Diff             @@
##            v25.x   #59896      +/-   ##
==========================================
- Coverage   88.56%   88.54%   -0.03%     
==========================================
  Files         704      704              
  Lines      208156   208162       +6     
  Branches    40009    40010       +1     
==========================================
- Hits       184361   184311      -50     
- Misses      15817    15865      +48     
- Partials     7978     7986       +8     

see 34 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

RafaelGSS added a commit that referenced this pull request Oct 9, 2025
assert:
  * (SEMVER-MAJOR) move assert.fail with multiple arguments to eol (James M Snell) #58532
  * (SEMVER-MAJOR) move CallTracker to EOL (James M Snell) #58006
assert,util:
  * (SEMVER-MAJOR) fail promise comparison in deep equal checks (Ruben Bridgewater) #59448
  * (SEMVER-MAJOR) handle invalid dates as equal in deep comparison (Ruben Bridgewater) #57627
async_hooks:
  * (SEMVER-MAJOR) move `asyncResource` property on bound function to EOL (James M Snell) #58618
buffer:
  * (SEMVER-MAJOR) move SlowBuffer to EOL (Filip Skokan) #58220
build:
  * (SEMVER-MAJOR) bump minimum Clang version to 19 (Michaël Zasso) #59048
  * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) #58064
  * (SEMVER-MAJOR) stop distributing Corepack (Antoine du Hamel) #57617
child_process:
  * (SEMVER-MAJOR) move _channel to end-of-life (James M Snell) #58527
crypto:
  * (SEMVER-MAJOR) runtime-deprecate default shake128/256 output lengths (Filip Skokan) #59008
  * (SEMVER-MAJOR) move deprecated hash and mgf1Hash options to EOL (James M Snell) #58706
  * (SEMVER-MAJOR) runtime deprecate ECDH.setPublicKey() (James M Snell) #58620
deps:
  * (SEMVER-MAJOR) V8: backport 1d3362c55396 (Shu-yu Guo) #58064
  * (SEMVER-MAJOR) V8: cherry-pick 4f38995c8295 (Shu-yu Guo) #58064
  * (SEMVER-MAJOR) V8: cherry-pick 044b9b6f589d (Rezvan Mahdavi Hezaveh) #58064
  * (SEMVER-MAJOR) V8: cherry-pick d2ad518a0b57 (Joyee Cheung) #58064
  * (SEMVER-MAJOR) V8: revert 6d6c1e680c7b (Michaël Zasso) #58064
  * (SEMVER-MAJOR) V8: revert e3cddbedb205 (Michaël Zasso) #58064
  * (SEMVER-MAJOR) use std::map in MSVC STL for EphemeronRememberedSet (Joyee Cheung) #58064
  * (SEMVER-MAJOR) patch V8 for illumos (Dan McDonald) #58064
  * (SEMVER-MAJOR) remove problematic comment from v8-internal (Michaël Zasso) #58064
  * (SEMVER-MAJOR) define V8_PRESERVE_MOST as no-op on Windows (Stefan Stojanovic) #58064
  * (SEMVER-MAJOR) fix FP16 bitcasts.h (Stefan Stojanovic) #58064
  * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) #58064
  * (SEMVER-MAJOR) update V8 to 13.7.152.9 (Michaël Zasso) #58064
dgram:
  * (SEMVER-MAJOR) move deprecated APIs to EOL (James M Snell) #58474
dns:
  * (SEMVER-MAJOR) move falsy hostname in lookup to end-of-life (James M Snell) #58619
fs:
  * (SEMVER-MAJOR) move FileHandle close on GC to EOL (James M Snell) #58536
  * (SEMVER-MAJOR) move rmdir recursive option to end-of-life (James M Snell) #58616
  * (SEMVER-MAJOR) make `processReadResult()` and `readSyncRecursive()` private (Livia Medeiros) #58672
  * (SEMVER-MAJOR) move fs stream open method to eol (James M Snell) #58529
  * (SEMVER-MAJOR) remove `fs.F_OK`, `fs.R_OK`, `fs.W_OK`, `fs.X_OK` (Livia Medeiros) #55862
http:
  * (SEMVER-MAJOR) deprecate writeHeader (Sebastian Beltran) #59060
lib:
  * (SEMVER-MAJOR) expose global ErrorEvent (Richie Bendall) #58920
  * (SEMVER-MAJOR) deprecate `_stream_*` modules (Dario Piotrowicz) #58337
  * (SEMVER-MAJOR) deprecate _tls_common and _tls_wrap (Dario Piotrowicz) #57643
module:
  * (SEMVER-MAJOR) move Module._debug to end-of-life (James M Snell) #58473
node-api:
  * (SEMVER-MAJOR) add warning for NAPI_EXPERIMENTAL (Miguel Marcondes Filho) #58280
perf_hooks:
  * (SEMVER-MAJOR) move deprecated accessors to EOF (James M Snell) #58531
process:
  * (SEMVER-MAJOR) move multipleResolves event to EOL (James M Snell) #58707
repl:
  * (SEMVER-MAJOR) eol deprecate instantiating without new (Aviv Keller) #59495
src:
  * (SEMVER-MAJOR) store `Local` for `CallbackScope` on stack (Anna Henningsen) #59705
  * (SEMVER-MAJOR) remove node.h APIs to make callback without an async context (Chengzhong Wu) #58471
  * (SEMVER-MAJOR) remove deprecated node::EmitBeforeExit and node::EmitExit (Chengzhong Wu) #58469
  * (SEMVER-MAJOR) remove deprecated node::CreatePlatform and node::FreePlatform (Chengzhong Wu) #58470
  * (SEMVER-MAJOR) remove deprecated node::InitializeNodeWithArgs (Chengzhong Wu) #58470
  * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 138 (Michaël Zasso) #58064
src,permission:
  * (SEMVER-MAJOR) add --allow-net permission (Rafael Gonzaga) #58517
tls:
  * (SEMVER-MAJOR) move IP-address servername deprecation to eol (James M Snell) #58533
tools:
  * (SEMVER-MAJOR) update V8 gypfiles for 13.7 (Michaël Zasso) #58064
url:
  * (SEMVER-MAJOR) move bad port deprecation in legacy url to end-of-life (James M Snell) #58617
util,console:
  * (SEMVER-MAJOR) colorize regexp groups, character classes, etc (Ruben Bridgewater) #59710
worker:
  * (SEMVER-MAJOR) move terminate callback to end-of-life (James M Snell) #58528

PR-URL: #59896
Signed-off-by: RafaelGSS <[email protected]>
RafaelGSS added a commit that referenced this pull request Oct 9, 2025
assert:
  * (SEMVER-MAJOR) move assert.fail with multiple arguments to eol (James M Snell) #58532
  * (SEMVER-MAJOR) move CallTracker to EOL (James M Snell) #58006
assert,util:
  * (SEMVER-MAJOR) fail promise comparison in deep equal checks (Ruben Bridgewater) #59448
  * (SEMVER-MAJOR) handle invalid dates as equal in deep comparison (Ruben Bridgewater) #57627
async_hooks:
  * (SEMVER-MAJOR) move `asyncResource` property on bound function to EOL (James M Snell) #58618
buffer:
  * (SEMVER-MAJOR) move SlowBuffer to EOL (Filip Skokan) #58220
build:
  * (SEMVER-MAJOR) bump minimum Clang version to 19 (Michaël Zasso) #59048
  * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) #58064
  * (SEMVER-MAJOR) stop distributing Corepack (Antoine du Hamel) #57617
child_process:
  * (SEMVER-MAJOR) move _channel to end-of-life (James M Snell) #58527
crypto:
  * (SEMVER-MAJOR) runtime-deprecate default shake128/256 output lengths (Filip Skokan) #59008
  * (SEMVER-MAJOR) move deprecated hash and mgf1Hash options to EOL (James M Snell) #58706
  * (SEMVER-MAJOR) runtime deprecate ECDH.setPublicKey() (James M Snell) #58620
deps:
  * (SEMVER-MAJOR) V8: backport 1d3362c55396 (Shu-yu Guo) #58064
  * (SEMVER-MAJOR) V8: cherry-pick 4f38995c8295 (Shu-yu Guo) #58064
  * (SEMVER-MAJOR) V8: cherry-pick 044b9b6f589d (Rezvan Mahdavi Hezaveh) #58064
  * (SEMVER-MAJOR) V8: cherry-pick d2ad518a0b57 (Joyee Cheung) #58064
  * (SEMVER-MAJOR) V8: revert 6d6c1e680c7b (Michaël Zasso) #58064
  * (SEMVER-MAJOR) V8: revert e3cddbedb205 (Michaël Zasso) #58064
  * (SEMVER-MAJOR) use std::map in MSVC STL for EphemeronRememberedSet (Joyee Cheung) #58064
  * (SEMVER-MAJOR) patch V8 for illumos (Dan McDonald) #58064
  * (SEMVER-MAJOR) remove problematic comment from v8-internal (Michaël Zasso) #58064
  * (SEMVER-MAJOR) define V8_PRESERVE_MOST as no-op on Windows (Stefan Stojanovic) #58064
  * (SEMVER-MAJOR) fix FP16 bitcasts.h (Stefan Stojanovic) #58064
  * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) #58064
  * (SEMVER-MAJOR) update V8 to 13.7.152.9 (Michaël Zasso) #58064
dgram:
  * (SEMVER-MAJOR) move deprecated APIs to EOL (James M Snell) #58474
dns:
  * (SEMVER-MAJOR) move falsy hostname in lookup to end-of-life (James M Snell) #58619
fs:
  * (SEMVER-MAJOR) move FileHandle close on GC to EOL (James M Snell) #58536
  * (SEMVER-MAJOR) move rmdir recursive option to end-of-life (James M Snell) #58616
  * (SEMVER-MAJOR) make `processReadResult()` and `readSyncRecursive()` private (Livia Medeiros) #58672
  * (SEMVER-MAJOR) move fs stream open method to eol (James M Snell) #58529
  * (SEMVER-MAJOR) remove `fs.F_OK`, `fs.R_OK`, `fs.W_OK`, `fs.X_OK` (Livia Medeiros) #55862
http:
  * (SEMVER-MAJOR) deprecate writeHeader (Sebastian Beltran) #59060
lib:
  * (SEMVER-MAJOR) expose global ErrorEvent (Richie Bendall) #58920
  * (SEMVER-MAJOR) deprecate `_stream_*` modules (Dario Piotrowicz) #58337
  * (SEMVER-MAJOR) deprecate _tls_common and _tls_wrap (Dario Piotrowicz) #57643
module:
  * (SEMVER-MAJOR) move Module._debug to end-of-life (James M Snell) #58473
node-api:
  * (SEMVER-MAJOR) add warning for NAPI_EXPERIMENTAL (Miguel Marcondes Filho) #58280
perf_hooks:
  * (SEMVER-MAJOR) move deprecated accessors to EOF (James M Snell) #58531
process:
  * (SEMVER-MAJOR) move multipleResolves event to EOL (James M Snell) #58707
repl:
  * (SEMVER-MAJOR) eol deprecate instantiating without new (Aviv Keller) #59495
src:
  * (SEMVER-MAJOR) store `Local` for `CallbackScope` on stack (Anna Henningsen) #59705
  * (SEMVER-MAJOR) remove node.h APIs to make callback without an async context (Chengzhong Wu) #58471
  * (SEMVER-MAJOR) remove deprecated node::EmitBeforeExit and node::EmitExit (Chengzhong Wu) #58469
  * (SEMVER-MAJOR) remove deprecated node::CreatePlatform and node::FreePlatform (Chengzhong Wu) #58470
  * (SEMVER-MAJOR) remove deprecated node::InitializeNodeWithArgs (Chengzhong Wu) #58470
  * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 138 (Michaël Zasso) #58064
src,permission:
  * (SEMVER-MAJOR) add --allow-net permission (Rafael Gonzaga) #58517
tls:
  * (SEMVER-MAJOR) move IP-address servername deprecation to eol (James M Snell) #58533
tools:
  * (SEMVER-MAJOR) update V8 gypfiles for 13.7 (Michaël Zasso) #58064
url:
  * (SEMVER-MAJOR) move bad port deprecation in legacy url to end-of-life (James M Snell) #58617
util,console:
  * (SEMVER-MAJOR) colorize regexp groups, character classes, etc (Ruben Bridgewater) #59710
worker:
  * (SEMVER-MAJOR) move terminate callback to end-of-life (James M Snell) #58528

PR-URL: #59896
Signed-off-by: RafaelGSS <[email protected]>
@RafaelGSS
Copy link
Member Author

@panva
Copy link
Member

panva commented Oct 9, 2025

Given the ecosystem breakage we had with it in 24.x i'd say the following should be amongst the notables.

[daced4ab98] - (SEMVER-MAJOR) buffer: move SlowBuffer to EOL (Filip Skokan) #58220

@richardlau
Copy link
Member

richardlau commented Oct 9, 2025

RC.1: https://ci-release.nodejs.org/job/iojs+release/11315/

Linux arm64 release builds (Tier 1) are blocked on nodejs/build#4172 -- persistent check failure in mksnapshot since around the time the V8 14.1 update landed. I'll need some help resolving it -- it doesn't appear to be ccache related and the release machine is on the same compiler (clang 19) as the test machines, where the problem doesn't appear to be happening.

@joyeecheung
Copy link
Member

joyeecheung commented Oct 9, 2025

About #58797, /cc @joyeecheung

Sorry that I just saw the ping. This should not be going out in the release without #59931 (otherwise it becomes a semver-major change), that was why the dont-land labels were applied, see #58797 (comment)

@richardlau
Copy link
Member

RC.1: https://ci-release.nodejs.org/job/iojs+release/11315/

Linux arm64 release builds (Tier 1) are blocked on nodejs/build#4172 -- persistent check failure in mksnapshot since around the time the V8 14.1 update landed. I'll need some help resolving it -- it doesn't appear to be ccache related and the release machine is on the same compiler (clang 19) as the test machines, where the problem doesn't appear to be happening.

I'm hopeful that #60206 will address this.

RafaelGSS added a commit that referenced this pull request Oct 13, 2025
assert:
  * (SEMVER-MAJOR) move assert.fail with multiple arguments to eol (James M Snell) #58532
  * (SEMVER-MAJOR) move CallTracker to EOL (James M Snell) #58006
assert,util:
  * (SEMVER-MAJOR) fail promise comparison in deep equal checks (Ruben Bridgewater) #59448
  * (SEMVER-MAJOR) handle invalid dates as equal in deep comparison (Ruben Bridgewater) #57627
async_hooks:
  * (SEMVER-MAJOR) move `asyncResource` property on bound function to EOL (James M Snell) #58618
buffer:
  * (SEMVER-MAJOR) move SlowBuffer to EOL (Filip Skokan) #58220
build:
  * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) #59805
  * (SEMVER-MAJOR) bump minimum Clang version to 19 (Michaël Zasso) #59048
  * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) #58064
  * (SEMVER-MAJOR) stop distributing Corepack (Antoine du Hamel) #57617
child_process:
  * (SEMVER-MAJOR) move _channel to end-of-life (James M Snell) #58527
crypto:
  * (SEMVER-MAJOR) runtime-deprecate default shake128/256 output lengths (Filip Skokan) #59008
  * (SEMVER-MAJOR) move deprecated hash and mgf1Hash options to EOL (James M Snell) #58706
  * (SEMVER-MAJOR) runtime deprecate ECDH.setPublicKey() (James M Snell) #58620
deps:
  * (SEMVER-MAJOR) patch V8 for illumos (Dan McDonald) #59805
  * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) #54077
  * (SEMVER-MAJOR) update V8 to 14.1.146.11 (Michaël Zasso) #59805
  * (SEMVER-MAJOR) V8: backport 1d3362c55396 (Shu-yu Guo) #58064
  * (SEMVER-MAJOR) V8: cherry-pick 4f38995c8295 (Shu-yu Guo) #58064
  * (SEMVER-MAJOR) V8: cherry-pick 044b9b6f589d (Rezvan Mahdavi Hezaveh) #58064
  * (SEMVER-MAJOR) V8: cherry-pick d2ad518a0b57 (Joyee Cheung) #58064
  * (SEMVER-MAJOR) V8: revert 6d6c1e680c7b (Michaël Zasso) #58064
  * (SEMVER-MAJOR) V8: revert e3cddbedb205 (Michaël Zasso) #58064
  * (SEMVER-MAJOR) use std::map in MSVC STL for EphemeronRememberedSet (Joyee Cheung) #58064
  * (SEMVER-MAJOR) patch V8 for illumos (Dan McDonald) #58064
  * (SEMVER-MAJOR) remove problematic comment from v8-internal (Michaël Zasso) #58064
  * (SEMVER-MAJOR) define V8_PRESERVE_MOST as no-op on Windows (Stefan Stojanovic) #58064
  * (SEMVER-MAJOR) fix FP16 bitcasts.h (Stefan Stojanovic) #58064
  * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) #58064
  * (SEMVER-MAJOR) update V8 to 13.7.152.9 (Michaël Zasso) #58064
dgram:
  * (SEMVER-MAJOR) move deprecated APIs to EOL (James M Snell) #58474
dns:
  * (SEMVER-MAJOR) move falsy hostname in lookup to end-of-life (James M Snell) #58619
doc,src,test:
  * (SEMVER-MAJOR) replace use of deprecated `GetIsolate` (Michaël Zasso) #59805
fs:
  * (SEMVER-MAJOR) move FileHandle close on GC to EOL (James M Snell) #58536
  * (SEMVER-MAJOR) move rmdir recursive option to end-of-life (James M Snell) #58616
  * (SEMVER-MAJOR) make `processReadResult()` and `readSyncRecursive()` private (Livia Medeiros) #58672
  * (SEMVER-MAJOR) move fs stream open method to eol (James M Snell) #58529
  * (SEMVER-MAJOR) remove `fs.F_OK`, `fs.R_OK`, `fs.W_OK`, `fs.X_OK` (Livia Medeiros) #55862
http:
  * (SEMVER-MAJOR) deprecate writeHeader (Sebastian Beltran) #59060
lib:
  * (SEMVER-MAJOR) use validators for argument validation (Nam Yooseong) #59416
  * (SEMVER-MAJOR) expose global ErrorEvent (Richie Bendall) #58920
  * (SEMVER-MAJOR) deprecate `_stream_*` modules (Dario Piotrowicz) #58337
  * (SEMVER-MAJOR) deprecate _tls_common and _tls_wrap (Dario Piotrowicz) #57643
module:
  * (SEMVER-MAJOR) move Module._debug to end-of-life (James M Snell) #58473
node-api:
  * (SEMVER-MAJOR) add warning for NAPI_EXPERIMENTAL (Miguel Marcondes Filho) #58280
perf_hooks:
  * (SEMVER-MAJOR) move deprecated accessors to EOF (James M Snell) #58531
process:
  * (SEMVER-MAJOR) move multipleResolves event to EOL (James M Snell) #58707
repl:
  * (SEMVER-MAJOR) eol deprecate instantiating without new (Aviv Keller) #59495
src:
  * (SEMVER-MAJOR) update crypto.getCipherInfo() to use DictionaryTemplate (James M Snell) #60036
  * (SEMVER-MAJOR) fix calls to v8::Object::wrap (Andreas Haas) #59805
  * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 141 (Michaël Zasso) #59805
  * (SEMVER-MAJOR) improve performance of dotenv ToObject (James M Snell) #60038
  * (SEMVER-MAJOR) use std::string_view from node_report (iknoom) #60006
  * (SEMVER-MAJOR) unflag --experimental-webstorage by default (Daniel M Brasil) #57666
  * (SEMVER-MAJOR) store `Local` for `CallbackScope` on stack (Anna Henningsen) #59705
  * (SEMVER-MAJOR) remove node.h APIs to make callback without an async context (Chengzhong Wu) #58471
  * (SEMVER-MAJOR) remove deprecated node::EmitBeforeExit and node::EmitExit (Chengzhong Wu) #58469
  * (SEMVER-MAJOR) remove deprecated node::CreatePlatform and node::FreePlatform (Chengzhong Wu) #58470
  * (SEMVER-MAJOR) remove deprecated node::InitializeNodeWithArgs (Chengzhong Wu) #58470
  * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 138 (Michaël Zasso) #58064
src,permission:
  * (SEMVER-MAJOR) add --allow-net permission (Rafael Gonzaga) #58517
test:
  * (SEMVER-MAJOR) update cppgc-object addon config (StefanStojanovic) #59805
  * (SEMVER-MAJOR) spin longer for sequential/test-worker-prof (Michaël Zasso) #59805
  * (SEMVER-MAJOR) remove `--always-turbofan` flag (Michaël Zasso) #59805
  * (SEMVER-MAJOR) update snapshot for V8 14.1 (Michaël Zasso) #59805
test,win:
  * (SEMVER-MAJOR) split addon tests (StefanStojanovic) #59805
tls:
  * (SEMVER-MAJOR) move IP-address servername deprecation to eol (James M Snell) #58533
tools:
  * (SEMVER-MAJOR) update V8 gypfiles for 14.0 (Michaël Zasso) #59805
  * (SEMVER-MAJOR) update V8 gypfiles for 13.9 (Michaël Zasso) #59805
  * (SEMVER-MAJOR) update V8 gypfiles for 13.8 (Michaël Zasso) #59805
  * (SEMVER-MAJOR) enable leaptiering for aix/ibmi (Abdirahim Musse) #59805
  * (SEMVER-MAJOR) update V8 gypfiles for 13.7 (Michaël Zasso) #58064
url:
  * (SEMVER-MAJOR) move bad port deprecation in legacy url to end-of-life (James M Snell) #58617
util,console:
  * (SEMVER-MAJOR) colorize regexp groups, character classes, etc (Ruben Bridgewater) #59710
worker:
  * (SEMVER-MAJOR) move terminate callback to end-of-life (James M Snell) #58528

PR-URL: #59896
Signed-off-by: RafaelGSS <[email protected]>
assert:
  * (SEMVER-MAJOR) move assert.fail with multiple arguments to eol (James M Snell) #58532
  * (SEMVER-MAJOR) move CallTracker to EOL (James M Snell) #58006
assert,util:
  * (SEMVER-MAJOR) fail promise comparison in deep equal checks (Ruben Bridgewater) #59448
  * (SEMVER-MAJOR) handle invalid dates as equal in deep comparison (Ruben Bridgewater) #57627
async_hooks:
  * (SEMVER-MAJOR) move `asyncResource` property on bound function to EOL (James M Snell) #58618
buffer:
  * (SEMVER-MAJOR) move SlowBuffer to EOL (Filip Skokan) #58220
build:
  * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) #59805
  * (SEMVER-MAJOR) bump minimum Clang version to 19 (Michaël Zasso) #59048
  * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) #58064
  * (SEMVER-MAJOR) stop distributing Corepack (Antoine du Hamel) #57617
child_process:
  * (SEMVER-MAJOR) move _channel to end-of-life (James M Snell) #58527
crypto:
  * (SEMVER-MAJOR) runtime-deprecate default shake128/256 output lengths (Filip Skokan) #59008
  * (SEMVER-MAJOR) move deprecated hash and mgf1Hash options to EOL (James M Snell) #58706
  * (SEMVER-MAJOR) runtime deprecate ECDH.setPublicKey() (James M Snell) #58620
deps:
  * (SEMVER-MAJOR) patch V8 for illumos (Dan McDonald) #59805
  * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) #54077
  * (SEMVER-MAJOR) update V8 to 14.1.146.11 (Michaël Zasso) #59805
  * (SEMVER-MAJOR) V8: backport 1d3362c55396 (Shu-yu Guo) #58064
  * (SEMVER-MAJOR) V8: cherry-pick 4f38995c8295 (Shu-yu Guo) #58064
  * (SEMVER-MAJOR) V8: cherry-pick 044b9b6f589d (Rezvan Mahdavi Hezaveh) #58064
  * (SEMVER-MAJOR) V8: cherry-pick d2ad518a0b57 (Joyee Cheung) #58064
  * (SEMVER-MAJOR) V8: revert 6d6c1e680c7b (Michaël Zasso) #58064
  * (SEMVER-MAJOR) V8: revert e3cddbedb205 (Michaël Zasso) #58064
  * (SEMVER-MAJOR) use std::map in MSVC STL for EphemeronRememberedSet (Joyee Cheung) #58064
  * (SEMVER-MAJOR) patch V8 for illumos (Dan McDonald) #58064
  * (SEMVER-MAJOR) remove problematic comment from v8-internal (Michaël Zasso) #58064
  * (SEMVER-MAJOR) define V8_PRESERVE_MOST as no-op on Windows (Stefan Stojanovic) #58064
  * (SEMVER-MAJOR) fix FP16 bitcasts.h (Stefan Stojanovic) #58064
  * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) #58064
  * (SEMVER-MAJOR) update V8 to 13.7.152.9 (Michaël Zasso) #58064
dgram:
  * (SEMVER-MAJOR) move deprecated APIs to EOL (James M Snell) #58474
dns:
  * (SEMVER-MAJOR) move falsy hostname in lookup to end-of-life (James M Snell) #58619
doc,src,test:
  * (SEMVER-MAJOR) replace use of deprecated `GetIsolate` (Michaël Zasso) #59805
fs:
  * (SEMVER-MAJOR) move FileHandle close on GC to EOL (James M Snell) #58536
  * (SEMVER-MAJOR) move rmdir recursive option to end-of-life (James M Snell) #58616
  * (SEMVER-MAJOR) make `processReadResult()` and `readSyncRecursive()` private (Livia Medeiros) #58672
  * (SEMVER-MAJOR) move fs stream open method to eol (James M Snell) #58529
  * (SEMVER-MAJOR) remove `fs.F_OK`, `fs.R_OK`, `fs.W_OK`, `fs.X_OK` (Livia Medeiros) #55862
http:
  * (SEMVER-MAJOR) deprecate writeHeader (Sebastian Beltran) #59060
lib:
  * (SEMVER-MAJOR) use validators for argument validation (Nam Yooseong) #59416
  * (SEMVER-MAJOR) expose global ErrorEvent (Richie Bendall) #58920
  * (SEMVER-MAJOR) deprecate `_stream_*` modules (Dario Piotrowicz) #58337
  * (SEMVER-MAJOR) deprecate _tls_common and _tls_wrap (Dario Piotrowicz) #57643
module:
  * (SEMVER-MAJOR) move Module._debug to end-of-life (James M Snell) #58473
node-api:
  * (SEMVER-MAJOR) add warning for NAPI_EXPERIMENTAL (Miguel Marcondes Filho) #58280
perf_hooks:
  * (SEMVER-MAJOR) move deprecated accessors to EOF (James M Snell) #58531
process:
  * (SEMVER-MAJOR) move multipleResolves event to EOL (James M Snell) #58707
repl:
  * (SEMVER-MAJOR) eol deprecate instantiating without new (Aviv Keller) #59495
src:
  * (SEMVER-MAJOR) update crypto.getCipherInfo() to use DictionaryTemplate (James M Snell) #60036
  * (SEMVER-MAJOR) fix calls to v8::Object::wrap (Andreas Haas) #59805
  * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 141 (Michaël Zasso) #59805
  * (SEMVER-MAJOR) improve performance of dotenv ToObject (James M Snell) #60038
  * (SEMVER-MAJOR) use std::string_view from node_report (iknoom) #60006
  * (SEMVER-MAJOR) unflag --experimental-webstorage by default (Daniel M Brasil) #57666
  * (SEMVER-MAJOR) store `Local` for `CallbackScope` on stack (Anna Henningsen) #59705
  * (SEMVER-MAJOR) remove node.h APIs to make callback without an async context (Chengzhong Wu) #58471
  * (SEMVER-MAJOR) remove deprecated node::EmitBeforeExit and node::EmitExit (Chengzhong Wu) #58469
  * (SEMVER-MAJOR) remove deprecated node::CreatePlatform and node::FreePlatform (Chengzhong Wu) #58470
  * (SEMVER-MAJOR) remove deprecated node::InitializeNodeWithArgs (Chengzhong Wu) #58470
  * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 138 (Michaël Zasso) #58064
src,permission:
  * (SEMVER-MAJOR) add --allow-net permission (Rafael Gonzaga) #58517
test:
  * (SEMVER-MAJOR) update cppgc-object addon config (StefanStojanovic) #59805
  * (SEMVER-MAJOR) spin longer for sequential/test-worker-prof (Michaël Zasso) #59805
  * (SEMVER-MAJOR) remove `--always-turbofan` flag (Michaël Zasso) #59805
  * (SEMVER-MAJOR) update snapshot for V8 14.1 (Michaël Zasso) #59805
test,win:
  * (SEMVER-MAJOR) split addon tests (StefanStojanovic) #59805
tls:
  * (SEMVER-MAJOR) move IP-address servername deprecation to eol (James M Snell) #58533
tools:
  * (SEMVER-MAJOR) update V8 gypfiles for 14.0 (Michaël Zasso) #59805
  * (SEMVER-MAJOR) update V8 gypfiles for 13.9 (Michaël Zasso) #59805
  * (SEMVER-MAJOR) update V8 gypfiles for 13.8 (Michaël Zasso) #59805
  * (SEMVER-MAJOR) enable leaptiering for aix/ibmi (Abdirahim Musse) #59805
  * (SEMVER-MAJOR) update V8 gypfiles for 13.7 (Michaël Zasso) #58064
url:
  * (SEMVER-MAJOR) move bad port deprecation in legacy url to end-of-life (James M Snell) #58617
util,console:
  * (SEMVER-MAJOR) colorize regexp groups, character classes, etc (Ruben Bridgewater) #59710
worker:
  * (SEMVER-MAJOR) move terminate callback to end-of-life (James M Snell) #58528

PR-URL: #59896
Signed-off-by: RafaelGSS <[email protected]>
@RafaelGSS
Copy link
Member Author

Hi folks,

I did the final sync, and hopefully we'll get a green CI from now on. The way CHANGELOG was structured is simple: if notable-change label and no deprecations - It will show up in the # Notable Changes. If the deprecations label will show up in # Deprecations and Removal. All commits that were listed either on Notable Changes or Deprecations and Removals will be removed from the list of # Semver-* commits (According to our lint-release-commit CI, a commit should be placed in one section only, IIRC).

So, from now on, I won't be able to update the proposal - unless CI is broken.

@nodejs-github-bot
Copy link
Collaborator

nodejs-github-bot commented Oct 13, 2025

@nodejs-github-bot

This comment was marked as duplicate.

@nodejs-github-bot

This comment was marked as duplicate.

@nodejs-github-bot

This comment was marked as duplicate.

@nodejs-github-bot

This comment was marked as duplicate.

Copy link
Member

@richardlau richardlau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We're actually including V8 14.1 in 25.0.0.

@@ -1,9 +1,9 @@
{
"NODE_MODULE_VERSION": [
{ "modules": 141,"runtime": "node", "variant": "v8_14.1", "versions": "25.0.0-pre" },
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
{ "modules": 141,"runtime": "node", "variant": "v8_14.1", "versions": "25.0.0-pre" },
{ "modules": 141,"runtime": "node", "variant": "v8_14.1", "versions": "25.0.0" },

{ "modules": 140,"runtime": "electron", "variant": "electron", "versions": "39" },
{ "modules": 139,"runtime": "electron", "variant": "electron", "versions": "38" },
{ "modules": 138,"runtime": "node", "variant": "v8_13.7", "versions": "25.0.0-pre" },
{ "modules": 138,"runtime": "node", "variant": "v8_13.7", "versions": "25.0.0" },
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
{ "modules": 138,"runtime": "node", "variant": "v8_13.7", "versions": "25.0.0" },
{ "modules": 138,"runtime": "node", "variant": "v8_13.7", "versions": "25.0.0-pre" },

model gains `--allow-net`, Web Storage is enabled by default, and `ErrorEvent` is now a global.

We’ve also removed or finalized long-deprecated APIs such as SlowBuffer,
upgraded to a newer V8, and added quality-of-life improvements like a portable compile cache and
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a minor point that is not blocking, but the V8 update was already mentioned in the first paragraph so this mention is redundant.

@RafaelGSS
Copy link
Member Author

@richardlau I'll apply your suggestions once CI is concluded, since they are doc-only, we don't need to issue new citgm/ci's

@nodejs-github-bot

This comment was marked as duplicate.

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

Labels

meta Issues and PRs related to the general management of the project. needs-ci PRs that need a full CI run. release Issues and PRs related to Node.js releases. v25.x Issues that can be reproduced on v25.x or PRs targeting the v25.x-staging branch.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants