Skip to content

Node.js 22.22.1 (LTS)

Marco Ippolito

2026-03-05, Version 22.22.1 'Jod' (LTS), @marco-ippolito prepared by @aduh95

Notable Changes

  • [7b93a65f27] - build: test on Python 3.14 (Christian Clauss) #59983
  • [6063d888fe] - cli: mark --heapsnapshot-near-heap-limit as stable (Joyee Cheung) #60956
  • [d950b151a2] - crypto: update root certificates to NSS 3.119 (Node.js GitHub Bot) #61419
  • [4f42f8c428] - crypto: update root certificates to NSS 3.117 (Node.js GitHub Bot) #60741
  • [b6ebf2cd53] - doc: add avivkeller to collaborators (Aviv Keller) #61115
  • [35854f424d] - doc: add gurgunday to collaborators (Gürgün Dayıoğlu) #61094
  • [5c6a076e5d] - meta: add Renegade334 to collaborators (Renegade334) #60714

Commits

  • [5f773488c2] - assert: use a set instead of an array for faster lookup (Ruben Bridgewater) #61076
  • [feecbb0eab] - assert,util: fix deep comparison for sets and maps with mixed types (Ruben Bridgewater) #61388
  • [096095b127] - benchmark: add SQLite benchmarks (Guilherme Araújo) #61401
  • [b5fe481415] - benchmark: use boolean options in benchmark tests (SeokhunEom) #60129
  • [fa9faacacb] - benchmark: allow boolean option values (SeokhunEom) #60129
  • [ba8714ac21] - benchmark: fix incorrect base64 input in byteLength benchmark (semimikoh) #60841
  • [53596de876] - benchmark: use typescript for import cjs benchmark (Joyee Cheung) #60663
  • [e8930e9d7c] - benchmark: focus on import.meta intialization in import-meta benchmark (Joyee Cheung) #60603
  • [1155e412b1] - benchmark: add per-suite setup option (Joyee Cheung) #60574
  • [e01903d304] - benchmark: improve cpu.sh for safety and usability (Nam Yooseong) #60162
  • [623a405747] - benchmark: add benchmark for leaf source text modules (Joyee Cheung) #60205
  • [7f5e7b9f7f] - benchmark: add microbench on isInsideNodeModules (Chengzhong Wu) #60991
  • [db132b85a8] - bootstrap: initialize http proxy after user module loader setup (Joyee Cheung) #58938
  • [66aab9f987] - buffer: let Buffer.of use heap (Сковорода Никита Андреевич) #60503
  • [c3cf00c671] - buffer: speed up concat via TypedArray#set (Gürgün Dayıoğlu) #60399
  • [f6fad231e9] - build: skip sscache action on non-main branches (Joyee Cheung) #61790
  • [2145f91f6b] - build: update android-patches/trap-handler.h.patch (Mo Luo) #60369
  • [5b49759dd8] - build: update devcontainer.json to use paired nix env (Joyee Cheung) #61414
  • [24724cde40] - build: fix misplaced comma in ldflags (hqzing) #61294
  • [c57a19934e] - build: fix crate vendor file checksums on windows (Chengzhong Wu) #61329
  • [8659d7cd07] - build: fix inconsistent quoting in Makefile (Antoine du Hamel) #60511
  • [44f339b315] - build: remove temporal updater (Chengzhong Wu) #61151
  • [d60a6cebd5] - build: update test-wpt-report to use NODE instead of OUT_NODE (Filip Skokan) #61024
  • [34ccf187f5] - build: skip build-ci on actions with a separate test step (Chengzhong Wu) #61073
  • [7b19e101a2] - build: run embedtest with node_g when BUILDTYPE=Debug (Chengzhong Wu) #60850
  • [9408c4459f] - build: upgrade Python linter ruff, add rules ASYNC,PERF (Christian Clauss) #59984
  • [2166ec7f0f] - build: use call command when calling python configure (Jacob Nichols) #60098
  • [73ef70145d] - build: remove V8_COMPRESS_POINTERS_IN_ISOLATE_CAGE defs (Joyee Cheung) #60296
  • [7b93a65f27] - build: test on Python 3.14 (Christian Clauss) #59983
  • [508ce6ec6c] - build, src: fix include paths for vtune files (Rahul) #59999
  • [c89d3cd570] - build,tools: fix addon build deadlock on errors (Vladimir Morozov) #61321
  • [40904a0591] - build,win: update WinGet configurations to Python 3.14 (Mike McCready) #61431
  • [6d6742e7db] - child_process: treat ipc length header as unsigned uint32 (Ryuhei Shima) #61344
  • [6063d888fe] - cli: mark --heapsnapshot-near-heap-limit as stable (Joyee Cheung) #60956
  • [3d324a0f88] - cluster: fix port reuse between cluster (Ryuhei Shima) #60141
  • [40a58709b4] - console: optimize single-string logging (Gürgün Dayıoğlu) #60422
  • [d950b151a2] - crypto: update root certificates to NSS 3.119 (Node.js GitHub Bot) #61419
  • [4f42f8c428] - crypto: update root certificates to NSS 3.117 (Node.js GitHub Bot) #60741
  • [a87499ae25] - crypto: ensure documented RSA-PSS saltLength default is used (Filip Skokan) #60662
  • [8c65cc11e2] - crypto: update root certificates to NSS 3.116 (Node.js GitHub Bot) #59956
  • [91dc00a2c1] - debugger: fix event listener leak in the run command (Joyee Cheung) #60464
  • [bfc2b55c5a] - deps: update minimatch to 10.2.4 (Node.js GitHub Bot) #62016
  • [7d318a0ba8] - deps: update minimatch to 10.2.2 (Node.js GitHub Bot) #61830
  • [87351a42b5] - deps: update minimatch to 10.1.2 (Node.js GitHub Bot) #61732
  • [0781bd3764] - deps: V8: backport 6a0a25abaed3 (Vivian Wang) #61688
  • [0cf1f9c3e9] - deps: update googletest to 85087857ad10bd407cd6ed2f52f7ea9752db621f (Node.js GitHub Bot) #61417
  • [521b4b1f07] - deps: update sqlite to 3.51.2 (Node.js GitHub Bot) #61339
  • [58b9d219a3] - deps: update icu to 78.2 (Node.js GitHub Bot) #60523
  • [cbc1e4306d] - deps: update zlib to 1.3.1-e00f703 (Node.js GitHub Bot) #61135
  • [db59c35ed8] - deps: update cjs-module-lexer to 2.2.0 (Node.js GitHub Bot) #61271
  • [c18518ee3c] - deps: update nbytes to 0.1.2 (Node.js GitHub Bot) #61270
  • [376df62d63] - deps: update timezone to 2025c (Node.js GitHub Bot) #61138
  • [993e905302] - deps: update simdjson to 4.2.4 (Node.js GitHub Bot) #61056
  • [b72fd2a5d3] - deps: update googletest to 065127f1e4b46c5f14fc73cf8d323c221f9dc68e (Node.js GitHub Bot) #61055
  • [d765147405] - deps: update sqlite to 3.51.1 (Node.js GitHub Bot) #60899
  • [37abe2a7d2] - deps: update zlib to 1.3.1-63d7e16 (Node.js GitHub Bot) #60898
  • [97241fcb86] - deps: update sqlite to 3.51.0 (Node.js GitHub Bot) #60614
  • [3669c7b4f4] - deps: update simdjson to 4.2.2 (Node.js GitHub Bot) #60740
  • [9a056ec89c] - deps: update googletest to 1b96fa13f549387b7549cc89e1a785cf143a1a50 (Node.js GitHub Bot) #60739
  • [b5803b3ea0] - deps: update minimatch to 10.1.1 (Node.js GitHub Bot) #60543
  • [5bf99f3d46] - deps: update cjs-module-lexer to 2.1.1 (Node.js GitHub Bot) #60646
  • [801f187357] - deps: update simdjson to 4.2.1 (Node.js GitHub Bot) #60644
  • [03c16e5a4c] - deps: update simdjson to 4.1.0 (Node.js GitHub Bot) #60542
  • [2ebfc2ca56] - deps: update amaro to 1.1.5 (Node.js GitHub Bot) #60541
  • [d24ba4fed6] - deps: update simdjson to 4.0.7 (Node.js GitHub Bot) #59883
  • [9480a139bf] - deps: update googletest to 279f847 (Node.js GitHub Bot) #60219
  • [635e67379e] - deps: update archs files for openssl-3.5.5 (Node.js GitHub Bot) #61547
  • [c7b774047d] - deps: upgrade openssl sources to openssl-3.5.5 (Node.js GitHub Bot) #61547
  • [5b324d7d7f] - deps: update corepack to 0.34.6 (Node.js GitHub Bot) #61510
  • [eef8ba0667] - deps: update corepack to 0.34.5 (Node.js GitHub Bot) #60842
  • [490f7c7fb1] - deps: update corepack to 0.34.4 (Node.js GitHub Bot) #60643
  • [66903ea3b3] - deps: update corepack to 0.34.2 (Node.js GitHub Bot) #60550
  • [a2f0b69282] - deps: update corepack to 0.34.1 (Node.js GitHub Bot) #60314
  • [c8044a48a6] - deps: V8: backport 2e4c5cf9b112 (Michaël Zasso) #60654
  • [642f518198] - doc: supported toolchain with Visual Studio 2022 only (Mike McCready) #61451
  • [625f674487] - doc: move Security-Team from TSC to SECURITY (Rafael Gonzaga) #61495
  • [029e32f8ba] - doc: added requestOCSP option to tls.connect (ikeyan) #61064
  • [68e33dfa89] - doc: restore @ChALkeR to collaborators (Сковорода Никита Андреевич) #61553
  • [e016770d62] - doc: update IBM/Red Hat volunteers with dedicated project time (Beth Griggs) #61588
  • [ec63954657] - doc: mention constructor comparison in assert.deepStrictEqual (Hamza Kargin) #60253
  • [c8e1563a98] - doc: add CVE delay mention (Rafael Gonzaga) #61465
  • [4b00cf2b54] - doc: include OpenJSF handle for security stewards (Rafael Gonzaga) #61454
  • [4b73bf5bc8] - doc: clarify process.argv[1] behavior for -e/--eval (Jeevankumar S) #61366
  • [d3151df4b3] - doc: remove Windows Dev Home instructions from BUILDING (Mike McCready) #61434
  • [2323462e35] - doc: clarify TypedArray properties on Buffer (Roman Reiss) #61355
  • [6c5478c8b2] - doc: note resume build should not be done on node-test-commit (Stewart X Addison) #61373
  • [ba4a043103] - doc: refine WebAssembly error documentation (sangwook) #61382
  • [cd315ea589] - doc: add deprecation history for url.parse (Eng Zer Jun) #61389
  • [42db0c392d] - doc: add marco and rafael in last sec release (Marco Ippolito) #61383
  • [4c3b680fc7] - doc: packages: example of private import switch to internal (coderaiser) #61343
  • [684d15e421] - doc: add esm and cjs examples to node:v8 (Alfredo González) #61328
  • [c3f9c7a7d9] - doc: added 'secure' event to tls.TLSSocket (ikeyan) #61066
  • [aa9acad5ca] - doc: restore @watilde to collaborators (Daijiro Wachi) #61350
  • [9cafec084e] - doc: run license-builder (github-actions[bot]) #61348
  • [cdb12ccbc6] - doc: document ALPNCallback option for TLSSocket constructor (ikeyan) #61331
  • [461c5e65c5] - doc: update MDN links (Livia Medeiros) #61062
  • [dde45baeab] - doc: add documentation for process.traceProcessWarnings (Alireza Ebrahimkhani) #53641
  • [59a7aeec92] - doc: fix filename typo (Hardanish Singh) #61297
  • [9a0a40d1ed] - doc: fix typos and grammar in BUILDING.md & onboarding.md (Hardanish Singh) #61267
  • [dca7005f9d] - doc: mention --newVersion release script (Rafael Gonzaga) #61255
  • [c0dc8ddf85] - doc: correct typo in api contributing doc (Mike McCready) #61260
  • [066af38fe1] - doc: add PR-URL requirement for security backports (Rafael Gonzaga) #61256
  • [71dd46bd0c] - doc: add reusePort error behavior to net module (mag123c) #61250
  • [f6abe3ba33] - doc: note corepack package removal in distribution doc (Mike McCready) #61207
  • [9059d49d8c] - doc: fix tls.connect() timeout documentation (Azad Gupta) #61079
  • [e7b34b76b0] - doc: missing passed, error and passed properties on TestContext (Xavier Stouder) #61185
  • [9ae2dcfbb6] - doc: clarify threat model for application-level API exposure (Rafael Gonzaga) #61184
  • [9902331a7c] - doc: correct options for net.Socket class and socket.connect (Xavier Stouder) #61179
  • [a80122d2fe] - doc: document error event on readline InterfaceConstructor (Xavier Stouder) #61170
  • [38d73c9cfa] - doc: add a smooth scrolling effect to the sidebar (btea) #59007
  • [95c51fa984] - doc: correct invalid collaborator profile (JJ) #61091
  • [f5a044763c] - doc: exclude compile-time flag features from security policy (Matteo Collina) #61109
  • [b6ebf2cd53] - doc: add @avivkeller to collaborators (Aviv Keller) #61115
  • [35854f424d] - doc: add gurgunday to collaborators (Gürgün Dayıoğlu) #61094
  • [4932322c29] - doc: add File modes cross-references in fs methods (Mohit Raj Saxena) #60286
  • [c84904e047] - doc: add missing zstd to mjs example of zlib (Deokjin Kim) #60915
  • [e615b9e2f2] - doc: clarify fileURLToPath security considerations (Rafael Gonzaga) #60887
  • [99e384e6d4] - doc: replace column with columnNumber in example of util.getCallSites (Deokjin Kim) #60881
  • [9351bb4d02] - doc: correct spelling in BUILDING.md (Rich Trott) #60875
  • [e1f6e7fc4d] - doc: update debuglog examples to use 'foo-bar' instead of 'foo' (xiaoyao) #60867
  • [ccbb2d7300] - doc: fix typos in changelogs (Rich Trott) #60855
  • [1cb2fe8b35] - doc: mark module.register as active development (Chengzhong Wu) #60849
  • [ceeb4968a6] - doc: add fullName property to SuiteContext (PaulyBearCoding) #60762
  • [56155909dd] - doc: keep sidebar module visible when navigating docs (Botato) #60410
  • [6b637763d5] - doc: correct concurrency wording in test() documentation (Azad Gupta) #60773
  • [7183e8ffa1] - doc: clarify that CQ only picks up PRs targeting main (René) #60731
  • [d5d94303be] - doc: clarify license section and add contributor note (KaleruMadhu) #60590
  • [e0210c8f53] - doc: correct tls ALPNProtocols types (René) #60143
  • [eff87b498a] - doc: remove mention of SMS 2FA (Antoine du Hamel) #60707
  • [e77ef94a51] - doc: domain.add() does not accept timer objects (René) #60675
  • [4fe19c95ea] - doc: update Collaborators list to reflect hybrist handle change (Antoine du Hamel) #60650
  • [eece59b6ce] - doc: fix linter issues (Antoine du Hamel) #60636
  • [6e17e596e4] - doc: correct values/references for buffer.kMaxLength (René) #60305
  • [ac327ae9a7] - doc: recommend events.once to manage 'close' event (Dan Fabulich) #60017
  • [d9b149ea42] - doc: highlight module loading difference between import and require (Ajay A) #59815
  • [f6d62cb22c] - doc: fix typo in process.unref documentation (우혁) #59698
  • [6d5078b196] - doc: add some entries to glossary.md (Mohataseem Khan) #59277
  • [b0a5820dea] - doc: improve agent.createConnection docs for http and https agents (JaeHo Jang) #58205
  • [b5db02fe67] - doc: fix pseudo code in modules.md (chirsz) #57677
  • [e9b912d481] - doc: add missing variable in code snippet (Koushil Mankali) #55478
  • [44c06c7812] - doc: add missing word in single-executable-applications.md (Konstantin Tsabolov) #53864
  • [482b43f160] - doc: fix typo in http.md (Michael Solomon) #59354
  • [cd323bc718] - doc: update devcontainer.json and add documentation (Joyee Cheung) #60472
  • [c7c70f3a16] - doc: add haramj as triager (Haram Jeong) #60348
  • [04b8c4d14e] - doc: clarify require(esm) description (dynst) #60520
  • [de382dc832] - doc: instantiate resolver object (Donghoon Nam) #60476
  • [b6845ce460] - doc: clarify --use-system-ca support status (Joyee Cheung) #60340
  • [0894dae9bc] - doc: add missing CAA type to dns.resolveAny() & dnsPromises.resolveAny() (Jimmy Leung) #58899
  • [c86a69f692] - doc: use any for worker_threads.Worker 'error' event argument err (Jonas Geiler) #60300
  • [0c5031e233] - doc: update decorator documentation to reflect actual policy (Muhammad Salman Aziz) #60288
  • [b01f710175] - doc: document wildcard supported by tools/test.py (Joyee Cheung) #60265
  • [b4524dabcc] - doc: fix blob.bytes() heading level (XTY) #60252
  • [5df02776e3] - doc: fix not working code example in vm docs (Artur Gawlik) #60224
  • [6a4359a0b5] - doc: improve code snippet alternative of url.parse() using WHATWG URL (Steven) #60209
  • [ad06bee70d] - doc: use markdown when branch-diff major release (Rafael Gonzaga) #60179
  • [c0d4b11ed4] - doc: update teams in collaborator-guide.md and add links (Bart Louwers) #60065
  • [20b5ffcac3] - doc: update previous version links in BUILDING (Mike McCready) #61457
  • [de345ea3a3] - doc: correct description of error.stack accessor behavior (René) #61090
  • [d8418d9de7] - doc: fix link in --env-file=file section (N. Bighetti) #60563
  • [1107bda21e] - doc: fix v22 changelog after security release (Marco Ippolito) #61371
  • [42aab9469a] - doc: add missing history entry for sqlite.md (Antoine du Hamel) #60607
  • [deb6d5deff] - doc, module: change async customization hooks to experimental (Gerhard Stöbich) #60302
  • [c659add7d1] - doc,src,lib: clarify experimental status of Web Storage support (Antoine du Hamel) #60708
  • [dda95e91b9] - esm: avoid throw when module specifier is not url (Craig Macomber (Microsoft)) #61000
  • [912945be89] - events: remove redundant todo (Gürgün Dayıoğlu) #60595
  • [22e156eb10] - events: remove eventtarget custom inspect branding (Efe) #61128
  • [df6fd9b03f] - fs: remove duplicate getValidatedPath calls (Mert Can Altin) #61359
  • [6ea3e4d850] - fs: fix errorOnExist behavior for directory copy in fs.cp (Nicholas Paun) #60946
  • [dd918b9980] - fs: fix ENOTDIR in globSync when file is treated as dir (sangwook) #61259
  • [4908e67ba0] - fs: remove duplicate fd validation in sync functions (Mert Can Altin) #61361
  • [4a27bce3d9] - fs: detect dot files when using globstar (Robin van Wijngaarden) #61012
  • [b0186ff65c] - fs: validate statfs path (Efe) #61230
  • [6689775023] - gyp: aix: change gcc version detection so CXX="ccache g++" works (Stewart X Addison) #61464
  • [5c4f4db663] - http: fix rawHeaders exceeding maxHeadersCount limit (Max Harari) #61285
  • [7599e2eccd] - http: replace startsWith with strict equality (btea) #59394
  • [99a85213bf] - http: lazy allocate cookies array (Robert Nagy) #59734
  • [7669e6a5ad] - http: fix http client leaky with double response (theanarkh) #60062
  • [f074c126a8] - http,https: fix double ERR_PROXY_TUNNEL emission (Shima Ryuhei) #60699
  • [d8ac368363] - http2: add diagnostics channels for client stream request body (Darshan Sen) #60480
  • [e26a7e464d] - http2: rename variable to additionalPseudoHeaders (Tobias Nießen) #60208
  • [5df634f46e] - http2: validate initialWindowSize per HTTP/2 spec (Matteo Collina) #61402
  • [2ccc9a6205] - http2: do not crash on mismatched ping buffer length (René) #60135
  • [3e68a5f78a] - inspector: inspect HTTP response body (Chengzhong Wu) #60572
  • [a86ffa9a5d] - inspector: add network payload buffer size limits (Chengzhong Wu) #60236
  • [ea60ef5d74] - lib: fix typo in util.js comment (Taejin Kim) #61365
  • [9d8d9322a4] - lib: fix TypeScript support check in jitless mode (sangwook) #61382
  • [fc26f5c78f] - lib: gbk decoder is gb18030 decoder per spec (Сковорода Никита Андреевич) #61099
  • [3b87030012] - lib: enforce use of URLParse (Antoine du Hamel) #61016
  • [2a7479d4fc] - lib: use FastBuffer for empty buffer allocation (Gürgün Dayıoğlu) #60558
  • [7cf4c43582] - lib: fix constructor in _errnoException stack tree (SeokHun) #60156
  • [f9d87fbfaa] - lib: fix typo in QuicSessionStats (SeokHun) #60155
  • [8d26ccc652] - lib: remove redundant destroyHook checks (Gürgün Dayıoğlu) #60120
  • [705832a1be] - lib,src: isInsideNodeModules should test on the first non-internal frame (Chengzhong Wu) #60991
  • [6f39ad190b] - meta: do not fast-track npm updates (Antoine du Hamel) #61475
  • [a6a0ff9486] - meta: fix typos in issue template config (Daijiro Wachi) #61399
  • [ec88c9b378] - meta: label v8 module PRs (René) #61325
  • [83143835de] - meta: bump step-security/harden-runner from 2.13.2 to 2.14.0 (dependabot[bot]) #61245
  • [0802dc663a] - meta: bump actions/setup-node from 6.0.0 to 6.1.0 (dependabot[bot]) #61244
  • [587db55796] - meta: bump actions/cache from 4.3.0 to 5.0.1 (dependabot[bot]) #61243
  • [262c9d37a6] - meta: bump github/codeql-action from 4.31.6 to 4.31.9 (dependabot[bot]) #61241
  • [d9763b5afd] - meta: bump codecov/codecov-action from 5.5.1 to 5.5.2 (dependabot[bot]) #61240
  • [0af73d1811] - meta: bump peter-evans/create-pull-request from 7.0.9 to 8.0.0 (dependabot[bot]) #61237
  • [8be6afd239] - meta: move lukekarrys to emeritus (Node.js GitHub Bot) #60985
  • [c497de5c74] - meta: bump actions/setup-python from 6.0.0 to 6.1.0 (dependabot[bot]) #60927
  • [774920f169] - meta: bump github/codeql-action from 4.31.3 to 4.31.6 (dependabot[bot]) #60926
  • [ef3b1e5991] - meta: bump peter-evans/create-pull-request from 7.0.8 to 7.0.9 (dependabot[bot]) #60924
  • [3ed667379f] - meta: bump github/codeql-action from 4.31.2 to 4.31.3 (dependabot[bot]) #60770
  • [7c0cefb126] - meta: bump step-security/harden-runner from 2.13.1 to 2.13.2 (dependabot[bot]) #60769
  • [5c6a076e5d] - meta: add Renegade334 to collaborators (Renegade334) #60714
  • [4f4dda2a18] - meta: bump actions/download-artifact from 5.0.0 to 6.0.0 (dependabot[bot]) #60532
  • [c436f8d57c] - meta: bump actions/upload-artifact from 4.6.2 to 5.0.0 (dependabot[bot]) #60531
  • [402d9f87a6] - meta: bump github/codeql-action from 3.30.5 to 4.31.2 (dependabot[bot]) #60533
  • [61be78e326] - meta: bump actions/setup-node from 5.0.0 to 6.0.0 (dependabot[bot]) #60529
  • [7e4164a623] - meta: bump actions/stale from 10.0.0 to 10.1.0 (dependabot[bot]) #60528
  • [1bf6e1d010] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #60325
  • [c66fc0e9cf] - meta: loop userland-migrations in deprecations (Chengzhong Wu) #60299
  • [e4be0791e7] - meta: call create-release-post.yml post release (Aviv Keller) #60366
  • [8674f6527f] - module: preserve URL in the parent created by createRequire() (Joyee Cheung) #60974
  • [41db87a975] - msi: fix WiX warnings (Stefan Stojanovic) #60251
  • [884f313f40] - node-api: use Node-API in comments (Vladimir Morozov) #61320
  • [375164190b] - node-api: use local files for instanceof test (Vladimir Morozov) #60190
  • [972a1107c0] - os: freeze signals constant (Xavier Stouder) #61038
  • [e992057ab7] - perf_hooks: fix stack overflow error (Antoine du Hamel) #60084
  • [0bb1814fdf] - repl: fix pasting after moving the cursor to the left (Ruben Bridgewater) #60470
  • [35a12fb996] - src: replace ranges::sort for libc++13 compatibility on armhf (Rebroad) #61789
  • [dbf00d4664] - src: add missing override specifier to Clean() (Tobias Nießen) #61429
  • [140eba35d3] - src: cache context lookup in vectored io loops (Mert Can Altin) #61387
  • [93e7e1708b] - src: use C++ nullptr in webstorage (Tobias Nießen) #61407
  • [ef868447bc] - src: fix pointer alignment (jhofstee) #61336
  • [a96256524c] - src: dump snapshot source with node:generate_default_snapshot_source (Joyee Cheung) #61101
  • [ec051b9efd] - src: add HandleScope to edge loop in heap_utils (Mert Can Altin) #60885
  • [41749eb5d6] - src: remove redundant CHECK (Tobias Nießen) #61130
  • [57c81e5af3] - src: fix off-thread cert loading in bundled cert mode (Joyee Cheung) #60764
  • [4b0616e024] - src: handle DER decoding errors from system certificates (Joyee Cheung) #60787
  • [93393371f9] - src: use static_cast instead of C-style cast (Michaël Zasso) #60868
  • [900445b655] - src: move Node-API version detection to where it is used (Anna Henningsen) #60512
  • [8353a6da2a] - src: avoid C strings in more C++ exception throws (Anna Henningsen) #60592
  • [27c860c51f] - src: move napi_addon_register_func to node_api_types.h (Anna Henningsen) #60512
  • [e0517752e7] - src: remove unconditional NAPI_EXPERIMENTAL in node.h (Chengzhong Wu) #60345
  • [21e2a52f8e] - src: clean up generic counter implementation (Anna Henningsen) #60447
  • [aed23cb8ca] - src: add enum handle for ToStringHelper + formatting (Burkov Egor) #56829
  • [2e93650ebc] - src: fix timing of snapshot serialize callback (Joyee Cheung) #60434
  • [ece4acc18f] - src: add COUNT_GENERIC_USAGE utility for tests (Joyee Cheung) #60434
  • [31c8e9d9ff] - src: use cached primordials_string (Sohyeon Kim) #60255
  • [7f0ffddc14] - src: implement Windows-1252 encoding support and update related tests (Mert Can Altin) #60893
  • [c2ba56d6b2] - src,permission: fix permission.has on empty param (Rafael Gonzaga) #60674
  • [e55a2b895a] - src,permission: add debug log on is_tree_granted (Rafael Gonzaga) #60668
  • [902a78b43c] - stream: fix isErrored/isWritable for WritableStreams (René) #60905
  • [221b77cf41] - stream: don't try to read more if reading (Robert Nagy) #60454
  • [46d12d826f] - test: skip strace test with shared openssl (Richard Lau) #61987
  • [52e6b01a44] - test: mark test-strace-openat-openssl as flaky (Antoine du Hamel) #61921
  • [4d7468d0e0] - test: skip --build-sea tests on platforms where SEA is flaky (Joyee Cheung) #61504
  • [f604b7ae67] - test: fix flaky debugger test (Ryuhei Shima) #58324
  • [fc2dc4024b] - test: ensure removeListener event fires for once() listeners (sangwook) #60137
  • [5fba382816] - test: delay writing the files only on macOS (Luigi Pinca) #61532
  • [85cc9e20e4] - test: asserts that import.meta.resolve invokes sync loader hooks (Chengzhong Wu) #61158
  • [13831685ca] - test: check util.parseArgs argv parsing with actual process execution (René) #61089
  • [ec4b722cb8] - test: remove unneccessary repl magic_mode tests (Dario Piotrowicz) #61053
  • [5c811106bc] - test: skip sea tests on riscv64 (Stewart X Addison) #61111
  • [4e4a631c07] - test: mark stringbytes-external-max flaky on AIX (Stewart X Addison) #60995
  • [9af0787043] - test: update test426 fixtures (Rich Trott) #60982
  • [277f16d247] - test: skip SEA inspect test if inspector is not available (Livia Medeiros) #60872
  • [7dfa8c96bf] - test: use assert.match for non-literal regexp tests (René) #60879
  • [41e6cd8ce5] - test: fix embedtest in debug windows (Vladimir Morozov) #60806
  • [f65147b226] - test: fix debug test crashes caused by sea tests (Vladimir Morozov) #60807
  • [a93dff9e92] - test: replace deprecated regex test assertions in http trailers test (Aditya Chopra) #60831
  • [f90d5b954f] - test: prefer major GC in cppgc-object teardown (sangwook) #60672
  • [e1645cc78d] - test: skip test that cause timeout on IBM i (SRAVANI GUNDEPALLI) #60700
  • [4f23eba22f] - test: limit the concurrency of WPTRunner for RISC-V (Levi Zim) #60591
  • [c2bef6522b] - test: fix test-strace-openat-openssl for RISC-V (Levi Zim) #60588
  • [4c03a7f864] - test: fix status when compiled without inspector (Antoine du Hamel) #60289
  • [2ef146a074] - test: apply a delay to watch-mode-kill-signal tests (Joyee Cheung) #60610
  • [dc3000c504] - test: async iife in repl (Tony Gorez) #44878
  • [5e06e84db1] - test: parallelize sea tests when there's enough disk space (Joyee Cheung) #60604
  • [940d2752bc] - test: only show overridden env in child process failures (Joyee Cheung) #60556
  • [558a5743c6] - test: add more logs to test-esm-loader-hooks-inspect-wait (Joyee Cheung) #60466
  • [10fac8de45] - test: mark stringbytes-external-exceed-max tests as flaky on AIX (Joyee Cheung) #60565
  • [8bc84046be] - test: correct conditional secure heap flags test (Shelley Vohr) #60385
  • [ccc805f184] - test: fix flaky test-watch-mode-kill-signal-* (Joyee Cheung) #60443
  • [1b8274453d] - test: capture stack trace in debugger timeout errors (Joyee Cheung) #60457
  • [9fcf889279] - test: ensure assertions are reachable in test/async-hooks (Antoine du Hamel) #60150
  • [7f5230333e] - test: increase debugger waitFor timeout on macOS (Chengzhong Wu) #60367
  • [0e5ea3b795] - test: fix small compile warning in test_network_requests_buffer.cc (xiaocainiao633) #60281
  • [012780c7e8] - test: split test-runner-watch-mode-kill-signal (Joyee Cheung) #60298
  • [b53d35a8f8] - test: fix incorrect calculation in test-perf-hooks.js (Joyee Cheung) #60271
  • [b8ef464c08] - test: skip sea tests on x64 macOS (Joyee Cheung) #60250
  • [a3c4d905da] - test: move sea tests into test/sea (Joyee Cheung) #60250
  • [80bec9fd07] - test: skip tests that cause timeouts on IBM i (SRAVANI GUNDEPALLI) #60148
  • [1d05b44c7c] - test: deflake test-fs-promises-watch-iterator (Luigi Pinca) #60060
  • [8958096840] - test: deflake test-repl-paste-big-data (Livia Medeiros) #60975
  • [e261a59ca4] - test: add new startNewREPLSever testing utility (Dario Piotrowicz) #59964
  • [d4a2d8aa8a] - test: skip failing tests when compiled without amaro (Yuki Okita) #60815
  • [0e407a88bb] - test: skip failing test on macOS 15.7+ (Antoine du Hamel) #60419
  • [a253b7b6dc] - tools: switch to ARM runners on GHA jobs (Antoine du Hamel) #61903
  • [8862c41494] - tools: avoid building twice in coverage jobs (Antoine du Hamel) #61899
  • [7d11a22802] - tools: use ubuntu-slim runner in GHA (Antoine du Hamel) #61759
  • [d0e7d6cb89] - tools: use ubuntu-slim runner in GHA (Antoine du Hamel) #61734
  • [cf5ddd1811] - tools: use ubuntu-latest runner in notify-on-push workflow (Antoine du Hamel) #61742
  • [18bcf8e260] - tools: use ubuntu-slim runner in meta GitHub Actions (Tierney Cyren) #61663
  • [db76733b55] - tools: update gyp-next to 0.21.1 (Node.js GitHub Bot) #61528
  • [1dd9d8a3b2] - tools: fix vcbuild lint-js-build (Vladimir Morozov) #61318
  • [ec67f8f9b5] - tools: only report commit validation failure on Slack (Antoine du Hamel) #61124
  • [8e385c8c66] - tools: use sparse-checkout in linter jobs (Antoine du Hamel) #61123
  • [aed2e9c8eb] - tools: simplify notify-on-push (Antoine du Hamel) #61050
  • [32680feefb] - tools: fix update-nghttp2 signature verification (Richard Lau) #61035
  • [c5f68f41e6] - tools: improve log output of create-release-proposal (Antoine du Hamel) #61028
  • [32e0ae0ec7] - tools: fix vcbuild test when path contain spaces (stduhpf) #56481
  • [9e0858e4a2] - tools: do not run test-linux workflow for changes on vcbuild.bat (Antoine du Hamel) #60979
  • [fd656a79fc] - tools: disable some new cpplint rules before update (Michaël Zasso) #60901
  • [df4df52e67] - tools: don't fetch V8 deps in the source tree (Richard Lau) #60883
  • [e5c2fe8d6d] - tools: add temporal updater (Chengzhong Wu) #60828
  • [7f031e097e] - tools: dump config.gypi as json (Chengzhong Wu) #60794
  • [5e69488a5a] - tools: bump js-yaml from 4.1.0 to 4.1.1 in /tools/lint-md (dependabot[bot]) #60781
  • [5119c50931] - tools: bump js-yaml from 4.1.0 to 4.1.1 in /tools/doc in the doc group (dependabot[bot]) #60766
  • [a4b073123d] - tools: remove unsupported cooldown from Dependabot config (Antoine du Hamel) #60747
  • [a3df6b87bb] - tools: update sccache to v0.12.0 (Michaël Zasso) #60723
  • [2efbd54a4a] - tools: update gyp-next to 0.21.0 (Node.js GitHub Bot) #60645
  • [bb7876e4f9] - tools: replace invalid expression in dependabot config (Riddhi) #60649
  • [e444e44d6a] - tools: skip unaffected GHA jobs for changes in test/internet (Antoine du Hamel) #60517
  • [a6a0ec107c] - tools: do not use short hashes for deps versioning to avoid collision (Antoine du Hamel) #60407
  • [c6e2eed65f] - tools: fix update-icu script (Michaël Zasso) #60521
  • [76fb3d123b] - tools: fix linter for semver-major release proposals (Antoine du Hamel) #60481
  • [f02889e24e] - tools: fix failing release-proposal linter for LTS transitions (Antoine du Hamel) #60465
  • [8203df4432] - tools: remove undici from daily wpt.fyi job (Filip Skokan) #60444
  • [a58242b666] - tools: add lint rule to ensure assertions are reached (Antoine du Hamel) #60125
  • [58e3ef398f] - tools: update gyp-next to 0.20.5 (Node.js GitHub Bot) #60313
  • [996494482a] - tools: optimize wildcard execution in tools/test.py (Joyee Cheung) #60266
  • [cf84756d0d] - tools: use cooldown property correctly (Rafael Gonzaga) #60134
  • [5469cb2651] - tools: validate release commit diff as part of lint-release-proposal (Antoine du Hamel) #61440
  • [1b9eab4a1c] - tools,doc: fix format-md files list (Stefan Stojanovic) #61147
  • [b20d9c2ce7] - tools,doc: update JavaScript primitive types to match MDN Web Docs (JustApple) #60581
  • [31760b1beb] - typings: add typing for string_decoder (Taejin Kim) #61368
  • [d6b908917c] - typings: add missing properties and method in Worker (Woohyun Sung) #60257
  • [1e8b6d5686] - typings: add missing properties in HTTPParser (Woohyun Sung) #60257
  • [27ae9b4a26] - typings: delete undefined property in ConfigBinding (Woohyun Sung) #60257
  • [f43c6434e2] - typings: add buffer internalBinding typing (방진혁) #60163
  • [e7f954f63a] - url: add fast path to getPathFromURL decoder (Gürgün Dayıoğlu) #60749
  • [c149b64473] - url: remove array.reduce usage (Gürgün Dayıoğlu) #60748
  • [0bd291bff1] - util: optimize toASCIILower function using V8s native toLowerCase (Mert Can Altin) #61107
  • [bbc54b3c96] - util: limit inspect to only show own properties (Ruben Bridgewater) #61032
  • [78e5fa23c4] - util: fix parseArgs skipping positional arg with --eval and --print (azadgupta1) #60814
  • [f75ec19105] - util: assert getCallSites does not invoke Error.prepareStackTrace (Chengzhong Wu) #60922
  • [d77da9306c] - util: fix stylize of special properties in inspect (Ge Gao) #60479
  • [3a4edc8f6d] - util: use more defensive code when inspecting error objects (Antoine du Hamel) #60139
  • [25c33af752] - util: mark special properties when inspecting them (Ruben Bridgewater) #60131
  • [3f98b46716] - vm: make vm.Module.evaluate() conditionally synchronous (Joyee Cheung) #60205
  • [f64a691493] - win: upgrade Visual Studio workload from 2019 to 2022 (Jiawen Geng) #60318
  • [8e04327954] - worker: update code examples for node:worker_threads module (fisker Cheung) #58264
  • [c4440dcc60] - worker: remove not implemented declarations (Artur Gawlik) #60655
  • [df4cc62954] - zlib: validate write_result array length (Ryuhei Shima) #61342

Windows 32-bit Installer: https://nodejs.org/dist/v22.22.1/node-v22.22.1-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v22.22.1/node-v22.22.1-x64.msi
Windows ARM 64-bit Installer: https://nodejs.org/dist/v22.22.1/node-v22.22.1-arm64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v22.22.1/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v22.22.1/win-x64/node.exe
Windows ARM 64-bit Binary: https://nodejs.org/dist/v22.22.1/win-arm64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v22.22.1/node-v22.22.1.pkg
macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v22.22.1/node-v22.22.1-darwin-arm64.tar.gz
macOS Intel 64-bit Binary: https://nodejs.org/dist/v22.22.1/node-v22.22.1-darwin-x64.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v22.22.1/node-v22.22.1-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v22.22.1/node-v22.22.1-linux-ppc64le.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v22.22.1/node-v22.22.1-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v22.22.1/node-v22.22.1-aix-ppc64.tar.gz
ARMv7 32-bit Binary: https://nodejs.org/dist/v22.22.1/node-v22.22.1-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v22.22.1/node-v22.22.1-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v22.22.1/node-v22.22.1.tar.gz
Other release files: https://nodejs.org/dist/v22.22.1/
Documentation: https://nodejs.org/docs/v22.22.1/api/

SHASUMS

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

dd75425fe7875b04fbdbbeeead9bb271daacff84b75d0ba1d4f6ccbee515eae1  node-v22.22.1-aix-ppc64.tar.gz
ede430968a987a1e5a8c59291ced0768dd8f38e140af50e50312c0fbc008043a  node-v22.22.1-arm64.msi
679ad4966339e4ef4900f57996714864e4211b898825bb840c3086c419fbcef2  node-v22.22.1-darwin-arm64.tar.gz
261da057fb25ff2912dd6abb7842fc915ddf7947a2cb3c8cce90875d2b9bb667  node-v22.22.1-darwin-arm64.tar.xz
07b13722d558790fca20bb1ecf61bde24b7a4863111f7be77fc57251a407359a  node-v22.22.1-darwin-x64.tar.gz
91227fa5a3bfd988be1953c0384ceb98bd69a6a377a7416c40eb39779d6ab17f  node-v22.22.1-darwin-x64.tar.xz
0f76c31ce76a623a6a3a4038cb62eae281b2e33ad189dcf2d514ec32ae74d9b2  node-v22.22.1-headers.tar.gz
3f435f2ac1ab363f8220f4beb60c7493a3f680918a7426ff83b7d4c6e1d314fa  node-v22.22.1-headers.tar.xz
1d1690e9aba47e887a275abc6d8f7317e571a0700deaef493f768377e99155f5  node-v22.22.1-linux-arm64.tar.gz
0f3550d58d45e5d3cf7103d9e3f69937f09fe82fb5dd474c66a5d816fa58c9ee  node-v22.22.1-linux-arm64.tar.xz
2b592d21609ef299d1e3918bb806ed62ba715d4109b0f8ec11b132af9fa42d70  node-v22.22.1-linux-armv7l.tar.gz
c3906440501e5e5f6be79c8f9ea9467451c2adeec8ebdb734cd388214b5036a3  node-v22.22.1-linux-armv7l.tar.xz
18f9ab7da4f3a04ec213590b14e5d78b60bfb5c6b8bf53541e7eaf1adf9d270a  node-v22.22.1-linux-ppc64le.tar.gz
a65a44cf0224505f052b90357b763dbc1ea9148f4f5f2284f0596cf2000f819b  node-v22.22.1-linux-ppc64le.tar.xz
6128f9d54a1b43258144d7ac074a82d3b6c96d8e9cb3a8e14e4722a66990adbe  node-v22.22.1-linux-s390x.tar.gz
e08b3a73d0bd840e008f589e4be4a2ef3d4a0c59015f4f20a04ed7fc968042a2  node-v22.22.1-linux-s390x.tar.xz
07c8aafa60644fb81adefa1ee7da860eb1920851ffdc9a37020ab0be47fbc10e  node-v22.22.1-linux-x64.tar.gz
9a6bc82f9b491279147219f6a18add1e18424dce90d41d2a5fcd69d4924ba3aa  node-v22.22.1-linux-x64.tar.xz
ac8cb570db59cb399be96978c194f6c4fc91ffcf11a197ebd5461083c0cf1dfd  node-v22.22.1.pkg
20da57e24be78d0bd54175de1a23ab897bf7340c4ad9f32ff257b98ea9a825c5  node-v22.22.1.tar.gz
87104b07e7acee748bcc5391e1bc69cf3571caa0fdfb8b1d6b5fd3f9599b7849  node-v22.22.1.tar.xz
c772ad9da497e34e0e6a4abccbd71f21ef5f54059790da1f8f8e7b64ccc63e2d  node-v22.22.1-win-arm64.7z
d0722fcdefa1c08e4af31809e91ad4f23282f6c535c261607e8aa372d0ce61dd  node-v22.22.1-win-arm64.zip
07d6fdf3677e077a6f6b7906b9a770a78d852ae455ec37d7aa4df180e16728cd  node-v22.22.1-win-x64.7z
877cb93829e14fffbbc7903e7d8037336c9a79f3ea43c5d0b8c2379b79da56de  node-v22.22.1-win-x64.zip
a70d42ec48ae3dd58f89d705c4fd2026b03e47baa2eb5f7660ad3688d38e5040  node-v22.22.1-win-x86.7z
afe3d23563a8cc36759b4c60645d12f3cf2807d0100564dcdc6f381fa0715217  node-v22.22.1-win-x86.zip
444c1c325dc26b7237ffc521b092aa778400665e9757e97405ab95a7584053c8  node-v22.22.1-x64.msi
0079710a64714bbb55e8e18f3292345cc146777d04d87c33af272c1e6a64e78b  node-v22.22.1-x86.msi
993b56091266aec4a41653ea3e70b5b18fadc78952030ca0329309240030859c  win-arm64/node.exe
9b75bbc3be72c84f1d41cd6abb6e5ecc333836015e40a6267ce755554874a13a  win-arm64/node.lib
37e2b27fce010bf6be2b8cd23ebd406644ad222d1edf2513576c477a4cac3396  win-arm64/node_pdb.7z
cf321e6de92f0ae7120927e729888612545633d0d0bdae9459947085a8aa67d2  win-arm64/node_pdb.zip
923a41f268ab49ede2e3363fbdd9e790609e385c6f3ca880b4ee9a56a8133e5a  win-x64/node.exe
0d8d8bcc11daea60f5dd4da414e72ccb785718345ec8fbec52cfc7d1a2326293  win-x64/node.lib
3f77017f7a77d9effbf8932be543cc464503b1de156b7836d3de1468dee5bdd1  win-x64/node_pdb.7z
c9fad5ad8d08f517a8e1546704855a2cf7ec1d46b821d8e298717b559e0befd3  win-x64/node_pdb.zip
5c16964f34454ca58f45497c2ebab0d977288759cb932d00d070eca895300542  win-x86/node.exe
a07e94777fb491c1a59103b6987417df35a1dd0a9682220bba43d3c602b8b414  win-x86/node.lib
ae1859b221f541f3cc0e348b11df4cdd172cd178b0199726772432bcd525f4c0  win-x86/node_pdb.7z
ba2fb73584cf395cdf910d335140ac3b6ad0c1e1ac84a83ecb8a86ac699c1000  win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEzGj1oxBv9EgyLkjtJ/XjjVsKIV8FAmmpk9EACgkQJ/XjjVsK
IV+27g/7B7m3xJMBa+xixzMlBXRFsGyfXFqRiHvi0xrqi3DJPkfaU7eab5iL4yxx
h8yMbXZO6xB2xC+yLCkdJc5ueqOs2VDTH3Kbf56IMUvuTbYXxZ/sPUHxLGC3kqwG
q8CjmXnuDTKqS4n3m00YRGDoGEVwJqMoMsn+NU2zheFvponGeVg0irI8Low+qjPd
4wQ1KtMSNsKlRrCqqM1KYDadvQWOv1KojGaZRbS3k9aMP4irEIvTqwTmqqSnl0Uk
81wR7Aq9gkWqwk4YdJHafKbO6nbtGUzlcQujB1fYg20XTyUxkexXPxkz1kGS/7NA
GLhlh3lvcAMBwG1kBIGSKnCIRnbm7xU1s5UkZd/PpBxDBxdaJvD91CzcoFcV6UaE
VWWCb+s/yUmv90fKsohILXACr43ZnXHSFheXTtlgVOkCDtWz6iPgMriGoQj6pUmN
gq4SGnzBfUiEFIiE5bUQb3EHlwjP4Edn683mVuDxxQnGoHgSzHFu4Y8K2l7quCjR
JI06fvTUn0KHSRJv2BXGMqQz/WGfk5v/6ZdUZV1dYROrSCwR0WZJwE40sGEpB/ik
s5iS0vAWtdLSJJgq/ZkMwHWsVZaar3BeKw8j5u6vxuRW0ejhUxdX7tXGjHxepLG1
gsCv5tZG4n8Ipix8XLV1p/SFCMxGONKqlyVG7H7ppV2mXqzL/kg=
=y2UM
-----END PGP SIGNATURE-----