Node v16.12.0 (Current)
Notable Changes
Experimental ESM Loader Hooks API
Node.js ESM Loader hooks have been consolidated to represent the steps involved needed to facilitate future loader chaining:
resolve
:resolve
[+getFormat
]load
:getFormat
+getSource
+transformSource
For consistency, getGlobalPreloadCode
has been renamed to globalPreload
.
A loader exporting obsolete hook(s) will trigger a single deprecation warning (per loader) listing the errant hooks.
Contributed by Jacob Smith, Geoffrey Booth, and Bradley Farias - https://github.com/nodejs/node/pull/37468
Other Notable Changes
- [
8fdabcb918
] - deps: upgrade npm to 8.1.0 (npm team) #40463 - [
d1d9f2de30
] - doc: deprecate (doc-only) http abort related (dr-js) #36670 - [
4116b6c907
] - (SEMVER-MINOR) vm: add support for import assertions in dynamic imports (Antoine du Hamel) #40249
Commits
- [
8bb3951e41
] - build: remove duplicate check for authors.yml (Rich Trott) #40393 - [
2de57edced
] - build: make scripts in gyp run with right python (Cheng Zhao) #39730 - [
a8926d199d
] - crypto: remove incorrect constructor invocation (gc) #40300 - [
8fdabcb918
] - deps: upgrade npm to 8.1.0 (npm team) #40463 - [
dca5ac1539
] - deps: suppress zlib compiler warnings (Daniel Bevenius) #40343 - [
91c3bf6a7f
] - deps: upgrade Corepack to 0.10 (Maël Nison) #40374 - [
7e02124a06
] - dgram: addnread
assertion toUDPWrap::OnRecv
(Darshan Sen) #40295 - [
2d409ed29e
] - dns: refactor and use validators (Voltrex) #40022 - [
dc7291dab8
] - doc: remove ESLint comments which were breaking the CJS/ESM toggles (Mark Skelton) #40408 - [
85b7385115
] - doc: add pronouns for tniessen to README (Tobias Nießen) #40412 - [
1d5857c9f4
] - doc: format changelogs (Rich Trott) #40388 - [
5eb9402b50
] - doc: fix missing variable in deepStrictEqual example (OliverOdo) #40396 - [
6f77d1a1d5
] - doc: fix asyncLocalStorage.run() description (Constantine Kim) #40381 - [
93a48e02dc
] - doc: fix typos in n-api docs (Ignacio Carbajo) #40402 - [
fb7afb91c2
] - doc: format doc/guides using format-md task (Rich Trott) #40358 - [
6c091c7878
] - doc: improve phrasing in fs.md (Arslan Ali) #40255 - [
38d81380ac
] - doc: add link to core promises tracking issue (Michael Dawson) #40355 - [
71a94aa82a
] - doc: correct ESM load hook table header (Jacob Smith) #40234 - [
5b074affb4
] - doc: fix typo in esm.md (Mason Malone) #40273 - [
3b3aaa0a37
] - doc: fix typo in ESM example (Tobias Nießen) #40275 - [
f848553fb8
] - doc: assign missing deprecation number (Michaël Zasso) #40324 - [
d1d9f2de30
] - doc: deprecate (doc-only) http abort related (dr-js) #36670 - [
1ef2cf8413
] - doc: anchor link parity between markdown and html-generated docs (foxxyz) #39304 - [
3743406b0a
] - (SEMVER-MINOR) esm: consolidate ESM loader hooks (Jacob Smith) #37468 - [
168020e1c8
] - lib: refactor to use let (gdccwxx) #40364 - [
bcd59d70bb
] - meta: consolidate AUTHORS entries for gabrielschulhof (Rich Trott) #40420 - [
80b4245db8
] - meta: consolidate AUTHORS information for geirha (Rich Trott) #40406 - [
93cecb4700
] - meta: consolidate duplicate AUTHORS entries for hassaanp (Rich Trott) #40391 - [
fff3135909
] - meta: update AUTHORS (Node.js GitHub Bot) #40392 - [
122481713d
] - meta: consolidate AUTHORS entry for thw0rted (Rich Trott) #40387 - [
7f50313fcc
] - meta: update label-pr-config (Mestery) #40199 - [
5668182665
] - meta: use .mailmap to consolidate AUTHORS entries for ide (Rich Trott) #40367 - [
bc86084a3e
] - net: check if option is undefined (Daijiro Wachi) #40344 - [
4564a93e5e
] - net: remove unused ObjectKeys (Daijiro Wachi) #40344 - [
dbb2e6f429
] - net: check objectMode first and then readble || writable (Daijiro Wachi) #40344 - [
a672be57c8
] - net: throw error to object mode in Socket (Daijiro Wachi) #40344 - [
faf9e28c36
] - src: remove usage ofAllocatedBuffer
fromstream_*
(Darshan Sen) #40293 - [
857af2ba99
] - src: add missing initialization (Michael Dawson) #40370 - [
2bfa87edbc
] - stream: fix fromAsyncGen (Robert Nagy) #40499 - [
1e15137e71
] - test: replace common port with specific number (Daijiro Wachi) #40344 - [
6f6b99c302
] - test: fix typos in whatwg-webstreams explanations (Tobias Nießen) #40389 - [
641b1bb052
] - test: add test for readStream.path when fd is specified (Qingyu Deng) #40359 - [
07dae7ff50
] - test: replace .then chains with await (gdccwxx) #40348 - [
d8a36ee1de
] - test: fix "test/common/debugger" identify async function (gdccwxx) #40348 - [
13d6a56c7d
] - test: improve test coverage offs.ReadStream
withFileHandle
(Antoine du Hamel) #40018 - [
50f91ab059
] - tools: udpate @babel/eslint-parser (Rich Trott) #40394 - [
3611073145
] - tools: remove @babel/plugin-syntax-import-assertions (Rich Trott) #40394 - [
b72d693a3a
] - tools: remove @bable/plugin-syntax-class-properties (Rich Trott) #40394 - [
d6a99b77da
] - tools: remove @babel/plugin-syntax-top-level-await (Rich Trott) #40394 - [
d9157aa5fe
] - tools: update ESLint to 8.0.0 (Rich Trott) #40394 - [
43b97c7984
] - tools: prepare ESLint rules for 8.0.0 requirements (Rich Trott) #40394 - [
282b6eb4b0
] - tools: fix ESLint update scripts (Rich Trott) #40394 - [
c3a744f7bf
] - tools: warn about duplicates when generating AUTHORS file (Rich Trott) #40304 - [
7733b5e55d
] - typings: define types for os binding (Michaël Zasso) #40222 - [
ca9a854877
] - typings: add missing types to options and util bindings (Michaël Zasso) #40222 - [
c3a7a0bd59
] - typings: define types for timers binding (Michaël Zasso) #40222 - [
65b51d05fa
] - typings: fix declaration of primordials (Michaël Zasso) #40222 - [
5f3f3a5128
] - v8: remove --harmony-top-level-await (Geoffrey Booth) #40226 - [
4116b6c907
] - (SEMVER-MINOR) vm: add support for import assertions in dynamic imports (Antoine du Hamel) #40249
Windows 32-bit Installer: https://nodejs.org/dist/v16.12.0/node-v16.12.0-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v16.12.0/node-v16.12.0-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v16.12.0/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v16.12.0/win-x64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v16.12.0/node-v16.12.0.pkg
macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v16.12.0/node-v16.12.0-darwin-arm64.tar.gz
macOS Intel 64-bit Binary: https://nodejs.org/dist/v16.12.0/node-v16.12.0-darwin-x64.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v16.12.0/node-v16.12.0-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v16.12.0/node-v16.12.0-linux-ppc64le.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v16.12.0/node-v16.12.0-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v16.12.0/node-v16.12.0-aix-ppc64.tar.gz
ARMv7 32-bit Binary: https://nodejs.org/dist/v16.12.0/node-v16.12.0-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v16.12.0/node-v16.12.0-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v16.12.0/node-v16.12.0.tar.gz
Other release files: https://nodejs.org/dist/v16.12.0/
Documentation: https://nodejs.org/docs/v16.12.0/api/
SHASUMS
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
d45cc55607bdc730aa6b930be4a067bc56568ff92162608f0f5983879024cd5b node-v16.12.0-aix-ppc64.tar.gz
1d681c528205f56531084a09e9648586f91e68726ee73851c8e4b1098df2f603 node-v16.12.0-darwin-arm64.tar.gz
16446b03ce381d396ae14fb821084f4a253545667f233a8857a58195b540b49a node-v16.12.0-darwin-arm64.tar.xz
35ee05c9392742f934a3058fa64837b14e184b26aa9bd621ec499a83f9fdfe67 node-v16.12.0-darwin-x64.tar.gz
260db12cb00b8daf845577e9ba66b9f7f191e9038f2688689d9b188dfdabfc61 node-v16.12.0-darwin-x64.tar.xz
8e42d46d4382cbc1b2eb11bdbc609667569b55da3690b8dbeb64caa95d2a2b5a node-v16.12.0-headers.tar.gz
af34cd2110b02a2709882d6196a4e96eedd64a3d6049bc5751d755c8d742a605 node-v16.12.0-headers.tar.xz
2abb224a6d9880d459ed64a02876b5843ca891978b072e7516431b15142a472c node-v16.12.0-linux-arm64.tar.gz
b5d6b2e70e4556866e4015997d0915d0eca19576f011e6e8463711da151ed7bd node-v16.12.0-linux-arm64.tar.xz
18dc901dc9c585360fc0dd1ac023eaac61eeb46464a59e821b2171c487a46a0e node-v16.12.0-linux-armv7l.tar.gz
a9409df88c328726842f523308014371b603cfa7afdd446a6ad02d464f40c790 node-v16.12.0-linux-armv7l.tar.xz
48c5f2fdaf9938d49e24248727249fbcd4faedbdc9d5e3948cfd00ffb14ba47d node-v16.12.0-linux-ppc64le.tar.gz
9ec2b8d44827dbd1f4f7542c61f169ee4288da1c5a2150249bf38a0e9d330bd3 node-v16.12.0-linux-ppc64le.tar.xz
5313dd3023d53405fcb272af8dba24893d2102ec928bcc817e2a4c571be62fe2 node-v16.12.0-linux-s390x.tar.gz
0b0dc48f1e160006dfd56bf32333102044b1548f0b7a86e5a9378764f574c67c node-v16.12.0-linux-s390x.tar.xz
1f41d5b68ca39eb2e76dad4e5beb8de8b0a1498773e3e53b80c03e42202969fb node-v16.12.0-linux-x64.tar.gz
e0e1a54b34db95ca49bb8561ad736750222f54a41aad2c876b9355cacff42ba0 node-v16.12.0-linux-x64.tar.xz
0f777eda63df1f6bc176edd98f3b25252f096a4cf8d52001c1ee1b06d0c6f3b9 node-v16.12.0.pkg
bceb8098e276c6bb6b3e88223ed378a6c786491b6a3f6b22ae3fd8774724a9cb node-v16.12.0.tar.gz
5f620a6a400901a6565aa0c07309cde3aab3dbaa765cecb934241de520d36bac node-v16.12.0.tar.xz
3f19469ea095173d998d8a11b3726b04629b02e3e608790475515175d29573b4 node-v16.12.0-win-x64.7z
433206b42522e65ed6c0f30f1d665f336c2bdcfd200286da639c4e91ea602870 node-v16.12.0-win-x64.zip
b45d0f934bc6afd4716cf048538df2550de39024ac6e522a15af36bf2114105f node-v16.12.0-win-x86.7z
ef2ff38ce68acf8d930bc8cbbc1be82405fa1ac85490a7f92a1ddeba00fa67a6 node-v16.12.0-win-x86.zip
d269299d5feb29bc9d5713e9b87f0154ff857bbe6510c76a553568a1bc22badc node-v16.12.0-x64.msi
adc0b407f5b856fad4e36ac7b22def93cf01b6f7576404da7c5b6a3992a82236 node-v16.12.0-x86.msi
75e88894b274d91f98bbd2109dd1acfea6f658cfd2045f066dca7145ad745427 win-x64/node.exe
7c94657df6918a77dc8edefaf3b5415dbfb9eb83a88c17d216a48c8c36fcc58d win-x64/node.lib
1edef4e0323fbe13b4c0b97d20fac39a3fcf6b3137933edea0d16caf78c68cec win-x64/node_pdb.7z
ee65351b06218b3390e639ff9a5ea51048bcd97d719c52806455d635f77ea10e win-x64/node_pdb.zip
d6fd4b983a0f61bd2297d07881241c2629f8326c7445e5d151a09a3fb960f039 win-x86/node.exe
8090f51a19ff2d5e765920262a4367203be2e69e64ac3725e4e14dd034c98443 win-x86/node.lib
188d915991ab21e101a9e321dad7628e6b9acf2be0b1874ae6450225e9ad2d24 win-x86/node_pdb.7z
eab8b47522fdeb6ab3a46e26eda7ae5c51729875b0b42f11e0d24d632626a779 win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEyC+jrhy+3Gvka5NgxDzsRcF6uTwFAmFwKrgACgkQxDzsRcF6
uTyvHw/8D4tGIxl7mccgF17epMxwULXWQVq43A0oonFXPb9LzWXAVzMkJ70YCGzZ
EkP2YMjIW/mf/jcE3UoI14loHMR8Y2vk10x8/Y2I5o5D3naWjWEOLyAXb7W8476J
LZEWZacS0vQOoCT+qEiRQSDjbJeY+4cBsNsslh5UjdvMs9j1zpU8mPkDLSRMPc/L
l9i/lXKnSx+Surb3taRMphgkTGf8EreBoTjg73u283CR3pRlRj0LVE+a+umXcgFf
EMDWm+hwN7j8zv6Rm3W0Rw9RCTTZUT7jyuV5bjqoBgkCbyy+V/Za8X8yCOGX9kK4
BV8opcAq1fIatfCUQsHjWGbIN8T1NjtNfjND9sjEfV9SWT7EFue3DaPnbS4Wh4P2
pfERePBMyHI47Ltug6XbNvFmr7huzpe/FUj0pvsxaL27XnQNPmiBQnWNDevPG0vg
IKZ2op/4KtnLKDi5cWfNyvs0FL1XxV5jeB3aFDilOCMhUEt+KCrT7C0DTrgDrotT
VjgkkNmLtUZR93hMrSkfhqn2VEUui3YyeGtazerSetTfbKII19cvWsOEBSQL9Vsa
WD29bsanXhEHL04c8qwb0Wct5tjBbV1Ol7jQewigOJoOAYSDtH4hx/1MZ00MVad3
mfZx8vFjmzg87i26ZV/bTyxjCyaz0IFc4ghuum4OWHrod7cOPAg=
=NJOg
-----END PGP SIGNATURE-----