Skip to content

2025-05-21, Version 22.16.0 'Jod' (LTS), @aduh95

Compare
Choose a tag to compare
@aduh95 aduh95 released this 21 May 15:34
· 3257 commits to main since this release
v22.16.0
9774069

Notable Changes

  • [c3ceaebb7a] - deps: update timezone to 2025b (Node.js GitHub Bot) #57857
  • [5059a746ec] - doc: add dario-piotrowicz to collaborators (Dario Piotrowicz) #58102
  • [c8ceaaf397] - (SEMVER-MINOR) doc: graduate multiple experimental apis (James M Snell) #57765
  • [e21b37d9df] - (SEMVER-MINOR) esm: graduate import.meta properties (James M Snell) #58011
  • [832640c35e] - (SEMVER-MINOR) esm: support top-level Wasm without package type (Guy Bedford) #57610
  • [c510391d2f] - (SEMVER-MINOR) sqlite: add StatementSync.prototype.columns() (Colin Ihrig) #57490
  • [5d1230bec0] - (SEMVER-MINOR) src: set default config as node.config.json (Marco Ippolito) #57171
  • [30bb1ccbb0] - (SEMVER-MINOR) src: create THROW_ERR_OPTIONS_BEFORE_BOOTSTRAPPING (Marco Ippolito) #57016
  • [0350c6f478] - (SEMVER-MINOR) src: add config file support (Marco Ippolito) #57016
  • [e1d3a9e192] - (SEMVER-MINOR) src: add ExecutionAsyncId getter for any Context (Attila Szegedi) #57820
  • [0ec912f452] - (SEMVER-MINOR) stream: preserve AsyncLocalStorage context in finished() (Gürgün Dayıoğlu) #57865
  • [43490c8797] - (SEMVER-MINOR) util: add types.isFloat16Array() (Livia Medeiros) #57879
  • [dda6ca9172] - (SEMVER-MINOR) worker: add worker.getHeapStatistics() (Matteo Collina) #57888

Commits

  • [4252dc798c] - assert: support Float16Array in loose deep equality checks (Livia Medeiros) #57881
  • [1c7396b078] - assert,util: fix constructor lookup in deep equal comparison (Ruben Bridgewater) #57876
  • [1ded5f25c8] - assert,util: improve deep object comparison performance (Ruben Bridgewater) #57648
  • [696b5f85ca] - assert,util: improve unequal number comparison performance (Ruben Bridgewater) #57619
  • [775ee4d40f] - assert,util: improve array comparison (Ruben Bridgewater) #57619
  • [3766992ba4] - benchmark: add sqlite prepare select get (Vinícius Lourenço) #58040
  • [8390276be3] - benchmark: add sqlite prepare select all (Vinícius Lourenço) #58040
  • [6a9b79e5c1] - benchmark: add sqlite is transaction (Vinícius Lourenço) #58040
  • [f689f98344] - benchmark: add sqlite prepare insert (Vinícius Lourenço) #58040
  • [14a82804d7] - benchmark: disambiguate filename and dirname read perf (Antoine du Hamel) #58056
  • [e7e8256d35] - buffer: avoid creating unnecessary environment (Yagiz Nizipli) #58053
  • [d7d8e8e994] - buffer: define global v8::CFunction objects as const (Mert Can Altin) #57676
  • [f37633e85a] - build: use $(BUILDTYPE) when cleaning coverage files (Aviv Keller) #57995
  • [e5bf67fe77] - build: define python when generating out/Makefile (Aviv Keller) #57970
  • [718f874ae0] - build: fix zstd libname (Antoine du Hamel) #57999
  • [53c5fdcae1] - crypto: fix cross-realm SharedArrayBuffer validation (Antoine du Hamel) #57974
  • [78f4ffee5d] - crypto: fix cross-realm check of ArrayBuffer (Felipe Forbeck) #57828
  • [f606352b63] - crypto: forbid passing Float16Array to getRandomValues() (Livia Medeiros) #57880
  • [23c4e941c2] - crypto: remove BoringSSL dh-primes addition (Shelley Vohr) #57023
  • [8339d9bc14] - deps: V8: cherry-pick f915fa4c9f41 (Chengzhong Wu) #55484
  • [c2111dd126] - deps: V8: backport e5dbbbadcbff (Darshan Sen) #58120
  • [4cc49be951] - deps: update zstd to 1.5.7 (Node.js GitHub Bot) #57940
  • [c956d37c84] - deps: update zlib to 1.3.0.1-motley-780819f (Node.js GitHub Bot) #57768
  • [c3ceaebb7a] - deps: update timezone to 2025b (Node.js GitHub Bot) #57857
  • [b5cd0eb590] - deps: update simdutf to 6.4.2 (Node.js GitHub Bot) #57855
  • [3eb6b814e9] - deps: update simdutf to 6.4.0 (Node.js GitHub Bot) #56764
  • [0be9fa3218] - deps: update icu to 77.1 (Node.js GitHub Bot) #57455
  • [d5cf4254fb] - doc: add HBSPS as triager (Wiyeong Seo) #57980
  • [ad0861dba0] - doc: add ambassaor message (Brian Muenzenmeyer) #57600
  • [0d3ec1aafe] - doc: fix misaligned options in vm.compileFunction() (Jimmy Leung) #58145
  • [1f70baf3b0] - doc: add missing options.signal to readlinePromises.createInterface() (Jimmy Leung) #55456
  • [ec6a48621f] - doc: fix typo of file zlib.md (yusheng chen) #58093
  • [37e360e386] - doc: make stability labels more consistent (Antoine du Hamel) #57516
  • [2b5d63d36e] - doc: allow the $schema property in node.config.json (Remco Haszing) #57560
  • [a2063638e2] - doc: fix AsyncLocalStorage example response changes after node v18 (Naor Tedgi (Abu Emma)) #57969
  • [474c2b14c3] - doc: mark Node.js 18 as End-of-Life (Richard Lau) #58084
  • [5059a746ec] - doc: add dario-piotrowicz to collaborators (Dario Piotrowicz) #58102
  • [1eec170fc3] - doc: fix formatting of import.meta.filename section (Antoine du Hamel) #58079
  • [7f108de525] - doc: fix env variable name in util.styleText (Antoine du Hamel) #58072
  • [54b3f7fffc] - doc: add returns for https.get (Eng Zer Jun) #58025
  • [66f2c605a8] - doc: fix typo in buffer.md (chocolateboy) #58052
  • [b0256dd42b] - doc: correct deprecation type of assert.CallTracker (René) #57997
  • [581439c9e6] - doc: mark devtools integration section as active development (Chengzhong Wu) #57886
  • [a2a2a2f027] - doc: fix typo in module.md (Alex Schwartz) #57889
  • [c0ec4e2935] - doc: increase z-index of header element (Dario Piotrowicz) #57851
  • [93d19ec6cd] - doc: add missing TS formats for load hooks (Antoine du Hamel) #57837
  • [f5ea06c61f] - doc: clarify the multi REPL example (Dario Piotrowicz) #57759
  • [80c4fe1b70] - doc: fix deprecation type for DEP0148 (Livia Medeiros) #57785
  • [01cad99da0] - doc: list DOMException as a potential error raised by Node.js (Chengzhong Wu) #57783
  • [a08b714a46] - doc: add missing v0.x changelog entries (Antoine du Hamel) #57779
  • [d0b48350fd] - doc: fix typo in writing-docs (Sebastian Beltran) #57776
  • [bde3725f8b] - doc: clarify examples section in REPL doc (Dario Piotrowicz) #57762
  • [c8ceaaf397] - (SEMVER-MINOR) doc: graduate multiple experimental apis (James M Snell) #57765
  • [92428c2609] - doc: explicitly state that corepack will be removed in v25+ (Trivikram Kamat) #57747
  • [298969e1dd] - doc: update position type to integer | null in fs (Yukihiro Hasegawa) #57745
  • [a9d28e27c9] - doc: update CI instructions (Antoine du Hamel) #57743
  • [133d2878a1] - doc: update example of using await in REPL (Dario Piotrowicz) #57653
  • [fc5f126629] - doc: add back mention of visa fees to onboarding doc (Darshan Sen) #57730
  • [945f4ac538] - doc: process.execve is only unavailable for Windows (Yaksh Bariya) #57726
  • [f3b885bb5e] - doc: clarify unhandledRejection events behaviors in process doc (Dario Piotrowicz) #57654
  • [7326dda5b0] - doc: improved fetch docs (Alessandro Miliucci) #57296
  • [6906c5eb1f] - doc: document REPL custom eval arguments (Dario Piotrowicz) #57690
  • [47a7564e8f] - doc: classify Chrome DevTools Protocol as tier 2 (Chengzhong Wu) #57634
  • [e274cc1310] - doc: replace NOTE that does not render properly (Colin Ihrig) #57484
  • [bef06b11df] - esm: avoid import.meta setup costs for unused properties (Antoine du Hamel) #57286
  • [e21b37d9df] - (SEMVER-MINOR) esm: graduate import.meta properties (James M Snell) #58011
  • [832640c35e] - (SEMVER-MINOR) esm: support top-level Wasm without package type (Guy Bedford) #57610
  • [8f643471ef] - fs: improve globSync performance (Rich Trott) #57725
  • [bf9e17ecc6] - http2: use args.This() instead of args.Holder() (Joyee Cheung) #58004
  • [137717354f] - http2: fix graceful session close (Kushagra Pandey) #57808
  • [9baf580269] - http2: fix check for frame->hd.type (hanguanqiang) #57644
  • [b8189242b2] - http2: skip writeHead if stream is closed (Shima Ryuhei) #57686
  • [4e02a1650a] - lib: remove unused file fetch_module (Michaël Zasso) #55880
  • [d9700fef26] - lib: avoid StackOverflow on serializeError (Chengzhong Wu) #58075
  • [f3a16b6d9c] - lib: resolve the issue of not adhering to the specified buffer size (0hm☘️🏳️‍⚧️) #55896
  • [d4fc282f73] - lib: fix AbortSignal.any() with timeout signals (Gürgün Dayıoğlu) #57867
  • [f7e2902861] - lib: use Map primordial for ActiveAsyncContextFrame (Gürgün Dayıoğlu) #57670
  • [8652b0e168] - meta: set nodejs/config as codeowner (Marco Ippolito) #57237
  • [e98504ed95] - meta: allow penetration testing on live system with prior authorization (Matteo Collina) #57966
  • [340731bea0] - meta: fix subsystem in commit title (Luigi Pinca) #57945
  • [d767cbffcf] - meta: bump Mozilla-Actions/sccache-action from 0.0.8 to 0.0.9 (dependabot[bot]) #57720
  • [575f904b13] - meta: bump actions/download-artifact from 4.1.9 to 4.2.1 (dependabot[bot]) #57719
  • [acd323c069] - meta: bump actions/setup-python from 5.4.0 to 5.5.0 (dependabot[bot]) #57718
  • [21246fec20] - meta: bump peter-evans/create-pull-request from 7.0.7 to 7.0.8 (dependabot[bot]) #57717
  • [97f32d5849] - meta: bump github/codeql-action from 3.28.10 to 3.28.13 (dependabot[bot]) #57716
  • [90ddbb8cfa] - meta: bump actions/cache from 4.2.2 to 4.2.3 (dependabot[bot]) #57715
  • [728425d03e] - meta: bump actions/setup-node from 4.2.0 to 4.3.0 (dependabot[bot]) #57714
  • [1f799140e0] - meta: bump actions/upload-artifact from 4.6.1 to 4.6.2 (dependabot[bot]) #57713
  • [021b174a1f] - module: tidy code string concat → string templates (Jacob Smith) #55820
  • [44c5718476] - module: fix incorrect formatting in require(esm) cycle error message (haykam821) #57453
  • [bb09b4d4ae] - module: improve getPackageType performance (Dario Piotrowicz) #57599
  • [9e6054e715] - module: remove unnecessary readPackage function (Dario Piotrowicz) #57596
  • [4a8db273ba] - node-api: add nested object wrap and napi_ref test (Chengzhong Wu) #57981
  • [3c65058f20] - node-api: convert NewEnv to node_napi_env__::New (Vladimir Morozov) #57834
  • [a4105db1f7] - os: fix netmask format check condition in getCIDR function (Wiyeong Seo) #57324
  • [248c938139] - process: disable building execve on IBM i (Abdirahim Musse) #57883
  • [972275697a] - repl: deprecate repl.builtinModules (Dario Piotrowicz) #57508
  • [7485309d7e] - sqlite: add location method (Edy Silva) #57860
  • [c12cd2a190] - sqlite: add timeout options to DatabaseSync (Edy Silva) #57752
  • [5e0503a967] - sqlite: add setReturnArrays method to StatementSync (Gürgün Dayıoğlu) #57542
  • [ed9d2fd51a] - sqlite: enable common flags (Edy Silva) #57621
  • [06dcb318bc] - sqlite: refactor prepared statement iterator (Colin Ihrig) #57569
  • [c510391d2f] - (SEMVER-MINOR) sqlite: add StatementSync.prototype.columns() (Colin Ihrig) #57490
  • [4e24456a1a] - sqlite: reset statement immediately in run() (Colin Ihrig) #57350
  • [a9a6891b0b] - sqlite: fix coverity warnings related to backup() (Colin Ihrig) #56961
  • [d2e1bcf3d4] - sqlite: fix use-after-free in StatementSync due to premature GC (Divy Srivastava) #56840
  • [cfe15ca7b4] - sqlite: handle conflicting SQLite and JS errors (Colin Ihrig) #56787
  • [0e999eb65f] - sqlite: add getter to detect transactions (Colin Ihrig) #57925
  • [20b27331c0] - sqlite, test: expose sqlite online backup api (Edy Silva) #56253
  • [8856712171] - sqlite,doc,test: add aggregate function (Edy Silva) #56600
  • [120050db97] - sqlite,src: refactor sqlite value conversion (Edy Silva) #57571
  • [4c5555d558] - src: initialize privateSymbols for per_context (Jason Zhang) #57479
  • [d2ce9023b1] - src: ensure primordials are initialized exactly once (Chengzhong Wu) #57519
  • [06179be6ca] - src: disable abseil deadlock detection (Chengzhong Wu) #57582
  • [5121c47990] - src: fix node_config_file.h compilation error in GN build (Cheng) #57210
  • [5d1230bec0] - (SEMVER-MINOR) src: set default config as node.config.json (Marco Ippolito) #57171
  • [ccee741c43] - src: namespace config file flags (Marco Ippolito) #57170
  • [30bb1ccbb0] - (SEMVER-MINOR) src: create THROW_ERR_OPTIONS_BEFORE_BOOTSTRAPPING (Marco Ippolito) #57016
  • [0350c6f478] - (SEMVER-MINOR) src: add config file support (Marco Ippolito) #57016
  • [eef37d00cb] - src: add more debug logs and comments in NodePlatform (Joyee Cheung) #58047
  • [678e8f57c0] - src: add dcheck_eq for Object::New constructor calls (Jonas) #57943
  • [aee45e2036] - src: move windows specific fns to _WIN32 (Yagiz Nizipli) #57951
  • [6206a8edbc] - src: improve thread safety of TaskQueue (Shelley Vohr) #57910
  • [03936f31c1] - src: fixup errorhandling more in various places (James M Snell) #57852
  • [010dd91a19] - src: fix typo in comments (Edy Silva) #57868
  • [e00c1ecbd2] - src: add BaseObjectPtr nullptr operations (Chengzhong Wu) #56585
  • [648ad252e1] - src: remove void* -> char* -> void* casts (Tobias Nießen) #57791
  • [680b434a62] - src: improve error handing in node_messaging (James M Snell) #57760
  • [18f5301747] - src: remove unused detachArrayBuffer method (Yagiz Nizipli) #58055
  • [065e8cd670] - src: use macros to reduce code duplication is cares_wrap (James M Snell) #57937
  • [39af5d678f] - src: improve error handling in cares_wrap (James M Snell) #57937
  • [ca020fdc4e] - src: fix -Wunreachable-code-return in node_sea (Shelley Vohr) #57664
  • [32b6e7094a] - src: change DCHECK to CHECK (Wuli Zuo) #57948
  • [e1d3a9e192] - (SEMVER-MINOR) src: add ExecutionAsyncId getter for any Context (Attila Szegedi) #57820
  • [96243a723a] - src: update std::vector<v8::Local<T>> to use v8::LocalVector<T> (Aditi) #57646
  • [0f2cbc17c7] - src: update std::vector<v8::Local<T>> to use v8::LocalVector<T> (Aditi) #57642
  • [d1c6f861d5] - src: update std::vector<v8::Local<T>> to use v8::LocalVector<T> (Aditi) #57578
  • [ab0d3a38db] - src: improve error message for invalid child stdio type in spawn_sync (Dario Piotrowicz) #57589
  • [24b182e7b3] - src: implement util.types fast API calls (Ruben Bridgewater) #57819
  • [dda6423be9] - src: enter and lock isolate properly in json parser (Joyee Cheung) #57823
  • [4754c693f8] - src: improve error handling in node_env_var.cc (Antoine du Hamel) #57767
  • [db483bbe63] - src: improve error handling in node_http2 (James M Snell) #57764
  • [b0277700d6] - src: improve error handling in crypto_x509 (James M Snell) #57757
  • [353587f984] - src: improve error handling in callback.cc (James M Snell) #57758
  • [bec053ab20] - src: remove unused variable in crypto_x509.cc (Michaël Zasso) #57754
  • [38a329a857] - src: fix kill signal 0 on Windows (Stefan Stojanovic) #57695
  • [70bb387f82] - src: fix inefficient usage of v8_inspector::StringView (Simon Zünd) #52372
  • [be038f0273] - src,permission: make ERR_ACCESS_DENIED more descriptive (Rafael Gonzaga) #57585
  • [0ec912f452] - (SEMVER-MINOR) stream: preserve AsyncLocalStorage context in finished() (Gürgün Dayıoğlu) #57865
  • [6ffb66f82f] - test: fix permission fixtures lint (Rafael Gonzaga) #55819
  • [fd37891186] - test: add repl preview timeout test (Chengzhong Wu) #55484
  • [1be5a8c1b4] - test: skip test-config-json-schema with quic (Richard Lau) #57225
  • [e90583b657] - test: add more coverage to node_config_file (Marco Ippolito) #57170
  • [df2a36bfcc] - test: remove deadlock workaround (Joyee Cheung) #58047
  • [103034b051] - test: prevent extraneous HOSTNAME substitution in test-runner-output (René) #58076
  • [3e58f81a38] - test: update WPT for WebCryptoAPI to b48efd681e (Node.js GitHub Bot) #58044
  • [2f4e4164a3] - test: add missing newlines to repl .exit writes (Dario Piotrowicz) #58041
  • [b40769292e] - test: add fast api tests for getLibuvNow() (Yagiz Nizipli) #58022
  • [cbd5768d47] - test: add ALS test using http agent keep alive (Gerhard Stöbich) #58017
  • [9e31ab502a] - test: deflake test-http2-options-max-headers-block-length (Luigi Pinca) #57959
  • [13f8f9cc12] - test: rename to getCallSites (Wuli Zuo) #57948
  • [92dce6ed6b] - test: force GC in test-file-write-stream4 (Luigi Pinca) #57930
  • [aa755d3acf] - test: enable skipped colorize test (Shima Ryuhei) #57887
  • [331f44c78c] - test: update WPT for WebCryptoAPI to 164426ace2 (Node.js GitHub Bot) #57854
  • [4aaa8438b4] - test: add test for frame count being 0.5 (Jake Yuesong Li) #57732
  • [fb51d3a0c5] - test: fix the decimal fractions explaination (Jake Yuesong Li) #57732
  • [c6a45a9087] - Revert "test: add tests for REPL custom evals" (Tobias Nießen) #57793
  • [f3a4d03963] - test: add tests for REPL custom evals (Dario Piotrowicz) #57691
  • [a3be0df337] - test: update expected error message for macOS (Antoine du Hamel) #57742
  • [a7e73a0a74] - test: fix dangling promise in test_runner no isolation test setup (Jacob Smith) #57595
  • [edb7dd1ec7] - test_runner: match minimum file column to 'all files' (Shima Ryuhei) #57848
  • [c56f495e83] - tools: extract target abseil to abseil.gyp (Chengzhong Wu) #57289
  • [1b37161a27] - tools: ignore V8 tests in CodeQL scans (Rich Trott) #58081
  • [23386308dd] - tools: enable CodeQL config file (Rich Trott) #58036
  • [9c21abc169] - tools: ignore test directory in CodeQL scans (Rich Trott) #57978
  • [f210a1530d] - tools: add semver-major release support to release-lint (Antoine du Hamel) #57892
  • [234c417e98] - tools: add codeql nightly (Rafael Gonzaga) #57788
  • [938f1532da] - tools: edit create-release-proposal workflow to handle pr body length (Elves Vieira) #57841
  • [b362339f72] - tools: add zstd updater to workflow (KASEYA\yahor.siarheyenka) #57831
  • [61180db9c0] - tools: remove unused osx-pkg-postinstall.sh (Antoine du Hamel) #57667
  • [3ae04c94eb] - tools: do not use temp files when merging PRs (Antoine du Hamel) #57790
  • [d623c2c2b4] - tools: update gyp-next to 0.20.0 (Node.js GitHub Bot) #57683
  • [43ea4c532a] - tools: bump the eslint group in /tools/eslint with 4 updates (dependabot[bot]) #57721
  • [5703147470] - tools: enable linter in test/fixtures/source-map/output (Antoine du Hamel) #57700
  • [80d58c372d] - tools: enable linter in test/fixtures/errors (Antoine du Hamel) #57701
  • [ef5275b7be] - tools: enable linter in test/fixtures/test-runner/output (Antoine du Hamel) #57698
  • [631733e41f] - tools: enable linter in test/fixtures/eval (Antoine du Hamel) #57699
  • [6d0128695f] - tools: enable linter on some fixtures file (Antoine du Hamel) #57674
  • [f4d7cbae89] - tools: update ESLint to 9.23 (Antoine du Hamel) #57673
  • [5a39a24cd1] - typings: fix ModulesBinding types (Antoine du Hamel) #55549
  • [2df7ce9ebd] - util: fix parseEnv handling of invalid lines (Augustin Mauroy) #57798
  • [416052a9f2] - util: fix formatting of objects with built-in Symbol.toPrimitive (Shima Ryuhei) #57832
  • [43490c8797] - (SEMVER-MINOR) util: add types.isFloat16Array() (Livia Medeiros) #57879
  • [30060e13d3] - util: preserve length of deprecated functions (Livia Medeiros) #57806
  • [9837e08a84] - util: fix parseEnv incorrectly splitting multiple ‘=‘ in value (HEESEUNG) #57421
  • [af41dd3c07] - watch: clarify completion/failure watch mode messages (Dario Piotrowicz) #57926
  • [7229a29b47] - watch: check parent and child path properly (Jason Zhang) #57425
  • [1b5a7c6dc8] - win: fix SIGQUIT on ClangCL (Stefan Stojanovic) #57659
  • [e935c3c6f2] - worker: add ESM version examples to worker docs (fisker Cheung) #57645
  • [dda6ca9172] - (SEMVER-MINOR) worker: add worker.getHeapStatistics() (Matteo Collina) #57888
  • [f2159f2a44] - zlib: fix pointer alignment (jhofstee) #57727