Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
24.10.0-bookworm-slim->25.0.0-bookworm-slim25.1.0-bookworm-slimRelease Notes
nodejs/node (node)
v25.0.0: 2025-10-15, Version 25.0.0 (Current), @RafaelGSSCompare Source
Node.js 25 is here! We have upgraded V8 to 14.1, bringing major
JSON.stringifyperformance improvements, built-in
Uint8Arraybase64/hex conversion, and ongoingWebAssembly 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, andErrorEventis now a global.We’ve also removed or finalized long-deprecated APIs such as SlowBuffer,
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) #59983663554abdf] - (SEMVER-MAJOR) lib: expose global ErrorEvent (Richie Bendall) #589203312e4e946] - (SEMVER-MAJOR) src: unflag --experimental-webstorage by default (Daniel M Brasil) #57666462c74181d] - (SEMVER-MAJOR) src,permission: add --allow-net permission (Rafael Gonzaga) #58517Deprecations and Removals
d33f4b539a] - (SEMVER-MAJOR) assert: move assert.fail with multiple arguments to eol (James M Snell) #58532b21574d63b] - (SEMVER-MAJOR) assert: move CallTracker to EOL (James M Snell) #58006308b6bc6de] - (SEMVER-MAJOR) async_hooks: moveasyncResourceproperty on bound function to EOL (James M Snell) #58618daced4ab98] - (SEMVER-MAJOR) buffer: move SlowBuffer to EOL (Filip Skokan) #58220df16f0fd8d] - (SEMVER-MAJOR) child_process: move _channel to end-of-life (James M Snell) #58527a472745958] - (SEMVER-MAJOR) crypto: runtime-deprecate default shake128/256 output lengths (Filip Skokan) #59008c3b986853c] - (SEMVER-MAJOR) crypto: move deprecated hash and mgf1Hash options to EOL (James M Snell) #5870666632648ba] - (SEMVER-MAJOR) crypto: runtime deprecate ECDH.setPublicKey() (James M Snell) #58620a5f9ca1f77] - (SEMVER-MAJOR) dns: move falsy hostname in lookup to end-of-life (James M Snell) #586192bb7667475] - (SEMVER-MAJOR) fs: move FileHandle close on GC to EOL (James M Snell) #58536eec0302088] - (SEMVER-MAJOR) fs: move rmdir recursive option to end-of-life (James M Snell) #5861625dd206c29] - (SEMVER-MAJOR) fs: removefs.F_OK,fs.R_OK,fs.W_OK,fs.X_OK(Livia Medeiros) #5586291dadf2897] - (SEMVER-MAJOR) http: deprecate writeHeader (Sebastian Beltran) #590604e06a648ff] - (SEMVER-MAJOR) perf_hooks: move deprecated accessors to EOF (James M Snell) #58531a3dfca90d1] - (SEMVER-MAJOR) process: move multipleResolves event to EOL (James M Snell) #58707790acc8689] - (SEMVER-MAJOR) tls: move IP-address servername deprecation to eol (James M Snell) #585333aaa2ebe19] - (SEMVER-MAJOR) url: move bad port deprecation in legacy url to end-of-life (James M Snell) #58617Semver-Major Commits
7c9fbc15bc] - (SEMVER-MAJOR) assert,util: fail promise comparison in deep equal checks (Ruben Bridgewater) #5944811222f1a27] - (SEMVER-MAJOR) assert,util: handle invalid dates as equal in deep comparison (Ruben Bridgewater) #57627acce2e8f87] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Michaël Zasso) #598058a87ba031b] - (SEMVER-MAJOR) build: bump minimum Clang version to 19 (Michaël Zasso) #5904821b131e93a] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Michaël Zasso) #58064f31c88021b] - (SEMVER-MAJOR) build: stop distributing Corepack (Antoine du Hamel) #57617b3238442d8] - (SEMVER-MAJOR) deps: patch V8 for illumos (Dan McDonald) #598052a1da3260d] - (SEMVER-MAJOR) deps: patch V8 to avoid duplicated zlib symbol (Michaël Zasso) #540777772a2df9d] - (SEMVER-MAJOR) deps: update V8 to 14.1.146.11 (Michaël Zasso) #598056d61175db0] - (SEMVER-MAJOR) deps: V8: backport1d3362c(Shu-yu Guo) #58064974773572e] - (SEMVER-MAJOR) deps: V8: cherry-pick4f38995(Shu-yu Guo) #5806470bfc398e9] - (SEMVER-MAJOR) deps: V8: cherry-pick044b9b6(Rezvan Mahdavi Hezaveh) #580646bfc525cf0] - (SEMVER-MAJOR) deps: V8: cherry-pickd2ad518(Joyee Cheung) #58064754d28e34f] - (SEMVER-MAJOR) deps: V8: revert6d6c1e6(Michaël Zasso) #580648c508b9399] - (SEMVER-MAJOR) deps: V8: reverte3cddbe(Michaël Zasso) #5806488ca8287b6] - (SEMVER-MAJOR) deps: use std::map in MSVC STL for EphemeronRememberedSet (Joyee Cheung) #58064838e2332a5] - (SEMVER-MAJOR) deps: patch V8 for illumos (Dan McDonald) #580643522731d9a] - (SEMVER-MAJOR) deps: remove problematic comment from v8-internal (Michaël Zasso) #58064d234475a33] - (SEMVER-MAJOR) deps: define V8_PRESERVE_MOST as no-op on Windows (Stefan Stojanovic) #58064a738eb4a7f] - (SEMVER-MAJOR) deps: fix FP16 bitcasts.h (Stefan Stojanovic) #580641744c7d991] - (SEMVER-MAJOR) deps: patch V8 to avoid duplicated zlib symbol (Michaël Zasso) #58064fff0d1554d] - (SEMVER-MAJOR) deps: update V8 to 13.7.152.9 (Michaël Zasso) #58064968e2f47c8] - (SEMVER-MAJOR) dgram: move deprecated APIs to EOL (James M Snell) #584745623194a6b] - (SEMVER-MAJOR) doc,src,test: replace use of deprecatedGetIsolate(Michaël Zasso) #59805823ca6991f] - (SEMVER-MAJOR) fs: makeprocessReadResult()andreadSyncRecursive()private (Livia Medeiros) #58672a273674dee] - (SEMVER-MAJOR) fs: move fs stream open method to eol (James M Snell) #5852939d73036e7] - (SEMVER-MAJOR) lib: use validators for argument validation (Nam Yooseong) #59416cd68e35704] - (SEMVER-MAJOR) lib: deprecate_stream_*modules (Dario Piotrowicz) #58337a822a1cbe7] - (SEMVER-MAJOR) lib: deprecate _tls_common and _tls_wrap (Dario Piotrowicz) #57643705bcc2a00] - (SEMVER-MAJOR) module: move Module._debug to end-of-life (James M Snell) #584735fe7800683] - (SEMVER-MAJOR) node-api: add warning for NAPI_EXPERIMENTAL (Miguel Marcondes Filho) #58280e1d4d6ab49] - (SEMVER-MAJOR) repl: eol deprecate instantiating without new (Aviv Keller) #59495ed94bc48f3] - (SEMVER-MAJOR) src: update crypto.getCipherInfo() to use DictionaryTemplate (James M Snell) #6003637a3df3556] - (SEMVER-MAJOR) src: fix calls to v8::Object::wrap (Andreas Haas) #59805801ae26fa3] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 141 (Michaël Zasso) #5980510df38a38b] - (SEMVER-MAJOR) src: improve performance of dotenv ToObject (James M Snell) #60038075936b413] - (SEMVER-MAJOR) src: use std::string_view from node_report (iknoom) #60006234c26cca3] - (SEMVER-MAJOR) src: storeLocalforCallbackScopeon stack (Anna Henningsen) #59705708fd1945b] - (SEMVER-MAJOR) src: remove node.h APIs to make callback without an async context (Chengzhong Wu) #5847156989d33f5] - (SEMVER-MAJOR) src: remove deprecated node::EmitBeforeExit and node::EmitExit (Chengzhong Wu) #58469d429aa2d17] - (SEMVER-MAJOR) src: remove deprecated node::CreatePlatform and node::FreePlatform (Chengzhong Wu) #58470e0ae14ce73] - (SEMVER-MAJOR) src: remove deprecated node::InitializeNodeWithArgs (Chengzhong Wu) #58470db1700e4b5] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 138 (Michaël Zasso) #580640a87084150] - (SEMVER-MAJOR) test: update cppgc-object addon config (StefanStojanovic) #598057dd49d7da4] - (SEMVER-MAJOR) test: spin longer for sequential/test-worker-prof (Michaël Zasso) #59805faba50df96] - (SEMVER-MAJOR) test: remove--always-turbofanflag (Michaël Zasso) #59805496f12dec6] - (SEMVER-MAJOR) test: update snapshot for V8 14.1 (Michaël Zasso) #5980505aa3a1c70] - (SEMVER-MAJOR) test,win: split addon tests (StefanStojanovic) #59805308de27255] - (SEMVER-MAJOR) tools: update V8 gypfiles for 14.0 (Michaël Zasso) #59805b736370c07] - (SEMVER-MAJOR) tools: update V8 gypfiles for 13.9 (Michaël Zasso) #59805085a94ac9b] - (SEMVER-MAJOR) tools: update V8 gypfiles for 13.8 (Michaël Zasso) #59805a71ae18ac8] - (SEMVER-MAJOR) tools: enable leaptiering for aix/ibmi (Abdirahim Musse) #59805a8217a9eb8] - (SEMVER-MAJOR) tools: update V8 gypfiles for 13.7 (Michaël Zasso) #58064fdef0725de] - (SEMVER-MAJOR) util,console: colorize regexp groups, character classes, etc (Ruben Bridgewater) #59710411cc42d22] - (SEMVER-MAJOR) worker: move terminate callback to end-of-life (James M Snell) #58528Semver-Minor Commits
94422e8a40] - (SEMVER-MINOR) src: add an option to make compile cache portable (Aditi) #5879729738c7b42] - (SEMVER-MINOR) src,permission: add --allow-inspector ability (Rafael Gonzaga) #59711f9fcc746f3] - (SEMVER-MINOR) v8: add cpu profile (theanarkh) #598074396cf2d45] - (SEMVER-MINOR) wasm: enable JSPI (Guy Bedford) #59941Semver-Patch Commits
91f035e597] - assert: resolve TODO and rename function (Antoine du Hamel) #594512e675c4fa3] - benchmark: use non-deprecated WriteUtf8V2 method (Michaël Zasso) #601730fb040603b] - build: upgrade Python linter ruff, add rules ASYNC,PERF (Christian Clauss) #59984f468b6c72b] - build: update minimum Xcode version to 16.4 (Michaël Zasso) #600790eda17ba20] - build: fix flags for ngtcp2 on IBM i (SRAVANI GUNDEPALLI) #6007322a864a275] - build: remove corepack from release tarballs (Jordan Harband) #598357079041e0a] - build: only mention Apple when on Apple (Michaël Zasso) #59385954d3f44ef] - build: check Apple clang version in configure script (Michaël Zasso) #593582b4a09ef8b] - build: fix OpenSSL version detection (Richard Lau) #59353af77e4bf2f] - build: update macOS runner and Xcode (Michaël Zasso) #5923886bfdb5528] - build: removenocorepackvcbuildflag (Antoine du Hamel) #57772b13f24c2da] - build, src: fix include paths for vtune files (Rahul) #599992216a3b1d5] - deps: V8: cherry-pick1e190bb(Richard Lau) #602061b22f6049a] - deps: upgrade npm to 11.6.2 (npm team) #60168a1b73fe430] - deps: V8: cherry-pick2abc613(Richard Lau) #601774eb6e6fd79] - deps: V8: cherry-pick8735658(Joyee Cheung) #60069c0b8c80164] - deps: define V8_PRESERVE_MOST as no-op on Windows (Stefan Stojanovic) #5623865a32bac18] - deps: add ngtcp2 test binaries (James M Snell) #59946ebfc28a037] - deps: update nghttp3 to 1.11.0 (James M Snell) #59249dceb1fca40] - deps: update ngtcp2 to 1.14.0 (James M Snell) #59249ee36b86ba3] - deps: patch V8 to 13.7.152.19 (Node.js GitHub Bot) #587130b3fc0d7a8] - deps: patch V8 to 13.7.152.14 (Node.js GitHub Bot) #5863191b3bd3fe6] - deps: patch V8 to 13.7.152.13 (Node.js GitHub Bot) #58539f77a96cd76] - deps: patch V8 to 13.7.152.10 (Node.js GitHub Bot) #584461cd16e5355] - doc: improve code snippet alternative of url.parse() using WHATWG URL (Steven) #60209d54e6aec9e] - doc:createSQLTagStore->createTagStore(Aviv Keller) #60182aef3fc37eb] - doc: use markdown when branch-diff major release (Rafael Gonzaga) #60179a2f088d516] - doc: update teams in collaborator-guide.md and add links (Bart Louwers) #6006575a6fff6be] - doc: disambiguate top-levelworker_threadsmodule exports (René) #5989051df7b92bc] - doc: update macOS version used to build releases (Michaël Zasso) #60080910c8796f9] - doc: update BUILDING to reflect Clang 19 changes (Michaël Zasso) #5978234f9b7eab9] - doc: reserve NMV 140 for Electron 39 (David Sanders) #596273f6f6db43f] - doc: update minimum Xcode and VS versions (Michaël Zasso) #59358d9fe28bd6b] - doc: fixCHANGELOG.mdversion listing (Antoine du Hamel) #592990ab50c2768] - doc: reserve NMV 139 for Electron 38 (Calvin) #58779516b4ebd3c] - doc: mark Node.js 23 as End-of-Life (Antoine du Hamel) #5856359b70e5fe3] - http: fix http client leaky with double response (theanarkh) #600625cf3c3e24c] - http2: rename variable to additionalPseudoHeaders (Tobias Nießen) #60208535efea962] - http2: do not crash on mismatched ping buffer length (René) #601354bfa387f6d] - lib: fix constructor in _errnoException stack tree (SeokHun) #601564daeec11b9] - lib: fix typo in QuicSessionStats (SeokHun) #6015515278252bb] - lib: remove redundant destroyHook checks (Gürgün Dayıoğlu) #6012083052ff9ad] - lib: addnode:prefix in sys module deprecation warning (Dario Piotrowicz) #58442d5abfbf582] - lib: add module to use in module deprecation warnings (Dario Piotrowicz) #58442db0121bedd] - module: fix directory option in the enableCompileCache() API (Joyee Cheung) #59931822a8c3244] - perf_hooks: fix stack overflow error (Antoine du Hamel) #60084d52cd04591] - quic: continue working on quic api bits (James M Snell) #60123b4af647920] - quic: reduce boilerplate and other minor cleanups (James M Snell) #59342cd9fd09a27] - quic: multiple fixups and updates (James M Snell) #59342a6c5d27739] - quic: update more of the quic to the new compile guard (James M Snell) #59342ee7b8ab29c] - quic: few additional small comment edits in cid.h (James M Snell) #59342c8b64bd023] - quic: fixup NO_ERROR macro conflict on windows (James M Snell) #59381e2fefd78e2] - quic: fixup windows coverage compile error (James M Snell) #5938199c80e3a45] - quic: update the guard to check openssl version (James M Snell) #592490e754fa5d1] - quic: start re-enabling quic with openssl 3.5 (James M Snell) #59249200fe9e7f4] - repl: move completion logic to internal module (Dario Piotrowicz) #598893ac88a7a66] - src: use string_view inWriteReport()(Anna Henningsen) #60201a1244f04de] - src: make additional cleanups in node locks impl (James M Snell) #60061fdb6e66227] - src: update locks to use DictionaryTemplate (James M Snell) #60061367bcce6a6] - src: fix usage of deprecated V8 API (Michaël Zasso) #6017423fa18444f] - src: fix small compile warning in quic/streams.cc (James M Snell) #601180ec1d186f4] - src: always use strong reference tonapi_async_contextresource (Anna Henningsen) #59828ce748f6cae] - src: useGlobalfor storing resource in Node-API callback scope (Anna Henningsen) #5982836256230b4] - src: cleanup quic TransportParams class (James M Snell) #59884985e2fb383] - Revert "test: ensure message event fires in worker message port test" (Luigi Pinca) #60126da9cd745c8] - test: ensure assertions are reachable intest/client-proxy(Antoine du Hamel) #60175e105e821e9] - test: skip quic tests that IBM i does not support (SRAVANI GUNDEPALLI) #60160bfc81ca228] - test: ensure assertions are reachable intest/async-hooks(Antoine du Hamel) #60150712cee951c] - test: skip tests that cause timeouts on IBM i (SRAVANI GUNDEPALLI) #60148f8a43f6f34] - test: deflake test-fs-promises-watch-iterator (Luigi Pinca) #600601f95d39997] - test: prepare junit file attribute normalization (sangwook) #59432eb159a8cfd] - test: remove duplicated allocUnsafeSlow test (Michaël Zasso) #58524d93cff5af3] - Revert "test: fix watch tests not including completion messages" (Joyee Cheung) #581906102159fa1] - test: fix watch tests not including completion messages (Dario Piotrowicz) #58183ad2c1bf62e] - test,doc: skip --max-old-space-size-percentage on 32-bit platforms (Asaf Federman) #601446dbf7086bb] - test_runner: fix suite timeout (Moshe Atlow) #59853f0aa073907] - test_runner: add junit file attribute support (sangwook) #59432cff138c6b1] - tests: start adding quic test server utilities (James M Snell) #5994620dc4b514a] - tools: use cooldown property correctly (Rafael Gonzaga) #60134ec26b1c01a] - tools: add lint rule to ensure assertions are reached (Antoine du Hamel) #60125bab752d4db] - typings: add buffer internalBinding typing (방진혁) #601631986ee4b65] - vm: hint module identifier in instantiate errors (Chengzhong Wu) #6019923b834058c] - wasm: revert enable JSPI as already enabled (Guy Bedford) #600144bfcad1ac5] - Revert "watch: fix watch args not being properly filtered" (Joyee Cheung) #581904acb854039] - watch: fix watch args not being properly filtered (Dario Piotrowicz) #57936v24.11.0: 2025-10-28, Version 24.11.0 'Krypton' (LTS), @richardlauCompare Source
Notable Changes
This release marks the transition of Node.js 24.x into Long Term Support (LTS)
with the codename 'Krypton'. It will continue to receive updates through to
the end of April 2028.
Other than updating metadata, such as the
process.releaseobject, to reflectthat the release is LTS, no further changes from Node.js 24.10.0 are included.
Configuration
📅 Schedule: Branch creation - "every weekend" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.