Node v14.3.0 (Current)

Shelley Vohr

Notable Changes

REPL previews improvements with autocompletion

The output preview is changed to generate previews for autocompleted input instead of the actual input.

image

Pressing <enter> during a preview is now going to evaluate the whole string including the autocompleted part. Pressing <escape> cancels that behavior.

Support for Top-Level Await

It's now possible to use the await keyword outside of async functions, with the --experimental-top-level-await flag.

Other Notable Changes

  • [7aa581f4ff] - (SEMVER-MINOR) repl: deprecate repl._builtinLibs (Ruben Bridgewater) #33294
  • [db7bb941a3] - (SEMVER-MINOR) repl: deprecate repl.inputStream and repl.outputStream (Ruben Bridgewater) #33294
  • [2dc5db8c07] - (SEMVER-MINOR) cli: add --trace-atomics-wait flag (Anna Henningsen) #33292
  • [6257cf256e] - (SEMVER-MINOR) repl: improve repl autocompletion for require calls (Ruben Bridgewater) #33282
  • [d33dcf1d5f] - (SEMVER-MINOR) repl: show reference errors during preview (Ruben Bridgewater) #33282
  • [1dcf66cf87] - (SEMVER-MINOR) fs: add .ref() and .unref() methods to watcher classes (rickyes) #33134
  • [f33e86649e] - (SEMVER-MINOR) http: expose http.validate-header-name/value (osher) #33119
  • [b06165584e] - (SEMVER-MINOR) async_hooks: move PromiseHook handler to JS (Stephen Belanger) #32891

Commits

  • [dd4789b8ee] - async_hooks: clear async_id_stack for terminations in more places (Anna Henningsen) #33347
  • [b06165584e] - (SEMVER-MINOR) async_hooks: move PromiseHook handler to JS (Stephen Belanger) #32891
  • [cae2051b83] - buffer: improve copy() performance (Nikolai Vavilov) #33214
  • [24faa37a09] - buffer,n-api: release external buffers from BackingStore callback (Anna Henningsen) #33321
  • [34e7400fc1] - build: enable --error-on-warn for POSIX workflows (Richard Lau) #33357
  • [7d4db35f84] - build: fix --error-on-warn for macOS (Richard Lau) #33357
  • [2dc5db8c07] - (SEMVER-MINOR) cli: add --trace-atomics-wait flag (Anna Henningsen) #33292
  • [331f0b3420] - deps: update to ICU 67.1 (Michaël Zasso) #33324
  • [ba66b21c37] - deps: upgrade npm to 6.14.5 (Ruy Adorno) #33239
  • [cc279490ce] - doc: prepare 14.x changelog for remark update (Rich Trott) #33412
  • [7f9ccd6d89] - doc: fix extension in esm example (Gus Caplan) #33408
  • [8f91338f6e] - doc: fix stream example (Anna Henningsen) #33426
  • [182aaf5622] - doc: enhance guides by fixing and making grammar more consistent (Chris Holland) #33152
  • [0ffa0402a5] - doc: add examples for implementing ESM (unknown) #33168
  • [b41affb9e2] - doc: add note about clientError writable handling (Paolo Insogna) #33308
  • [4f0cd648bb] - doc: fix typo in n-api.md (Daniel Bevenius) #33319
  • [0cbee57109] - doc: add warning for socket.connect reuse (Robert Nagy) #33204
  • [a9e4fdbd1b] - doc: correct description of decipher.setAuthTag in crypto.md (Jonathan Buhacoff)
  • [84974d3f2c] - doc: mention python3-distutils dependency in BUILDING.md (osher) #33174
  • [b5dcfbf634] - doc: removed unnecessary util imports from vm examples (Karol Walasek) #33179
  • [e20fe535a5] - doc: update Buffer(size) documentation (Nikolai Vavilov) #33198
  • [5b42d812cc] - doc: add Uint8Array to end and write (Pranshu Srivastava) #33217
  • [c6a8cd0fa1] - doc: fix md issue in src/README.md (Juan José Arboleda) #33224
  • [2c49dd3d01] - doc: specify unit of time passed to fs.utimes (Simen Bekkhus) #33230
  • [6ffec50494] - doc: add troubleshooting guide for AsyncLocalStorage (Andrey Pechkurov) #33248
  • [dab5c38f98] - doc: remove AsyncWrap mentions from async_hooks.md (Andrey Pechkurov) #33249
  • [05729430bf] - doc: add warnings about transferring Buffers and ArrayBuffer (James M Snell) #33252
  • [cf88ed8664] - doc: update napi_async_init documentation (Michael Dawson) #33181
  • [25443fa7f2] - doc: doc and test URLSearchParams discrepancy (James M Snell) #33236
  • [07372e9d5b] - doc: explicitly doc package.exports is breaking (Myles Borins) #33074
  • [c5a38fe6d7] - doc: fix style and grammer in buffer.md (Nikolai Vavilov) #33194
  • [e53de96a89] - esm: improve commonjs hint on module not found (Antoine du Hamel) #33220
  • [c7c420ec87] - fs: forbid concurrent operations on Dir handle (Anna Henningsen) #33274
  • [12391c7a20] - fs: clean up Dir.read() uv_fs_t data before calling into JS (Anna Henningsen) #33274
  • [1dcf66cf87] - (SEMVER-MINOR) fs: add .ref() and .unref() methods to watcher classes (rickyes) #33134
  • [f33e86649e] - (SEMVER-MINOR) http: expose http.validate-header-name/value (osher) #33119
  • [cc5c8e039d] - http: don't destroy completed request (Robert Nagy) #33120
  • [b634d4b000] - http: set IncomingMessage.destroyed (Robert Nagy) #33131
  • [cc02c73e53] - http: fixes memory retention issue with FreeList and HTTPParser (John Leidegren) #33190
  • [41c5524432] - http2: add bytesWritten test for Http2Stream (Pranshu Srivastava) #33162
  • [a133a88234] - lib: fix typo in timers insert function comment (Daniel Bevenius) #33301
  • [94d0a088ec] - lib: refactored scheduling policy assignment (Yash Ladha) #32663
  • [6bca487b8b] - lib: fix grammar in internal/bootstrap/loaders.js (szTheory) #33211
  • [0a78925146] - meta: add issue template for API reference docs (Derek Lewis) #32944
  • [35aae31968] - module: add specific error for dir import (Antoine du HAMEL) #33220
  • [c2d2dfc09f] - module: do not check circular dependencies for exported proxies (Ruben Bridgewater) #33338
  • [ad8680773e] - module: better error for named exports from cjs (Myles Borins) #33256
  • [27b814c79b] - module: lazy load 'getOptionValue' in initializeLoader (himself65) #33212
  • [4ae6130010] - n-api: add uint32 test for -1 (Gabriel Schulhof)
  • [398bdf40e5] - perf_hooks: fix error message for invalid entryTypes (Michaël Zasso) #33285
  • [7aa581f4ff] - (SEMVER-MINOR) repl: deprecate repl._builtinLibs (Ruben Bridgewater) #33294
  • [ed83202307] - repl: remove obsolete completer variable (Ruben Bridgewater) #33294
  • [db7bb941a3] - (SEMVER-MINOR) repl: deprecate repl.inputStream and repl.outputStream (Ruben Bridgewater) #33294
  • [6257cf256e] - repl: improve repl autocompletion for require calls (Ruben Bridgewater) #33282
  • [69061dc73e] - repl: replace hard coded core module list with actual list (Ruben Bridgewater) #33282
  • [d33dcf1d5f] - (SEMVER-MINOR) repl: show reference errors during preview (Ruben Bridgewater) #33282
  • [1a9771a50a] - (SEMVER-MINOR) repl: improve repl preview (Ruben Bridgewater) #33282
  • [e4ad4642d7] - src: add default: case to silence compiler warning (Anna Henningsen) #33451
  • [099f18e89b] - src: distinguish refed/unrefed threadsafe Immediates (Anna Henningsen) #33320
  • [5e5aa0bc6c] - src: add #include <string> in json_utils.h (Cheng Zhao) #33332
  • [8ada953ef2] - src: replace to CHECK_NOT_NULL in node_crypto (himself65) #33383
  • [0257386cd4] - src: remove deprecated FinalizationRegistry hooks (Gus Caplan) #33373
  • [354ff4f21b] - src: small modification to NgHeader (James M Snell) #33289
  • [fd89ef1478] - src: refactor Reallocate since it introduced in upstream v8 (Jiawen Geng) #33402
  • [d292633ed4] - src: add primordials to arguments comment (Daniel Bevenius) #33318
  • [19996073ca] - src: remove unused using declarations in node.cc (Daniel Bevenius) #33261
  • [c9c16c03c4] - src: delete unused variables to resolve compile time print warning (rickyes) #33358
  • [066ca98069] - src: use MaybeLocal.ToLocal instead of IsEmpty (Daniel Bevenius) #33312
  • [f3129b290d] - src: fix typo in comment in async_wrap.cc (Daniel Bevenius) #33350
  • [0d77eec4b0] - src: add support for TLA (Gus Caplan) #30370
  • [fd9c7c2118] - src: fix compiler warning in async_wrap.cc (Anna Henningsen) #33322
  • [3de9dd9c8d] - src: remove unnecessary Isolate::GetCurrent() calls (Anna Henningsen) #33298
  • [ef2503375b] - src: fix invalid windowBits=8 gzip segfault (Ben Noordhuis) #33045
  • [548cedd870] - src: split out callback queue implementation from Environment (Anna Henningsen) #33272
  • [ed41494397] - src: clean up large pages code (Gabriel Schulhof) #33255
  • [cf476984f6] - src: use BaseObjectPtr in StreamReq::Dispose (James M Snell) #33102
  • [5ff31921cc] - Revert "src: add test/abort build tasks" (Richard Lau) #33196
  • [a56b600e93] - Revert "src: add aliased-buffer-overflow abort test" (Richard Lau) #33196
  • [a292630baf] - src: retrieve binding data from the context (Joyee Cheung) #33139
  • [b2fb01a68d] - stream: make from read one at a time (Robert Nagy) #33201
  • [b93a723fe6] - test: regression tests for async_hooks + Promise + Worker interaction (Anna Henningsen) #33347
  • [d3e2fc81e8] - test: fix test-dns-idna2008 (Rich Trott) #33367
  • [95842db17e] - test: refactor test/parallel/test-bootstrap-modules.js (Ruben Bridgewater) #33282
  • [f31b262f50] - test: refactor WPTRunner (Joyee Cheung) #33297
  • [85cffb8e4c] - test: update WPT interfaces and hr-time (Joyee Cheung) #33297
  • [5b2cd440a1] - test: fix test-net-throttle (Rich Trott) #33329
  • [1d2c81fee9] - test: add hr-time Web platform tests (Michaël Zasso) #33287
  • [6f54c2bbb6] - test: rename test-lookupService-promises (rickyes) #33100
  • [302408e515] - test: skip some console tests on dumb terminal (Adam Majer) #33165
  • [676ef952ab] - test: add tests for options.fs in fs streams (Julian Duque) #33185
  • [6d2aaaf6b4] - tls: fix --tls-keylog option (Alba Mendez) #33366
  • [eedc13174e] - tls: reset secureConnecting on client socket (David Halls) #33209
  • [453affebb0] - tools: update dependencies for markdown linting (Rich Trott) #33412
  • [91193447fb] - tools: enable no-else-return lint rule (Luigi Pinca) #32667
  • [e1e57a4223] - tools: update ESLint to 7.0.0 (Colin Ihrig) #33316
  • [cf03fe5b67] - tools: remove obsolete no-restricted-syntax eslint rules (Ruben Bridgewater) #32161
  • [804982c1b6] - tools: add eslint rule to only pass through 'test' to debuglog (Ruben Bridgewater) #32161
  • [c2cf9782ab] - Revert "vm: add importModuleDynamically option to compileFunction" (Matteo Collina) #33364
  • [6a26eee3c5] - wasi: fix poll_oneoff memory interface (Colin Ihrig) #33250
  • [4465d23c30] - wasi: prevent syscalls before start (Tobias Nießen) #33235
  • [9d1e577109] - worker: fix crash when .unref() is called during exit (Anna Henningsen) #33394
  • [b1a7fdac43] - worker: call CancelTerminateExecution() before exiting Locker (Anna Henningsen) #33347
  • [736ca65c2c] - zlib: reject windowBits=8 when mode=GZIP (Ben Noordhuis) #33045

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

SHASUMS

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

b9c9b96ecfbf47403b25a7e5779b290e7434ee3e93f8f1a15faa6c7f9a84f953  node-v14.3.0-aix-ppc64.tar.gz
fd6a44303646f28b7e7577de687c2681cb565bef534e84deef44202e7919d7f3  node-v14.3.0-darwin-x64.tar.gz
2361c2cd5781e80c81fa51c699f6f86b09f82bf08ea44dcdab5dcba94968e16a  node-v14.3.0-darwin-x64.tar.xz
ec98a4fe5d34af134f1466246a302a8a2355d03710a68f452a9b1b8fb76bef68  node-v14.3.0-headers.tar.gz
5608b6add7817a12a962646ac4f762d2ce7764ddf4a2fb8cb6367c174e17594f  node-v14.3.0-headers.tar.xz
b6541c22d25880cf0ec03a41838d763e50a7632761b9e7c49bd1809944eba3dd  node-v14.3.0-linux-arm64.tar.gz
53bb110ea135ae3c819f535373ce1b779e86c7aa49a9b93fc5f26969a72365d2  node-v14.3.0-linux-arm64.tar.xz
75dd096aee0d124437f7c7ab700655628cfe6ad2ba3de5a20c47d7ea0de738a0  node-v14.3.0-linux-armv7l.tar.gz
cd749752538352e27e4ead4fd102fd1786302b1d1e794f67f7a39e8ba23e5fe0  node-v14.3.0-linux-armv7l.tar.xz
9edd33f363c08e7edc50f147116c379bf030b38fb42a1fba4350d3f23cf280c9  node-v14.3.0-linux-ppc64le.tar.gz
17853af5af55c03def97224d90dc2bd86c81d8afef1c51e48910212224b329bf  node-v14.3.0-linux-ppc64le.tar.xz
dd159dad0cb29722a6f2b3e03880ed887590ca038d806874a4cfce3f8aa85f6b  node-v14.3.0-linux-s390x.tar.gz
01ad8fc06ce8266a847c2a4fb5ccfc43dcd2a6fe68b8d494e2409182bf063dd7  node-v14.3.0-linux-s390x.tar.xz
ea08acdf403d13ab67303d503eab080a5285c005c75c0710551d928f3cc74057  node-v14.3.0-linux-x64.tar.gz
17236db7b9447080b58c2e50937982c386fe8a60e644b8d7f23e546068a8acba  node-v14.3.0-linux-x64.tar.xz
bcb0574454a1646cce32425b927dd0b032c7e8a8c089d1ce1db9b44546c3aa6f  node-v14.3.0.pkg
f968f49835d74a8b897828edf012d0abb45d4fec5dbe98679cadb854cd343bbc  node-v14.3.0.tar.gz
f1a1ea2c3a252b3c9bab2449edf6ad6da7e9fa4d39d497662b15f57ec14f1a77  node-v14.3.0.tar.xz
710643457e52ce1563be85cdf0d87e841b9c99313be04c6d4a8b5d388109801e  node-v14.3.0-win-x64.7z
07bebc231dd8d773ab41cdcfbcb8b48e2336fbee20deb961b4300b9ba86afa04  node-v14.3.0-win-x64.zip
4359fe49f3622375fe8841a46205b107aef61b1a5b8710b8d7c0e7c83f2aefa7  node-v14.3.0-win-x86.7z
90f780fa7f8031a3ad8017237bbf1d831918dc86e6fa8efd9bf6ebc4e1d4ab71  node-v14.3.0-win-x86.zip
37e52b6d223c1330092ce1877f8e9b85ad37be6fe3d5953be1fa5c0dd6e9a881  node-v14.3.0-x64.msi
4b57315eafae9f42d6e55b94569803b14285f32d19f32778d0753f8e4455e8f5  node-v14.3.0-x86.msi
296e3ebdd356c4fbd2b4a832c504e510ecdb20ac041005ed491e5373e96fc907  win-x64/node.exe
918d96c8515093304c2b252c995e2eaaed813a436e15ae502cc66e360b29473f  win-x64/node.lib
9b158c46e6ea4a25475d52b0d701ac12d9c87c442b2158076d9e7e3723482c24  win-x64/node_pdb.7z
c5b8eb2ba641e60fc057574f6befb67085e3c5573822cbe27fd421f36e33c7f1  win-x64/node_pdb.zip
e9d4316f291c6bc2ab6aa855a3d28d10fd1bb6919659a2e951c380ad1f6dc3b1  win-x86/node.exe
9e4df96c5b9ca3af6e94fe768aa0c0005d8a58ffb7aa76aed917174994095abd  win-x86/node.lib
5a5ba0a64f0cfb231037744c0ac341b421c7854286467fed1d646f6f427e9575  win-x86/node_pdb.7z
fd06d80caa782a2999c224b43b639c8c7b0630c8ee7201022bac652d7cbc8d95  win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEueL1mBqm4M0oFg2f8TmTp1WZZTwFAl7ET8gACgkQ8TmTp1WZ
ZTygyA//TSfFpgTH9jlmQGXmfejHNrXWy6IAYhZqxWxaY18bMtFHUwGWY+T1WCSu
+Rjm8ZFSxgaNN8wgOv7wF5I1Goy9WnnDbik1M75xqcAwPmE0zRJDTNmmTQRrx1bo
HljNZyAlCK6US8n9sqdLvj5XEKYIBWRJic+0u1GN+H0tl9bXwA4XxyQqtrkMTi4f
/8Ue9/RnYWJr1orPTWB+709BfzSENE3oqp/MZKAcjojfye7mOzjHOtNPhaAo7uCt
GIt9PfNlW0wWEmPizxQCp+l6lCDOpFo/yH3Hmydi1PNcVeKrST3uMcPKgYlL7lJz
wky8Q/xCFaZc605SUoxriKwnLBEh1JAqz2KlhaZCvUCrPHXy9kqmNQdvhcFZ0/HP
7aBMIHf0Iho2/0CzhoRFWswW/7tzXRszu/ZUFxXUUcmmS52tq3YXhtMngANs9W6s
zCh7X4Hc8z4l9AiWucpvOrBczVA/hstNE6u+xxNgAnosC0qlu7Kzo19KrRO+Msz2
II207CvyYHm36nyGyvSsHgFAJO+rst/Hx0aA6IgeMJWGZq8gwZhM0Bvxquu16b/L
6JNstWMJWmztjP6ZPqUiAkEdiXu2+Jkp0bSgzKr5paCLLMeeW3mXusr5TLbUdJiE
a/Q96wSNJAxm/5sK+mE7rJfSS1nrnCzv7I7R77x9T+pNEZ0ZizM=
=VnGm
-----END PGP SIGNATURE-----