Node v14.3.0 (Current)

By 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-----