Current |
---|
19.3.0 19.2.0 19.1.0 19.0.1 19.0.0 |
- Other Versions
Based on the list of guidelines we've established on integrating npm
and node
,
here is a grouped list of the breaking changes with the reasoning as to why they
fit within the guidelines linked above. Note that all the breaking changes were
made in 9.0.0.
All subsequent minor and patch releases after npm@9.0.0
do not contain any
breaking changes.
Explanation: the node engines supported by
npm@9
make it safe to allownpm@9
as the default in any LTS version of14
or16
, as well as anything later than or including18.0.0
npm
is now compatible with the following semver range for node:^14.17.0 || ^16.13.0 || >=18.0.0
Explanation: when run as root previous versions of npm attempted to manage file ownership automatically on the user's behalf. this behavior was problematic in many cases and has been removed in favor of allowing users to manage their own filesystem permissions
npm
will no longer attempt to modify ownership of files it creates.
Explanation: any errors thrown from users having unsupported auth configurations will show
npm config fix
in the remediation instructions, which will allow the user to automatically have their auth config fixed.
- The presence of auth related settings that are not scoped to a specific registry found in a config file is no longer supported and will throw errors.
Explanation: the default
auth-type
has changed and users can opt back into the old behavior withnpm config set auth-type=legacy
.login
andadduser
have also been seperated making each command more closely match it's name instead of being aliases for each other.
- Legacy auth types
sso
,saml
&legacy
have been consolidated into"legacy"
. auth-type
defaults to"web"
login
andadduser
are now separate commands that send different data to the registry.auth-type
config valuesweb
andlegacy
only try their respective methods, npm no longer tries them all and waits to see which one doesn't fail.
Explanation: previously using multiple ignore/allow lists when packing was an undefined behavior, and now the order of operations is strictly defined when packing a tarball making it easier to follow and should only affect users relying on the previously undefined behavior.
npm pack
now follows a strict order of operations when applying ignore rules. If afiles
array is present in thepackage.json
, then rules in.gitignore
and.npmignore
files from the root will be ignored.
Explanation: these changes center around the display of information to the terminal including timing and debug log info. We do not anticipate these changes breaking any existing workflows.
- Links generated from git urls will now use
HEAD
instead ofmaster
as the default ref. timing
has been removed as a value for--loglevel
.--timing
will show timing information regardless of--loglevel
, except when--silent
.- When run with the
--timing
flag,npm
now writes timing data to a file alongside the debug log data, respecting thelogs-dir
option and falling back to<CACHE>/_logs/
dir, instead of directly inside the cache directory. - The timing file data is no longer newline delimited JSON, and instead each run
will create a uniquely named
<ID>-timing.json
file, with the<ID>
portion being the same as the debug log. npm
now outputs some json errors on stdout. Previouslynpm
would output all json formatted errors on stderr, making it difficult to parse as the stderr stream usually has logs already written to it.
Explanation:
install-links
is the only config or command in the list that has an effect on package installs. We fixed a number of issues that came up during prereleases with this change. It will also only be applied to new package trees created without a package-lock.json file. Any install with an existing lock file will not be changed.
- Deprecate boolean install flags in favor of
--install-strategy
. npm config set
will no longer accept deprecated or invalid config options.install-links
config defaults to"true"
.node-version
config has been removed.npm-version
config has been removed.npm access
subcommands have been renamed.npm birthday
has been removed.npm set-script
has been removed.npm bin
has been removed (usenpx
ornpm exec
to execute binaries).
- [
03db415540
] - build: disable v8 snapshot compression by default (Joyee Cheung) #45716 - [
9f51b9e50d
] - doc: add doc-only deprecation for headers/trailers setters (Rich Trott) #45697 - [
b010820c4e
] - doc: add Rafael Gonzaga to the TSC (Michael Dawson) #45691 - [
b8b13dccd9
] - (SEMVER-MINOR) net: add autoSelectFamily and autoSelectFamilyAttemptTimeout options (Paolo Insogna) #44731 - [
5d7cd363ab
] - (SEMVER-MINOR) src: add uvwasi version (Jithil P Ponnan) #45639 - [
4165dcddf0
] - (SEMVER-MINOR) test_runner: add t.after() hook (Colin Ihrig) #45792 - [
d1bd7796ad
] - (SEMVER-MINOR) test_runner: don't use a symbol for runHook() (Colin Ihrig) #45792 - [
691f58e76c
] - tls: remove trustcor root ca certificates (Ben Noordhuis) #45776
- [
382efdf460
] - benchmark: add variety of inputs to text-encoder (Yagiz Nizipli) #45787 - [
102c2dc071
] - benchmark: make benchmarks runnable in older versions of Node.js (Joyee Cheung) #45746 - [
e2caf7ced9
] - bootstrap: lazy load non-essential modules (Joyee Cheung) #45659 - [
49840d443c
] - buffer: remove unnecessary lazy loading (Antoine du Hamel) #45807 - [
17847683dc
] - buffer: make decodeUTF8 params loose (Yagiz Nizipli) #45610 - [
03db415540
] - build: disable v8 snapshot compression by default (Joyee Cheung) #45716 - [
95a23e24f3
] - build: add python 3.11 support for android (Mohammed Keyvanzadeh) #45765 - [
09bc89daba
] - build: rework gyp files for zlib (Richard Lau) #45589 - [
b5b56b6b45
] - crypto: simplify lazy loading of internal modules (Antoine du Hamel) #45809 - [
2e4d37e3f0
] - crypto: fix CipherBase Update int32 overflow (Marco Ippolito) #45769 - [
573eab9235
] - crypto: refactor ArrayBuffer to bigint conversion utils (Antoine du Hamel) #45567 - [
845f805490
] - crypto: refactor verify acceptable key usage functions (Filip Skokan) #45569 - [
7cc9998737
] - crypto: fix ECDH webcrypto public CryptoKey usages (Filip Skokan) #45569 - [
d030963f37
] - crypto: validate CFRG webcrypto JWK import "d" and "x" are a pair (Filip Skokan) #45569 - [
9cd106efdc
] - crypto: use DataError for CFRG webcrypto raw and jwk import key checks (Filip Skokan) #45569 - [
9e2e3de6ce
] - crypto: use DataError for webcrypto keyData import failures (Filip Skokan) #45569 - [
40037b4e79
] - crypto: fix X25519 and X448 webcrypto public CryptoKey usages (Filip Skokan) #45569 - [
de2b6b97b9
] - crypto: ensure "x" is present when importing private CFRG webcrypto keys (Filip Skokan) #45569 - [
75dbce9a07
] - deps: upgrade npm to 9.2.0 (npm team) #45780 - [
677eb62bf2
] - deps: upgrade npm to 9.1.3 (npm team) #45693 - [
1d823a6d30
] - Revert "deps: fix zlib compilation for CPUs without SIMD features" (Luigi Pinca) #45589 - [
6b15994597
] - deps: update undici to 5.13.0 (Node.js GitHub Bot) #45634 - [
fbd2d27789
] - deps: update corepack to 0.15.2 (Node.js GitHub Bot) #45635 - [
60c9ac5178
] - deps: update nghttp2 to 1.51.0 (Yagiz Nizipli) #45537 - [
c8421204b0
] - deps: patch V8 to 10.8.168.21 (Michaël Zasso) #45749 - [
c5277417c9
] - diagnostics_channel: fix diagnostics channel memory leak (theanarkh) #45633 - [
8a90f5c784
] - doc: buffer.fill empty value (Marco Ippolito) #45794 - [
9d6af617ea
] - doc: add args of filter option of fs.cp (MURAKAMI Masahiko) #45739 - [
8c728d2f02
] - doc: disambiguatenative module
toaddon
(Daeyeon Jeong) #45673 - [
7718ff82a4
] - doc: using console.error for error cases in crypto and events (emirgoren) #45640 - [
029060e6e4
] - doc: fix actual result of example is different in events (Deokjin Kim) #45656 - [
9f51b9e50d
] - doc: add doc-only deprecation for headers/trailers setters (Rich Trott) #45697 - [
801fe30488
] - doc: add detail on how api docs are published (Michael Dawson) #45626 - [
e124e2a6ee
] - doc: use console.error for error case in child_process and dgram (Deokjin Kim) #45690 - [
1b920287b6
] - doc: move streaming instruc to doc/contributing (Michael Dawson) #45582 - [
b010820c4e
] - doc: add Rafael to the tsc (Michael Dawson) #45691 - [
4fb7cf88e2
] - doc: add missing line in debugger (Deokjin Kim) #45632 - [
c0df265fea
] - doc: fix actual result of example is different in stream (Deokjin Kim) #45619 - [
027e738064
] - doc: addoptions
parameter to eventTarget.removeEventListener (Deokjin Kim) #45667 - [
23ff5057b2
] - doc: define "react-native" community condition (Alex Hunt) #45367 - [
2e767bf18b
] - doc: move os.machine() docs to sorted position (Colin Ihrig) #45647 - [
aabfdef861
] - doc: use console.error for error case in fs, https, net and process (Deokjin Kim) #45606 - [
3a02d50d35
] - doc: add link to doc with social processes (Michael Dawson) #45584 - [
e4316124fa
] - fs: fixnonNativeWatcher
watching folder with existing files (Moshe Atlow) #45500 - [
d272faa54d
] - fs: fixnonNativeWatcher
leak ofStatWatchers
(Moshe Atlow) #45501 - [
d64e773168
] - http: makeOutgoingMessage
more streamlike (Robert Nagy) #45672 - [
ed8ae88f30
] - lib: remove unnecessary lazy loading ininternal/encoding
(Antoine du Hamel) #45810 - [
302c5240c5
] - lib: allow Writeable.toWeb() to work on http.Outgoing message (Debadree Chatterjee) #45642 - [
e8745083b9
] - lib: check number of arguments inEventTarget
's function (Deokjin Kim) #45668 - [
9f7bb5ce0e
] - lib: disambiguatenative module
tobinding
(Daeyeon Jeong) #45673 - [
353339a552
] - lib: disambiguatenative module
tobuiltin module
(Daeyeon Jeong) #45673 - [
99410efd19
] - lib: added SuiteContext class (Debadree Chatterjee) #45687 - [
a79f37a0a7
] - lib: add missing type of removeEventListener in question (Deokjin Kim) #45676 - [
e0750467e8
] - meta: update AUTHORS (Node.js GitHub Bot) #45814 - [
376f3468b9
] - meta: update AUTHORS (Node.js GitHub Bot) #45732 - [
a6e2cf2d6f
] - meta: add .mailmap entry for Stefan Stojanovic (Rich Trott) #45703 - [
eb9a383d2a
] - meta: update AUTHORS info for nstepien (Nicolas Stepien) #45692 - [
049ef342c6
] - meta: update AUTHORS (Node.js GitHub Bot) #45637 - [
b9c2fc7623
] - net: checkautoSelectFamilyAttemptTimeout
is positive (Deokjin Kim) #45740 - [
b8b13dccd9
] - (SEMVER-MINOR) net: add autoSelectFamily and autoSelectFamilyAttemptTimeout options (Paolo Insogna) #44731 - [
6962ef0df1
] - readline: improve robustness against prototype mutation (Antoine du Hamel) #45614 - [
7892e23e68
] - repl: do not definewasi
on global with no flag (Kohei Ueno) #45595 - [
349b4f8817
] - src: add internal isArrayBufferDetached (Yagiz Nizipli) #45568 - [
5d7cd363ab
] - (SEMVER-MINOR) src: add uvwasi version (Jithil P Ponnan) #45639 - [
8a03684018
] - src: simplify NodeBIO::GetMethod initialization (Anna Henningsen) #45799 - [
b35ebebc0e
] - src: make structuredClone work for process.env (Ben Noordhuis) #45698 - [
81ab54035f
] - src: mark generatedsnapshot_data
asconst
(Anna Henningsen) #45786 - [
79edf257bb
] - src: cleanup on disambiguating native modules (Michael Dawson) #45665 - [
c9cba2e873
] - src: useenum class
instead ofenum
in node_i18n (Deokjin Kim) #45646 - [
818028caba
] - src: rename internal module declaration as internal bindings (Chengzhong Wu) #45551 - [
2fbe2f9f0a
] - src,lib: group properties used as constants fromutil
binding (Daeyeon Jeong) #45539 - [
56eee72abb
] - stream: use structuredClone instead of v8 (Yagiz Nizipli) #45611 - [
b297dd5393
] - test: remove flaky parallel/test-process-wrap test (Ben Noordhuis) #45806 - [
924f6ab3a1
] - test: order list alphabetically intest-bootstrap-modules
(Antoine du Hamel) #45808 - [
5c4475dab9
] - test: fix invalid output TAP if there newline in test name (Pulkit Gupta) #45742 - [
4c51c5c97a
] - test: fix -Wunused-variable on report-fatalerror (Santiago Gimeno) #45747 - [
764725040c
] - test: fix test-watch-mode (Stefan Stojanovic) #45585 - [
cd36250fcb
] - test: fix test-watch-mode-inspect (Stefan Stojanovic) #45586 - [
b55bd6e8c1
] - test: fix typos in test/parallel (Deokjin Kim) #45583 - [
358e2fe217
] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #45569 - [
424419c2b4
] - test_runner: refactortap_lexer
to use more primordials (Antoine du Hamel) #45744 - [
ffc0f3d7be
] - test_runner: refactortap_parser
to use more primordials (Antoine du Hamel) #45745 - [
4165dcddf0
] - (SEMVER-MINOR) test_runner: add t.after() hook (Colin Ihrig) #45792 - [
d1bd7796ad
] - (SEMVER-MINOR) test_runner: don't use a symbol for runHook() (Colin Ihrig) #45792 - [
6bc7b7e6f4
] - test_runner: add resetCalls to MockFunctionContext (MURAKAMI Masahiko) #45710 - [
3e485365ec
] - test_runner: don't parse TAP from stderr (Colin Ihrig) #45618 - [
efc44567c9
] - test_runner: add getter and setter to MockTracker (MURAKAMI Masahiko) #45506 - [
c9cbd1d396
] - test_runner: remove stdout and stderr from error (Colin Ihrig) #45592 - [
691f58e76c
] - tls: remove trustcor root ca certificates (Ben Noordhuis) #45776 - [
d384b73f76
] - tools: update lint-md-dependencies (Node.js GitHub Bot) #45730 - [
324ae3d5dd
] - tools: add GitHub token permissions to label flaky-test issues (Gabriela Gutierrez) #45308 - [
418ae9be56
] - tools: remove dependency vulnerability checker (Facundo Tuesca) #45675 - [
238fc64c38
] - tools: update lint-md-dependencies to rollup@3.4.0 (Node.js GitHub Bot) #45638 - [
1b98f17876
] - tools: update doc to highlight.js@11.7.0 (Node.js GitHub Bot) #45636 - [
470384e7be
] - util: use private symbols in JS land directly (Joyee Cheung) #45379 - [
cee6f382d8
] - watch: add CLI flag to preserve output (Debadree Chatterjee) #45717
Time zone data has been updated to 2022f. This includes changes to Daylight Savings Time (DST) for Fiji and Mexico. For more information, see https://mm.icann.org/pipermail/tz-announce/2022-October/000075.html.
- buffer
- (SEMVER-MINOR) introduce
File
class (Khafra) #45139
- (SEMVER-MINOR) introduce
- deps
- update V8 to 10.8.168.20 (Michaël Zasso) #45230
- doc
- deprecate use of invalid ports in
url.parse
(Antoine du Hamel) #45576
- deprecate use of invalid ports in
- util
- add fast path for utf8 encoding (Yagiz Nizipli) #45412
- [
7cff1e14ba
] - (SEMVER-MINOR) async_hooks: add hook to stop propagation (Gerhard Stöbich) #45386 - [
f08f6a64a3
] - benchmark: add v8 serialize benchmark (Yagiz Nizipli) #45476 - [
26ad54c1a2
] - benchmark: add text-encoder benchmark (Yagiz Nizipli) #45450 - [
6c56c9722b
] - (SEMVER-MINOR) buffer: introduce File (Khafra) #45139 - [
6e1e25d6dd
] - build: avoid redefined macro (Michaël Zasso) #45544 - [
5c9b2a7c82
] - build: fix env.h for cpp20 (Jiawen Geng) #45516 - [
54fd8a1966
] - build: reset embedder string to "-node.0" (Michaël Zasso) #45230 - [
0f3cf7e5ce
] - Revert "build: remove precompiled header and debug information for host builds" (Stefan Stojanovic) #45432 - [
62ef1eb4ff
] - build: add --v8-disable-object-print flag (MURAKAMI Masahiko) #45458 - [
1ce2f56cf6
] - build: make scripts in gyp run with right python (Jiawen Geng) #45435 - [
9ffe3c051a
] - build,deps,src: fix Intel VTune profiling support (Shi Lei) #45248 - [
bd3accc7b2
] - crypto: clear OpenSSL error queue after calling X509_check_private_key() (Filip Skokan) #45495 - [
724addb293
] - crypto: update root certificates (Luigi Pinca) #45490 - [
efe19eb7f5
] - crypto: clear OpenSSL error queue after calling X509_verify() (Takuro Sato) #45377 - [
f63ae525fa
] - deps: V8: cherry-pick 2ada52cffbff (Michaël Zasso) #45573 - [
43e002e3d4
] - deps: update base64 to 0.5.0 (Facundo Tuesca) #45509 - [
aaa4ac7735
] - deps: V8: cherry-pick 9df5ef70ff18 (Yagiz Nizipli) #45230 - [
e70c3090ff
] - deps: V8: cherry-pick f1c888e7093e (Michaël Zasso) #45230 - [
51eb323c50
] - deps: V8: cherry-pick 92a7385171bb (Michaël Zasso) #45230 - [
1370b1a769
] - deps: fix V8 build on Windows with MSVC (Michaël Zasso) #45230 - [
3cd6367e6a
] - deps: silence irrelevant V8 warning (Michaël Zasso) #45230 - [
9348bdd28d
] - deps: V8: fix v8-cppgc.h for MSVC (Jiawen Geng) #45230 - [
e9292544b0
] - deps: fix V8 build issue with inline methods (Jiawen Geng) #45230 - [
a3b9967553
] - deps: update V8 to 10.8.168.20 (Michaël Zasso) #45230 - [
117efe98b0
] - deps: V8: cherry-pick 9df5ef70ff18 (Yagiz Nizipli) #45474 - [
628891d4dd
] - deps: update timezone to 2022f (Node.js GitHub Bot) #45289 - [
45ba14b3be
] - deps: fix zlib compilation for CPUs without SIMD features (Anna Henningsen) #45387 - [
c41e67fe1d
] - deps: update zlib to upstream 8bbd6c31 (Luigi Pinca) #45387 - [
413bf9ad39
] - deps: patch V8 to 10.7.193.22 (Michaël Zasso) #45460 - [
ad8da86b3f
] - deps: update acorn to 8.8.1 (Node.js GitHub Bot) #45441 - [
17e6031bf0
] - deps: V8: cherry-pick 031b98b25cba (Michaël Zasso) #45375 - [
9e0e97c121
] - diagnostics_channel: built-in channels should remain experimental (Stephen Belanger) #45423 - [
44886e55e1
] - diagnostics_channel: mark as stable (Stephen Belanger) #45290 - [
b6b5b51687
] - doc: deprecate use of invalid ports inurl.parse
(Antoine du Hamel) #45576 - [
d805d5a894
] - doc: clarify changes in readableFlowing (Kohei Ueno) #45554 - [
015842f3d2
] - doc: use console.error for error case in http2 (Deokjin Kim) #45577 - [
4345732900
] - doc: add version description about fsPromise.constants (chlorine) #45556 - [
16643dbb19
] - doc: add missing documentation for paramEncoding (Tobias Nießen) #45523 - [
246cd358b5
] - doc: fix typo in threat model (Tobias Nießen) #45558 - [
5b1df22db0
] - doc: add Node.js Threat Model (Rafael Gonzaga) #45223 - [
19d8493c92
] - doc: run license-builder (github-actions[bot]) #45553 - [
6f0bc097ea
] - doc: add async_hooks migration note (Geoffrey Booth) #45335 - [
118de4b44c
] - doc: fix RESOLVE_ESM_MATCH in modules.md (翠 / green) #45280 - [
4de67d1ef4
] - doc: add arm64 to os.machine() (Carter Snook) #45374 - [
1812a89c00
] - doc: add lint rule to enforce trailing commas (Antoine du Hamel) #45471 - [
4128c27f66
] - doc: include v19.1.0 inCHANGELOG.md
(Rafael Gonzaga) #45462 - [
94a6a97ec6
] - doc: adjust wording to eliminate awkward typography (Konv) #45398 - [
a6fe707b62
] - doc: fix typo in maintaining-dependencies.md (Tobias Nießen) #45428 - [
8906a4e58e
] - esm: add JSDoc property descriptions for loader (Rich Trott) #45370 - [
4e5ad9df50
] - esm: add JSDoc property descriptions for fetch (Rich Trott) #45370 - [
2b760c339e
] - fs: fix fs.rm support for loop symlinks (Nathanael Ruf) #45439 - [
e0a271e41b
] - gyp: fix v8 canary build on aix (Vasili Skurydzin) #45496 - [
eac26c0793
] - Revert "http: headers(Distinct), trailers(Distinct) setters to be no-op" (Rich Trott) #45527 - [
f208db70a0
] - http: add debug log for ERR_UNESCAPED_CHARACTERS (Aidan Temple) #45420 - [
b72b2bab72
] - http: add JSDoc property descriptions (Rich Trott) #45370 - [
4c9159a830
] - lib: improve transferable abort controller exec (Yagiz Nizipli) #45525 - [
5745bcbb41
] - lib: improve AbortController creation duration (Yagiz Nizipli) #45525 - [
38767b42fb
] - lib: do not throw if global property is no longer configurable (Antoine du Hamel) #45344 - [
0d1b1c5df0
] - meta: update AUTHORS (Node.js GitHub Bot) #45531 - [
208ea1a58c
] - meta: update VoltrexMaster's username (Mohammed Keyvanzadeh) #45503 - [
d13ea68ef6
] - meta: update AUTHORS (Node.js GitHub Bot) #45443 - [
6704e7814f
] - meta: be more proactive about removing from teams (Rich Trott) #45352 - [
6fdd202c57
] - module: require.resolve.paths returns null with node schema (MURAKAMI Masahiko) #45147 - [
38f1ede379
] - node-api: address coverity warning (Michael Dawson) #45563 - [
4a4f2802ec
] - node-api: declare type napi_cleanup_hook (Chengzhong Wu) #45391 - [
8ff16fd8c0
] - node-api: fix immediate napi_remove_wrap test (Chengzhong Wu) #45406 - [
e7a5b3347b
] - src: address coverity warning in node_file.cc (Michael Dawson) #45565 - [
128c9f6fac
] - src: use qualifiedstd::move
call in node_http2 (Michaël Zasso) #45555 - [
57bca94cb1
] - src: avoid unused variables and functions (Michaël Zasso) #45542 - [
649b31f5e5
] - src: add missing include forstd::all_of
(Michaël Zasso) #45541 - [
56f22ea47c
] - src: set an appropriate thread pool size if given--v8-pool-size=0
(Daeyeon Jeong) #45513 - [
cce9e11d2d
] - src: move FsStatsOffset and kFsStatsBufferLength to node_file.h (Joyee Cheung) #45498 - [
5e5bf0c236
] - src: don't run tasks on isolate termination (Santiago Gimeno) #45444 - [
10e7c2a62c
] - src: remove the unused PackageConfig class (Joyee Cheung) #45478 - [
459d4481d4
] - src: add --max-semi-space-size to the options allowed in NODE_OPTIONS (Emanuel Hoogeveen) #44436 - [
a483d1291e
] - src: condense experimental warning message (Rich Trott) #45424 - [
42507e68ab
] - src,node-api: updatenapi_is_detached_arraybuffer
(Daeyeon Jeong) #45538 - [
f720c5880e
] - stream: use ArrayBufferPrototypeGetByteLength (Yagiz Nizipli) #45528 - [
c00258e24b
] - stream: add primordials to adapters (Yagiz Nizipli) #45511 - [
5274a8f7db
] - stream: avoid premature close when will not emit close (Robert Nagy) #45301 - [
496912d722
] - stream: fix typo inadapters.js
(#45515) (Kohei Ueno) #45515 - [
8d96e2c723
] - stream: add fast path for utf8 (Yagiz Nizipli) #45483 - [
c3fe9072c6
] - test: add trailing commas in event tests (Rich Trott) #45466 - [
bb4c293873
] - test: add trailing commas in async-hooks tests (#45549) (Antoine du Hamel) #45549 - [
731e8741b2
] - test: add trailing commas in addons test (#45548) (Antoine du Hamel) #45548 - [
d6c68ce346
] - test: add trailing commas intest/common
(#45550) (Antoine du Hamel) #45550 - [
c9ba0b738d
] - test: revise pull request guide text about code (Rich Trott) #45519 - [
076e9eeaeb
] - test: fix test-trace-gc-flag (Tony Gorez) #45230 - [
72f2df2802
] - test: adapt test-v8-stats for V8 update (Michaël Zasso) #45230 - [
b491504d77
] - test: enable the WPT forstructuredClone
(Daeyeon Jeong) #45482 - [
1277ffcb55
] - test: add lint rule to enforce trailing commas (Antoine du Hamel) #45468 - [
45b54eec55
] - test: update uses of _jabber._tcp.google.com (Colin Ihrig) #45451 - [
51213c24bd
] - test: add test to validate changelogs for releases (Richard Lau) #45325 - [
00a3b5f7d5
] - test: remove flaky designation for test-worker-http2-stream-terminate (Rich Trott) #45438 - [
4fe5c4e167
] - test: fix flaky test-repl-sigint-nested-eval (Rich Trott) #45354 - [
f79dd65333
] - test: add a test to ensure the correctness of timezone upgrades (Darshan Sen) #45299 - [
016749ba5d
] - test_runner: add initial TAP parser (Wassim Chegham) #43525 - [
e9760b4ae8
] - test_runner: support watch mode (Moshe Atlow) #45214 - [
160c88ec77
] - tools: have test-asan use ubuntu-20.04 (Filip Skokan) #45581 - [
81f63c2b28
] - tools: update eslint to 8.28.0 (Node.js GitHub Bot) #45532 - [
f3f1aed01a
] - tools: add automation for updating libuv dependency (Facundo Tuesca) #45362 - [
d4f30f07b3
] - tools: add missing step in update-base64.sh script (Facundo Tuesca) #45509 - [
cca20330cf
] - tools: update certdata.txt (Luigi Pinca) #45490 - [
39e873139b
] - tools: include current release in the list of released versions (Antoine du Hamel) #45463 - [
8a34ef4897
] - tools: update lint-md-dependencies to rollup@3.3.0 (Node.js GitHub Bot) #45442 - [
bb36acff42
] - tools: do not run CQ on non-fast-tracked PRs open for less than 2 days (Moshe Atlow) #45407 - [
93bc2ba509
] - tools: simplify .eslintrc.js (Rich Trott) #45397 - [
b7f8a44c64
] - tools: simplify regex in ESLint config (Rich Trott) #45399 - [
36bf87fabf
] - tools: enable jsdoc/require-property-description rule (Rich Trott) #45370 - [
7c6281a7d2
] - tools: dynamically determine parallelism on GitHub Actions macOS (Rich Trott) #45350 - [
f441b04c11
] - trace_events: add new categories (theanarkh) #45266 - [
6bdd2c3884
] - Revert "url: improve port validation" (Rich Trott) #45517 - [
bbba42fcb2
] - url: remove unnecessary object call to kFormat (Yagiz Nizipli) #45492 - [
7c79ba7b27
] - util: add fast path for utf8 encoding (Yagiz Nizipli) #45412 - [
f86f90f839
] - util: improve text decoder performance (Yagiz Nizipli) #45388 - [
3263ceb21a
] - watch: watch for missing dependencies (Moshe Atlow) #45348
The node:test
module supports mocking during testing via a top-level mock
object.
test('spies on an object method', (t) => {
const number = {
value: 5,
add(a) {
return this.value + a;
},
};
t.mock.method(number, 'add');
assert.strictEqual(number.add(3), 8);
assert.strictEqual(number.add.mock.calls.length, 1);
});
Contributed by Colin Ihrig in #45326
fs.watch
supports recursive watch using the recursive: true
option.
const watcher = fs.watch(testDirectory, { recursive: true });
watcher.on('change', function(event, filename) {
});
Contributed by Yagiz Nizipli in #45098
- deps
- update ICU to 72.1 (Michaël Zasso) #45068
- doc
- lib
- drop fetch experimental warning (Matteo Collina) #45287
- util
- [
c9cf399ec7
] - benchmark: add parameters to text-decoder benchmark (Yagiz Nizipli) #45363 - [
79f6bb061d
] - benchmark: fix text-decoder benchmark (Yagiz Nizipli) #45363 - [
a27c994ced
] - benchmark: add blob benchmark (Yagiz Nizipli) #44990 - [
c45b6aee78
] - bootstrap: merge main thread and worker thread initializations (Joyee Cheung) #44869 - [
33691208df
] - buffer: fix validation of options inBlob
constructor (Antoine du Hamel) #45156 - [
7b938df296
] - build: support Python 3.11 (Luigi Pinca) #45191 - [
75e0a2d109
] - build: workaround for node-core-utils (Jiawen Geng) #45199 - [
f598edbdf4
] - build: fix icu-small build with ICU 72.1 (Steven R. Loomis) #45195 - [
29b9f4f90c
] - build: remove unused language files (Ben Noordhuis) #45138 - [
3a1ee940d1
] - build: add GitHub token to auto-start-ci workflow (Richard Lau) #45185 - [
17349a2f42
] - build: restore Windows resource file (Richard Lau) #45042 - [
24e24bd063
] - build: add version info to timezone update PR (Darshan Sen) #45021 - [
8d7aa53e6b
] - build,win: pass --debug-nghttp2 to configure (Santiago Gimeno) #45209 - [
b2e60480f3
] - child_process: validate arguments for null bytes (Darshan Sen) #44782 - [
1f0edde412
] - crypto: handle more webcrypto errors with OperationError (Filip Skokan) #45320 - [
13fb05e12b
] - crypto: handle unsupported AES ciphers in webcrypto (Filip Skokan) #45321 - [
c168cbfbb3
] - deps: V8: cherry-pick 56816d76c121 (Shi Pujin) #45353 - [
1432474abf
] - deps: upgrade npm to 8.19.3 (npm team) #45322 - [
f35d56200d
] - deps: update corepack to 0.15.1 (Node.js GitHub Bot) #45331 - [
44de2321aa
] - deps: patch V8 to 10.7.193.20 (Michaël Zasso) #45228 - [
bfe3819f08
] - deps: upgrade to libuv 1.44.2 (Luigi Pinca) #42340 - [
0d41df96b3
] - deps: update corepack to 0.15.0 (Node.js GitHub Bot) #45235 - [
0d241638ca
] - deps: update undici to 5.12.0 (Node.js GitHub Bot) #45236 - [
f58996188a
] - Revert "deps: make V8 compilable with older glibc" (Michaël Zasso) #45162 - [
8cda730e58
] - deps: update ICU to 72.1 (Michaël Zasso) #45068 - [
0a6ed6f710
] - Revert "deps: V8: forward declaration ofRtl*FunctionTable
" (Michaël Zasso) #45119 - [
2f7518ada2
] - deps: update timezone (Node.js GitHub Bot) #44950 - [
3bfba6df79
] - deps: patch V8 to 10.7.193.16 (Michaël Zasso) #45023 - [
b5baaa61b3
] - dns: fix port validation (Antoine du Hamel) #45135 - [
0e9bad97cc
] - doc: allow for holidays in triage response (Michael Dawson) #45267 - [
d4aabb9d3d
] - doc: include last security release date (Juan José Arboleda) #45368 - [
ba45373164
] - doc: fix email for Ashley (Michael Dawson) #45364 - [
d5e5c75b13
] - doc: fix test runner's only tests section header (Colin Ihrig) #45343 - [
a7c5f31c47
] - doc: run license-builder (github-actions[bot]) #45349 - [
3de125743e
] - doc: add more info for timer.setInterval (theanarkh) #45232 - [
5a1252d9b4
] - doc: use module names in stability overview table (Filip Skokan) #45312 - [
4d38bf2c5f
] - doc: addnode:
prefix for examples (Daeyeon Jeong) #45328 - [
b4b6b95f48
] - doc: update name of Node.js core Slack channel (Rich Trott) #45293 - [
7d7e7c316b
] - doc: fix "task_processor.js" typo (andreysoktoev) #45257 - [
b9039a54af
] - doc: add history section tofetch
-related globals (Antoine du Hamel) #45198 - [
d9163f1632
] - doc: clarify moderation inonboarding.md
(Benjamin Gruenbaum) #41930 - [
c179c1478b
] - doc: change make lint to make lint-md (RafaelGSS) #45197 - [
58bec56fab
] - doc: add more lts update steps to release guide (Ruy Adorno) #45177 - [
8f8d7e76ac
] - doc: add bmuenzenmeyer to triagers (Brian Muenzenmeyer) #45155 - [
de2df550f6
] - doc: update process.release (Filip Skokan) #45170 - [
916e8760ba
] - doc: add link to triage guide (Brian Muenzenmeyer) #45154 - [
54d806853e
] - doc: mark Node.js 12 as End-of-Life (Rafael Gonzaga) #45186 - [
3a26347649
] - doc: add lukekarrys to collaborators (Luke Karrys) #45180 - [
85cb4d795c
] - doc: update mark release line lts on release guide (Ruy Adorno) #45101 - [
c23e023a2d
] - doc: be more definite and present tense-y (Ben Noordhuis) #45120 - [
519002152b
] - doc: add major version note to release guide (Ruy Adorno) #45054 - [
809e8dcbd2
] - doc: fix v14.x link maintaining openssl guide (RafaelGSS) #45071 - [
9d449d389d
] - doc: add note about latest GitHub release (Michaël Zasso) #45111 - [
ee34a3a1bc
] - doc: mention v18.x openssl maintaining guide (Rafael Gonzaga) #45070 - [
3e4033a90d
] - doc: fix display of "problematic" ASCII characters (John Gardner) #44373 - [
533e38b0b8
] - doc: mark Node.js v17.x as EOL (KaKa) #45110 - [
93a34faa39
] - doc: update Node.js 16 End-of-Life date (Richard Lau) #45103 - [
b4beddef79
] - doc: fix typo in parseArgs default value (Tobias Nießen) #45083 - [
e8103fd33b
] - doc: updated security stewards (Michael Dawson) #45005 - [
5fbccae4f0
] - doc: fix http and http2 writeEarlyHints() parameter (Fabian Meyer) #45000 - [
d47f83251a
] - doc: run license-builder (github-actions[bot]) #45034 - [
e6bbc5033d
] - doc: improve the workflow to test release binaries (Rafael Gonzaga) #45004 - [
f0c18f04f0
] - doc: fix undici version in changelog (Michael Dawson) #44982 - [
ffba3218ec
] - doc: add info on fixup to security release process (Michael Dawson) #44807 - [
edb92f4510
] - doc: add anonrig to collaborators (Yagiz Nizipli) #45002 - [
58334a38e8
] - doc, async_hooks: improve and add migration hints (Gerhard Stöbich) #45369 - [
7225a7d46b
] - doc, http: add Uint8Array as allowed type (Gerhard Stöbich) #45167 - [
40a5e22328
] - esm: protect ESM loader from prototype pollution (Antoine du Hamel) #45175 - [
2e5d8e7239
] - esm: protect ESM loader from prototype pollution (Antoine du Hamel) #45044 - [
c3dd696081
] - events: add unique events benchmark (Yagiz Nizipli) #44657 - [
daff3b8b09
] - fs: update todo message (Yagiz Nizipli) #45265 - [
670def3d6f
] - fs: fix opts.filter issue in cpSync (Tho) #45143 - [
34bfef91a9
] - (SEMVER-MINOR) fs: add recursive watch to linux (Yagiz Nizipli) #45098 - [
d89ca1b443
] - fs: trace more fs api (theanarkh) #45095 - [
1a04881494
] - http: headers(Distinct), trailers(Distinct) setters to be no-op (Madhuri) #45176 - [
8abc3f732a
] - http: add priority to common http headers (James M Snell) #45045 - [
316354e3d3
] - http2: improve session close/destroy procedures (Santiago Gimeno) #45115 - [
1635140952
] - http2: fix crash on Http2Stream::diagnostic_name() (Santiago Gimeno) #45123 - [
94b7f5338c
] - http2: fix debugStream method (Santiago Gimeno) #45129 - [
3db37e7d1b
] - inspector: refactorinspector/promises
to be more robust (Antoine du Hamel) #45041 - [
0478e4063f
] - lib: add options to the heap snapshot APIs (Joyee Cheung) #44989 - [
a8e901555a
] - lib: fix JSDoc issues (Rich Trott) #45243 - [
74352842bc
] - lib: use process.nextTick() instead of setImmediate() (Luigi Pinca) #42340 - [
9f3d2f6879
] - lib: drop fetch experimental warning (Matteo Collina) #45287 - [
e2181e057b
] - lib: fix eslint early return (RafaelGSS) #45409 - [
d1726692ee
] - lib: fix TypeError when converting a detached buffer source (Kohei Ueno) #44020 - [
d7470ad986
] - lib: fixAbortSignal.timeout
parameter validation (dnalborczyk) #42856 - [
c7b7f2bec2
] - lib: add lint rule to protect againstObject.prototype.then
pollution (Antoine du Hamel) #45061 - [
9ed9aa8233
] - lib: add ability to add separate event name to defineEventHandler (James M Snell) #45032 - [
8b4a41e23d
] - lib: fix typo inpre_execution.js
(Antoine du Hamel) #45039 - [
cc2393c9fe
] - lib: promise version of streams.finished call clean up (Naor Tedgi (Abu Emma)) #44862 - [
17ef1bbc8e
] - lib: make properties on Blob and URL enumerable (Khafra) #44918 - [
8199841e9c
] - lib: support more attributes for early hint link (Yagiz Nizipli) #44874 - [
88c3bb609b
] - meta: update AUTHORS (Node.js GitHub Bot) #45333 - [
a866e8c163
] - meta: update collaborator email address in README (Rich Trott) #45251 - [
bfbfacad79
] - meta: fix email address typo in README (Rich Trott) #45250 - [
0d58bb9531
] - meta: remove dont-land-on-v12 auto labeling (Moshe Atlow) #45233 - [
b41b5ba658
] - meta: update AUTHORS (Node.js GitHub Bot) #45238 - [
ad9a5bb61f
] - meta: move a collaborator to emeritus (Rich Trott) #45160 - [
ec8683052b
] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #45036 - [
7900810fb3
] - meta: update AUTHORS (Node.js GitHub Bot) #45020 - [
738144c311
] - module: ensure relative requires work from deleted directories (Bradley Farias) #42384 - [
36acf8a13e
] - net: remove _readableState from debug statement (Rich Trott) #45063 - [
aaca54c5c0
] - node-api: handle no support for external buffers (Michael Dawson) #45181 - [
2105f099ea
] - node-api,test: fix test_reference_double_free crash (Vladimir Morozov) #44927 - [
2fcf851a91
] - os: convert uid and gid to 32-bit signed integers (Luigi Pinca) #42340 - [
dfe4237d77
] - perf_hooks: align toStringTag with other Web Performance implementations (Daeyeon Jeong) #45157 - [
9d15da3341
] - report: add more memory info (theanarkh) #45254 - [
a2620acad7
] - report: add rss and use/kernel cpu usage fields (theanarkh) #45043 - [
66e1dc4979
] - report,doc: define report version semantics (Gireesh Punathil) #45050 - [
86e22b4e19
] - src: track contexts in the Environment instead of AsyncHooks (Joyee Cheung) #45282 - [
326d19af3d
] - src: resolve TODO related to inspector CVEs (Tobias Nießen) #45341 - [
4e45585ca2
] - src: revert is_release to 0 (RafaelGSS) #45315 - [
5d480118fb
] - src: print nghttp2 logs when using --debug-nghttp2 (Santiago Gimeno) #45209 - [
3e46ebda3c
] - src: trace threadpool event (theanarkh) #44458 - [
97547bcd14
] - src: lock-free init_process_flags (Jérémy Lal) #45221 - [
42db84913b
] - src: call uv_library_shutdown before DisposePlatform (theanarkh) #45226 - [
aa4152a1b6
] - src: fixcrypto.privateEncrypt
fails first time (liuxingbaoyu) #42793 - [
243c141b69
] - src: clarify OptionEnvvarSettings member names (Chengzhong Wu) #45057 - [
5335e29ce7
] - src: let http2 streams end after session close (Santiago Gimeno) #45153 - [
8d5682266e
] - src: remap invalid file descriptors usingdup2
(Obiwac) #44461 - [
4e14ed8878
] - src: remove unusedcontextify_global_private_symbol
(Daeyeon Jeong) #45128 - [
a8412f5677
] - src: forbid running watch mode in REPL (Moshe Atlow) #45058 - [
162bf0ddff
] - src: fix test runner coverage (Moshe Atlow) #45055 - [
e5b1179630
] - src: optimize ALPN callback (Ben Noordhuis) #44875 - [
9dc21a1f86
] - src: simplify ALPN code, remove indirection (Ben Noordhuis) #44875 - [
5fce8e3495
] - src: iwyu in cleanup_queue.cc (Shelley Vohr) #44983 - [
824dcfc422
] - src: return void in InitializeInspector() (Joyee Cheung) #44903 - [
7a31ae8ab1
] - src,lib: retrieve parsed source map url from v8 (Chengzhong Wu) #44798 - [
ccb1c1e9a2
] - stream: add compose operator (Raz Luvaton) #44937 - [
e60d9053bc
] - stream: fix duplexify premature destroy (Robert Nagy) #45133 - [
bc0ae3e74e
] - stream: fix web streams have no Symbol.toStringTag (Jithil P Ponnan) #45117 - [
1655532fd2
] - stream: don't push null from closed promise #42694 (David Halls) #45026 - [
717db1d46a
] - test: skip test-fs-largefile if not enough disk space (Rich Trott) #45339 - [
4a80aff16e
] - test: fix catching failed assertion (Pavel Horal) #45222 - [
66e7821506
] - test: defer invocation checks (Luigi Pinca) #42340 - [
43db0fbd49
] - test: fix test-socket-write-after-fin-error (Luigi Pinca) #42340 - [
d5f4d98847
] - test: maketest-eventemitter-asyncresource.js
shorter (Juan José) #45146 - [
7428651100
] - test: convert test-debugger-pid to async/await (Luke Karrys) #45179 - [
f10f2c1121
] - test: fix textdecoder test for small-icu builds (Richard Lau) #45225 - [
eed799bd31
] - test: improve test coverage intest-event-capture-rejections.js
(Juan José) #45148 - [
069747bfdd
] - test: fix timeout of test-heap-prof.js in riscv devices (Yu Gu) #42674 - [
ddb7df76de
] - test: deflake test-http2-empty-frame-without-eof (Santiago Gimeno) #45212 - [
02ebde39d3
] - test: use common/tmpdir in watch-mode ipc test (Richard Lau) #45211 - [
f9bc40a1fc
] - test: use uv_sleep() where possible (Santiago Gimeno) #45124 - [
3c7ea23b8f
] - test: fix typo intest/parallel/test-fs-rm.js
(Tim Shilov) #44882 - [
b39dcde056
] - test: remove a snapshot blob from test-inspect-address-in-use.js (Daeyeon Jeong) #45132 - [
fabed9bdc8
] - test: add test for Module._stat (Darshan Sen) #44713 - [
2b3b291c97
] - test: watch mode inspect restart repeatedly (Moshe Atlow) #45060 - [
17e86e4188
] - test: remove experimental-wasm-threads flag (Michaël Zasso) #45074 - [
f0480d68e9
] - test: remove unnecessary noop function args tomustCall()
(Antoine du Hamel) #45047 - [
82e6043118
] - test: mark test-watch-mode* as flaky on all platforms (Pierrick Bouvier) #45049 - [
26a2ae2489
] - test: wrap missingcommon.mustCall
(Moshe Atlow) #45064 - [
8662399cda
] - test: remove mentions of--experimental-async-stack-tagging-api
flag (Simon) #45051 - [
71b8d506ed
] - test: improve assertions intest-repl-unsupported-option.js
(Juan José) #44953 - [
dbc696d363
] - test: remove unnecessary noop function args to mustCall() (Rich Trott) #45027 - [
c1ca19fb06
] - test: update WPT resources (Khaidi Chu) #44948 - [
43677e5a34
] - test: skip test depending onoverlapped-checker
when not available (Antoine du Hamel) #45015 - [
3519d74e87
] - test: improve test coverage foros
package (Juan José) #44959 - [
ea0cfc9a83
] - test: add test to improve coverage in http2-compat-serverresponse (Cesar Mario Diaz) #44970 - [
482578682c
] - test: improve test coverage intest-child-process-spawn-argv0.js
(Juan José) #44955 - [
a618dc3c3e
] - test: use CHECK instead of EXPECT where necessary (Tobias Nießen) #44795 - [
c59d3b76e6
] - test: refactor promises to async/await (Madhuri) #44980 - [
36c5927c60
] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #45165 - [
6158d740f3
] - test_runner: support function mocking (Colin Ihrig) #45326 - [
920804dc46
] - test_runner: avoid swallowing of asynchronously thrown errors (MURAKAMI Masahiko) #45264 - [
8e7f9de45e
] - test_runner: fix afterEach not running on test failures (Jithil P Ponnan) #45204 - [
0040030443
] - test_runner: report tap subtest in order (Moshe Atlow) #45220 - [
afa8291c7c
] - test_runner: call {before,after}Each() on suites (Colin Ihrig) #45161 - [
ff174b0937
] - test_runner: add extra fields in AssertionError YAML (Bryan English) #44952 - [
bf868fdfab
] - (SEMVER-MINOR) tls: add "ca" property to certificate object (Ben Noordhuis) #44935 - [
e8075fd1f8
] - tools: add automation for updating acorn dependency (Facundo Tuesca) #45357 - [
9aa305ff3e
] - tools: add documentation regarding our api tooling (Claudio Wunder) #45270 - [
76cbc07f9b
] - tools: allow scripts to run from anywhere (Luigi Pinca) #45361 - [
aa875a4d6a
] - tools: update eslint to 8.27.0 (Node.js GitHub Bot) #45358 - [
4b71db13ae
] - tools: update eslint to 8.26.0 (Node.js GitHub Bot) #45243 - [
63267dfefb
] - tools: update lint-md-dependencies to rollup@3.2.5 (Node.js GitHub Bot) #45332 - [
e275859138
] - tools: fix stability index generation (Antoine du Hamel) #45346 - [
97fe8bacb1
] - tools: increase macOS cores to 3 on GitHub CI (Rich Trott) #45340 - [
eda4ae51ca
] - tools: add automation for updating base64 dependency (Facundo Tuesca) #45300 - [
2ee052f794
] - tools: fixrequest-ci-failed
comment (Antoine du Hamel) #45291 - [
e118dd88fd
] - tools: refactor dynamic strings creation in shell scripts (Antoine du Hamel) #45240 - [
ba89cea683
] - tools: update lint-md-dependencies (Node.js GitHub Bot) #45237 - [
786f086800
] - tools: use Python 3.11 in GitHub Actions workflows (Luigi Pinca) #45191 - [
0738d14fa4
] - tools: fixrequest-ci-failed
comment (Antoine du Hamel) #45218 - [
49be13ccd8
] - tools: keep Emeriti lists case-insensitive alphabetic (Rich Trott) #45159 - [
6e30d2231b
] - tools: update actions/setup-python to v4 (Yagiz Nizipli) #45178 - [
a4158692d7
] - tools: update V8 gypfiles for RISC-V (Andreas Schwab) #45149 - [
c43bc2169f
] - tools: fixcreate-or-update-pull-request-action
hash on GHA (Antoine du Hamel) #45166 - [
2ccc03ec32
] - tools: update gr2m/create-or-update-pull-request-action (Luigi Pinca) #45022 - [
a70b27629f
] - tools: do not use the set-output command in workflows (Luigi Pinca) #45024 - [
025e616662
] - tools: update lint-md-dependencies (Node.js GitHub Bot) #45019 - [
732f9a78d3
] - trace_events: fix getCategories (theanarkh) #45092 - [
1bc84ce52c
] - url: remove \t \n \r in url.parse() similar to WHATWG (Rich Trott) #45116 - [
84e7388160
] - url: improve port validation (Rich Trott) #45012 - [
02cff4a3d3
] - url: improve url.parse() compliance with WHATWG URL (Rich Trott) #45011 - [
89390a6be2
] - util: improve text-decoder performance (Yagiz Nizipli) #45363 - [
0deed8daeb
] - util: improve textdecoder decode performance (Yagiz Nizipli) #45294 - [
d41f8ffc36
] - (SEMVER-MINOR) util: add MIME utilities (#21128) (Bradley Farias) #21128
This is a security release.
The following CVEs are fixed in this release:
- CVE-2022-3602: X.509 Email Address 4-byte Buffer Overflow (High)
- CVE-2022-3786: X.509 Email Address Variable Length Buffer Overflow (High)
- CVE-2022-43548: DNS rebinding in --inspect via invalid octal IP address (Medium)
More detailed information on each of the vulnerabilities can be found in November 2022 Security Releases blog post.
- [
e58e8d70a8
] - deps: update archs files for quictls/openssl-3.0.7+quic (RafaelGSS) #45286 - [
85f4548d57
] - deps: upgrade openssl sources to quictls/openssl-3.0.7+quic (RafaelGSS) #45286 - [
43403f56f7
] - inspector: harden IP address validation again (Tobias Nießen) nodejs-private/node-private#354
Node.js 19 is here! Highlights include the update of the V8 JavaScript engine to 10.7, HTTP(s)/1.1 KeepAlive enabled by default, and ESM Resolution adjusts.
Node.js 19 will replace Node.js 18 as our ‘Current’ release line when Node.js 18 enters long-term support (LTS) later this month. As per the release schedule, Node.js 19 will be ‘Current' release for the next 6 months, until April 2023.
- [
7dd2f41c73
] - (SEMVER-MAJOR) module: runtime deprecate exports double slash maps (Guy Bedford) #44495 - [
ada2d053ae
] - (SEMVER-MAJOR) process: runtime deprecate coercion to integer inprocess.exit()
(Daeyeon Jeong) #44711
Starting with this release, Node.js sets keepAlive
to true by default. This means that any outgoing HTTP(s) connection will automatically use HTTP 1.1 Keep-Alive. The default waiting window is 5 seconds.
Enable keep-alive will deliver better throughput as connections are reused by default.
Additionally the agent is now able to parse the response Keep-Alive
which the servers might send. This header instructs the client on how much to stay connected.
On the other side, the Node.js HTTP server will now automatically disconnect idle clients (which are using HTTP Keep-Alive to reuse the connection) when close()
is invoked).
Node.js HTTP(S)/1.1 requests may experience a better throughput/performance by default.
Contributed by Paolo Insogna in #43522
The main reason is the lack of resources from Node.js team. The complexity to keep the support up-to-date has been proved not worth it without a clear plan to support those tools. Hence, an issue was raised in the Node.js repository to assess a better support, for DTrace
in specific.
Contributed by Ben Noordhuis in #43651 and #43652
The V8 engine is updated to version 10.7, which is part of Chromium 107.
This version include a new feature to the JavaScript API: Intl.NumberFormat
.
Intl.NumberFormat
v3 API is a new TC39 ECMA402 stage 3 proposal
extend the pre-existing Intl.NumberFormat
.
The V8 update was a contribution by Michaël Zasso in #44741.
llhttp has been updated to version 8.1.0.Collectively, this version brings many update to the llhttp API, introducing new callbacks and allow all callback to be pausable.
Contributed by Paolo Insogna in #44967
- [
46a3afb579
] - doc: graduate webcrypto to stable (Filip Skokan) #44897 - [
f594cc85b7
] - esm: remove specifier resolution flag (Geoffrey Booth) #44859
- [
53f73d1cfe
] - (SEMVER-MAJOR) build: enable V8's trap handler on Windows (Michaël Zasso) #44741 - [
06aaf8a1c4
] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Michaël Zasso) #44741 - [
aa3a572e6b
] - (SEMVER-MAJOR) build: remove dtrace & etw support (Ben Noordhuis) #43652 - [
38f1e2793c
] - (SEMVER-MAJOR) build: remove systemtap support (Ben Noordhuis) #43651 - [
2849283c4c
] - (SEMVER-MAJOR) crypto: remove non-standardwebcrypto.Crypto.prototype.CryptoKey
(Antoine du Hamel) #42083 - [
a1653ac715
] - (SEMVER-MAJOR) crypto: do not allow to call setFips from the worker thread (Sergey Petushkov) #43624 - [
fd36a8dadb
] - (SEMVER-MAJOR) deps: update llhttp to 8.1.0 (Paolo Insogna) #44967 - [
89ecdddaab
] - (SEMVER-MAJOR) deps: bump minimum ICU version to 71 (Michaël Zasso) #44741 - [
66fe446efd
] - (SEMVER-MAJOR) deps: V8: cherry-pick 0cccb6f27d78 (Michaël Zasso) #44741 - [
88ed027d57
] - (SEMVER-MAJOR) deps: V8: cherry-pick 7ddb8399f9f1 (Michaël Zasso) #44741 - [
26c651c34e
] - (SEMVER-MAJOR) deps: V8: cherry-pick 1b3a4f0c34a1 (Michaël Zasso) #44741 - [
c8ff2dfd11
] - (SEMVER-MAJOR) deps: V8: cherry-pick b161a0823165 (Michaël Zasso) #44741 - [
7a8fa2d517
] - (SEMVER-MAJOR) deps: fix V8 build on Windows with MSVC (Michaël Zasso) #44741 - [
83b0aaa800
] - (SEMVER-MAJOR) deps: fix V8 build on SmartOS (Michaël Zasso) #44741 - [
7a952e8ea5
] - (SEMVER-MAJOR) deps: silence irrelevant V8 warning (Michaël Zasso) #44741 - [
6bd756d7c6
] - (SEMVER-MAJOR) deps: update V8 to 10.7.193.13 (Michaël Zasso) #44741 - [
03fb789fb9
] - (SEMVER-MAJOR) events: add null check for the signal of EventTarget (Masashi Hirano) #43153 - [
a4fa526ddc
] - (SEMVER-MAJOR) fs: add directory autodetection to fsPromises.symlink() (Livia Medeiros) #42894 - [
bb4891d8d4
] - (SEMVER-MAJOR) fs: add validateBuffer to improve error (Hirotaka Tagawa / wafuwafu13) #44769 - [
950a4411fa
] - (SEMVER-MAJOR) fs: remove coercion to string in writing methods (Livia Medeiros) #42796 - [
41a6d82968
] - (SEMVER-MAJOR) fs: harden fs.readSync(buffer, options) typecheck (LiviaMedeiros) #42772 - [
2275faac2b
] - (SEMVER-MAJOR) fs: harden fs.read(params, callback) typecheck (LiviaMedeiros) #42772 - [
29953a0b88
] - (SEMVER-MAJOR) fs: harden filehandle.read(params) typecheck (LiviaMedeiros) #42772 - [
4267b92604
] - (SEMVER-MAJOR) http: use Keep-Alive by default in global agents (Paolo Insogna) #43522 - [
0324529e0f
] - (SEMVER-MAJOR) inspector: introduce inspector/promises API (Erick Wendel) #44250 - [
80270994d6
] - (SEMVER-MAJOR) lib: enable global CustomEvent by default (Daeyeon Jeong) #44860 - [
f529f73bd7
] - (SEMVER-MAJOR) lib: brand check event handler property receivers (Chengzhong Wu) #44483 - [
6de2673a9f
] - (SEMVER-MAJOR) lib: enable global WebCrypto by default (Antoine du Hamel) #42083 - [
73ba8830d5
] - (SEMVER-MAJOR) lib: use private field in AbortController (Joyee Cheung) #43820 - [
7dd2f41c73
] - (SEMVER-MAJOR) module: runtime deprecate exports double slash maps (Guy Bedford) #44495 - [
22c39b1ddd
] - (SEMVER-MAJOR) path: the dot will be added(path.format) if it is not specified inext
(theanarkh) #44349 - [
587367d107
] - (SEMVER-MAJOR) perf_hooks: expose webperf global scope interfaces (Chengzhong Wu) #44483 - [
364c0e196c
] - (SEMVER-MAJOR) perf_hooks: fix webperf idlharness (Chengzhong Wu) #44483 - [
ada2d053ae
] - (SEMVER-MAJOR) process: runtime deprecate coercion to integer inprocess.exit()
(Daeyeon Jeong) #44711 - [
e0ab8dd637
] - (SEMVER-MAJOR) process: make process.config read only (Sergey Petushkov) #43627 - [
481a959adb
] - (SEMVER-MAJOR) readline: removequestion
method fromInterfaceConstructor
(Antoine du Hamel) #44606 - [
c9602ce212
] - (SEMVER-MAJOR) src: use new v8::OOMErrorCallback API (Michaël Zasso) #44741 - [
19a70c11e4
] - (SEMVER-MAJOR) src: override CreateJob instead of PostJob (Clemens Backes) #44741 - [
fd52c62bee
] - (SEMVER-MAJOR) src: use V8_ENABLE_SANDBOX macro (Michaël Zasso) #44741 - [
c10988db44
] - (SEMVER-MAJOR) src: use non-deprecated V8 inspector API (Michaël Zasso) #44741 - [
3efe901dd6
] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 111 (Michaël Zasso) #44741 - [
77e585657f
] - (SEMVER-MAJOR) src: turn embedder api overload into default argument (Alena Khineika) #43629 - [
dabda03ea9
] - (SEMVER-MAJOR) src: per-environment time origin value (Chengzhong Wu) #43781 - [
2e49b99cc2
] - (SEMVER-MAJOR) src,test: disable freezing V8 flags on initialization (Clemens Backes) #44741 - [
2b32985c62
] - (SEMVER-MAJOR) stream: use null for the error argument (Luigi Pinca) #44312 - [
36805e8524
] - (SEMVER-MAJOR) test: adapt test-repl for V8 update (Michaël Zasso) #44741 - [
96ef25793d
] - (SEMVER-MAJOR) test: adapt test-repl-pretty-*stack to V8 changes (Michaël Zasso) #44741 - [
71c193e581
] - (SEMVER-MAJOR) test: adapt to new JSON SyntaxError messages (Michaël Zasso) #44741 - [
b5f1564880
] - (SEMVER-MAJOR) test: rename always-opt flag to always-turbofan (Michaël Zasso) #44741 - [
1acf0339dd
] - (SEMVER-MAJOR) test: fix test-hash-seed for new V8 versions (Michaël Zasso) #44741 - [
57ff476c33
] - (SEMVER-MAJOR) test: remove duplicate test (Luigi Pinca) #44051 - [
77def91bf9
] - (SEMVER-MAJOR) tls,http2: send fatal alert on ALPN mismatch (Tobias Nießen) #44031 - [
4860ad99b9
] - (SEMVER-MAJOR) tools: update V8 gypfiles for 10.7 (Michaël Zasso) #44741
- [
af0921d877
] - (SEMVER-MINOR) esm: add--import
flag (Moshe Atlow) #43942 - [
0633e9a0b5
] - (SEMVER-MINOR) lib: add diagnostics channel for process and worker (theanarkh) #44045 - [
ca5be26b31
] - (SEMVER-MINOR) src: add support for externally shared js builtins (Michael Dawson) #44376 - [
e86a638305
] - (SEMVER-MINOR) src: add initial shadow realm support (Chengzhong Wu) #42869 - [
71ca6d7d6a
] - (SEMVER-MINOR) util: addmaxArrayLength
option to Set and Map (Kohei Ueno) #43576
- [
78508028e3
] - bootstrap: generate bootstrapper arguments in BuiltinLoader (Joyee Cheung) #44488 - [
5291096ca2
] - bootstrap: check more metadata when loading the snapshot (Joyee Cheung) #44132 - [
d0f73d383d
] - build: go faster, drop -fno-omit-frame-pointer (Ben Noordhuis) #44452 - [
214354fc9f
] - crypto: fix webcrypto HMAC "get key length" in deriveKey and generateKey (Filip Skokan) #44917 - [
40a0757b21
] - crypto: remove webcrypto HKDF and PBKDF2 default-applied lengths (Filip Skokan) #44945 - [
eeec3eb16a
] - crypto: simplify webcrypto ECDH deriveBits (Filip Skokan) #44946 - [
0be1c57281
] - deps: V8: cherry-pick c2792e58035f (Jiawen Geng) #44961 - [
488474618c
] - deps: V8: cherry-pick c3dffe6e2bda (Michaël Zasso) #44958 - [
34ba631a0b
] - deps: V8: cherry-pick e7f0f26f5ef3 (Michaël Zasso) #44958 - [
690a837f4f
] - deps: V8: cherry-pick 3d59a3c2c164 (Michaël Zasso) #44958 - [
bab8b3aad6
] - deps: V8: cherry-pick 8b8703953616 (Michaël Zasso) #44958 - [
37e5152245
] - doc: add notable changes to latest v18.x release changelog (Danielle Adams) #44996 - [
19a909902a
] - doc: deprecate url.parse() (Rich Trott) #44919 - [
6686d9000b
] - doc: fix backticks in fs API docs (Livia Medeiros) #44962 - [
46a3afb579
] - doc: graduate webcrypto to stable (Filip Skokan) #44897 - [
6e3c55cc35
] - doc: fix v16.17.1 security release changelog (Ruy Adorno) #44759 - [
77cb88b91c
] - doc: mark--import
as experimental (Moshe Atlow) #44067 - [
46dcfb3c7b
] - doc,crypto: update webcrypto docs for global access (Filip Skokan) #44723 - [
f594cc85b7
] - esm: remove specifier resolution flag (Geoffrey Booth) #44859 - [
3c040348fe
] - Revert "esm: convertresolve
hook to synchronous" (Jacob Smith) #43526 - [
90b634a5a5
] - esm: convertresolve
hook to synchronous (Jacob Smith) #43363 - [
7c06eab1dc
] - Revert "http: do not leak error listeners" (Luigi Pinca) #44921 - [
464d1c1558
] - lib: resetRegExp
statics before running user code (Antoine du Hamel) #43741 - [
15f10515e3
] - module: fix segment deprecation for imports field (Guy Bedford) #44883 - [
7cdf745fdd
] - perf_hooks: convert maxSize to IDL value in setResourceTimingBufferSize (Chengzhong Wu) #44902 - [
be525d7d04
] - src: consolidate exit codes in the code base (Joyee Cheung) #44746 - [
d5ce285c8b
] - src: refactor BaseObject methods (Joyee Cheung) #44796 - [
717465433c
] - src: create BaseObject with node::Realm (Chengzhong Wu) #44348 - [
45f2258f74
] - src: restore IS_RELEASE to 0 (Bryan English) #44758 - [
1f54fc25cb
] - src: use automatic memory mgmt in SecretKeyGen (Tobias Nießen) #44479 - [
7371d335ac
] - src: use V8 entropy source if RAND_bytes() != 1 (Tobias Nießen) #44493 - [
81d9cdb8cd
] - src: introduce node::Realm (Chengzhong Wu) #44179 - [
ad41c919df
] - src: remove v8abbr.h (Tobias Nießen) #44402 - [
fddc701d3c
] - src: support diagnostics channel in the snapshot (Joyee Cheung) #44193 - [
d70aab663c
] - src: support WeakReference in snapshot (Joyee Cheung) #44193 - [
4ca398a617
] - src: iterate over base objects to prepare for snapshot (Joyee Cheung) #44192 - [
8b0e5b19bd
] - src: fix cppgc incompatibility in v8 (Shelley Vohr) #43521 - [
3fdf6cfad9
] - stream: fixsize
function returned from QueuingStrategies (Daeyeon Jeong) #44867 - [
331088f4a4
] - Revert "tools: refactortools/license2rtf
to ESM" (Richard Lau) #43214 - [
30cb1bf8b8
] - tools: refactortools/license2rtf
to ESM (Feng Yu) #43101 - [
a3ff4bfc66
] - url: revert "validate ipv4 part length" (Antoine du Hamel) #42940 - [
87d0d7a069
] - url: validate ipv4 part length (Yagiz Nizipli) #42915 - [
5b1bcf82f1
] - vm: make ContextifyContext a BaseObject (Joyee Cheung) #44796