Skip to content

Conversation

@github-actions
Copy link
Contributor

@github-actionsgithub-actionsbot commented Sep 24, 2025

2025-09-25, Version 24.9.0 (Current), @targos

Notable Changes

  • [9b043a9096] - (SEMVER-MINOR)http: add shouldUpgradeCallback to let servers control HTTP upgrades (Tim Perry) #59824
  • [a6456ab90a] - (SEMVER-MINOR)sqlite: cleanup ERM support and export Session class (James M Snell) #58378
  • [5563361d22] - (SEMVER-MINOR)sqlite: add tagged template (0hm☘️) #58748
  • [04013ee933] - (SEMVER-MINOR)worker: add heap profile API (theanarkh) #59846

Commits

  • [cbec4fd6de] - benchmark: calibrate config dgram multi-buffer (Bruno Rodrigues) #59696
  • [9a4bbdc3c5] - benchmark: calibrate config cluster/echo.js (Nam Yooseong) #59836
  • [0b284d86e8] - build: add the missing macro definitions for OpenHarmony (hqzing) #59804
  • [43e6e54d66] - build: do not include custom ESLint rules testing in tarball (Antoine du Hamel) #59809
  • [039ac19154] - crypto: expose signatureAlgorithm on X509Certificate (Patrick Costa) #59235
  • [647c332704] - crypto: use return await when returning Promises from async functions (Renegade334) #59841
  • [8ed4587cf0] - crypto: use async functions for non-stub Promise-returning functions (Renegade334) #59841
  • [bb051c56ef] - crypto: avoid calls to promise.catch() (Renegade334) #59841
  • [05e560dd25] - deps: update googletest to 50b8600 (Node.js GitHub Bot) #59955
  • [fa40d3a785] - deps: update archs files for openssl-3.5.3 (Node.js GitHub Bot) #59901
  • [8c85570d18] - deps: upgrade openssl sources to openssl-3.5.3 (Node.js GitHub Bot) #59901
  • [b71125664e] - deps: update undici to 7.16.0 (Node.js GitHub Bot) #59830
  • [dea5dd7077] - dgram: restore buffer optimization in fixBufferList (Yoo) #59934
  • [b0c1e67532] - diagnostics_channel: fix race condition with diagnostics_channel and GC (Ugaitz Urien) #59910
  • [0b37b594c3] - doc: use "WebAssembly" instead of "Web Assembly" (Tobias Nießen) #59954
  • [1e723f9c6b] - doc: fix typo in section on microtask order (Tobias Nießen) #59932
  • [a28962a85c] - doc: update V8 fast API guidance (René) #58999
  • [bd767c5d1b] - doc: add security escalation policy (Ulises Gascón) #59806
  • [9df91e59e1] - doc: type improvement of file http.md (yusheng chen) #58189
  • [e4f571680b] - doc: deprecate closing fs.Dir on garbage collection (Livia Medeiros) #59839
  • [e9cb986fa5] - doc: rephrase dynamic import() description (Nam Yooseong) #59224
  • [026d4e33f7] - doc,crypto: update subtle.generateKey and subtle.importKey (Filip Skokan) #59851
  • [2b2591db52] - esm: make hasAsyncGraph non-enumerable (Joyee Cheung) #59905
  • [993f05d323] - fs,win: do not add a second trailing slash in readdir (Gerhard Stöbich) #59847
  • [7aec53b607] - (SEMVER-MINOR)http: add shouldUpgradeCallback to let servers control HTTP upgrades (Tim Perry) #59824
  • [83ae6102e7] - http: optimize checkIsHttpToken for short strings (방진혁) #59832
  • [6695067636] - http,https: handle IPv6 with proxies (Joyee Cheung) #59894
  • [c5d910a0a9] - http2: fix allowHttp1+Upgrade, broken by shouldUpgradeCallback (Tim Perry) #59924
  • [acada1fb82] - inspector: ensure adequate memory allocation for Binary::toBase64 (René) #59870
  • [396cc8ec65] - lib: update inspect output format for subclasses (Miguel Marcondes Filho) #59687
  • [fed1dac8de] - lib: update isDeepStrictEqual to support options (Miguel Marcondes Filho) #59762
  • [d785929fd7] - lib: add source map support for assert messages (Chengzhong Wu) #59751
  • [ff13d1d61e] - lib,src: cache ModuleWrap.hasAsyncGraph (Chengzhong Wu) #59703
  • [b200cd8470] - lib,src: refactor assert to load error source from memory (Chengzhong Wu) #59751
  • [e94c57301b] - meta: add .npmrc with ignore-scripts=true (Joyee Cheung) #59914
  • [728472a57b] - module: only put directly require-d ESM into require.cache (Joyee Cheung) #59874
  • [be48760b93] - node-api: added SharedArrayBuffer api (Mert Can Altin) #59071
  • [f006a14522] - node-api: make napi_delete_reference use node_api_basic_env (Jeetu Suthar) #59684
  • [0f46c1c3b0] - repl: fix cpu overhead pasting big strings to the REPL (Ruben Bridgewater) #59857
  • [3eeb7b47ea] - sqlite: fix crash session extension callbacks with workers (Bart Louwers) #59848
  • [0fe53375ec] - (SEMVER-MINOR)sqlite: cleanup ERM support and export Session class (James M Snell) #58378
  • [9a3e58a007] - (SEMVER-MINOR)sqlite: add tagged template (0hm☘️) #58748
  • [f14ed5ab7b] - src: simplify watchdog instantiations via std::optional (Anna Henningsen) #59960
  • [e330f03f84] - src: update crypto objects to use DictionaryTemplate (James M Snell) #59942
  • [69b5607cf4] - src: simplify is_callable by making it a concept (Tobias Nießen) #58169
  • [86150f3401] - src: rename private fields to follow naming convention (Moonki Choi) #59923
  • [d17f299539] - src: use DictionaryTemplate more in URLPattern (James M Snell) #59892
  • [ac784912ac] - src: reduce the nearest parent package JSON cache size (Michael Smith) #59888
  • [abecdcb536] - src: replace FIXED_ONE_BYTE_STRING with Environment-cached strings (Moonki Choi) #59891
  • [2bb152500b] - src: create strings in FIXED_ONE_BYTE_STRING as internalized (Anna Henningsen) #59826
  • [03116a7cd8] - src: remove std::array overload of FIXED_ONE_BYTE_STRING (Anna Henningsen) #59826
  • [8a5325d6e3] - src: ensure v8::Eternal is empty before setting it (Anna Henningsen) #59825
  • [f0c20ccd81] - src: remove unnecessary Environment::GetCurrent() calls (Moonki Choi) #59814
  • [213188e491] - stream: use new AsyncResource instead of bind (Matteo Collina) #59867
  • [ce8435b003] - test: testcase demonstrating issue 59541 (Eric Rannaud) #59801
  • [8f32746142] - test: guard write to proxy client if proxy connection is ended (Joyee Cheung) #59742
  • [6790093fcb] - tls: load bundled and extra certificates off-thread (Joyee Cheung) #59856
  • [f5d3f919d8] - tls: only do off-thread certificate loading on loading tls (Joyee Cheung) #59856
  • [87bbaa23a0] - tools: fix tools/make-v8.sh for clang (Richard Lau) #59893
  • [0d23fd525b] - tools: skip test-internet workflow for draft PRs (Michaël Zasso) #59817
  • [e17c73731a] - tools: copyedit build-tarball.yml (Antoine du Hamel) #59808
  • [97c4e1bac9] - typings: remove unused imports (Nam Yooseong) #59880
  • [8b29bbca76] - url: replaced slice with at (Mikhail) #59181
  • [6458867a6b] - url: add type checking to urlToHttpOptions() (simon-id) #59753
  • [3c62b3886f] - util: inspect objects with throwing Symbol.toStringTag (Ruben Bridgewater) #59860
  • [6133a82875] - util: fix debuglog.enabled not being present with callback logger (Ruben Bridgewater) #59858
  • [9347ddddf4] - vm: explain how to share promises between contexts w/ afterEvaluate (Eric Rannaud) #59801
  • [44ce971619] - vm: "afterEvaluate", evaluate() return a promise from the outer context (Eric Rannaud) #59801
  • [6e586a1409] - vm: expose hasTopLevelAwait on SourceTextModule (Chengzhong Wu) #59865
  • [49747a58a3] - (SEMVER-MINOR)worker: add heap profile API (theanarkh) #59846
  • [b970c0bbc2] - zlib: reduce code duplication (jhofstee) #57810
  • [9782ca2b1b] - zlib: implement fast path for crc32 (Gürgün Dayıoğlu) #59813

aduh95and others added 10 commits September 11, 2025 11:42
PR-URL: #59808 Refs: https://www.shellcheck.net/wiki/SC2006 Refs: https://www.shellcheck.net/wiki/SC2086 Reviewed-By: Tierney Cyren <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: #59809 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Tierney Cyren <[email protected]> Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: #59814 Reviewed-By: Chengzhong Wu <[email protected]> Reviewed-By: Gerhard Stöbich <[email protected]>
PR-URL: #59817 Reviewed-By: Chengzhong Wu <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Marco Ippolito <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Moshe Atlow <[email protected]>
The source code is available from V8 API and assert can avoid reading the source file from the filesystem and parse the file again. PR-URL: #59751 Reviewed-By: Marco Ippolito <[email protected]>
Map source lines in assert messages with cached source maps. PR-URL: #59751 Reviewed-By: Marco Ippolito <[email protected]>
`v8::Module::IsGraphAsync()` traverses the dependencies to find if they contain TLA each time. `ModuleWrap.hasAsyncGraph` caches the result and exposes the property to JS land so that the presence of the property `module.hasAsyncGraph` can be consistent. This also allows C++ access of cached `hasAsyncGraph`. This merges the `intantiateSync`/`instantiate` and `getNamespaceSync`/`getNamespace` as they are always sync. PR-URL: #59703 Reviewed-By: Joyee Cheung <[email protected]>
V8 does not check this for us, but this is a requirement of the API. PR-URL: #59825 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Chengzhong Wu <[email protected]> Reviewed-By: Juan José Arboleda <[email protected]>
PR-URL: #59830 Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Matthew Aitken <[email protected]> Reviewed-By: Rafael Gonzaga <[email protected]> Reviewed-By: Trivikram Kamat <[email protected]>
The description is updated to clarify that dynamic import() is asynchronous, dynamic, and works in both CJS and ESM contexts. The new phrasing also avoids implying it is the only method for loading ES modules in CommonJS. Fixes: #59077 PR-URL: #59224 Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Matteo Collina <[email protected]>
nodejs-github-bot added a commit that referenced this pull request Sep 24, 2025
Notable changes: http: * (SEMVER-MINOR) add shouldUpgradeCallback to let servers control HTTP upgrades (Tim Perry) #59824 sqlite: * (SEMVER-MINOR) cleanup ERM support and export Session class (James M Snell) #58378 * (SEMVER-MINOR) add tagged template (0hm☘️) #58748 src: * (SEMVER-MINOR) add an option to make compile cache portable (Aditi) #58797 worker: * (SEMVER-MINOR) add heap profile API (theanarkh) #59846 PR-URL: #59997
@github-actionsgithub-actionsbot added release Issues and PRs related to Node.js releases. v24.x Issues that can be reproduced on v24.x or PRs targeting the v24.x-staging branch. labels Sep 24, 2025
@nodejs-github-bot
Copy link
Collaborator

Review requested:

  • @nodejs/actions
  • @nodejs/crypto
  • @nodejs/gyp
  • @nodejs/performance
  • @nodejs/security-wg
  • @nodejs/tsc

LiviaMedeirosand others added 15 commits September 24, 2025 09:03
PR-URL: #59839 Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: #59753 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Bryan English <[email protected]>
PR-URL: #59836 Reviewed-By: Rafael Gonzaga <[email protected]> Reviewed-By: Daeyeon Jeong <[email protected]>
This avoids explicit calls to the user-mutable `%Promise.prototype%.catch`, and by association, implicit calls to the user-mutable `%Promise.prototype%.then`. PR-URL: #59841 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Jordan Harband <[email protected]> Reviewed-By: Filip Skokan <[email protected]>
These were intended to mimic simple async functions, but exceptions thrown in the function body would be returned synchronously, not wrapped in a rejected Promise. PR-URL: #59841 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Jordan Harband <[email protected]> Reviewed-By: Filip Skokan <[email protected]>
This offers _some_ resistance to `%Promise.prototype%` pollution. Refs: #59699 PR-URL: #59841 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Jordan Harband <[email protected]> Reviewed-By: Filip Skokan <[email protected]>
PR-URL: #59684 Refs: #59583 Reviewed-By: Chengzhong Wu <[email protected]> Reviewed-By: Vladimir Morozov <[email protected]>
This overload was only used in one place, in a cold path, and in particular in a place where the compiler would be able to generate the exact same code using just a call to `.size()`. PR-URL: #59826 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Juan José Arboleda <[email protected]> Reviewed-By: Gerhard Stöbich <[email protected]> Reviewed-By: Chengzhong Wu <[email protected]>
These string keys can generally be assumed to be long-lived. PR-URL: #59826 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Juan José Arboleda <[email protected]> Reviewed-By: Gerhard Stöbich <[email protected]> Reviewed-By: Chengzhong Wu <[email protected]>
PR-URL: #59851 Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Tobias Nießen <[email protected]> Reviewed-By: James M Snell <[email protected]>
Pasting input should not trigger any completions and other calculations. This is now handled by just writing the string to the terminal in case the user is pasting. As soon as pasting is done, the completions will be re-enabled. Fixes: #40626Fixes: #43343 PR-URL: #59857 Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: James M Snell <[email protected]>
The method returned by the callback is missing the .enabled property. This is added in a consistent way that it also verifies that it's a getter. Fixes: #56676 PR-URL: #59858 Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: James M Snell <[email protected]>
`util.inspect()` should handle all kinds of input, even if it is not well defined. Throwing is something that is meant to be worked around in all known cases. This fixes issues inspecting objects where accessing the Symbol.toStringTag would cause an error. The symbol is just ignored in that case. Refs: #55539 Refs: #55544 PR-URL: #59860 Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: James M Snell <[email protected]>
`outgoingMessage.setHeader` and `outgoingMessage.getHeader` section PR-URL: #58189 Reviewed-By: Ethan Arrowood <[email protected]> Reviewed-By: Ruben Bridgewater <[email protected]>
PR-URL: #59181 Reviewed-By: Jordan Harband <[email protected]> Reviewed-By: Zeyu "Alex" Yang <[email protected]> Reviewed-By: Daniel Lemire <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Ruben Bridgewater <[email protected]>
tniessenand others added 4 commits September 24, 2025 09:03
PR-URL: #59954 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Ulises Gascón <[email protected]> Reviewed-By: Trivikram Kamat <[email protected]>
Update sqlite Session to support Symbol.dispose and move the definition of the dispose methods to c++ to close the open TODO PR-URL: #58378 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]>
PR-URL: #59848 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Zeyu "Alex" Yang <[email protected]> Reviewed-By: Edy Silva <[email protected]>
Notable changes: http: * (SEMVER-MINOR) add shouldUpgradeCallback to let servers control HTTP upgrades (Tim Perry) #59824 sqlite: * (SEMVER-MINOR) cleanup ERM support and export Session class (James M Snell) #58378 * (SEMVER-MINOR) add tagged template (0hm☘️) #58748 worker: * (SEMVER-MINOR) add heap profile API (theanarkh) #59846 PR-URL: #59997
@targostargos marked this pull request as ready for review September 24, 2025 07:10
@targostargos added the request-ci Add this label to start a Jenkins CI on a PR. label Sep 24, 2025
@targos
Copy link
Member

@github-actionsgithub-actionsbot removed the request-ci Add this label to start a Jenkins CI on a PR. label Sep 24, 2025
@nodejs-github-bot
Copy link
Collaborator

@codecov
Copy link

codecovbot commented Sep 24, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 89.42%. Comparing base (f9ec1b6) to head (31c6e70).
⚠️ Report is 75 commits behind head on v24.x.

Additional details and impacted files
@@ Coverage Diff @@## v24.x #59997 +/- ## ========================================== - Coverage 90.03% 89.42% -0.61%  ========================================== Files 661 663 +2 Lines 197565 198291 +726 Branches 38614 38635 +21 ========================================== - Hits 177871 177325 -546 - Misses 12095 13291 +1196 - Partials 7599 7675 +76 

see 163 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.

@nodejs-github-bot
Copy link
Collaborator

@targos
Copy link
Member

@nodejs/releasers given the results in https://ci.nodejs.org/job/node-test-commit-osx/66924/#showFailuresLink and the current macOS CI issues, do you agree to release with a red macOS CI?

@targos
Copy link
Member

Release 📦: https://ci-release.nodejs.org/job/iojs+release/11275/

@RafaelGSS
Copy link
Member

@nodejs/releasers given the results in https://ci.nodejs.org/job/node-test-commit-osx/66924/#showFailuresLink and the current macOS CI issues, do you agree to release with a red macOS CI?

+1

Those tests have been passed on different OSX environments, so it's reasonable.

@richardlau
Copy link
Member

@nodejs/releasers given the results in https://ci.nodejs.org/job/node-test-commit-osx/66924/#showFailuresLink and the current macOS CI issues, do you agree to release with a red macOS CI?

+1 from me

@targostargos merged commit 31c6e70 into v24.xSep 25, 2025
72 of 75 checks passed
@targostargos deleted the v24.9.0-proposal branch September 25, 2025 19:38
targos added a commit that referenced this pull request Sep 25, 2025
targos pushed a commit that referenced this pull request Sep 25, 2025
Notable changes: http: * (SEMVER-MINOR) add shouldUpgradeCallback to let servers control HTTP upgrades (Tim Perry) #59824 sqlite: * (SEMVER-MINOR) cleanup ERM support and export Session class (James M Snell) #58378 * (SEMVER-MINOR) add tagged template (0hm☘️) #58748 worker: * (SEMVER-MINOR) add heap profile API (theanarkh) #59846 PR-URL: #59997
targos added a commit to targos/nodejs.org that referenced this pull request Sep 25, 2025
github-merge-queuebot pushed a commit to nodejs/nodejs.org that referenced this pull request Sep 25, 2025
@MikeMcC399
Copy link
Contributor

@targos

https://nodejs.org/download/release/latest/ is still showing Node.js 24.8.0 as latest.

Will this correct itself or should I open a separate issue?

@targos
Copy link
Member

mmh I'm not sure. It's supposed to happen automatically quickly after the release. @nodejs/web-infra

@MikeMcC399
Copy link
Contributor

@targos

It's supposed to happen automatically quickly after the release. @nodejs/web-infra

It's also my experience that it happens automatically. I don't have access to @nodejs/web-infra so I presume it's a private repo. Please let me know if I should post elsewhere, otherwise I will hang back and wait. Thanks!

@ovflowd
Copy link
Member

Thanks for flagging, GHA runner settings changed, causing the runs to failure on promotion: https://github.com/nodejs/release-cloudflare-worker/actions/runs/18024267556

@ovflowd
Copy link
Member

Fixed: nodejs/release-cloudflare-worker#605

@MikeMcC399
Copy link
Contributor

@ovflowd Thanks for fixing! Looks good from where I am viewing as well. 🙂

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

Labels

releaseIssues and PRs related to Node.js releases.v24.xIssues that can be reproduced on v24.x or PRs targeting the v24.x-staging branch.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

20 participants

@nodejs-github-bot@targos@RafaelGSS@richardlau@MikeMcC399@ovflowd@Norhaidah89@raifim511-afk@anaspershina07-ux@aduh95@iknoom@legendecas@addaleax@meteorqz6@LiviaMedeiros@simon-id@Renegade334@JeetuSuthar@panva@BridgeAR