Node v12.11.1(현재 버전)

주요 변경사항

  • build:
    • 이 릴리스는 공식 소스 tarball을 이용해서 Node.js를 빌드할 수 없던 회귀를 수정했습니다. (Richard Lau) #29712
  • deps:
    • Intl.NumberFormat API가 'unit' 스타일을 지원하도록 small-icu 데이터를 업데이트했습니다. (Michaël Zasso) #29735

Commits

  • [35e1d8c5ba] - build: include deps/v8/test/torque in source tarball (Richard Lau) #29712
  • [ae461964a7] - build,win: goto lint only after defining node_exe (João Reis) #29616
  • [588b388181] - crypto: use byteLength in timingSafeEqual (Tobias Nießen) #29657
  • [298d92785c] - deps: enable unit data in small-icu (Michaël Zasso) #29735
  • [0041f1c0d3] - doc: sync security policy with nodejs.org (Sam Roberts) #29682
  • [038cbb08de] - doc: fix output in inspector HeapProfile example (Kirill Fomichev) #29711
  • [d86f10cf0b] - doc: add KeyObject to type for crypto.createDecipheriv() argument (exoego) #29689
  • [1303e3551f] - doc: clarify description of readable.push() method (imhype) #29687
  • [d258e0242c] - doc: clarify stream errors while reading and writing (Robert Nagy) #29653
  • [0fc85ff96a] - doc: specify display=fallback for Google Fonts (XhmikosR) #29688
  • [c2791dcd9c] - doc: fix some recent nits (Vse Mozhet Byt) #29670
  • [7a6b05a26f] - doc: fix 404 links (XhmikosR) #29661
  • [2b76cb6dda] - doc: remove align from tables (XhmikosR) #29668
  • [3de1fc6958] - doc: document that iv may be null when using createCipheriv() (Ruben Bridgewater) #29684
  • [91e4cc7500] - doc: update AUTHORS list (Anna Henningsen) #29608
  • [2ea4cc0732] - doc: clarify pipeline stream cleanup (Robert Nagy) #29738
  • [ab060bfdab] - doc: clarify fs.symlink() usage (Simon A. Eugster) #29700
  • [b5c24dfbe8] - doc: fix type of atime/mtime (TATSUNO Yasuhiro) #29666
  • [6579b1a547] - doc,http: indicate callback is optional for message.setTimeout() (Trivikram Kamat) #29654
  • [a04fc86723] - http2: optimize the altsvc Max bytes limit, define and use constants (rickyes) #29673
  • [d1f4befd09] - module: pass full URL to loader for top-level load (Guy Bedford) #29736
  • [3f028551a8] - module: move cjs type check behind flag (Guy Bedford) #29732
  • [c3a1303bc2] - src: rename --loader to --experimental-loader (Alex Aubuchon) #29752
  • [17c3478d78] - src: fix asan build for gcc/clang (David Carlier) #29383
  • [64740d44b5] - src: fix compiler warning in inspector_profiler.cc (Daniel Bevenius) #29660
  • [a86b71f745] - src: disconnect inspector before exiting out of fatal exception (Joyee Cheung) #29611
  • [8d88010277] - src: try showing stack traces when process._fatalException is not set (Joyee Cheung) #29624
  • [2a6b7b0476] - test: fix flaky test-cluster-net-listen-ipv6only-none (Rich Trott) #29681
  • [69f26340e9] - tls: simplify setSecureContext() option parsing (cjihrig) #29704
  • [c361180c07] - tools: make mailmap processing for author list case-insensitive (Anna Henningsen) #29608
  • [ef033d046a] - worker: fix process._fatalException return type (Ruben Bridgewater) #29706
  • [04df7dbadb] - worker: keep allocators for transferred SAB instances alive longer (Anna Henningsen) #29637

Windows 32-bit Installer: https://nodejs.org/dist/v12.11.1/node-v12.11.1-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v12.11.1/node-v12.11.1-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v12.11.1/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v12.11.1/win-x64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v12.11.1/node-v12.11.1.pkg
macOS 64-bit Binary: https://nodejs.org/dist/v12.11.1/node-v12.11.1-darwin-x64.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v12.11.1/node-v12.11.1-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v12.11.1/node-v12.11.1-linux-ppc64le.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v12.11.1/node-v12.11.1-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v12.11.1/node-v12.11.1-aix-ppc64.tar.gz
SmartOS 64-bit Binary: https://nodejs.org/dist/v12.11.1/node-v12.11.1-sunos-x64.tar.xz
ARMv7 32-bit Binary: https://nodejs.org/dist/v12.11.1/node-v12.11.1-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v12.11.1/node-v12.11.1-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v12.11.1/node-v12.11.1.tar.gz
Other release files: https://nodejs.org/dist/v12.11.1/
Documentation: https://nodejs.org/docs/v12.11.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
50
51
52
53
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

5242f490a320584dbfb21a7009fe6c316d43cffc9fa661ee852bdbb0875e27f4 node-v12.11.1-aix-ppc64.tar.gz
7dd24ee6d81668e65ce1b77b4bb4cdaf517d8f80bb19740d286606028506970b node-v12.11.1-darwin-x64.tar.gz
ad265269189a5f29db107e8d69e0ec255ee5815da349a637df44db7ef987a95c node-v12.11.1-darwin-x64.tar.xz
4bb4754fa82dc1d9e1600b0855c410320719b536257c9c9def120b31fa1f8528 node-v12.11.1-headers.tar.gz
2a87283189530328ccc7c1ac63f21979870fe10152f19fe1a990a9673288daa2 node-v12.11.1-headers.tar.xz
a9973aeb9f942b4ffa8fe40149dfb3e0ddf9377049fc3cc7e789c5dfdc22ffd0 node-v12.11.1-linux-arm64.tar.gz
12777294258da80410fd7d5cbed46ead5d3cabacf376ee10ddb9e1a335b114e7 node-v12.11.1-linux-arm64.tar.xz
e6e52f71420bc959a1936db26084d2d78bc6767d4a483c5998afbc4bf999012c node-v12.11.1-linux-armv7l.tar.gz
8fffbe516021fc0f1d6beb2ba8d221b04af6d8880e1b74681f9ffd96545f896d node-v12.11.1-linux-armv7l.tar.xz
13a5fda091794604fdf2965b04fdc76c311c83c41b98533c8f91d0d1bebaf30a node-v12.11.1-linux-ppc64le.tar.gz
145d7b3fabbf3218e2685d34478b87567571eddb7f3d357ec6cd9eb20a2fce05 node-v12.11.1-linux-ppc64le.tar.xz
b16a0a01ee002589669ad665ede842465890a969b0f1a463560d400d9432317b node-v12.11.1-linux-s390x.tar.gz
1315f896d8095e4dbf2bc438974df7018428d52011abd20439c9264fccda13cf node-v12.11.1-linux-s390x.tar.xz
ac6c76af7c13cc3688aba072c4c728cb6fa2c40b340b1dcc4795e2705b1869dc node-v12.11.1-linux-x64.tar.gz
00f7a0b59ff38c1c74d81732df925aa5ac5788b58412437327421f796878793d node-v12.11.1-linux-x64.tar.xz
8b42fa40fb96756dabfc43f7a69eaf4e10e5b78db3094dcc5469207f21992eb3 node-v12.11.1.pkg
67c94186141c8ba8d87b73c2d9d7443a11471ed7b67cd897d99ddf93b75f98c1 node-v12.11.1-sunos-x64.tar.gz
9cbff79397a3ff39acdfbcb431b4b99353856ddbccea7fd8eb495217fa60e32b node-v12.11.1-sunos-x64.tar.xz
37043ddbe60f18a52ec31e0381b66adebbc0ec24669d72f132a1fdfacdf029ae node-v12.11.1.tar.gz
e53fbc7985ab8a34fe895852f30baee3f9f590ff9c2569e1bce791f78eec24ee node-v12.11.1.tar.xz
0fc231561e9e2a83fb2329a8d0f5ade4977c1baf3cba96b80b24cc4c686b46bd node-v12.11.1-win-x64.7z
0bab4473cd2ba03511b8859ddf2202bb012d5c541f9d57b555a5bbbf101fcb35 node-v12.11.1-win-x64.zip
4d890c580fb9c2a3e9860fb973cb7f410a7a083d7b286f17892567229c7e0563 node-v12.11.1-win-x86.7z
c60aace3faaaa061206c02be730c4b8a2534e5dda6e1a987123548e747c0165a node-v12.11.1-win-x86.zip
4d1d6a9ba99e83aedc4c62c2621eeb5304c7b7ce2a98c3fc57d420c28960374a node-v12.11.1-x64.msi
3406839dcdcc7394330f0085f79839204acac701ce9b4dd3cab970613e928693 node-v12.11.1-x86.msi
85d36856be4cc71ecd31792cccc44dfa98099fb701d34842a1ef70af873e24ab win-x64/node.exe
af5a725e43d1b2db398f1de782bf777ff2b67a28970c10166f79b74c28700a77 win-x64/node.lib
e6b84807ea0d055625e3ea0452c77ff5bb36fe284bfde38d2ed50c33c3b7bf61 win-x64/node_pdb.7z
37da86c4e63ee664bd5c398efeb5cb347e0f5e1377f3e0eba36a539edcab0a8c win-x64/node_pdb.zip
6cb03afe988be0a314061fbd13b1d55b0e7f87557a6c12eb7d7590cc1b5869b5 win-x86/node.exe
a6d2a3240366b683aaedbe58a5a0a637b3bd1054ae485c22d25dbb83d590ea29 win-x86/node.lib
216a1a8ccb7d8e098338514d2a1c7d4cb0f99ed6055002b6e8504a571b38a10b win-x86/node_pdb.7z
e7c83fe80935af51668dd530e0c0a78e61aa9a86bd4671676bf1fcf36904fbf5 win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEj8yhP+8dDC6RAI4Jdw96mlrhVgAFAl2TgpoACgkQdw96mlrh
VgD1aA/5ARBTbVpAm8v/0FzgjfjkVZNnFcaXQDJ+HQsGUVTowPyzfg2w5TB62jp8
wzCeCA1dkzzBAhrQzMyxg+rUw+WzvNkuM75/+KCMzRw873VxP+wHk+2wLAnjfdBQ
/Qnprk+C3ovqSRkeDEG2OMlV6hGZmsw/EdL5CvuY39lGpMrNkkmKKokxRU7QS0TK
xcyd4zxRIXYFvdxr17ioHJYHIbwEXZeEWpRQb6VdGa9hAd6EPCMCgRXTzOJ2BJPT
TCg8hq58KanWDZqIehwLpF/x4dHDLl5e71GPkP+9UPTfodoFZfUiBqDYNjJcxAwM
j99v46hp0/q41uySIFw7tB9hh7XysvQyK9/ipEb8tDh7w35k0US7tr6yjnQuOm/3
Y7o3wUkzltBAtOpij4hA2Ivb1munt1lNuSSp279SqLp6w3ynbFFn6ktTZx7AFrkE
27mIMvWL7nqW5jmCgeQMxC7hjRpcwk0Tg8F/VsFo6ETiwdZTL7ofsfUWB7deKA1a
vb2ozsuYphmQM3eY9lcqC0SykaWb2ZxO+73o7lFKXJItdgkZ86k5+UnQIkA/Q1cT
9W0vgmUk1DbBMp0e7pQ882BNbSQpZ1Gj3e07JnipZ5WyaClgSDOVh44yz5mg7FUF
WOP3QKycGMEpHjWXsPxJeG+c5Y09TEEJIFAzr39rfCRJ7mb4Oow=
=Q3Q2
-----END PGP SIGNATURE-----

Node v12.11.0(현재 버전)

주요 변경사항

  • crypto:
    • oaepLabel 옵션을 추가했습니다 #29489
  • deps:
    • V8을 7.7.299.11로 업데이트하였습니다 #28918
      • 더 효율적으로 메모리를 관리합니다
      • 스택 트레이스가 빨라졌습니다
      • Intl.NumberFormat API에 새로운 기능이 추가되었습니다
      • 더 자세한 정보는 https://v8.dev/blog/v8-release-77에서 확인하세요
  • events:
    • onceEventTarget 지원이 추가되었습니다 #29498
  • fs:
    • 메모리 파일 매핑 플래그 UV_FS_O_FILEMAP을 노출하였습니다 #29260
  • inspector:
    • Session.connectToMainThread API를 추가하였습니다 #28870
  • process:
    • env.NODE_V8_COVERAGE로 초기 소스맵을 지원합니다 #28960
  • stream:
    • _writev()가 구현되어있을 경우 _write()를 생략 가능합니다 #29639
  • tls:
    • 서명 알고리즘을 오버라이드할 수 있는 옵션을 추가하였습니다 #29598
  • util:
    • TextEncoderencodeInto를 추가하였습니다 #29524
  • worker:
    • worker_thread 모듈은 이제 안정적입니다 #29512

Commits

  • [b9c7c9002f] - benchmark: improve process.env benchmarks (Anna Henningsen) #29188
  • [6b8951231c] - bootstrap: add exception handling for profiler bootstrap (Shobhit Chittora) #29552
  • [c052967636] - bootstrap: provide usable error on missing internal module (Jeremiah Senkpiel) #29593
  • [5c24bc6c68] - build: do not indent assignments in Makefile (Joyee Cheung) #29623
  • [f90740d734] - build: allow clang 10+ in configure.py (Kamil Rytarowski) #29541
  • [c304594536] - build: re-run configure on node_version.h change (Anna Henningsen) #29510
  • [f622771079] - build: improve make coverage (Anna Henningsen) #29487
  • [c1695c6635] - build: add comment to .travis.yml on how to test Py3 (cclauss) #29473
  • [6f50c3f391] - build: update minimum AIX OS level (Michael Dawson) #29476
  • [ee18238f55] - build: remove experimental Python 3 tests (Christian Clauss) #29413
  • [fe46054b14] - (SEMVER-MINOR) build: reset embedder string to "-node.0" (Michaël Zasso) #28918
  • [42fd139279] - build,win: fix Python detection on localized OS (João Reis) #29423
  • [f61c5097e2] - console: skip/strip %c formatting (Gus Caplan) #29606
  • [68630c5b65] - console,util: fix missing recursion end while inspecting prototypes (Ruben Bridgewater) #29647
  • [99c2cd8f08] - crypto: use BoringSSL-compatible flag getter (Shelley Vohr) #29604
  • [dd5d944005] - (SEMVER-MINOR) crypto: fix OpenSSL return code handling (Tobias Nießen) #29489
  • [54f327b4dc] - (SEMVER-MINOR) crypto: add oaepLabel option (Tobias Nießen) #29489
  • [5d60adf38b] - deps: patch V8 to 7.7.299.11 (Michaël Zasso) #29628
  • [c718c606c8] - deps: V8: cherry-pick deac757 (Benjamin Coe) #29626
  • [e4a51ad980] - deps: patch V8 to 7.7.299.10 (Thomas) #29472
  • [bc3c0b2d65] - deps: V8: cherry-pick 35c6d4d (Sam Roberts) #29585
  • [fa7de9b27f] - deps: update npm to 6.11.3 (claudiahdz) #29430
  • [f5f238de6c] - deps: upgrade to libuv 1.32.0 (cjihrig) #29508
  • [7957b392e4] - deps: patch V8 to 7.7.299.8 (Michaël Zasso) #29336
  • [90713c6697] - (SEMVER-MINOR) deps: patch V8 to be API/ABI compatible with 7.4 (from 7.7) (Michaël Zasso) #29241
  • [e95f866956] - deps: patch V8 to be API/ABI compatible with 7.4 (from 7.6) (Michaël Zasso) #28955
  • [4eeb2a99e5] - (SEMVER-MINOR) deps: patch V8 to be API/ABI compatible with 7.4 (from 7.5) (Michaël Zasso) #28005
  • [60efc5fd52] - deps: V8: cherry-pick e3d7f8a (cclauss) #29105
  • [d1bedbe717] - (SEMVER-MINOR) deps: V8: fix linking issue for MSVS (Refael Ackermann) #28016
  • [19e38e0def] - (SEMVER-MINOR) deps: V8: fix BUILDING_V8_SHARED issues (Refael Ackermann) #27375
  • [8aaa0abd26] - (SEMVER-MINOR) deps: V8: add workaround for MSVC optimizer bug (Refael Ackermann) #28016
  • [07ed874446] - (SEMVER-MINOR) deps: V8: use ATOMIC_VAR_INIT instead of std::atomic_init (Refael Ackermann) #27375
  • [1ed3909ca3] - (SEMVER-MINOR) deps: V8: forward declaration of Rtl*FunctionTable (Refael Ackermann) #27375
  • [242f6174e5] - (SEMVER-MINOR) deps: V8: patch register-arm64.h (Refael Ackermann) #27375
  • [63093e9d49] - (SEMVER-MINOR) deps: V8: update postmortem metadata generation script (cjihrig) #28918
  • [b54ee2185e] - (SEMVER-MINOR) deps: V8: silence irrelevant warning (Michaël Zasso) #26685
  • [c6f97bb7ce] - (SEMVER-MINOR) deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #26685
  • [5df55c2626] - (SEMVER-MINOR) deps: V8: fix filename manipulation for Windows (Refael Ackermann) #28016
  • [80ccae000e] - (SEMVER-MINOR) deps: update V8 to 7.7.299.4 (Michaël Zasso) #28918
  • [325de437b3] - doc: update N-API version matrix (Gabriel Schulhof) #29461
  • [2707beb8b8] - doc: add code example to process.throwDeprecation property (Juan José Arboleda) #29495
  • [edaa2eebd6] - doc: fix some signatures of .end() methods (Vse Mozhet Byt) #29615
  • [13d173f131] - doc: remove the suffix number of the anchor link (Maledong) #29468
  • [3ba64646ed] - doc: explain stream.finished cleanup (Robert Nagy) #28935
  • [84b353cf5d] - doc: fix require call for spawn() in code example (Marian Rusnak) #29621
  • [39b17706ea] - doc: make minor improvements to stream.md (Robert Nagy) #28970
  • [50b5ad1638] - doc: fix nits in net.md (Vse Mozhet Byt) #29577
  • [4954792991] - doc: correct trivial misspelling in AUTHORS (gcr) #29597
  • [0074c8adb7] - doc: update list style in misc README docs (Rich Trott) #29594
  • [38028ef818] - doc: add missing complete property to http2 docs (Javier Ledezma) #29571
  • [55631f4f0a] - doc: add leap second behavior notes for napi methods (Levhita) #29569
  • [7fd32619c1] - doc: explain esm options for package authors (Geoffrey Booth) #29497
  • [f2217cdafe] - doc: update experimental loader hooks example code (Denis Zavershinskiy) #29373
  • [bf08c08384] - doc: use consistent unordered list style (Nick Schonning) #29516
  • [ca8e87a6d3] - doc: add Bethany to TSC (Michael Dawson) #29546
  • [aa541bbc88] - doc: add Tobias to the TSC (Michael Dawson) #29545
  • [9abee075ad] - doc: mention unit for process.hrtime.bigint() (Anna Henningsen) #29482
  • [3aea277b72] - doc: add documentation for stream readableFlowing (Chetan Karande) #29506
  • [a262e2f8d4] - doc: indent child list items for remark-lint (Nick Schonning) #29488
  • [2a5340144c] - doc: space around lists (Nick Schonning) #29467
  • [9e63f914da] - doc: exitedAfterDisconnect value can be false (Nimit Aggarwal) #29404
  • [b1509e8f8e] - doc: remove wrong escapes (XhmikosR) #29452
  • [7dd897f49a] - doc: prepare markdown files for more stringent blank-line linting (Rich Trott) #29447
  • [a9d16b5e30] - doc: simplify wording in n-api doc (Michael Dawson) #29441
  • [c95e9ca6dc] - doc: update release guide with notes for major releases (James M Snell) #25497
  • [a7331da863] - doc: indent ordered list child content (Nick Schonning) #29332
  • [32bb58ba9c] - doc: fix unsafe writable stream code example (Chetan Karande) #29425
  • [735ef8b235] - doc: async_hooks.createHook promiseResolve option (Ben Noordhuis) #29405
  • [844b45bf4f] - doc: change urls directly from 'http' to 'https' (Maledong) #29422
  • [4374d28c52] - doc: use consistent indenting for unordered list items (Nick Schonning) #29390
  • [835d1cabf6] - doc: start unorded lists at start of line (Nick Schonning) #29390
  • [8023e43e1d] - doc: change the 'txt' to 'console' for a command (Maledong) #29389
  • [b9c082d764] - esm: make dynamic import work in the REPL (Bradley Farias) #29437
  • [0a47d06150] - events: improve performance of EventEmitter.emit (Matteo Collina) #29633
  • [9150c4dc72] - (SEMVER-MINOR) events: add support for EventTarget in once (Jenia) #29498
  • [67f5de9b34] - fs: remove unnecessary argument check (Robert Nagy) #29043
  • [a20a8f48f7] - gyp: make StringIO work in ninja.py (Christian Clauss) #29414
  • [31b0b52a71] - http: refactor responseKeepAlive() (Robert Nagy) #28700
  • [6a7d24b69c] - http2: do not crash on stream listener removal w/ destroyed session (Anna Henningsen) #29459
  • [fa949ca365] - http2: send out pending data earlier (Anna Henningsen) #29398
  • [d6ba106f8c] - http2: do not start reading after write if new write is on wire (Anna Henningsen) #29399
  • [a268658496] - (SEMVER-MINOR) inspector: new API - Session.connectToMainThread (Eugene Ostroukhov) #28870
  • [144aeeac68] - lib: remove the use of util.isFunction (himself65) #29566
  • [91d99ce41c] - (SEMVER-MINOR) lib,test: fix error message check after V8 update (Michaël Zasso) #28918
  • [13fa966b7b] - module: error for CJS .js load within type: module (Guy Bedford) #29492
  • [ce45aae2ab] - module: reintroduce package exports dot main (Guy Bedford) #29494
  • [8474b82e35] - n-api: delete callback bundle via reference (Gabriel Schulhof) #29479
  • [50d7c39d91] - n-api: mark version 5 N-APIs as stable (Gabriel Schulhof) #29401
  • [6b30802471] - perf_hooks: remove non-existent entries from inspect (Kirill Fomichev) #29528
  • [c146fff307] - perf_hooks: ignore duplicated entries in observer (Kirill Fomichev) #29442
  • [9b4a49c844] - perf_hooks: remove GC callbacks on zero observers count (Kirill Fomichev) #29444
  • [b30c40bd5d] - perf_hooks: import http2 only once (Kirill Fomichev) #29419
  • [95431eace9] - policy: minor perf opts and cleanup (Bradley Farias) #29322
  • [6ba39d4fe4] - (SEMVER-MINOR) process: initial SourceMap support via NODE_V8_COVERAGE (Benjamin Coe) #28960
  • [03a3468666] - process: use public readableFlowing property (Chetan Karande) #29502
  • [a5bd7e3b2a] - repl: convert var to let and const (Lucas Holmquist) #29575
  • [7eae707fd9] - repl: fix bug in fs module autocompletion (zhangyongsheng) #29555
  • [596dd9fe34] - repl: add autocomplete support for fs.promises (antsmartian) #29400
  • [70a0c170d4] - repl: add missing variable declaration (Lucas Holmquist) #29535
  • [3878e1ed31] - src: perform check before running in runMicrotasks() (Jeremy Apthorp) #29581
  • [6f8ef2cbab] - src: discard remaining foreground tasks on platform shutdown (Anna Henningsen) #29587
  • [f84f1dbd98] - src: fix closing weak HandleWraps on GC (Anna Henningsen) #29640
  • [6284b498b4] - src: use libuv to get env vars (Anna Henningsen) #29188
  • [3a6bc90c29] - src: re-delete Atomics.wake (Gus Caplan) #29586
  • [51a1dfab94] - src: print exceptions from PromiseRejectCallback (Anna Henningsen) #29513
  • [4a5ba60e00] - src: modified RealEnvStore methods to use libuv functions (Devendra Satram) #27310
  • [67aa5ef12b] - src: make ELDHistogram a HandleWrap (Anna Henningsen) #29317
  • [5c3d484c21] - src: check microtasks before running them (Shelley Vohr) #29434
  • [010d29d74f] - src: fix ValidateDSAParameters when fips is enabled (Daniel Bevenius) #29407
  • [59b464026f] - (SEMVER-MINOR) src: update v8abbr.h for V8 7.7 (cjihrig) #28918
  • [78af92dda5] - (SEMVER-MINOR) src,lib: expose memory file mapping flag (João Reis) #29260
  • [f016823929] - stream: add test for multiple .push(null) (Chetan Karande) #29645
  • [b1008973e9] - stream: cleanup use of internal ended state (Chetan Karande) #29645
  • [e71bdadf52] - (SEMVER-MINOR) stream: make _write() optional when _writev() is implemented (Robert Nagy) #29639
  • [123437bcc3] - stream: apply special logic in removeListener for readable.off() (Robert Nagy) #29486
  • [322bc6f0a6] - stream: do not call _read() after destroy() (Robert Nagy) #29491
  • [78cbdf3286] - stream: optimize creation (Robert Nagy) #29135
  • [2dc52ad09c] - stream: simplify isUint8Array helper (Anna Henningsen) #29514
  • [560511924f] - test: fix race condition in test-worker-process-cwd.js (Ruben Bridgewater) #28609
  • [78ee065a11] - test: fix flaky test-inspector-connect-main-thread (Anna Henningsen) #29588
  • [87fd55c387] - test: unmark test-worker-prof as flaky (Anna Henningsen) #29511
  • [79a277ed10] - test: improve test-worker-message-port-message-before-close (Anna Henningsen) #29483
  • [909c669c04] - test: disable core dumps before running crash test (Ben Noordhuis) #29478
  • [561d504d71] - test: permit test-signalwrap to work without test runner (Rich Trott) #28306
  • [75c559dc3a] - test: remove flaky status for test-statwatcher (Rich Trott) #29392
  • [f056d55346] - (SEMVER-MINOR) test: update postmortem metadata test for V8 7.7 (cjihrig) #28918
  • [b43d2dd852] - timers: set _destroyed even if there are no destroy-hooks (Jeremiah Senkpiel) #29595
  • [6272f82c07] - (SEMVER-MINOR) tls: add option to override signature algorithms (Anton Gerasimov) #29598
  • [b7488c2a5c] - tools: cleanup getnodeversion.py for readability (Christian Clauss) #29648
  • [7bc2f06e0b] - tools: update ESLint to 6.4.0 (zhangyongsheng) #29553
  • [0db7ebe073] - tools: fix iculslocs to support ICU 65.1 (Steven R. Loomis) #29523
  • [bc7cc348cc] - tools: python3 compat for inspector code generator (Ben Noordhuis) #29340
  • [9de417ad59] - tools: delete v8_external_snapshot.gypi (Ujjwal Sharma) #29369
  • [2f81d59e75] - tools: fix GYP ninja generator for Python 3 (Michaël Zasso) #29416
  • [027dcff207] - (SEMVER-MINOR) tools: sync gypfiles with V8 7.7 (Michaël Zasso) #28918
  • [bbf209b5df] - tty: add color support for mosh (Aditya) #27843
  • [ced89ad75d] - util: include reference anchor for circular structures (Ruben Bridgewater) #27685
  • [772a5e0658] - (SEMVER-MINOR) util: add encodeInto to TextEncoder (Anna Henningsen) #29524
  • [97d8b33ffc] - (SEMVER-MINOR) worker: mark as stable (Anna Henningsen) #29512
  • [fa77dc5f3b] - worker: make terminate() resolve for unref’ed Workers (Anna Henningsen) #29484
  • [53f23715df] - worker: prevent event loop starvation through MessagePorts (Anna Henningsen) #29315
  • [d2b0568890] - worker: make transfer list behave like web MessagePort (Anna Henningsen) #29319

Windows 32-bit Installer: https://nodejs.org/dist/v12.11.0/node-v12.11.0-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v12.11.0/node-v12.11.0-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v12.11.0/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v12.11.0/win-x64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v12.11.0/node-v12.11.0.pkg
macOS 64-bit Binary: https://nodejs.org/dist/v12.11.0/node-v12.11.0-darwin-x64.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v12.11.0/node-v12.11.0-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v12.11.0/node-v12.11.0-linux-ppc64le.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v12.11.0/node-v12.11.0-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v12.11.0/node-v12.11.0-aix-ppc64.tar.gz
SmartOS 64-bit Binary: https://nodejs.org/dist/v12.11.0/node-v12.11.0-sunos-x64.tar.xz
ARMv7 32-bit Binary: https://nodejs.org/dist/v12.11.0/node-v12.11.0-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v12.11.0/node-v12.11.0-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v12.11.0/node-v12.11.0.tar.gz
Other release files: https://nodejs.org/dist/v12.11.0/
Documentation: https://nodejs.org/docs/v12.11.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
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

e6016150756787756e019d86f3cc677ae26348abc1cae48c7faaa393b5be7b08 node-v12.11.0-aix-ppc64.tar.gz
a0fd5c1c9e67099f52b73c732aa52a878c6ff67f50ff0e94c2c5628a87455130 node-v12.11.0-darwin-x64.tar.gz
dbe933891a865ba9bb836f57eebf2f0b74d90011d7397f5bf650f9c17be3dcfc node-v12.11.0-darwin-x64.tar.xz
fe567022214e919106c99543e24c563703510da581388fcb8b298baf33ceb3b0 node-v12.11.0-headers.tar.gz
5c5b0329837d70bedcad958ccab65b0c3b1e854ec84145ee29e0298c2dba63ef node-v12.11.0-headers.tar.xz
8988bf487317766b3d84f9b9075c302eaa2a35c768640c99d1f7b0c4ba10bbda node-v12.11.0-linux-arm64.tar.gz
d1126439ff6d079b682a7cd6308cb226afd247e5cb0f7cc60cfb0e609a096622 node-v12.11.0-linux-arm64.tar.xz
f20cdbbe0a6129d25cd64e03610a0e036864dec5ee0973e1b9db61bd84a11e51 node-v12.11.0-linux-armv7l.tar.gz
47696cdc559c40466ff808db43ab52b8647efb7d7b8e2d8538e7534352000813 node-v12.11.0-linux-armv7l.tar.xz
6659a7abfd228fdd0e6765a22407d17f427620b767fed327e4d754faa5236e56 node-v12.11.0-linux-ppc64le.tar.gz
3baa3d1cef34979495d4b731707f2953d7f8f01a61a25f528f601d60ab98b44b node-v12.11.0-linux-ppc64le.tar.xz
46f4edecac8be70de411c7ee3321172c418d7b4ac58a1cefba74ccc109502015 node-v12.11.0-linux-s390x.tar.gz
d995a611e644e98145814e0507f0cf4ff199ab0ae3726909ecaf7b177de4f424 node-v12.11.0-linux-s390x.tar.xz
66f99ceb83128fae568659caaa8f2202680c2e89296513605883f81e88d75dc3 node-v12.11.0-linux-x64.tar.gz
c0dc88110ac3ee095e3d09077545435b72d4cd52e35c43cd3fa666cff7446d46 node-v12.11.0-linux-x64.tar.xz
8d4cbe561db8ad6a3e135df2421238c3b9822a87863f835214c38f2fe5d6e2be node-v12.11.0-sunos-x64.tar.gz
9cafb99e45bed6dc2d4fe1170b9ba9a7eb1f8653499968b2ecff63a5e76124cd node-v12.11.0-sunos-x64.tar.xz
33a5737ee979fdcfb02b5bdac75c3d78d81a0200507e77efe69ca607d9d1de94 node-v12.11.0-win-x64.7z
457157358bd029196d47865dee66f8c263a3a4a5a8cdd1c0a8cf43ac45e9eda3 node-v12.11.0-win-x64.zip
002810af6331182b9859406f050aac26694135a36cccbfd18df005ec2a70a135 node-v12.11.0-win-x86.7z
71a5199c3cb99c95362fcfc2f24b6d1e9017e3cc5c4579030dfc2bdee58adba3 node-v12.11.0-win-x86.zip
162c601eb883387d2797a60a7078ee470ed4eaa2a8353abe061ea1f623a29075 node-v12.11.0-x64.msi
9325cdc55fdafc7042b1d3e69b8d0ce06a5fe4fa7d02e07845fd32b070b2660f node-v12.11.0-x86.msi
98cffabac5db02ff8b4c5fe9a2523747980f42d84674826b81ae1e525e480eb4 node-v12.11.0.pkg
030a22b86d0f0686bc205f8f68501d7d174bf8e0829c6381c042783b71697984 node-v12.11.0.tar.gz
8306491e9b7bb95f8ee34dcd8daa4c071b94d523e63c0f2b8c605f2ca43dcf91 node-v12.11.0.tar.xz
13c53690b5439092d8e6791cc4f371ea2e8ab2792e6eedee35e747bf211dbe6b win-x64/node.exe
af5a725e43d1b2db398f1de782bf777ff2b67a28970c10166f79b74c28700a77 win-x64/node.lib
3c63e60c3c4f72b8db92d1244a115bde82ef77ed1e2a17596c5e500d42c37444 win-x64/node_pdb.7z
4c130fde961107d9d4813ba5d2cc4f46ac68cbed386764609bf9a5b1cf84b2a4 win-x64/node_pdb.zip
e333fcf81813c6e6d50379210e223f0562660b3b38f22574528c8fdde6c655e3 win-x86/node.exe
a6d2a3240366b683aaedbe58a5a0a637b3bd1054ae485c22d25dbb83d590ea29 win-x86/node.lib
56b088463c869523e060769eff721d58591979c89cb98127e51ba6c89f38c7a7 win-x86/node_pdb.7z
0f787921b6812a76162fcd463ad4428fa86d9e22fcb795dd94c2a2ce4e7b23e1 win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEpIwr7mgOhBYyzU5E8HSWs+s8F2IFAl2L9U4ACgkQ8HSWs+s8
F2II2A//XYBrouutOiIRPre5t72I9SovvQWz6c93XlkxnJVLpMU1qFWHWbEHeeBs
I+7gN0zvrDYX2v+mgPXGLS7O5a8EKoQ2HHc8U43VolEMppmg6o08aOrzpeEIHsYQ
m/0ho1/dmXGx+8LzrdS3i2WYiKoDmPDDRqXdipSOlgnMhgb6hNo47EFhhb9wIQWJ
9fuBu2WTtnyyMNmFpACFx3/2rBrDqfG4/pzvCJaIx7V+COtFHDuiul8lcVZvTfnm
7xhKiq3UsPBFNdQbcFBUQM7rfUvz+uNJ+xoww9Kgvd40qgJCpNw4jFMfagU5/xxd
xvDTFwlTvBKG44OEywTjKvd1zfFiz9b38qWPdrNa/jLLEnHFPH691WIuHZOuJqmK
wT50gfANNPI3UeM9Tar+B7bUYHQrzc19AdPoo0re0lawxsSI5TxcfnbMu1A+zWit
VKRAg2UjTp4zOgrbTm5S/aBj3F8lGpJxzwKCeR8g54phbJQmc1iQ78IexOBafCAA
6IeBf0CPKvH9ldXYQUgup+RF1E2LCNmONmtX0lvTc+mv9an3Z9++ZKPAHMqaTkaP
9YGqXRGBW9HnqpE5avCKV0t9yeSdSCLwIm79WIeiJRg9wLMVVsxqcnZioW8CiJFY
C29iNGAb6eDNaA/IMIQ4KZgykYEy69RI57So+7+o9TjZGlaK1ME=
=VFND
-----END PGP SIGNATURE-----

OpenSSL 보안 릴리스는 Node.js 보안 릴리스를 필요로 하지 않습니다.

요약

2019년 9월 10일의 OpenSSL 보안 릴리스는 Node.js에 영향을 미치지 않습니다.

분석

보안 권고에 대한 우리의 평가는 아래와 같습니다.

  • ECDSA 원격 소요 시간 분석 공격(timing attack) (CVE-2019-1547):   영향을 받지 않았습니다. Node는 ECDSA 서명에 대해 명명된 곡선만 지원합니다.

  • 분기(fork) 보호 (CVE-2019-1549): 영향을 받지 않았습니다. Node.js 항상 fork() 호출 후에 exec()을 호출하므로 분기된 프로세스에서 PRNG 상태를 복제하지 않습니다.

  • PKCS7_dataDecodeCMS_decrypt_set1_pkey에서의 패딩 오라클 (CVE-2019-1563): 영향을 받지 않았습니다. Node는 PCKS7 및 CMS를 지원하지 않습니다.

이 평가를 바탕으로 OpenSSL 업데이트는 비보안 패치 업데이트로 취급되며, 지원되는 릴리스 라인에 대해 정기적으로 예약된 업데이트로 제공됩니다.

감사의 말

OpenSSL 보안 권고를 신속하게 분석해 준 Shigeki Ohtsu에게 감사드립니다.

연락처 및 향후 업데이트

현재 Node.js의 보안 정책과 Node.js의 취약점 보고를 위한 방법에 대한 정보는 https://nodejs.org/en/security/에서 볼 수 있습니다.

Node.js의 보안 취약점과 보안과 관련된 릴리스의 최신 정보를 얻으려면 https://groups.google.com/forum/#!forum/nodejs-sec에서 소수의 공지만 하는 nodejs-sec 메일링 리스트를 구독해 주세요. 이 프로젝트는 nodejs GitHub 조직에서 관리하고 있습니다.

OpenSSL 보안 릴리스로 Node.js 보안 릴리스가 필요할 수 있습니다

요약

Node.js 프로젝트는 OpenSSL의 변경사항을 받아서 다음 주 초에 지원하는 릴리스 라인의 새 버전을 릴리스 할 수도 있습니다. 자세한 내용은 아래를 참고하세요.

OpenSSL

이전 주에 OpenSSL 프로젝트는 UTC 기준 9월 10일에 1.0.2t와 1.1.1d 버전을 릴리스할 계획이라고 발표했습니다. 이번 릴리스는 OpenSSL의 보안 정책에 따라 "낮음" 심각도로 구분된 두 가지 보안 결함을 수정할 것입니다. "낮음" 심각도는 다음을 의미합니다.

... 이러한 이슈는 openssl 명령행 유틸리티에만 영향을 주거나 설정에는 영향을 줄 가능성이 거의 없습니다.

Node.js v8.x은 OpenSSL v1.0.2를 사용하고 Node.js v10.x와 v12.x는 모두 OpenSSL v1.1.1을 사용하므로 모든 활성 릴리스 라인은 이번 업데이트의 영향을 받습니다.

엠바고 때문에 지금은 이 결함의 정확한 내용은 아직 나오지 않았고 Node.js 사용자에게 영향을 줄 것인지도 알지 못합니다.

Node.js의 영향도를 평가한 후 수정된 이슈로 Node.js 보안 릴리스가 바로 필요한지 일반적인 정기 업데이트에 포함해도 되는지 결정할 것입니다.

업데이트되는 내용은 nodejs-sec 구글 그룹을 참고하시기 바랍니다. OpenSSL 릴리스 후 24시간 이내에 릴리스 타이밍에 대한 결정사항을 올릴 예정이고 릴리스의 결함 상세 내용도 포함될 것입니다. https://groups.google.com/forum/#!forum/nodejs-sec

연락처 및 향후 업데이트

현재 Node.js의 보안 정책과 Node.js의 취약점 보고를 위한 방법에 대한 정보는 https://nodejs.org/en/security/에서 볼 수 있습니다.

Node.js의 보안 취약점과 보안과 관련된 릴리스의 최신 정보를 얻으려면 https://groups.google.com/forum/#!forum/nodejs-sec에서 소수의 공지만 하는 nodejs-sec 메일링 리스트를 구독해 주세요. 이 프로젝트는 nodejs GitHub 조직에서 관리하고 있습니다.

Node v12.10.0(현재 버전)

주요 변경사항

  • deps:
    • npm을 6.10.3으로 업데이트했습니다. (isaacs) #29023
  • fs:
    • rmdir()에 recursive 옵션을 추가했습니다. (cjihrig) #29168
    • emitClose 옵션에 true를 전달할 수 있습니다. (Giorgos Ntemiris) #29212
    • BigInt Stats 객체에 *timeNs 속성을 추가했습니다. (Joyee Cheung) #21387
  • net:
    • 정적 버퍼로 데이터를 읽을 수 있게 되었습니다. (Brian White) #25436

Commits

  • [293c9f0d75] - bootstrap: run preload prior to frozen-intrinsics (Bradley Farias) #28940
  • [71aaf590c1] - buffer: correct indexOf() error message (Brian White) #29217
  • [c900762fe4] - buffer: consolidate encoding parsing (Brian White) #29217
  • [054407511e] - buffer: correct concat() error message (Brian White) #29198
  • [35bca312ed] - buffer: improve equals() performance (Brian White) #29199
  • [449f1fd578] - Revert "build: add full Python 3 tests to Travis CI" (Ben Noordhuis) #29406
  • [256da1fdb3] - build: add full Python 3 tests to Travis CI (cclauss) #29360
  • [0c4df35db0] - build: hard code doctool in test-doc target (Daniel Bevenius) #29375
  • [d6b6a0578b] - build: integrate DragonFlyBSD into gyp build (David Carlier) #29313
  • [6a914ed36e] - build: make --without-snapshot imply --without-node-snapshot (Joyee Cheung) #29294
  • [def5c3e5d8] - build: test Python 3.6 and 3.7 on Travis CI (cclauss) #29291
  • [feafc019b1] - build: move tooltest to before jstest target (Daniel Bevenius) #29220
  • [aeafb91e2c] - build: add Python 3 tests to Travis CI (cclauss) #29196
  • [bb6e3b5404] - build,win: accept Python 3 if 2 is not available (João Reis) #29236
  • [dce5649d9c] - build,win: find Python in paths with spaces (João Reis) #29236
  • [2489682eb5] - console: use getStringWidth() for character width calculation (Anna Henningsen) #29300
  • [5c3e49d84e] - crypto: don't expose openssl internals (Shelley Vohr) #29325
  • [e0537e6978] - crypto: simplify DSA validation in FIPS mode (Tobias Nießen) #29195
  • [28ffc9f599] - deps: V8: cherry-pick 597f885 (Benjamin Coe) #29367
  • [219c19530e] - (SEMVER-MINOR) deps: update npm to 6.10.3 (isaacs) #29023
  • [4a7c4b7366] - doc: escape elements swallowed as HTML in markdown (Nick Schonning) #29374
  • [5a16449edf] - doc: add extends for derived classes (Kamat, Trivikram) #29290
  • [3fc29b8f9a] - doc: add blanks around code fences (Nick Schonning) #29366
  • [187d08be65] - doc: format http2 anchor link and reference (Nick Schonning) #29362
  • [6734782f25] - doc: remove multiple consecutive blank lines (Nick Schonning) #29352
  • [a94afedc9b] - doc: add devnexen to collaborators (David Carlier) #29370
  • [43797d9427] - doc: inconsistent indentation for list items (Nick Schonning) #29330
  • [bb72217faf] - doc: heading levels should only increment by one (Nick Schonning) #29331
  • [ef76c7d997] - doc: add dco to github pr template (Myles Borins) #24023
  • [8599052283] - doc: add https.Server extends tls.Server (Trivikram Kamat) #29256
  • [2fafd635d7] - doc: fix nits in esm.md (Vse Mozhet Byt) #29242
  • [6a4f156ba4] - doc: add missing extends Http2Session (Trivikram Kamat) #29252
  • [1d649e3444] - doc: indicate that Http2ServerRequest extends Readable (Trivikram Kamat) #29253
  • [b2f169e628] - doc: indicate that Http2ServerResponse extends Stream (Trivikram Kamat) #29254
  • [65de900052] - (SEMVER-MINOR) doc: add emitClose option for fs streams (Rich Trott) #29212
  • [ae810cc8d5] - doc,crypto: add extends for derived classes (Kamat, Trivikram) #29302
  • [a2c704773a] - doc,errors: add extends to derived classes (Kamat, Trivikram) #29303
  • [395245f1eb] - doc,fs: add extends for derived classes (Kamat, Trivikram) #29304
  • [8a93b63a6b] - doc,http: add extends for derived classes (Trivikram Kamat) #29255
  • [ba29be60ae] - doc,tls: add extends for derived classes (Trivikram Kamat) #29257
  • [30b80e5d7c] - errors: provide defaults for unmapped uv errors (cjihrig) #29288
  • [a7c8322a54] - esm: support loading data URLs (Bradley Farias) #28614
  • [3bc16f917d] - events: improve once() performance (Brian White) #29307
  • [ed2293e3d7] - (SEMVER-MINOR) fs: add recursive option to rmdir() (cjihrig) #29168
  • [8f47ff16d4] - (SEMVER-MINOR) fs: allow passing true to emitClose option (Giorgos Ntemiris) #29212
  • [6ff803d97c] - fs: fix (temporary) for esm package (Robert Nagy) #28957
  • [e6353bda1a] - fs: document the Date conversion in Stats objects (Joyee Cheung) #28224
  • [365e062e14] - (SEMVER-MINOR) fs: add *timeNs properties to BigInt Stats objects (Joyee Cheung) #21387
  • [12cbb3f12f] - gyp: remove semicolons (Python != JavaScript) (MattIPv4) #29228
  • [10bae2ec91] - gyp: futurize imput.py to prepare for Python 3 (cclauss) #29140
  • [e5a9a8522d] - http: simplify timeout handling (Robert Nagy) #29200
  • [87b8f02daa] - lib: add ASCII fast path to getStringWidth() (Anna Henningsen) #29301
  • [6e585fb063] - lib: consolidate lazyErrmapGet() (cjihrig) #29285
  • [eb2d96fecf] - module: avoid passing unnecessary loop reference (Saúl Ibarra Corretgé) #29275
  • [dfc0ef5d88] - (SEMVER-MINOR) net: allow reading data into a static buffer (Brian White) #25436
  • [f4f88270e7] - process: improve nextTick performance (Brian White) #25461
  • [0e1ccca81d] - querystring: improve performance (Brian White) #29306
  • [f8f3af099a] - src: do not crash when accessing empty WeakRefs (Anna Henningsen) #29289
  • [b964bdd162] - src: turn GET_OFFSET() into an inline function (Anna Henningsen) #29357
  • [2666e006e1] - src: inline SLICE_START_END() in node_buffer.cc (Anna Henningsen) #29357
  • [8c6896e5d3] - src: allow --interpreted-frames-native-stack in NODE_OPTIONS (Matheus Marchini) #27744
  • [db6e4ce239] - src: expose MaybeInitializeContext to allow existing contexts (Samuel Attard) #28544
  • [4d4583e0a2] - src: add large page support for macOS (David Carlier) #28977
  • [7809adfb1f] - stream: don't deadlock on aborted stream (Robert Nagy) #29376
  • [2efd72f28d] - stream: improve read() performance (Brian White) #29337
  • [e939a8747f] - stream: async iterator destroy compat (Robert Nagy) #29176
  • [b36a6e9ed5] - stream: do not emit drain if stream ended (Robert Nagy) #29086
  • [0ccf90b415] - test: remove Windows skipping of http keepalive request GC test (Rich Trott) #29354
  • [83fb133267] - test: fix test-benchmark-net (Rich Trott) #29359
  • [bd1e8eacf3] - test: fix flaky test-http-server-keepalive-req-gc (Rich Trott) #29347
  • [9a150027da] - test: use print() function in both Python 2 and 3 (Christian Clauss) #29298
  • [1f88ca3424] - (SEMVER-MINOR) test: add emitClose: true tests for fs streams (Rich Trott) #29212
  • [cd70fd2bc0] - tools: update ESLint to 6.3.0 (cjihrig) #29382
  • [350975e312] - tools: use 'from io import StringIO' in ninja.py (cclauss) #29371
  • [3f68be1098] - tools: fix mksnapshot blob wrong freeing operator (David Carlier) #29384
  • [3802da790b] - tools: update ESLint to 6.2.2 (cjihrig) #29320
  • [2df84752c6] - tools: update babel-eslint to 10.0.3 (cjihrig) #29320
  • [783c8eeb0b] - tools: fix Python 3 issues in inspector_protocol (cclauss) #29296
  • [925141f946] - tools: fix mixup with bytes.decode() and str.encode() (Christian Clauss) #29208
  • [a123a20134] - tools: fix Python 3 issues in tools/icu/icutrim.py (cclauss) #29213
  • [eceebd3ef1] - tools: fix Python 3 issues in gyp/generator/make.py (cclauss) #29214
  • [5abbd51c60] - util: do not throw when inspecting detached ArrayBuffer (Anna Henningsen) #29318

Windows 32-bit Installer: https://nodejs.org/dist/v12.10.0/node-v12.10.0-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v12.10.0/node-v12.10.0-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v12.10.0/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v12.10.0/win-x64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v12.10.0/node-v12.10.0.pkg
macOS 64-bit Binary: https://nodejs.org/dist/v12.10.0/node-v12.10.0-darwin-x64.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v12.10.0/node-v12.10.0-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v12.10.0/node-v12.10.0-linux-ppc64le.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v12.10.0/node-v12.10.0-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v12.10.0/node-v12.10.0-aix-ppc64.tar.gz
SmartOS 64-bit Binary: https://nodejs.org/dist/v12.10.0/node-v12.10.0-sunos-x64.tar.xz
ARMv7 32-bit Binary: https://nodejs.org/dist/v12.10.0/node-v12.10.0-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v12.10.0/node-v12.10.0-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v12.10.0/node-v12.10.0.tar.gz
Other release files: https://nodejs.org/dist/v12.10.0/
Documentation: https://nodejs.org/docs/v12.10.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
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

c5058a0fcbd0c9f8d49b64aa573ef151460f9de142a94479b2eda7d077d9de37 node-v12.10.0-aix-ppc64.tar.gz
4c16d1f6454f5dc3977ad00cea123792b8d4e1d6d1bf42bbc82a4202039a5971 node-v12.10.0-darwin-x64.tar.gz
3edc050787453e20000047d892467065671f4a2ecf3acf6363bdd50f64009826 node-v12.10.0-darwin-x64.tar.xz
992bd91f5fadacb47a530b19b86c9dfd7fb0952e383595f971fc44047952d8e4 node-v12.10.0-headers.tar.gz
3a066f2341d7b6a80a0fbf46842765b51ba817ee26c3f3ba9d035c77afd12fd7 node-v12.10.0-headers.tar.xz
fd117a6ed22f493900fabdc7881fee50c7661c0eed88ae10c1139fa0d6c72535 node-v12.10.0-linux-arm64.tar.gz
fa1afb9e8cfd964867351b6dac6cd918784ff309291612251c4745aeb0b10e02 node-v12.10.0-linux-arm64.tar.xz
79b2f3d4eeffdf67e175143e032a1e38d6757dce0f361c064a2034ba9bbd69af node-v12.10.0-linux-armv7l.tar.gz
6bb777eaa0373c48059911272ea1b2d5cb567330e0474cedc8da42abc52fc346 node-v12.10.0-linux-armv7l.tar.xz
5c4ca2b8b3150f6c56c6b2fc3cb7d316f1f0c3cb5650ff87922580f4c5230bd7 node-v12.10.0-linux-ppc64le.tar.gz
44892427765d8eb33cead16b81ebb13c75352868e2fa55f67324809e420882b1 node-v12.10.0-linux-ppc64le.tar.xz
dd0462f45231b0032c2cd6f26350e31cd1e26bba3a629d61cece6ff17c6ef32d node-v12.10.0-linux-s390x.tar.gz
ecfb6fdd6ea8de7381261a2769bcb9539fb69a799d0fddccc0a0793b63d557e4 node-v12.10.0-linux-s390x.tar.xz
3de23fd9f2145ff76d0583e7f57aa4ccead58b3fb991e215f862e779c9cdf151 node-v12.10.0-linux-x64.tar.gz
e8d2e6b62dd8183dc59a139a9ca3edc7c419a0d3d92e90fea9cb0ad52489843a node-v12.10.0-linux-x64.tar.xz
460db7890a8aa4171361d5e9e3fb57c4e8b2fb65cdb7c0c1d165fe06e228f4cb node-v12.10.0-sunos-x64.tar.gz
3383dd4fc93d41b2294212904da4d9c6566de890e4f2513438bbf7cd575dfc10 node-v12.10.0-sunos-x64.tar.xz
c1be70e47884fab24eb69fc0406f8206b135ae2f3e57f9acbb2f0b204c918f89 node-v12.10.0-win-x64.7z
de341476711c71f82d06fabcc9874c1ff9e865fd7274334d64a67b1e31a53fd0 node-v12.10.0-win-x64.zip
a60fc412a608894b264f2dadcd33ba6588287c04fc348f91a4223b59a6fbfa68 node-v12.10.0-win-x86.7z
16028bf616dfb49bcc42c1955f2d1eede0f0420df8289cbb34ee332f144f7a4b node-v12.10.0-win-x86.zip
ac6b582ac63a6c761b7acf423817dd8d7d36060c04b7359a5e2361071ff970b5 node-v12.10.0-x64.msi
79463a43412e16cb0ef83f183705ac2f93bec84c11020b47f42d5391a2c1be51 node-v12.10.0-x86.msi
4fb0592a5e7987ae9443cdbc42398edc30db108f065e8152a9ab3079ba5c9cac node-v12.10.0.pkg
371a3e39f1a14adbd7b37dee57641075ccfa240bd990630ff213298f16ad49b4 node-v12.10.0.tar.gz
2515b87c60921f22514a58830e86e54831daa2453d0e82f2ed7ab02134ee30cd node-v12.10.0.tar.xz
d2910dc57eb167a01714fd81ab039bad6cf99d39f7c84d16fdfa87af86b5de8d win-x64/node.exe
f9aafbd5373fa9bab5291193afaa67facfb45d6c9ef3fd193b03130d3f3ee5eb win-x64/node.lib
4c1281c598ed4426e2661fc881bf6778ac8938ac87ec66dc83f8f10e128c5a32 win-x64/node_pdb.7z
e43e5e73a401bd6b6547bab26f3b55ea03fee33c19204896bd5112697ddb3ebb win-x64/node_pdb.zip
25ead049aa7b9ef0b4323dda6ef1994d52dfc2253c80247948f7dfc0299b5436 win-x86/node.exe
4dc68735e4262a426fd20535df6ca695f2928d4e92e5fe39468c7892dd44aeef win-x86/node.lib
60e5664f8db09439054d54f8de419aeade5e7f5a1e7e9abb46e3ab663a40891c win-x86/node_pdb.7z
7f77626abc1647d74769f7479d57d5d8816d688653d6c7aa241971a19fa1daad win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEpIwr7mgOhBYyzU5E8HSWs+s8F2IFAl1v/xkACgkQ8HSWs+s8
F2JbJRAAwbNLjKZPXQLqVULGtHuzhJutzzAFDgrlDSDlQy18QqSAYj1YmzI8RCMQ
kJl0UXML6xhjbnkCI2GF63MdNeSfJluq8Qo6E+kmVsJy/EBl25/iJsA6rJWrVkiK
7I+v1qVjqQvwNOPrKYRZZkNNK1uaJh2bEvW8ahBbPcyJd7g1b7L+VYu0OAQR/AZ9
+tkkKOxyCXJbXhJGaW+1QyhvVp+Jy+EslmBgl+jkEBsCVJ25vVpdYhD5pyvOpUmQ
0d0DDamBUQGcAZtpMpKS4aJw/sNAjl4iqrTSWxlH9IyPuU8Xf6bnadptPEsT9qF3
AfjyKade3aNhyzUKlmzV1AFYZ38Ef7S1CMzBh7IF9tOI7d2CGUzyAptHrxmUbPSJ
fwxlHvy9Rv1fRDiRl5ob7bVmlmveRMiYd9fQ5MhcopShWlCsEZKRBoHxq029XNhW
sXvhA7u/rM2hiVdSsbp/E5qrKFA7FdBo9AU0c0lmVA5RR0DCRoYEdduQcYpKiGKG
lO8wLUZ6jkVcccjzGp2cjt6hUU3vKzbeOyxH+1HN4OpAOyhWiCgtwfIbIzTC4drQ
wJuVptqozrl7pptKiHxC+LcQsm1XyJe9UzlUusbv6In1bXRpHcSwYAOrMZoOn3hf
jgw+At7Jn1aaPKmNWyfgwQGBZzbO0KP6X3JrFzcRNQsESHMFIL0=
=aH60
-----END PGP SIGNATURE-----

Node v12.9.1(현재 버전)

주요 변경사항

이번 릴리스는 http 모듈의 두 가지 회귀 문제를 수정합니다.

  • HTTP 클라이언트에서 이벤트 리스너의 누수 문제를 수정했습니다. 이로 인해 npm/yarn으로 설치할 때 많은 경고가 나왔습니다. (Robert Nagy) #29245.
  • keepalive 요청에서 바디 전체가 파싱되지 않은 경우 'end' 이벤트가 발생하는 회귀 문제를 수정했습니다. (Matteo Collina) #29263.

Commits

  • [3cc8fca299] - crypto: handle i2d_SSL_SESSION() error return (Ben Noordhuis) #29225
  • [ae0a0e97ba] - http: reset parser.incoming when server request is finished (Anna Henningsen) #29297
  • [dedbd119c5] - http: fix event listener leak (Robert Nagy) #29245
  • [f8f8754d43] - Revert "http: reset parser.incoming when server response is finished" (Matteo Collina) #29263
  • [a6abfcb423] - src: remove unused using declarations (Daniel Bevenius) #29222
  • [ff6330a6ac] - test: fix 'timeout' typos (cjihrig) #29234
  • [3c7a1a9090] - test, http: add regression test for keepalive 'end' event (Matteo Collina) #29263

Windows 32-bit Installer: https://nodejs.org/dist/v12.9.1/node-v12.9.1-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v12.9.1/node-v12.9.1-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v12.9.1/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v12.9.1/win-x64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v12.9.1/node-v12.9.1.pkg
macOS 64-bit Binary: https://nodejs.org/dist/v12.9.1/node-v12.9.1-darwin-x64.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v12.9.1/node-v12.9.1-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v12.9.1/node-v12.9.1-linux-ppc64le.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v12.9.1/node-v12.9.1-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v12.9.1/node-v12.9.1-aix-ppc64.tar.gz
SmartOS 64-bit Binary: https://nodejs.org/dist/v12.9.1/node-v12.9.1-sunos-x64.tar.xz
ARMv7 32-bit Binary: https://nodejs.org/dist/v12.9.1/node-v12.9.1-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v12.9.1/node-v12.9.1-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v12.9.1/node-v12.9.1.tar.gz
Other release files: https://nodejs.org/dist/v12.9.1/
Documentation: https://nodejs.org/docs/v12.9.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
50
51
52
53
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

76c66b55bd2a923579333c2d24429e10d50f4e259170cdd6e413214febb9df55 node-v12.9.1-aix-ppc64.tar.gz
9aaf29d30056e2233fd15dfac56eec12e8342d91bb6c13d54fb5e599383dddb9 node-v12.9.1-darwin-x64.tar.gz
84b8e3684ff8e30c0735cddc94b3820e0dca4a683aa46834fd711098a0f6a8f3 node-v12.9.1-darwin-x64.tar.xz
8f68a9a53a5c3351c90d295258599737de8afca66e3fe41991576efb6a35b4c5 node-v12.9.1-headers.tar.gz
9fe1461acef13aa3c02afaae05984ca77e1de9be7348a1fc7a2d550072b81816 node-v12.9.1-headers.tar.xz
a09e7c54f05036ddf260f9a6762d72669e428810f814ad189519fe5adad0bd2d node-v12.9.1-linux-arm64.tar.gz
b6d986faf3a77b6c353c344645c93f2a0e0436c43865e6c215a24301a076a11f node-v12.9.1-linux-arm64.tar.xz
b81af82e2c0cfd0ec20d1ca4622d7ce602435458459b056527d46f1a35ba9050 node-v12.9.1-linux-armv7l.tar.gz
11a10a59e1099296d28e24e5b200774d5196932369e5be09ee3d0cc1c7d276c2 node-v12.9.1-linux-armv7l.tar.xz
1febb5758d96f6b05c6e86d2520d9d658065fae98da9273248caca0ddde27878 node-v12.9.1-linux-ppc64le.tar.gz
ad6d9058f25cbe5edf1a12e6eeb527cb17ba2eadcbb406996ad82d1c27fe29e2 node-v12.9.1-linux-ppc64le.tar.xz
df3d69a65bc9efbfb36187522061c6fb67c59362e46693c719b88f1b882b0b00 node-v12.9.1-linux-s390x.tar.gz
77bb8e58ed7d196f934159e952d1598984b900094f5948e0a5a4a67489a9e711 node-v12.9.1-linux-s390x.tar.xz
5488e9d9e860eb344726aabdc8f90d09e36602da38da3d16a7ee852fd9fbd91f node-v12.9.1-linux-x64.tar.gz
680a1263c9f5f91adadcada549f0a9c29f1b26d09658d2b501c334c3f63719e5 node-v12.9.1-linux-x64.tar.xz
06eeede83ff403f1af18acf16b007e652d14ff1c12ef19f6866722f091cacccf node-v12.9.1.pkg
51bfbfc7755cf7901de9acc4b3f3baf38900af5a4f38e25a61427d6c3772ebbe node-v12.9.1-sunos-x64.tar.gz
0277eaf191b8887983957d8fff3292512c5a057329384a9aa39b5c00070b66a7 node-v12.9.1-sunos-x64.tar.xz
9150b2b3c728e022c596ab86188c685facc9f30f4c8e60c1a0f9d5a3e8e3653f node-v12.9.1.tar.gz
c245822a9d5204e821646508244c835e386e11c3eda4cb5261cde83517ff545e node-v12.9.1.tar.xz
631af2dc0e0a5966dbd736e27ea01b186f6d3f22fa2e569e7e3407ef3d96b689 node-v12.9.1-win-x64.7z
6a4e54bda091bd02dbd8ff1b9f6671e036297da012a53891e3834d4bf4bed297 node-v12.9.1-win-x64.zip
8ffd55204b9d00d58456c4ae22e8ea9db440a9755a02f40ea1ee8321c50dd5cd node-v12.9.1-win-x86.7z
346dc4ac0ad07783dafd8f9a0f55538cf7e9cdf62e14df1a960a6acb5f39d795 node-v12.9.1-win-x86.zip
e1c25dd10b9e1d68768842ba8892ba18ca6e1e14d5be7ade86c035c7f02a02fa node-v12.9.1-x64.msi
9a1d1fa6e71f5f9860b1c09275c7d38255029864b489aded09dfaa4fbe9bd8b5 node-v12.9.1-x86.msi
a3219cdb26c895d8b396ec438f7dadfbb909f8b6e4069bcbcfc41192af8e3682 win-x64/node.exe
654cb8682984cbed2ca698e5b3ebd05edaa60174d964432143bdfc0c38254aa7 win-x64/node.lib
f54cfea1bc2b3872275ffe6f517ff08c17ee3f62d756ed45f909bddc4fc32cc3 win-x64/node_pdb.7z
3896c478a8c6d0091c859a0afa234ce39d2d54e0734dfd4a05e3d111cda4e9ac win-x64/node_pdb.zip
4b8e1f7d1ca6ce6669674a32a3274042867d24a795779b7c32d9c27f967aee82 win-x86/node.exe
df075eff064bd3e081d848484b4b7c99b3a022a8a8e5988b2d17dbf4d0489a56 win-x86/node.lib
05c2fc8c19770f98b7da8ede070e7b247dcb671db6207e030b8a8d962249679d win-x86/node_pdb.7z
c4c7c649ba6a88361c94d087581e2ed2f097eabfee3a737d33e3d57337274eea win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEj8yhP+8dDC6RAI4Jdw96mlrhVgAFAl1kJuIACgkQdw96mlrh
VgDvchAAhy+O22DXHUgiADuiKb3/yWx2oCb52MzLBc7Gi2lCm9IIe6Xx2aJCq2XQ
SDoE6apEIsBGe0hPzkRLQb5PUaAkXwyE7L2OUqmxZNqf3aIlMOqY7RKTyIRCmA3M
PyVPwIMChbiiODTfG7jA1Rop2Y2NAAUC8IfxGGQNGTm5SAMdiZ1KLYl+YRIKDnv5
nnf27gmpA6DEIbL1D/8CSEcTXMVrporpCkuoRQ6eK6s96Jy+3ps4x0TbkbVUVSOn
Fnp8IgUMtQBHh4vc4vYhWOG8G7ZGjksbIW6q+IjBEs8XeKXXEtAVNHUTXnwflo+m
u4dZl8JrLoG8qKe8S7Be5ps1OmZnjbDCxraGtpCnQP9OADUHEC9DRDYTvM/a5teX
wH9sUjh/10nfJfNeWiaTCXr6P9GyuYPTYKXkNOihvVIlGI+vV27L16qawGvpdwwW
4QeX5lVLHj8MQE1ZzQEzs/F1ThlhoEaixXb7D9fEbpesENeaoSEF2/ZOQ1w1VwFr
9Ecl+/uC/KPlaEcQOm5xVy9dSrRyTPAI3vpNyGzpKZrlFcfn6oUOTLa4gvGTozB6
kMvTGobNtQzypUeNSZvY9AamJZL2ZgmIO2rGNK10eyMqjmjGZXkVrNkasuc5Ew6O
ErlBVaythMxuJ+sVohlNf033rGS7U8Fu812VZo0Q2kg/g3IzcNE=
=5MCI
-----END PGP SIGNATURE-----

Node v12.9.0(현재 버전)

주요 변경사항

  • crypto:
    • OAEP 패딩을 사용할 때 사용자가 해시 함수를 지정할 수 있도록 비대칭 암호화에 oaepHash 옵션을 추가했습니다. (Tobias Nießen) #28335.
  • deps:
    • V8을 7.6.303.29로 업데이트했습니다. (Michaël Zasso) #28955.
      • JSON.parse와 동결 배열(frozen arrays)에서 호출되는 메서드 등 다양한 API의 성능을 개선했습니다.
      • Promise.allSettled 메서드를 추가했습니다.
      • Intl 메서드의 BigInt 지원을 개선했습니다.
      • 자세한 내용은 https://v8.dev/blog/v8-release-76를 참고하세요.
    • libuv를 1.31.0으로 업데이트했습니다. (cjihrig) #29070.
      • Windows의 메모리 맵 파일에 더 빨리 접근할 수 있도록 UV_FS_O_FILEMAP을 추가했습니다.
      • Windows에서 uv_fs_mkdir()가 유효하지 않은 파일명일 때 UV_EINVAL을 반환합니다. 이전에는 UV_ENOENT를 반환했습니다.
      • uv_fs_statfs() API를 추가했습니다.
      • uv_os_environ()uv_os_free_environ() API를 추가했습니다.
  • fs:
    • fs.writev, fs.writevSync, filehandle.writev (프로미스 버전) 메서드를 추가했습니다. 이 메서드로 파일 디스크립터에 ArrayBufferView의 배열을 작성할 수 있습니다. (Anas Aboureada) #25925, (cjihrig) #29186.
  • http:
    • OutgoingMessage.prototype에 세 가지 속성 writableObjectMode, writableLength, writableHighWaterMark를 추가했습니다. #29018.
  • stream:
    • 읽을 수 있는 스트림에 readableEnded 속성을 새로 추가했습니다. 'end' 이벤트가 발생했을 때 이 값이 true로 설정됩니다. (Robert Nagy) #28814.
    • 쓸 수 있는 스트림에 writableEnded 속성을 새로 추가했습니다. writable.end()가 호출된 후 이 값이 true로 설정됩니다. (Robert Nagy) #28934.

Commits

  • [5008b46159] - benchmark: allow easy passing of process flags (Brian White) #28986
  • [9057814206] - buffer: improve copy() performance (Brian White) #29066
  • [c7a4525bbe] - buffer: improve ERR_BUFFER_OUT_OF_BOUNDS default (cjihrig) #29098
  • [f42eb01d1d] - build: enable linux large pages LLVM lld linkage support (David Carlier) #28938
  • [5c5ef4e858] - build: remove unused option (Rich Trott) #29173
  • [fbe25c7fb7] - build: remove unnecessary Python semicolon (MattIPv4) #29170
  • [e51f924964] - build: add a testclean target (Daniel Bevenius) #29094
  • [0a63e2d9ff] - build: support py3 for configure.py (cclauss) #29106
  • [b04f9e1f57] - build: reset embedder string to "-node.0" (Michaël Zasso) #28955
  • [b085b94fce] - console: minor timeLogImpl() refactor (cjihrig) #29100
  • [54197eac4d] - (SEMVER-MINOR) crypto: extend RSA-OAEP support with oaepHash (Tobias Nießen) #28335
  • [a17d398989] - deps: V8: cherry-pick e3d7f8a (cclauss) #29105
  • [2c91c65961] - deps: upgrade to libuv 1.31.0 (cjihrig) #29070
  • [53c7fac310] - deps: patch V8 to be API/ABI compatible with 7.4 (from 7.6) (Michaël Zasso) #28955
  • [7b8eb83895] - (SEMVER-MINOR) deps: patch V8 to be API/ABI compatible with 7.4 (from 7.5) (Michaël Zasso) #28005
  • [7d411f47b2] - deps: V8: backport b33af60 (Gus Caplan) #28671
  • [492b7cb8c3] - (SEMVER-MINOR) deps: V8: cherry-pick d2ccc59 (Michaël Zasso) #28016
  • [945955ff86] - deps: cherry-pick 13a04aba from V8 upstream (Jon Kunkee) #28602
  • [9b3c115efb] - (SEMVER-MINOR) deps: V8: cherry-pick 3b8c624 (Michaël Zasso) #28016
  • [533b2d4a08] - (SEMVER-MINOR) deps: V8: fix linking issue for MSVS (Refael Ackermann) #28016
  • [c9f8d28f71] - (SEMVER-MINOR) deps: V8: fix BUILDING_V8_SHARED issues (Refael Ackermann) #27375
  • [f24caeff2f] - (SEMVER-MINOR) deps: V8: add workaround for MSVC optimizer bug (Refael Ackermann) #28016
  • [94c8d068f8] - (SEMVER-MINOR) deps: V8: use ATOMIC_VAR_INIT instead of std::atomic_init (Refael Ackermann) #27375
  • [d940403c20] - (SEMVER-MINOR) deps: V8: forward declaration of Rtl*FunctionTable (Refael Ackermann) #27375
  • [ac0c075cad] - (SEMVER-MINOR) deps: V8: patch register-arm64.h (Refael Ackermann) #27375
  • [eefbc0773f] - (SEMVER-MINOR) deps: V8: update postmortem metadata generation script (cjihrig) #28016
  • [33f3e383da] - (SEMVER-MINOR) deps: V8: silence irrelevant warning (Michaël Zasso) #26685
  • [434c127651] - (SEMVER-MINOR) deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #26685
  • [040e7dabe4] - (SEMVER-MINOR) deps: V8: fix filename manipulation for Windows (Refael Ackermann) #28016
  • [cfe2484e04] - deps: update V8 to 7.6.303.29 (Michaël Zasso) #28955
  • [6f7b561295] - dns: update lookupService() first arg name (cjihrig) #29040
  • [ad28f555a1] - doc: improve example single-test command (David Guttman) #29171
  • [edbe38d52d] - doc: mention N-API as recommended approach (Michael Dawson) #28922
  • [ebfe6367f0] - doc: fix introduced_in note in querystring.md (Ben Noordhuis) #29014
  • [9ead4eceeb] - doc: note that stream error can close stream (Robert Nagy) #29082
  • [5ea9237d2b] - doc: clarify async iterator leak (Robert Nagy) #28997
  • [1b6d7c0d00] - doc: fix nits in child_process.md (Vse Mozhet Byt) #29024
  • [375d1ee58b] - doc: improve UV_THREADPOOL_SIZE description (Tobias Nießen) #29033
  • [7b7b8f21cb] - doc: documented default statusCode (Natalie Fearnley) #28982
  • [17d9495afa] - doc: make unshift doc compliant with push doc (EduardoRFS) #28953
  • [3bfca0b7e4] - doc, lib, src, test, tools: fix assorted typos (XhmikosR) #29075
  • [b7696b41e5] - events: give subclass name in unhandled 'error' message (Anna Henningsen) #28952
  • [d79d142e0c] - fs: use fs.writev() internally (Robert Nagy) #29189
  • [82eeadb216] - fs: use consistent buffer array validation (cjihrig) #29186
  • [81f3eb5bb1] - fs: add writev() promises version (cjihrig) #29186
  • [435683610b] - fs: validate writev fds consistently (cjihrig) #29185
  • [bb19d8212a] - (SEMVER-MINOR) fs: add fs.writev() which exposes syscall writev() (Anas Aboureada) #25925
  • [178caa56ae] - fs: add default options for *stat() (Tony Brix) #29114
  • [f194626ffb] - fs: validate fds as int32s (cjihrig) #28984
  • [c5edeb9776] - http: simplify drain() (Robert Nagy) #29081
  • [6b9e372198] - http: follow symbol naming convention (Robert Nagy) #29091
  • [2e5008848e] - http: remove redundant condition (Luigi Pinca) #29078
  • [13a497912d] - http: remove duplicate check (Robert Nagy) #29022
  • [16e001112c] - (SEMVER-MINOR) http: add missing stream-like properties to OutgoingMessage (Robert Nagy) #29018
  • [c396b2a5b2] - http: buffer writes even while no socket assigned (Robert Nagy) #29019
  • [f9b61d2bc7] - (SEMVER-MINOR) http,stream: add writableEnded (Robert Nagy) #28934
  • [964dff8a9e] - http2: remove unused FlushData() function (Anna Henningsen) #29145
  • [66249bbcad] - inspector: use const for contextGroupId (gengjiawen) #29076
  • [cb162298eb] - module: pkg exports validations and fallbacks (Guy Bedford) #28949
  • [491b46d605] - module: refine package name validation (Guy Bedford) #28965
  • [925e40cfa7] - module: add warning when import,export is detected in CJS context (Giorgos Ntemiris) #28950
  • [17319e7f44] - net: use callback to properly propagate error (Robert Nagy) #29178
  • [7f11c72cc5] - readline: close dumb terminals on Control+D (cjihrig) #29149
  • [3c346b8bad] - readline: close dumb terminals on Control+C (cjihrig) #29149
  • [e474c6776c] - (SEMVER-MINOR) readline: establish y in cursorTo as optional (Gerhard Stoebich) #29128
  • [2528dee674] - report: list envvars using uv_os_environ() (cjihrig) #28963
  • [a6b9299039] - src: rename --security-reverts to ...-revert (Sam Roberts) #29153
  • [62a0e91d8c] - src: simplify UnionBytes (Ben Noordhuis) #29116
  • [b2936cff5d] - src: organize imports in inspector_profiler.cc (pi1024e) #29073
  • [a9f8b62b47] - (SEMVER-MINOR) stream: add readableEnded (Robert Nagy) #28814
  • [1e3e6da9b9] - stream: simplify howMuchToRead() (Robert Nagy) #29155
  • [e2a2a3f4dd] - stream: use lazy registration for drain for fast destinations (Robert Nagy) #29095
  • [2a844599db] - stream: improve read() performance further (Brian White) #29077
  • [e543d35f35] - stream: inline and simplify onwritedrain (Robert Nagy) #29037
  • [6bc4620d8b] - stream: improve read() performance more (Brian White) #28989
  • [647f3a8d01] - stream: encapsulate buffer-list (Robert Nagy) #28974
  • [000999c06c] - stream: improve read() performance (Brian White) #28961
  • [6bafd35369] - test: deflake test-tls-passphrase (Luigi Pinca) #29134
  • [aff1ef9d27] - test: add required settings to test-benchmark-buffer (Rich Trott) #29163
  • [18b711366a] - test: make exported method static (Rainer Poisel) #29102
  • [0aa339e5e1] - test: skip test-fs-access if root (Daniel Bevenius) #29092
  • [e3b1243ea2] - test: unskip tests that now pass on AIX (Sam Roberts) #29054
  • [f9ed5f351b] - test: assert: add failing deepEqual test for faked boxed primitives (Jordan Harband) #29029
  • [43e444b07a] - test: refactor test-sync-io-option (Anna Henningsen) #29020
  • [82edebfebf] - (SEMVER-MINOR) test: add test for OAEP hash mismatch (Tobias Nießen) #28335
  • [f08f154fd6] - (SEMVER-MINOR) test: update postmortem metadata test for V8 7.6 (cjihrig) #28016
  • [5b892c44d6] - tls: allow client-side sockets to be half-opened (Luigi Pinca) #27836
  • [c4f6077994] - tools: make code cache and snapshot deterministic (Ben Noordhuis) #29142
  • [acdc21b832] - tools: make pty_helper.py python3-compatible (Ben Noordhuis) #29167
  • [31c50e5c17] - tools: make nodedownload.py Python 3 compatible (cclauss) #29104
  • [1011a1792c] - tools: allow single JS file for --link-module (Daniel Bevenius) #28443
  • [4d7a7957fc] - (SEMVER-MINOR) tools: sync gypfiles with V8 7.6 (Michaël Zasso) #28016
  • [a4e2549b87] - util: improve debuglog performance (Brian White) #28956
  • [112ec73c95] - util: isEqualBoxedPrimitive: ensure both values are actual boxed Symbols (Jordan Harband) #29029
  • [8426077898] - util: assert: fix deepEqual comparing fake-boxed to real boxed primitive (Jordan Harband) #29029
  • [d4e397a900] - worker: fix crash when SharedArrayBuffer outlives creating thread (Anna Henningsen) #29190

Windows 32-bit Installer: https://nodejs.org/dist/v12.9.0/node-v12.9.0-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v12.9.0/node-v12.9.0-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v12.9.0/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v12.9.0/win-x64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v12.9.0/node-v12.9.0.pkg
macOS 64-bit Binary: https://nodejs.org/dist/v12.9.0/node-v12.9.0-darwin-x64.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v12.9.0/node-v12.9.0-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v12.9.0/node-v12.9.0-linux-ppc64le.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v12.9.0/node-v12.9.0-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v12.9.0/node-v12.9.0-aix-ppc64.tar.gz
SmartOS 64-bit Binary: https://nodejs.org/dist/v12.9.0/node-v12.9.0-sunos-x64.tar.xz
ARMv7 32-bit Binary: https://nodejs.org/dist/v12.9.0/node-v12.9.0-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v12.9.0/node-v12.9.0-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v12.9.0/node-v12.9.0.tar.gz
Other release files: https://nodejs.org/dist/v12.9.0/
Documentation: https://nodejs.org/docs/v12.9.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
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

c690810b11e286778c0eacb8f1f56af1973d71b1788c54040f25380fc3ff6bcd node-v12.9.0-aix-ppc64.tar.gz
24c1f0c93e485961446814662db942f1b309d843fb4ecbe50466d9857a51b343 node-v12.9.0-darwin-x64.tar.gz
3e3dcfbfb78c55e582bb16ad6d995edfa93fdb3c4fe2020981e4f0adae255821 node-v12.9.0-darwin-x64.tar.xz
4dfb4147c8e41bacf7ac2bfcc844ec5ff4721cd47ace4b8a7e8ef07548d44773 node-v12.9.0-headers.tar.gz
4baa0822d0321522cdcedfc2025e9395c3a34ea6ef4af53a3147a66f23778219 node-v12.9.0-headers.tar.xz
703134352854e3501023cda8eba68f1f992a426f1cda649dc6b38e248b07fcf1 node-v12.9.0-linux-arm64.tar.gz
f7f6f102d097d64eba26f84f2760597f9831886ef7d0db3cba88459847f2743d node-v12.9.0-linux-arm64.tar.xz
05e3f81f17528d24409028bc66cb03fa18892af4d63e7cddaeb1189fe28ed005 node-v12.9.0-linux-armv7l.tar.gz
689d9e0e180bceb268876d95c86c3d8e64eb0440a90cd2e57c61899209d05acb node-v12.9.0-linux-armv7l.tar.xz
a5b0ac5557df1588d2b74a4ec33a6cf4feb0586d899b048d1eb9befd5de8a738 node-v12.9.0-linux-ppc64le.tar.gz
d5b1f14753eb8c084a22e709f38d024cf7d974cee67ed095a78665d0b62a6b69 node-v12.9.0-linux-ppc64le.tar.xz
149243fed728766eb31eb51534dba53a8eb25a58d08d6b1a354dea8deeade987 node-v12.9.0-linux-s390x.tar.gz
0c4b933cbce5f7153effed002e7aa58abde650256aae05ae951b1e6cfde1c4e6 node-v12.9.0-linux-s390x.tar.xz
3991e5b65fbaab8d70cda813b9bc73dd3b4201aeef42bcb1c000a03869aa0610 node-v12.9.0-linux-x64.tar.gz
7110bdd16e397870142ff0e8d92d4a4502d43ec047d970c843a9a4e5f9e79283 node-v12.9.0-linux-x64.tar.xz
7a18632a187137f21f88dbc0ae85c8a34d20fccb4b7c26be665fdc56a929c3fc node-v12.9.0.pkg
b0260415bf006330ca282a370dc56fcd018981a0024512785ea545fc49fd1d0f node-v12.9.0-sunos-x64.tar.gz
d8ad03d2c9f09d605607fc211749f53c708f8ff51a254f6731d9544c95d9112d node-v12.9.0-sunos-x64.tar.xz
88cb425086a87323288c8389e974e8c1001b81fe11c529e64592e8feb2d12f93 node-v12.9.0.tar.gz
e05fe8ba1bdf58e51cdb5d946ebb7a2dec567b3680da2752e120a763293a41c5 node-v12.9.0.tar.xz
2c25b307d7acbeeb1fb618587ceb6769391a5cfd8ee9be805e1ac5344b9f3a2f node-v12.9.0-win-x64.7z
b5f05deb31ac04b9c3a487542daf151e01c05017403a56ba443da623f36b153b node-v12.9.0-win-x64.zip
87adc248df2b1be102e5025b571849638ac337f595ce6c5dbec3d8cea9d374ce node-v12.9.0-win-x86.7z
a0d680846dff00222b886164e1428d257aa8031a63b52cc21de6540386a4e2d0 node-v12.9.0-win-x86.zip
7e6c6855fc4eb44b95a033f4ad8d73d7823388dd01ceb98a91eb68a7625323f3 node-v12.9.0-x64.msi
cdf09fc5223c4c47e5182803164d641365ef54eaa6dc3fd4c580fe1255faa433 node-v12.9.0-x86.msi
d5e9555256523c188af94ad9736c3a4492578842ccdfe8318ccf9caec2977bfd win-x64/node.exe
654cb8682984cbed2ca698e5b3ebd05edaa60174d964432143bdfc0c38254aa7 win-x64/node.lib
7fb28adbb18c03ecd8a8fc4e5da6a715d7adf3b79a8c626638d0c07faad6e47b win-x64/node_pdb.7z
417b7393c519c70ed96377a50323150714c0c931a571a97789c0f0ba352d2d73 win-x64/node_pdb.zip
cc2f13a4028a5c72aef8d03cb503b76036b87e3dcf400b7e000a30ae39e7f652 win-x86/node.exe
df075eff064bd3e081d848484b4b7c99b3a022a8a8e5988b2d17dbf4d0489a56 win-x86/node.lib
f2b5001a3d5bf3682c5feec610844a4f112d274e6c9b796d38dfde16ff7b0991 win-x86/node_pdb.7z
5f180908b937afbef929f4ad07f7b3355c2510d50e88ec053798b3bdbc57be3b win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEj8yhP+8dDC6RAI4Jdw96mlrhVgAFAl1cTCgACgkQdw96mlrh
VgBjJA/9G6n17aIguQqqe9lmAstCDgx5zhCTnVI9vE6CtYB50HIUFQKHlc8+ijXy
QC667tTWcyoLleSEuERnWrymf1Pv+6kVaD+stQnl6nT8ioMKoJ1u16c9NOnErVoj
+AtAR16d9aXXVLTXWO1iy9jOxrXrReUpRh8tgHZ2cBUBrBY3yZZhWaeFSU0fPa1E
N/WxKeyfByLnnOc817QH6a7BUQikx2H6ZRiWis36eGMN/tTZCvh8Bw/mgGg+0jvd
YQhsj784ZoKnUdzEnCceq5WyEwFr/nFsTsrBwbSR109iysv+eQZOaqXaOI2+4Hsa
BQj/2DXuFGog79B9WO7BetkD9LqBPOP6mLXRP70Mbjnm+7GayYi1wblzYpiqekEJ
oyci1ph/AKAXkppzVo/dcIKhFvkJWKAhme8RuRSnc5e7w4uB0x3hrVZBSHrmOUgF
Miu+//N8Sh86Pww1wfmWYy253wC1sbCPgWf4whOjZ1YLf56TbsG223PjZXebI49E
NhX7VqlQC1u9JV3VvmGVHBrL0X0w3+jMcm32tfWlT8Dgzbo8jYO0eUEFNuGqa5uL
kbvyB0W2nFpK5uOPR7JOO32jt+k2y2TEYcbfnL7sYuYL95tP/UNPvjYO0AN9Rk02
dAqybpZw4nLwmge89LYTFo4/YRt1NJZ86c6sN86fNck7HHKYIms=
=o1jr
-----END PGP SIGNATURE-----

Node v10.16.3(LTS)

주요 변경사항

보안 릴리스입니다.

HTTP/2의 다른 구현체와 마찬가지로 Node.js에서 서비스 거부 공격을 할 수 있는 취약점이 발견되었습니다. 더 자세한 정보는 https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-002.md에서 확인하세요.

다음 취약점이 수정되었습니다.

  • CVE-2019-9511 “Data Dribble”: 공격자는 특정 리소스에서 대량의 데이터를 여러 스트림으로 요청합니다. 윈도우 크기 및 스트림 우선 순위를 조작하여 서버가 1 바이트 청크로 데이터를 큐에 넣도록 합니다. 이 데이터를 얼마나 효율적으로 큐에 넣는지에 따라 CPU, 메모리를 과도하게 소비하게 하여 서비스 거부가 발생할 수 있습니다.
  • CVE-2019-9512 “Ping Flood”: 공격자는 지속적인 핑을 HTTP/2 피어로 보내 피어가 내부 응답 큐를 작성하게 합니다. 이 데이터를 얼마나 효율적으로 큐에 넣는지에 따라 CPU, 메모리를 과도하게 소비하게 하여 서비스 거부가 발생할 수 있습니다.
  • CVE-2019-9513 “Resource Loop”: 공격자는 여러 요청 스트림을 생성하고 우선 순위 트리에 상당한 변동을 일으키는 방식으로 스트림 우선 순위를 계속 섞습니다. 이로 인해 과도한 CPU가 소비되어 서비스 거부가 발생할 수 있습니다.
  • CVE-2019-9514 “Reset Flood”: 공격자는 여러 스트림을 열고 각 스트림을 통해 잘못된 요청을 보내 피어에서 RST_STREAM 프레임의 스트림을 요청합니다. 피어가 RST_STREAM 프레임을 큐에 넣는 방법에 따라 메모리, CPU를 소비하게 하여 서비스 거부가 발생할 수 있습니다.
  • CVE-2019-9515 “Settings Flood”: 공격자는 SETTINGS 프레임 스트림을 피어에게 보냅니다. RFC는 SETTINGS 프레임당 하나의 승인으로 피어 응답을 요구하므로 빈 SETTINGS 프레임은 핑과 거의 동일하게 행동합니다. 이 데이터를 얼마나 효율적으로 큐에 넣는지에 따라 CPU, 메모리를 과도하게 소비하게 하여 서비스 거부가 발생할 수 있습니다.
  • CVE-2019-9516 “0-Length Headers Leak”: 공격자는 길이가 0인 헤더 이름과 길이가 0인 헤더 값을 가지는 헤더 스트림을 보냅니다. 추가로 이 헤더의 허프만 인코딩 결과가 1 바이트 이상일 수 있습니다. 일부 구현에서는 이러한 헤더에 메모리를 할당하고 세션이 종료될 때까지 할당을 유지합니다. 이로 인해 불필요한 메모리가 소비되어 서비스 거부가 발생할 수 있습니다.
  • CVE-2019-9517 “Internal Data Buffering”: 공격자는 HTTP/2 윈도우를 열어서 피어가 제약 없이 전송할 수 있지만, TCP 윈도우를 닫아 놓기 때문에 피어가 실제로 (많은) 바이트를 쓸 수는 없습니다. 이 상태에서 공격자는 큰 응답 개체에 대한 요청 스트림을 보냅니다. 서버가 응답을 큐에 넣는 방법에 따라 메모리, CPU를 과도하게 소비하여 서비스 거부가 발생할 수 있습니다.
  • CVE-2019-9518 “Empty Frames Flood”: 공격자는 end-of-stream 플래그 없이 빈 페이로드 프레임 스트림을 보냅니다. 이 프레임은 DATA, HEADERS, CONTINUATION, PUSH_PROMISE일 수 있습니다. 피어는 각 프레임을 처리하는 데 시간을 소비하여 대역폭을 공격합니다. 이로 인해 과도한 CPU가 소비되어 서비스 거부가 발생할 수 있습니다.(구글의 Piotr Sikora가 발견)

Commits

  • [74507fae34] - deps: update nghttp2 to 1.39.2 (Anna Henningsen) #29122
  • [a397c881ec] - deps: update nghttp2 to 1.39.1 (gengjiawen) #28448
  • [fedfa12a33] - deps: update nghttp2 to 1.38.0 (gengjiawen) #27295
  • [ab0f2ace36] - deps: update nghttp2 to 1.37.0 (gengjiawen) #26990
  • [0acbe05ee2] - http2: allow security revert for Ping/Settings Flood (Anna Henningsen) #29122
  • [c152449012] - http2: pause input processing if sending output (Anna Henningsen) #29122
  • [0ce699c7b1] - http2: stop reading from socket if writes are in progress (Anna Henningsen) #29122
  • [17357d37a9] - http2: consider 0-length non-end DATA frames an error (Anna Henningsen) #29122
  • [460f896c63] - http2: shrink default vector::reserve() allocations (Anna Henningsen) #29122
  • [f4242e24f9] - http2: handle 0-length headers better (Anna Henningsen) #29122
  • [477461a51f] - http2: limit number of invalid incoming frames (Anna Henningsen) #29122
  • [05dada46ee] - http2: limit number of rejected stream openings (Anna Henningsen) #29122
  • [7f11465572] - http2: do not create ArrayBuffers when no DATA received (Anna Henningsen) #29122
  • [2eb914ff5f] - http2: only call into JS when necessary for session events (Anna Henningsen) #29122
  • [76a7ada15d] - http2: improve JS-side debug logging (Anna Henningsen) #29122
  • [00f153da13] - http2: improve http2 code a bit (James M Snell) #23984
  • [a0a14c809f] - src: pass along errors from http2 object creation (Anna Henningsen) #25822
  • [d85e4006ab] - test: apply test-http2-max-session-memory-leak from v12.x (Anna Henningsen) #29122

Windows 32-bit Installer: https://nodejs.org/dist/v10.16.3/node-v10.16.3-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v10.16.3/node-v10.16.3-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v10.16.3/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v10.16.3/win-x64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v10.16.3/node-v10.16.3.pkg
macOS 64-bit Binary: https://nodejs.org/dist/v10.16.3/node-v10.16.3-darwin-x64.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v10.16.3/node-v10.16.3-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v10.16.3/node-v10.16.3-linux-ppc64le.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v10.16.3/node-v10.16.3-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v10.16.3/node-v10.16.3-aix-ppc64.tar.gz
SmartOS 64-bit Binary: https://nodejs.org/dist/v10.16.3/node-v10.16.3-sunos-x64.tar.xz
ARMv6 32-bit Binary: https://nodejs.org/dist/v10.16.3/node-v10.16.3-linux-armv6l.tar.xz
ARMv7 32-bit Binary: https://nodejs.org/dist/v10.16.3/node-v10.16.3-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v10.16.3/node-v10.16.3-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v10.16.3/node-v10.16.3.tar.gz
Other release files: https://nodejs.org/dist/v10.16.3/
Documentation: https://nodejs.org/docs/v10.16.3/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
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

1e246436e177d69354b5e3ea47579a03b68d7b61a2565972c18c3a4cb5d8ee33 node-v10.16.3-aix-ppc64.tar.gz
6febc571e1543c2845fa919c6d06b36a24e4e142c91aedbe28b6ff7d296119e4 node-v10.16.3-darwin-x64.tar.gz
1d5ce05abf39ef482c2c3eaf16c1f4edb01314308066871d3dfc99e95701b19b node-v10.16.3-darwin-x64.tar.xz
0901d1f1bfe0f5d922f9d79c5822a3624c11eb0f2de9fd552425bc98c7b95e54 node-v10.16.3-headers.tar.gz
6ceb3249ac26a098c943de8104c19d7ea5a540b02db8652b80ab54deed1e5848 node-v10.16.3-headers.tar.xz
3bab16e7107092e43426e082ee9fd88ef0a43a35816f662f14563bcc5152600d node-v10.16.3-linux-arm64.tar.gz
8ee77bad022bd460bf2867a97bf56ce7ddc4aa2ace067e45995fb1721a958428 node-v10.16.3-linux-arm64.tar.xz
c4ce8f8627c4d0d71647987924e5369cd1adeef2865bf1bdbb4387b75fba804b node-v10.16.3-linux-armv6l.tar.gz
17b6ea87cde13c330a72c44be8a30ebebf83c7c71d1a1b92e1d629f273fa0743 node-v10.16.3-linux-armv6l.tar.xz
f267710728ca56ca3b522076fff808540ea27d6aa5fd586bc0ad39c389530c3b node-v10.16.3-linux-armv7l.tar.gz
4a6f27308cd0cea136be6f5f7c194b0faabea016efe844fb1452c846d2eca7b1 node-v10.16.3-linux-armv7l.tar.xz
3e0f41b3cb991f062e1c93a297675af34d1a2f29052306cd585f1f5e25ea9159 node-v10.16.3-linux-ppc64le.tar.gz
b51731b49f6816f5e3e670c399611eb9386f558cc2d597301fb73e585640a642 node-v10.16.3-linux-ppc64le.tar.xz
ae87fa499fd5fd9d86d4f788cb4e54bd3eb4fdb735b20235537e9d38ae5da73b node-v10.16.3-linux-s390x.tar.gz
90cc57506c98cd5561f5dda9e103fa70083242fff2b1a39a5351fc15ff63db46 node-v10.16.3-linux-s390x.tar.xz
2f0397bb81c1d0c9901b9aff82a933257bf60f3992227b86107111a75b9030d9 node-v10.16.3-linux-x64.tar.gz
d2271fd8cf997fa7447d638dfa92749ff18ca4b0d796bf89f2a82bf7800d5506 node-v10.16.3-linux-x64.tar.xz
1c820559780c7a5b90ceebd819afce58f3c14805191141fbd59feb8485c2fc73 node-v10.16.3.pkg
d8f2418b748c4c9b1d8c1dc008b42384ca87c4c4c134df3a3009e6b7546f8b23 node-v10.16.3-sunos-x64.tar.gz
2952da9d127c3f72fe5b3e466fbfe8a45ab3ef63263d881da7e9b586559f3693 node-v10.16.3-sunos-x64.tar.xz
db5a5e03a815b84a1266a4b48bb6a6d887175705f84fd2472f0d28e5e305a1f8 node-v10.16.3.tar.gz
7bf1123d7415964775b8f81fe6ec6dd5c3c08abb42bb71dfe4409dbeeba26bbd node-v10.16.3.tar.xz
c2cc3b95d6e8504b20623cfe74f848d1ebc2f43a262e7bae14bee64db2b13889 node-v10.16.3-win-x64.7z
19aa47de7c5950d7bd71a1e878013b98d93871cc311d7185f5472e6d3f633146 node-v10.16.3-win-x64.zip
fc1ccb1e6f12fe68e816c552e6b1df289a8bfe064c025eb62c360bd041da4a5f node-v10.16.3-win-x86.7z
02a30a17c25c354747ac76fd130ff5495dde2f60f0a21ad675526951c2d7a52a node-v10.16.3-win-x86.zip
f68b75eea46232adb8fd38126c977dc244166d29e7c6cd2df930b460c38590a9 node-v10.16.3-x64.msi
b3cf18ad447d177cf858dbe45751100846cad96ba7497cd7c1850a616758e67f node-v10.16.3-x86.msi
cb8f5c1981e11a3d438b6867df5fb8e4f77cd29ddc0856d99b62060ef991c649 win-x64/node.exe
9f10cd25d27fc31f8fe8f5fcc5e9f27a8ba5bb79dc0791dc0df102f063c0066e win-x64/node.lib
654d350ee101cbb4a0246e5226169f99af763a4d4c14546370ec6dfb09cf5a47 win-x64/node_pdb.7z
426f326d88b5a184cc74ba50f5106eca933cb3386f872ffeb5844f3916296c09 win-x64/node_pdb.zip
78b71fd2fb792c5f24848a05119d50d02407675a54a72caf0e40b039a43fefdd win-x86/node.exe
459095d9bd9dc4e2d12c4284e6fc5bdc78eec8181c8327c57876499b002a59fd win-x86/node.lib
1d0bb57a74e836835a1f9b8c1e0bf2493d4bd095c81a8e12d05cbfbf8c363534 win-x86/node_pdb.7z
e2b5ea28cbe965e074e61035b559efda9312044ac5d0346243c041bbb62cea73 win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEETtd49TnjY0x3nIfG1wYoSKGrAFwFAl1V2SsACgkQ1wYoSKGr
AFx2zAgAvucy6XmXR4ErdiTw0EJQjp19NHknk5ovcGVFJKMqwe4V2UqYgru7aFJL
paEEyS8j7pKeQ8d9AqmPiUontMVGFgJg9bD7qZIwiZnFoLeoe8CjY9jpDd+USDH7
NuKRCC7JLcjEXiMM9oQm4TzdmKLjopPvKWkLcrZka7SO1WQHdAz9N7LqBRt/WWre
VRxtC7pmEpR9SxXy+MVKw4aveO7rkPSDQ99XBPBccn2u2PUjSws/muyYN5cNQ0O5
USF86KoJGqlYcEEFXxk76OWJxeaik2eUv7Sjy/QOtbb9UvQQdrzzLKp0xK6+zGXw
dmNx9HVSkLfw++f4DOjvDofqlsnxOQ==
=Ie/z
-----END PGP SIGNATURE-----

Node v12.8.1(현재 버전)

주요 변경사항

보안 릴리스입니다.

HTTP/2의 다른 구현체와 마찬가지로 Node.js에서 서비스 거부 공격을 할 수 있는 취약점이 발견되었습니다. 더 자세한 정보는 https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-002.md에서 확인하세요.

다음 취약점이 수정되었습니다.

  • CVE-2019-9511 “Data Dribble”: 공격자는 특정 리소스에서 대량의 데이터를 여러 스트림으로 요청합니다. 윈도우 크기 및 스트림 우선 순위를 조작하여 서버가 1 바이트 청크로 데이터를 큐에 넣도록 합니다. 이 데이터를 얼마나 효율적으로 큐에 넣는지에 따라 CPU, 메모리를 과도하게 소비하게 하여 서비스 거부가 발생할 수 있습니다.
  • CVE-2019-9512 “Ping Flood”: 공격자는 지속적인 핑을 HTTP/2 피어로 보내 피어가 내부 응답 큐를 작성하게 합니다. 이 데이터를 얼마나 효율적으로 큐에 넣는지에 따라 CPU, 메모리를 과도하게 소비하게 하여 서비스 거부가 발생할 수 있습니다.
  • CVE-2019-9513 “Resource Loop”: 공격자는 여러 요청 스트림을 생성하고 우선 순위 트리에 상당한 변동을 일으키는 방식으로 스트림 우선 순위를 계속 섞습니다. 이로 인해 과도한 CPU가 소비되어 서비스 거부가 발생할 수 있습니다.
  • CVE-2019-9514 “Reset Flood”: 공격자는 여러 스트림을 열고 각 스트림을 통해 잘못된 요청을 보내 피어에서 RST_STREAM 프레임의 스트림을 요청합니다. 피어가 RST_STREAM 프레임을 큐에 넣는 방법에 따라 메모리, CPU를 소비하게 하여 서비스 거부가 발생할 수 있습니다.
  • CVE-2019-9515 “Settings Flood”: 공격자는 SETTINGS 프레임 스트림을 피어에게 보냅니다. RFC는 SETTINGS 프레임당 하나의 승인으로 피어 응답을 요구하므로 빈 SETTINGS 프레임은 핑과 거의 동일하게 행동합니다. 이 데이터를 얼마나 효율적으로 큐에 넣는지에 따라 CPU, 메모리를 과도하게 소비하게 하여 서비스 거부가 발생할 수 있습니다.
  • CVE-2019-9516 “0-Length Headers Leak”: 공격자는 길이가 0인 헤더 이름과 길이가 0인 헤더 값을 가지는 헤더 스트림을 보냅니다. 추가로 이 헤더의 허프만 인코딩 결과가 1 바이트 이상일 수 있습니다. 일부 구현에서는 이러한 헤더에 메모리를 할당하고 세션이 종료될 때까지 할당을 유지합니다. 이로 인해 불필요한 메모리가 소비되어 서비스 거부가 발생할 수 있습니다.
  • CVE-2019-9517 “Internal Data Buffering”: 공격자는 HTTP/2 윈도우를 열어서 피어가 제약 없이 전송할 수 있지만, TCP 윈도우를 닫아 놓기 때문에 피어가 실제로 (많은) 바이트를 쓸 수는 없습니다. 이 상태에서 공격자는 큰 응답 개체에 대한 요청 스트림을 보냅니다. 서버가 응답을 큐에 넣는 방법에 따라 메모리, CPU를 과도하게 소비하여 서비스 거부가 발생할 수 있습니다.
  • CVE-2019-9518 “Empty Frames Flood”: 공격자는 end-of-stream 플래그 없이 빈 페이로드 프레임 스트림을 보냅니다. 이 프레임은 DATA, HEADERS, CONTINUATION, PUSH_PROMISE일 수 있습니다. 피어는 각 프레임을 처리하는 데 시간을 소비하여 대역폭을 공격합니다. 이로 인해 과도한 CPU가 소비되어 서비스 거부가 발생할 수 있습니다.(구글의 Piotr Sikora가 발견)

Commits

  • [bfeb5fc07f] - deps: update nghttp2 to 1.39.2 (Anna Henningsen) #29122
  • [08021fac59] - http2: allow security revert for Ping/Settings Flood (Anna Henningsen) #29122
  • [bbb4769cc1] - http2: pause input processing if sending output (Anna Henningsen) #29122
  • [f64515b05e] - http2: stop reading from socket if writes are in progress (Anna Henningsen) #29122
  • [ba332df5d2] - http2: consider 0-length non-end DATA frames an error (Anna Henningsen) #29122
  • [23b0db58ca] - http2: shrink default vector::reserve() allocations (Anna Henningsen) #29122
  • [4f10ac3623] - http2: handle 0-length headers better (Anna Henningsen) #29122
  • [a21a1c007b] - http2: limit number of invalid incoming frames (Anna Henningsen) #29122
  • [4570ed10d7] - http2: limit number of rejected stream openings (Anna Henningsen) #29122
  • [88726f2384] - http2: do not create ArrayBuffers when no DATA received (Anna Henningsen) #29122
  • [530004ef32] - http2: only call into JS when necessary for session events (Anna Henningsen) #29122
  • [58d8c9ef48] - http2: improve JS-side debug logging (Anna Henningsen) #29122

Windows 32-bit Installer: https://nodejs.org/dist/v12.8.1/node-v12.8.1-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v12.8.1/node-v12.8.1-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v12.8.1/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v12.8.1/win-x64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v12.8.1/node-v12.8.1.pkg
macOS 64-bit Binary: https://nodejs.org/dist/v12.8.1/node-v12.8.1-darwin-x64.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v12.8.1/node-v12.8.1-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v12.8.1/node-v12.8.1-linux-ppc64le.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v12.8.1/node-v12.8.1-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v12.8.1/node-v12.8.1-aix-ppc64.tar.gz
SmartOS 64-bit Binary: https://nodejs.org/dist/v12.8.1/node-v12.8.1-sunos-x64.tar.xz
ARMv7 32-bit Binary: https://nodejs.org/dist/v12.8.1/node-v12.8.1-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v12.8.1/node-v12.8.1-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v12.8.1/node-v12.8.1.tar.gz
Other release files: https://nodejs.org/dist/v12.8.1/
Documentation: https://nodejs.org/docs/v12.8.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
50
51
52
53
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

a140e9c84fdb5c40328dc1ea6425954e08cec722ab4e1ab4521b0523bd7b2fa0 node-v12.8.1-aix-ppc64.tar.gz
caccf8b409af342e35672cc766430587664f88d01dab622a5de44c8be1336e44 node-v12.8.1-darwin-x64.tar.gz
c4789916ef5fcb61f8d6b10e15f9137d043ee5dbd004638c88ea4dde2841b2c2 node-v12.8.1-darwin-x64.tar.xz
06c011a5601fca1107d4a29428a051416dffb592391b47e23d6150abc98e4fef node-v12.8.1-headers.tar.gz
b39eb6675c88b62c7c0d5103d7098f98b43b841a2d0065692760c9513b2bb6c4 node-v12.8.1-headers.tar.xz
3ad6e53bcf8a3b92b10504fa70d83f69eab85a8603c2fbe210121278dd19920b node-v12.8.1-linux-arm64.tar.gz
3707240c402aae0b5879ce1ba17b32ebd224d47f5147639c6881a1b71ce65383 node-v12.8.1-linux-arm64.tar.xz
44e2f0dda0ae2ebabecfefe9a33995939d8e362a5bb3fcc579df98c107db2272 node-v12.8.1-linux-armv7l.tar.gz
cbe09af1f41de4cdc917a8874a1cda6bf877495dee159752d3f8745cf6a1e9a3 node-v12.8.1-linux-armv7l.tar.xz
1ddabc01c81dc8056daf831db9815439aa2dea9f93e653c6a185ec859836cf93 node-v12.8.1-linux-ppc64le.tar.gz
2002c80e3cd8c3c4816bdb96e9fc496510a5d2edf273a5cda91625a48a87dedd node-v12.8.1-linux-ppc64le.tar.xz
a4b73e4c847ebc33d05d7f0d2efb7720ebbb643d17f3848ff3fe4266cc32f0ff node-v12.8.1-linux-s390x.tar.gz
f8712268de942b2c05a58eb7291b8ed7cdd9b6413f82bc1aa99e23fae42375f9 node-v12.8.1-linux-s390x.tar.xz
8758a131cac2e8a373153b9eb53696d2e823b910dbf175af7ec4a0592b065c22 node-v12.8.1-linux-x64.tar.gz
1c7cf61cb8fa98a76d92445823d6dd1649e985899e16900b39eacdd8cd4094f3 node-v12.8.1-linux-x64.tar.xz
79c92434d5e9cf7b77122b679aa4b61e12dffa9feb1caee0134446ff8b7ecf05 node-v12.8.1.pkg
9e6fbd7d4346ddb0e86e14dbeff5f1cb23a69e09096dde6c0ad2785dc5643742 node-v12.8.1-sunos-x64.tar.gz
9f0ac2d6f98efeb54bb3a6f52ea58e545bc542b354061f79c1f2804e52a406a0 node-v12.8.1-sunos-x64.tar.xz
fbd4de6657f6301cdcd0c60a0e5a413c490670d8c21b501c380b96cc3b9b5b95 node-v12.8.1.tar.gz
3e63b2e7979b51d79b6f2f89d2869de85222be8edc549f08e10dc8d039de5b88 node-v12.8.1.tar.xz
52ece730f0d4d80657eb8d5c62120c2a91f435b8ef3bea672e1bfdaf9f7eae70 node-v12.8.1-win-x64.7z
c81ecaa03dc882dde36087c854e4831c13d3eb237f262f9ce74ccc6f156684da node-v12.8.1-win-x64.zip
73e50beac826d2a68ad7bfa9c69d02881651a84d8284b609eb6de1f816422ce1 node-v12.8.1-win-x86.7z
71257bcb20caeb22320f4316549424329af888d4fb49f9beb6ea660a85c5848b node-v12.8.1-win-x86.zip
cf7766ff0ffb30a6b1d88832b059c151cd84a43b9e80891bde0b456a730034ed node-v12.8.1-x64.msi
b861512e89b07266b90422c5a48ba5a718f5377e0a3fe2e64e13ac69b87f6d29 node-v12.8.1-x86.msi
f54c49a9652b59f10b7961f6b3891636946b68e404e69d83e32762135c1fa862 win-x64/node.exe
508026e08ee3d579c17f766167c5c69ce31280a4a5607ac853099cd2b84e0426 win-x64/node.lib
dd9308e9161a5ff3bc549cf017d498d6bb05c7a9940c9e6d4d34f95cbce55e2d win-x64/node_pdb.7z
46240f4ddb0d8ce81bff744b14376b702f37c2b43022602b002464622b7e8395 win-x64/node_pdb.zip
bf42f24a980db702b51939fdcfdf38a95580b00dd57a78d3d9d9c8bc558ab8c9 win-x86/node.exe
26e54309d4e8a8ac8f10d460962c474f1ae3f83ffa1bf420ec773b53db36a90a win-x86/node.lib
297a842f38c8bb2bb1082ca763c40ca9ab104bcab3d57ea85fa62bb6682f2f43 win-x86/node_pdb.7z
07e4a6cdc87b1e5bbd2970ef7b35412c50393d9a74199f7babe6c432cc7db299 win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEj8yhP+8dDC6RAI4Jdw96mlrhVgAFAl1VWqEACgkQdw96mlrh
VgB40w//Z/qkA9OpKmcu8VE4g2tWIU4utQTh2HR5ueAyy/LjJQ2f2mcC5Xar5WCq
w8K5q9loPkdxdQlteb55/p4VGEGAam5tWhy3juS5HbboiOlt5QNfswe9JQfcQGvu
UdPSukHoY+DLHeiaAdhf1bFhWTnCNuXRZdrWqukTjQhApu3JkLMa+gwex1TrEb7R
4mlpDtEXi1sTudOgBD71VGo3t7//nD6oV5NegH5AJZwXaGeaeWVhW9jscyy9GLLq
e0mzbZTUQnECw7fUujsGL0UbRRwUiVgeoBCV5WwatF/ofVXJ+VU0z3L18the+z27
DidOXQQHU/9EFkkXjGAmob2iS7imZMPHTiEhCCsfyHT7ldVFJS2UXdfetkfcMauO
D1jt0OVLRaJ78zYCO2Ct6CWDIqbYERvjuvIkWk3wLGvWZCMxkVnsNQH4Yrr9cYKq
P5PU8wGZyueOWj4TN9JAzj9h6BIrPmEJMgJHFiIDQnP84mq+tSqQSNwTiFUW6jZN
1WHg8zdq4kEJuYusKnZF13Z5FCnisXVXDThO9p7dwrJ1xta2t6LWmWF7uTwiate5
AXGnXz+zoZiGll831QOuIMCMZZyZPh6JHZOMO6AGj+58d4OQcVMyLVH2bsRQhK7B
Q8g229JTL7XjOvd5MwKuvoZAi+HG35hqPstICTu/ZsSZEiWgV2c=
=9JPr
-----END PGP SIGNATURE-----

Node v8.16.1(LTS)

주요 변경사항

보안 릴리스입니다.

HTTP/2의 다른 구현체와 마찬가지로 Node.js에서 서비스 거부 공격을 할 수 있는 취약점이 발견되었습니다. 더 자세한 정보는 https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-002.md에서 확인하세요.

다음 취약점이 수정되었습니다.

  • CVE-2019-9511 “Data Dribble”: 공격자는 특정 리소스에서 대량의 데이터를 여러 스트림으로 요청합니다. 윈도우 크기 및 스트림 우선 순위를 조작하여 서버가 1 바이트 청크로 데이터를 큐에 넣도록 합니다. 이 데이터를 얼마나 효율적으로 큐에 넣는지에 따라 CPU, 메모리를 과도하게 소비하게 하여 서비스 거부가 발생할 수 있습니다.
  • CVE-2019-9512 “Ping Flood”: 공격자는 지속적인 핑을 HTTP/2 피어로 보내 피어가 내부 응답 큐를 작성하게 합니다. 이 데이터를 얼마나 효율적으로 큐에 넣는지에 따라 CPU, 메모리를 과도하게 소비하게 하여 서비스 거부가 발생할 수 있습니다.
  • CVE-2019-9513 “Resource Loop”: 공격자는 여러 요청 스트림을 생성하고 우선 순위 트리에 상당한 변동을 일으키는 방식으로 스트림 우선 순위를 계속 섞습니다. 이로 인해 과도한 CPU가 소비되어 서비스 거부가 발생할 수 있습니다.
  • CVE-2019-9514 “Reset Flood”: 공격자는 여러 스트림을 열고 각 스트림을 통해 잘못된 요청을 보내 피어에서 RST_STREAM 프레임의 스트림을 요청합니다. 피어가 RST_STREAM 프레임을 큐에 넣는 방법에 따라 메모리, CPU를 소비하게 하여 서비스 거부가 발생할 수 있습니다.
  • CVE-2019-9515 “Settings Flood”: 공격자는 SETTINGS 프레임 스트림을 피어에게 보냅니다. RFC는 SETTINGS 프레임당 하나의 승인으로 피어 응답을 요구하므로 빈 SETTINGS 프레임은 핑과 거의 동일하게 행동합니다. 이 데이터를 얼마나 효율적으로 큐에 넣는지에 따라 CPU, 메모리를 과도하게 소비하게 하여 서비스 거부가 발생할 수 있습니다.
  • CVE-2019-9516 “0-Length Headers Leak”: 공격자는 길이가 0인 헤더 이름과 길이가 0인 헤더 값을 가지는 헤더 스트림을 보냅니다. 추가로 이 헤더의 허프만 인코딩 결과가 1 바이트 이상일 수 있습니다. 일부 구현에서는 이러한 헤더에 메모리를 할당하고 세션이 종료될 때까지 할당을 유지합니다. 이로 인해 불필요한 메모리가 소비되어 서비스 거부가 발생할 수 있습니다.
  • CVE-2019-9517 “Internal Data Buffering”: 공격자는 HTTP/2 윈도우를 열어서 피어가 제약 없이 전송할 수 있지만, TCP 윈도우를 닫아 놓기 때문에 피어가 실제로 (많은) 바이트를 쓸 수는 없습니다. 이 상태에서 공격자는 큰 응답 개체에 대한 요청 스트림을 보냅니다. 서버가 응답을 큐에 넣는 방법에 따라 메모리, CPU를 과도하게 소비하여 서비스 거부가 발생할 수 있습니다.
  • CVE-2019-9518 “Empty Frames Flood”: 공격자는 end-of-stream 플래그 없이 빈 페이로드 프레임 스트림을 보냅니다. 이 프레임은 DATA, HEADERS, CONTINUATION, PUSH_PROMISE일 수 있습니다. 피어는 각 프레임을 처리하는 데 시간을 소비하여 대역폭을 공격합니다. 이로 인해 과도한 CPU가 소비되어 서비스 거부가 발생할 수 있습니다.(구글의 Piotr Sikora가 발견)

Commits

  • [6d427378c0] - deps: update nghttp2 to 1.39.2 (Anna Henningsen) #29122
  • [33d4d916d5] - deps: update nghttp2 to 1.39.1 (gengjiawen) #28448
  • [17fad97113] - deps: update nghttp2 to 1.38.0 (gengjiawen) #27295
  • [0b44733695] - deps: update nghttp2 to 1.37.0 (gengjiawen) #26990
  • [5afc77b044] - deps: update nghttp2 to 1.34.0 (James M Snell) #23284
  • [073108c855] - http2: allow security revert for Ping/Settings Flood (Anna Henningsen) #29122
  • [6d687f7af8] - http2: pause input processing if sending output (Anna Henningsen) #29122
  • [854dba649e] - http2: stop reading from socket if writes are in progress (Anna Henningsen) #29122
  • [a3191689dd] - http2: consider 0-length non-end DATA frames an error (Anna Henningsen) #29122
  • [156f2f35df] - http2: shrink default vector::reserve() allocations (Anna Henningsen) #29122
  • [10f05b65c4] - http2: handle 0-length headers better (Anna Henningsen) #29122
  • [ac28a628a5] - http2: limit number of invalid incoming frames (Anna Henningsen) #29122
  • [11b4e2c0db] - http2: limit number of rejected stream openings (Anna Henningsen) #29122
  • [7de642b6f9] - http2: do not create ArrayBuffers when no DATA received (Anna Henningsen) #29122
  • [dd60d3561a] - http2: only call into JS when necessary for session events (Anna Henningsen) #29122
  • [00f6846b73] - http2: improve JS-side debug logging (Anna Henningsen) #29122
  • [b095e35f1f] - http2: improve http2 code a bit (James M Snell) #23984
  • [cc282239c1] - test: apply test-http2-max-session-memory-leak from v12.x (Anna Henningsen) #29122

Windows 32-bit Installer: https://nodejs.org/dist/v8.16.1/node-v8.16.1-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v8.16.1/node-v8.16.1-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v8.16.1/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v8.16.1/win-x64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v8.16.1/node-v8.16.1.pkg
macOS 64-bit Binary: https://nodejs.org/dist/v8.16.1/node-v8.16.1-darwin-x64.tar.gz
Linux 32-bit Binary: https://nodejs.org/dist/v8.16.1/node-v8.16.1-linux-x86.tar.xz
Linux 64-bit Binary: https://nodejs.org/dist/v8.16.1/node-v8.16.1-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v8.16.1/node-v8.16.1-linux-ppc64le.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v8.16.1/node-v8.16.1-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v8.16.1/node-v8.16.1-aix-ppc64.tar.gz
SmartOS 32-bit Binary: https://nodejs.org/dist/v8.16.1/node-v8.16.1-sunos-x86.tar.xz
SmartOS 64-bit Binary: https://nodejs.org/dist/v8.16.1/node-v8.16.1-sunos-x64.tar.xz
ARMv6 32-bit Binary: Coming soon
ARMv7 32-bit Binary: https://nodejs.org/dist/v8.16.1/node-v8.16.1-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v8.16.1/node-v8.16.1-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v8.16.1/node-v8.16.1.tar.gz
Other release files: https://nodejs.org/dist/v8.16.1/
Documentation: https://nodejs.org/docs/v8.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
50
51
52
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

be210d9ce20155877e56aa57901f71b45b214ebb6f78fc48e96ad3c37ec2ea0c node-v8.16.1-aix-ppc64.tar.gz
ef1cb93f03bca4b9528e5d3226bdf8efa135e4b12285eee1e4760da06bac631a node-v8.16.1-darwin-x64.tar.gz
8eac60c9d6687fb77a052a04712cc792a6cd1f55003e96d09404986690f8ad76 node-v8.16.1-darwin-x64.tar.xz
a9e646dd27f29611002298a5a69e753e37b501ebb587165c258fd18425bbd7ff node-v8.16.1-headers.tar.gz
96671638be9e66d81227647123218e0077b7af4105854ac190bc7840d22db91c node-v8.16.1-headers.tar.xz
880cdfba7072398b2f7ca84474d3a689a9325182b866e6705f04f1cde10fea94 node-v8.16.1-linux-arm64.tar.gz
0c61c6ae8a70d96ab19848a09b2010d29b806f2dd79177da22c743fd5e352a98 node-v8.16.1-linux-arm64.tar.xz
1995c8a31e6939f47a93b101e1cb7f9d7caa2eacd01b1ffd90e50af5e8a776a2 node-v8.16.1-linux-armv7l.tar.gz
c71297cdb4336969ee10d5ac7daecdc380bb876a1e17db1cbf0479983cfe6f59 node-v8.16.1-linux-armv7l.tar.xz
22a89b8dc86da0f844ffc57b0d4a693795a4b6f006f9a930f3b8534a5b4927b8 node-v8.16.1-linux-ppc64le.tar.gz
5cfb323a649b7d9e6f54b5e3132141b18756a0d2b78435097ae6800acc286802 node-v8.16.1-linux-ppc64le.tar.xz
b3bbef731a4f058c6e86437220e14a246b64cf54e923fbceffa2538197446fa5 node-v8.16.1-linux-s390x.tar.gz
efaf43ddcf0f84d0ca6295fd35c1029b99150d94ce17f23764a5c2840afe4384 node-v8.16.1-linux-s390x.tar.xz
8ef575b64edbb6c04e506d8c8e0c5f92b90f4752841892c5adbb3a1e02863f46 node-v8.16.1-linux-x64.tar.gz
22a2580569c787ea83960bda0eae5dfaf1fe79382a52ad5fa5cd3accb93a1818 node-v8.16.1-linux-x64.tar.xz
a7f60fc6f41bedd2a387bc99067df11d53161fa235b8c90c6b5e73b0dff9af8e node-v8.16.1-linux-x86.tar.gz
ad19074012d957e8e524b3ef2ebad8cf36bdf58f86505e0ec2c131c1004ea9bb node-v8.16.1-linux-x86.tar.xz
b479883439ac4dbbbf509de5699f2b64b7788479b7715fc140bf6e89d2205d51 node-v8.16.1.pkg
8bf305578e0020ea3643a59f1b8bf2153e6eaf4e13527d24c30e60150ff5bc69 node-v8.16.1-sunos-x64.tar.gz
da4c673ab4fcefd892a833bb57b4b8d25e1c18d3d876fe810477b1ef3d7af98a node-v8.16.1-sunos-x64.tar.xz
2ac82a583da792d04c336350a7f482c716c1abe1a8db84daaaaf98e117a16e56 node-v8.16.1-sunos-x86.tar.gz
779ff5950e03b48ba2fa36c133a05d5f3c94e25849b94025e9305be36218ecb0 node-v8.16.1-sunos-x86.tar.xz
7666207212ac5cbd766b052951f57da62aaa641fedf83fabcb31dbb19f61169d node-v8.16.1.tar.gz
d8c190acdf2d967faf49c22df883d31a8d4e249d67852dae3c2d8a0f756b0512 node-v8.16.1.tar.xz
a70cd3c72351675bc3f4c51bedd293b173cb42ea973ef1c1dc19d90c6f769f17 node-v8.16.1-win-x64.7z
396dc41740bca0355d11865780e2af8e88eb17581cd2c445ccaf29b862901ab8 node-v8.16.1-win-x64.zip
c524468cf0d278b8daf4f4e864fad75fe457fadfc9f920aa93be8271529bf189 node-v8.16.1-win-x86.7z
18345ecb826ff63ab82b3688b53f4586fa67605b3adb0e87b853c6d15891b1aa node-v8.16.1-win-x86.zip
e5ad1a5e9e2de3ce98e4accbaaf59b8e78e2e3e08fed6c1863616e2886499250 node-v8.16.1-x64.msi
26a7e5fb30710d54fa3b93cd4cba3b805b1b4b1e6d3980387ab335c4bbb3d302 node-v8.16.1-x86.msi
68eb7432f06a63b4456ab88e0ca984df4c993e60a6c6f05e6f8d12de177941ef win-x64/node.exe
b277fd2148b2d06d7279976cb5a87224281db8a1417d334fef1402cddc3a606c win-x64/node.lib
558341be54e43a9c4ed0845b36afc547e7413d3c977a879f0f4494fb2863c092 win-x64/node_pdb.7z
663ea606cc994bd0508843a40d079f3beeb8a4814eb4607d7c05a859f577e547 win-x64/node_pdb.zip
b009f4a4bc0eada5c4430b6e3140061728bc2b01e4e33c06b467321a9c4db329 win-x86/node.exe
a8d422d7eac6539a43d53a59d50f3a37020c8ea53080d2cdfd55eb07ce027ab4 win-x86/node.lib
8520521b679d21a75aa3794042ecadfc11b523c140a71e085c4d9e947d7ee231 win-x86/node_pdb.7z
11ed30cc63a58e30564c599235ab4705a54aff3008ce090f5edd50cd05d8e907 win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEETtd49TnjY0x3nIfG1wYoSKGrAFwFAl1V3f8ACgkQ1wYoSKGr
AFzOEwf/e1u2Qrg8cujswF7GYYPluq8F+Dq5vlllAfAIFYgyAhZ1cxjV0rNY+mYk
ySQAhr1423HmuuPltfVY6sMwpuQbH6UJoX6GFAr8XOlYqQcOLVuxGQ/JdOniKo46
uye6f2/I/Qy12RB8r/OS+WqoIZfzxDcfOeHPzRNnxnqWRnkiCRf60OMiUgnrxde2
ndrWkwze80CnmrcXnx88s9ffEb26pQeX2eEkRA62jA9lgJF6r11332HZFauQn5Q2
IypdLOQLluKqPkHCJiau2H846jrECVQHMzFMhxsqgu0IhlGwpb8YlCSqXk9m7Oet
vqKOPOTPX8Ut6R58O9dYQyZujfvL2Q==
=cvvu
-----END PGP SIGNATURE-----