Node v12.16.1(LTS)

주요 변경사항

Node.js 12.16.0에는 이번 릴리즈에 수정된 회귀 여섯 개가 포함되어 있습니다.

자기 처리 모듈(Self Resolving Modules)의 잘못된 플래그 제거:

12.16.0에는 ESM 구현과 관련하여 대규모 업데이트가 포함되었습니다. 새로운 기능 중 하나는 자기 지시적 모듈(Self Referential Modules)인데, --experimental-modules 플래그 없이도 동작하도록 잘못 릴리스 되었습니다. 이번 릴리스에서는 이 기능을 적절하게 플래그하고 있습니다.

프로세스 정리 중 발생하는 WASM 관련 단언문:

Node.js 프로세스 정리 중에 생긴 변화로 인해 WASM을 특정 목적으로 사용시 크래시가 발생하였습니다. 이는 변경 사항을 부분적으로 되돌려서 수정되었습니다. 회귀 테스트와 완전한 수정은 진행 중이며 추후 12.x와 13.x 릴리스에 포함될 수 있습니다.

Largepages 런타임 옵션을 사용할 때 발생하는 링크 실패:

Semver-Minor 변경 사항으로 소개되었던 런타임 옵션 --use-largepages는 링크 실패를 발생시켰습니다. master에서는 수정되었지만 현재 버전 릴리스에서는 완전히 수정되지 않았기 때문에 취소되었습니다. 이 기능은 취소되었지만 추후 Semver-Minor 릴리스에는 반영될 수도 있습니다.

Async Hook이 에러를 처리할 때 예외를 발생시키는 문제:

async hook 내부의 변화로 인해 내부 API가 undefined와 함께 호출되는 경우가 생겼고, 이는 프로세스 크래시를 발생시켰습니다. async hook의 변경 사항들은 취소되었습니다. 회귀 테스트와 수정이 제안된 상태고, 회귀가 안정적으로 수정이 되면 추후 Semver-Patch 릴리스에 다시 반영될 것입니다.

EventEmitter의 새로운 열거 가능한 읽기 전용 속성이 @types/extend를 따르지 않는 문제

열거 가능한 이벤트의 새로운 속성이 EventEmitter 클래스에 추가되었습니다. @types/extend가 읽기 전용으로 변경된 기존의 필드를 덮어쓰려고 했기 때문에, 클래스를 확장하는 데 @types/extend 모듈을 사용한 기존의 코드가 작동하지 않게 됐습니다. EventEmitter의 첫 번째 읽기 전용 속성이기 때문에, 이 기능은 Semver-Major로 간주됩니다. 새로운 기능은 취소되었지만 기존 코드와 호환되는 방식이 발견되면 추후 Semver-Minor 릴리스에 다시 반영할 것입니다.

HTTP 파서의 예외가 uncaughtException을 발생시키지 않는 문제:

Node.js 내부 리팩터링으로 인해, async_hooks after hook이 존재할 때 process.on('uncaughtException')에서 HTTP 파서의 에러가 검출되지 않는 버그가 생겼습니다. 이 버그에 대한 수정이 이번 릴리스에 포함되었습니다.

Commits

  • [51fdd759b9] - async_hooks: ensure event after been emitted on runInAsyncScope (legendecas) #31784
  • [7a1b0ac06f] - Revertbuild: re-introduce --use-largepages as no-op” (Myles Borins) #31782
  • [a53eeca2a9] - Revertbuild: switch realpath to pwd” (Myles Borins) #31782
  • [6d432994e6] - Revertbuild: warn upon --use-largepages config option” (Myles Borins) #31782
  • [a5bc00af12] - Revertevents: allow monitoring error events” (Myles Borins)
  • [f0b2d875d9] - module: 12.x self resolve flag as experimental modules (Guy Bedford) #31757
  • [42b68a4e24] - src: inform callback scopes about exceptions in HTTP parser (Anna Henningsen) #31801
  • [065a32f064] - Revertsrc: make --use-largepages a runtime option” (Myles Borins) #31782
  • [3d5beebc62] - Revertsrc: make large_pages node.cc include conditional” (Myles Borins) #31782
  • [43d02e20e0] - src: keep main-thread Isolate attached to platform during Dispose (Anna Henningsen) #31795
  • [7a5954ef26] - src: fix -Winconsistent-missing-override warning (Colin Ihrig) #30549

Windows 32-bit Installer: https://nodejs.org/dist/v12.16.1/node-v12.16.1-x86.msi

Windows 64-bit Installer: https://nodejs.org/dist/v12.16.1/node-v12.16.1-x64.msi

Windows 32-bit Binary: https://nodejs.org/dist/v12.16.1/win-x86/node.exe

Windows 64-bit Binary: https://nodejs.org/dist/v12.16.1/win-x64/node.exe

macOS 64-bit Installer: https://nodejs.org/dist/v12.16.1/node-v12.16.1.pkg

macOS 64-bit Binary: https://nodejs.org/dist/v12.16.1/node-v12.16.1-darwin-x64.tar.gz

Linux 64-bit Binary: https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-x64.tar.xz

Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-ppc64le.tar.xz

Linux s390x 64-bit Binary: https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-s390x.tar.xz

AIX 64-bit Binary: https://nodejs.org/dist/v12.16.1/node-v12.16.1-aix-ppc64.tar.gz

SmartOS 64-bit Binary: https://nodejs.org/dist/v12.16.1/node-v12.16.1-sunos-x64.tar.xz

ARMv7 32-bit Binary: https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-armv7l.tar.xz

ARMv8 64-bit Binary: https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-arm64.tar.xz

Source Code: https://nodejs.org/dist/v12.16.1/node-v12.16.1.tar.gz

Other release files: https://nodejs.org/dist/v12.16.1/

Documentation: https://nodejs.org/docs/v12.16.1/api/

SHASUMS

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

d928dd3dc4a79c39e45aa8f1f00c33117eb6145001427cb4dd838340932d8f2d node-v12.16.1-aix-ppc64.tar.gz
34895bce210ca4b3cf19cd480e6563588880dd7f5d798f3782e3650580d35920 node-v12.16.1-darwin-x64.tar.gz
7d20b9955c96d99fad1ef0e849b340d3ca1386dacd6c79e19d1ad3695bad7f6b node-v12.16.1-darwin-x64.tar.xz
815e732561b6be1b2389b0cac53e34b65ad1835a5f0354d9888d992a4613947f node-v12.16.1-headers.tar.gz
602ad5ba8ccf076215e0547632329d8a5c3ab0275a293ee1aebbfdd9345d2a6a node-v12.16.1-headers.tar.xz
22750695d432e22f2a1faadfcd534a88a18933ffd658d45b08a5afa61acbc24a node-v12.16.1-linux-arm64.tar.gz
396c43ba507b8ec33c70cdc6f73b4a7c725bddb3f74a85a8b8ed77b436856fed node-v12.16.1-linux-arm64.tar.xz
d418d0516dfd744a8109e4ed58b021e3a1babb64baed2ebc30e613df97c643fb node-v12.16.1-linux-armv7l.tar.gz
593dbc7e52518815d02dd5019c54afa5ada3dd143482cbc533c8c1ea80f44349 node-v12.16.1-linux-armv7l.tar.xz
c8b1e47ac7a7a98f9f9b596b1ff567ad5416141317a3dcf4bff988508eb85bd6 node-v12.16.1-linux-ppc64le.tar.gz
eee65be6b23245221920f18dded281f74a00dfa2479713134eea3146f1593ea6 node-v12.16.1-linux-ppc64le.tar.xz
fef9eb79a9f5c50193ba369a2399998a86411f26eadc924674d915b06b71ac8f node-v12.16.1-linux-s390x.tar.gz
6a77be335dec9349a40216cea072f2ca6e53bf10a7276040bfbd33984cdc5b95 node-v12.16.1-linux-s390x.tar.xz
b2d9787da97d6c0d5cbf24c69fdbbf376b19089f921432c5a61aa323bc070bea node-v12.16.1-linux-x64.tar.gz
b826753f14df9771609ffb8e7d2cc4cb395247cb704cf0cea0f04132d9cf3505 node-v12.16.1-linux-x64.tar.xz
268703502c475a3e6878de0b1e67e6cc06315f41f878c3ec0bd58291537357da node-v12.16.1.pkg
fec3dd2fdadc2b2fd8be29ebe8cdb859eace84e920a32053585feae0e641e9ce node-v12.16.1-sunos-x64.tar.gz
fd5786acdc316a5eb64b73e274f44aa74ed2a74ef0b292cec2983bcab1ee96f0 node-v12.16.1-sunos-x64.tar.xz
4fe8c3454f9bee5bbe72d44aa25cd931859b3037b7a9473081b3b2bd1b465b95 node-v12.16.1.tar.gz
0a95845ba02c46102b5671d0c5732460073f2d397488337e18d1fc30146d412d node-v12.16.1.tar.xz
e97aa4c4dc44185f55be7f46ff70a5594066f50853f3b7ad409cc108d32eef17 node-v12.16.1-win-x64.7z
b93b73572c5e495154a9823d494de5729c77d1c83b041171154c4b5f3f76b590 node-v12.16.1-win-x64.zip
2091f727d84044062e2657e20a24ccfbad3c699ee337c47d60ce77fcdadd711a node-v12.16.1-win-x86.7z
7d4cb6b9b96d221e5fbb28083d688f36561b05ae2f796a22ebd606f319834b39 node-v12.16.1-win-x86.zip
bb70e966062e860e3497b4c5cd490485b722f28ad8eb0abfda7fe91e987c59f1 node-v12.16.1-x64.msi
9fd8788c089bb77999b7f2e6ef94cb1721dd9f5b1b08d4ed2f81e89529c9137a node-v12.16.1-x86.msi
3f8dabbe93d05367035df2078cb72a20c1b74cf1b41648ea91d902825902fcee win-x64/node.exe
4eb31990d5e46ba2a51d4fc14ef187ef51c403afe8823c71c557c0ba3cb6d732 win-x64/node.lib
057803deaa2b29b597e15a82cfe78271f9320fc0cd23239564ab04df19ead3f6 win-x64/node_pdb.7z
deee04ab036212fbaa2eeb5efec7e5ff87666dce3968c68450bf8fa12d1c2a59 win-x64/node_pdb.zip
78fa91d73172df8e10e1824394087a9d6409259fdc3bd5a83fa90d53e4edb6a6 win-x86/node.exe
67967c338c91652bbb376a0a4f3e0162478033d872d71af673e5ce127888ee50 win-x86/node.lib
9e8b18c0df1fed91154fc9f7e5cf4e93a85b99ce653be0f77d6cd87f15556cc0 win-x86/node_pdb.7z
b1a9c35d168c5876d040e1aeeb3e7c44c919f2716c560b44556cf9c6975991fc win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEDv/hvO/ZyE49CYFSkzsB9AtcqUYFAl5MPjUACgkQkzsB9Atc
qUZrhgf/YyjE93K71UoKdkAPN316DY6asYc4+hoOwny+r4W1+0QSiWl7Pe+lm4tC
OfCjrIr5i+OC+/VimWLlZ2ufwxWKJCX560TpE9vLe5z6+CTNEkTR2kA20lT/BnTH
js/A+6BAilkMNrdXWspRGgIytk4/njsgq7uTutY0lx7jOclFPXuW615FCqUNA0Ev
jyTy5b2htDH3J9QrLiHTlLZcz438W1RPvdQ8N8vIfY3QFTcugmBiltIg++rQ4Zh+
tQt/48hI/Xb4MvIQ83azzBwkvnXci4sVcekseuMeKjb5vbnd1qxvSPFMS6zvKmHi
PrJMcpCXJiFuo92YBTL/rCkiTr/jsQ==
=wB4y
-----END PGP SIGNATURE-----