Node v12.22.0(LTS)

주요 변경사항

레거시 HTTP 파서가 런타임 폐지 예정 상태로 되었습니다.

명령줄에서 --http-parser=legacy을 전달하면 사용할 수 있는 레거시 HTTP 파서가
2021년 4월 말에 지원이 종료되는 Node.js 10.x에 맞추어 폐지 예정 상태로 되었습니다.
레거시 파서는 해당 Node.js 버전에서 사용할 수 있는 유일한 HTTP 파서였습니다.
한동안은 레거시 HTTP 파서를 계속 사용할 수 있지만 경고가 나타날 것이며
향후 Node.js 12.x 릴리스에서 레거시 파서가 제거될 수 있습니다.

llhttp에 기반한 기본 HTTP 파서는 영향을 받지 않습니다.
해당 파서는 기본적으로 지금 폐지 예정 상태가 된 레거시 HTTP 파서보다 더 엄격합니다.
올바르지 않은 HTTP 헤더를 전송하는 HTTP 구현체와의 상호운용성이 필요하다면,
--insecure-http-parser 명령줄 옵션을 사용해서 보안성이 조금 떨어지는 모드로 사용하면 됩니다.

Beth Griggs가 기여했습니다. #37603.

ES 모듈

이제 ES 모듈은 안정적인 상태로 간주합니다.

Guy Bedford가 기여했습니다. #35781

node-api

node-api를 8 버전으로 업데이트하고 애드온 파일의 이름을 알 수 있는 실험적인 API를 추가했습니다.

Gabriel Schulhof가 기여했습니다. #37652, #37195.

코드 커버리지 데이터 수집을 제어하는 새로운 API

v8.stopCoverage()v8.takeCoverage()가 추가됐습니다.

Joyee Cheung이 기여했습니다. #33807.

워커 스레드의 이벤트 루프 활용을 모니터링하는 새로운 API

worker.performance.eventLoopUtilization()이 추가됐습니다.

Trevor Norris가 기여했습니다. #35664.

Commits

  • [1872625990] - (SEMVER-MINOR) deps: update to cjs-module-lexer@1.1.0 (Guy Bedford) #37712
  • [dfa04d9035] - deps: V8: cherry-pick beebee4f80ff (Peter Marshall) #37293
  • [bf8733fe22] - doc: mark modules implementation as stable (Guy Bedford) #35781
  • [0a35d49f56] - Revertembedding: make Stop() stop Workers” (Anna Henningsen) #32623
  • [a0b610450a] - (SEMVER-MINOR) http: runtime deprecate legacy HTTP parser (Beth Griggs) #37603
  • [2da24ac302] - lib: add URI handling functions to primordials (Antoine du Hamel) #37394
  • [7b0ed4ba92] - module: improve support of data: URLs (Antoine du Hamel) #37392
  • [93dd799a86] - (SEMVER-MINOR) node-api: define version 8 (Gabriel Schulhof) #37652
  • [f5692093d3] - (SEMVER-MINOR) node-api: allow retrieval of add-on file name (Gabriel Schulhof) #37195
  • [6cef0e3678] - src,test: add regression test for nested Worker termination (Anna Henningsen) #32623
  • [364bf03a68] - test: fix races in test-performance-eventlooputil (Gerhard Stoebich) #36028
  • [d7a4ccdf09] - test: correct test-worker-eventlooputil (Gerhard Stoebich) #35891
  • [0f6d44500c] - test: add cpu-profiler-crash test (Santiago Gimeno) #37293
  • [86f34ee18c] - (SEMVER-MINOR) v8: implement v8.stopCoverage() (Joyee Cheung) #33807
  • [8ddea3f16d] - (SEMVER-MINOR) v8: implement v8.takeCoverage() (Joyee Cheung) #33807
  • [eec7542781] - (SEMVER-MINOR) worker: add eventLoopUtilization() (Trevor Norris) #35664

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Documentation: https://nodejs.org/docs/v12.22.0/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
50
51
52
53
54
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

64482b90fb13ca4be3a40386c958a41e49f6c915d3807d14d797bf101d363621 node-v12.22.0-aix-ppc64.tar.gz
7f72fd468cd00cf562c8fe2ea8b5e7a3b68027e8454e432db9ffbdd967bf420c node-v12.22.0-darwin-x64.tar.gz
56eb67ecd3bdbcd48823aa20ac379e71473037569ec77638444069ca836baa44 node-v12.22.0-darwin-x64.tar.xz
7c1424543ae16e1e15d8a4d95fbb99cf4ae7c943c4aa0bf0be3751a883f38738 node-v12.22.0-headers.tar.gz
aad985525806713e4e88e67cf22ee937da3281a15c62647aa39ae8f0a27e1512 node-v12.22.0-headers.tar.xz
844d0ea80f0b71b015800d2089fe13a0dee1dd46b2957c458d06a5231bf6ac0b node-v12.22.0-linux-arm64.tar.gz
7c784d17e2e4f72afe79df253d893afd8b73396d3a28a7709214673fd8d6fa87 node-v12.22.0-linux-arm64.tar.xz
942d71744f4001b11ac1be5a3093afdcd06509ab530fcf58f8bdaf16f3ee69c5 node-v12.22.0-linux-armv7l.tar.gz
09a9ab7188214b835456ec8f1248c7d820d945f87d2f6f0a74899b877312000d node-v12.22.0-linux-armv7l.tar.xz
437fa2f1a2caae09120a1bf9a20544368391bfea382f1e485b440f2117febfeb node-v12.22.0-linux-ppc64le.tar.gz
a509c5e0fc56c0c0368f8e1d0dfa017739695b88f08b85cc2b6ab28aafa92695 node-v12.22.0-linux-ppc64le.tar.xz
060bab6c4acf323cb66f8f2f23474d7158062e18daf249cc0b2d543413d7f1d5 node-v12.22.0-linux-s390x.tar.gz
dea901d4b14ada86bdc1eb9b8ff8dfd2204c912309dc6c3f54fb7beef61ee3cf node-v12.22.0-linux-s390x.tar.xz
d941cb38b023a1c53a629c49425105f68069937569edd72c6fafab2221fc4533 node-v12.22.0-linux-x64.tar.gz
c5c9dc788ec08785203d7b02333aab393bd648ec4a8bb2efb9d56c67d24eba70 node-v12.22.0-linux-x64.tar.xz
2164706d8051ca3920036db45f901bb28b0b3e92dd3b98814791ec8751c4a633 node-v12.22.0.pkg
f2f8b3134fc343e635e6d3ccc37a6437e83d46125f707ed082ffbe43f4c7ce4b node-v12.22.0-sunos-x64.tar.gz
37ef6028e13b58e93813cfee54e5668987d6f8bc2aae48c446794a30cc03194c node-v12.22.0-sunos-x64.tar.xz
a65d108d824e956de0ab7c3e7f6763c70f6f5b85636dc4ee16404e5881b7d723 node-v12.22.0.tar.gz
df5c5f0ebad4889f5dd24e565eaaa9cbe2ca3274f78af469d9a20cc36f60ba23 node-v12.22.0.tar.xz
7261d78d96e80c265b1e3f459dc43fc664bff63e30d5c21b468ee6271876ac2c node-v12.22.0-win-x64.7z
27dcfb4145bade7f03687d6ec620c55b0b5c966c583d02d29db36fb88bbd82c1 node-v12.22.0-win-x64.zip
5725c31de1ef07e5b09219fec87ae39e885172b2579d035315eb76a9dfcadcab node-v12.22.0-win-x86.7z
0c880c1c0f5ff0755da21098b9fae7e76289525bdfdb73725fae7dc815ec2a9d node-v12.22.0-win-x86.zip
51cfc0f8db30fc2bd45b6ac553867d3745aa73621661c099daaacb25d0d938bc node-v12.22.0-x64.msi
62d3bbe291b146ff2856d4ef349377d7f20fea5ed7ce84be73c53193cab46329 node-v12.22.0-x86.msi
382561345ac811231b8502931496784b93d7f72a4084babedb6a3f8b27d9214d win-x64/node.exe
28e5c24831deedbf4fb8a9560f2c4f95205479c589f54a9a53ec346f6a5cf8bf win-x64/node.lib
dd6516bda3b3ffa953e30dfa79641f49290892d5fb7009e3b5f8f454c8753554 win-x64/node_pdb.7z
8efa373a135ef092e5a743064eef6423158190accdbcda4914fbed2a992e4a56 win-x64/node_pdb.zip
ba3752edef984118a77911f2ec78576fe039a8b0bca7dcb94efaff76c2272efb win-x86/node.exe
8bbcf3b9305b83f54bd80f8ec19d4e237841bde5bfaeb2aec708c36daa6435f6 win-x86/node.lib
f34a56b04934e5382af0d288424e11a6d55e80894254835a8701102e089eafdd win-x86/node_pdb.7z
80c580430404fb8cace7802e5c592123d1bd6bffa71ce7a6850358a254b05003 win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEyC+jrhy+3Gvka5NgxDzsRcF6uTwFAmBjMiUACgkQxDzsRcF6
uTxj3BAAj6UhDhyUVTAzuaKVxJEfmnXeHdq3NNgWBkCk2H9ru6zJRa8nulzxFrmR
LR9/sDAr01of/Qca7q5ojeh2K5j66DbeG7RxvtwcISr9ASdZ7LmjcJCCie7fKnRz
eZn6qJ+6WXzD3lswI4jSwT8kIuNywAu7cMEkIcJM/OvLumpjx2euYjIdEE5BF80B
IwmkhyHvSiggPcAYBn1uxlDWHBxwdyF1F9u9MEGGmieIIloIMLeaDKRKdklSOBmr
ShwE2cnk+IEqJtQYaVEBLisayh8tkSdyxlbyowICkESICB+oiWMqF9dZotf6SFf6
I+SvfCQn3NH/LYG+gg06uAtna1hHUYU7DJ1QBGZtwff3NuVn0MrwZN3Qazj/ML8N
7ihL4twQM33U/QousCdXxaVVcW/J4+lurg0BKq0cijx/MvJRDF5+FDw/BLu3P7ul
3JA7+Ea0DquCt77oZpOra20TfrnjKmFUZfQjbqaG0hzQoEbJ8AcZlJeintOS2xT9
0Ri0Gp7JrCWpOfKobirjE/lIaV2Ehz9JpoPkwwFQbo62TPle7DIDihKWkshwuZj+
5X2K3rKjG9ff/0nZBkiWh6R7YGeMZCYscW71jTK7cIlKRggFIzUa+Od0x0975fQm
iDJMkx+Pmv2++GI3bcnZRxcCm+NeF6MryaN9xKNBblM6uoSemfQ=
=Wx4y
-----END PGP SIGNATURE-----