Node v8.1.1(현재 버전)

주요 변경사항

  • Child processes

    • child_process.executil.promisify()로 Promise로 바꾸어 호출하다가 실패한
      오류 결과에서 stdoutstderr도 사용할 수 있습니다.
      [d66d4fc94c]
      #13388
  • HTTP

    • HTTP를 cluster 모듈과 함께 사용할 때 특정 시나리오에서 깨지는 회귀 문제를 수정했습니다.
      [fff8a56d6f]
      #13578
  • HTTPS

    • 유닉스 소켓에서 rejectUnauthorized 옵션이 이제 잘 동작합니다.
      [c4cbd99d37]
      #13505
  • Readline

    • 동일한 입력 스트림에 readline을 여러 번 사용하는 코드와 npm init을 깨뜨리는
      변경사항을 되돌렸습니다.
      [0df6c0b5f0]
      #13560

Commits

Windows 32-bit Installer: https://nodejs.org/dist/v8.1.1/node-v8.1.1-x86.msi

Windows 64-bit Installer: https://nodejs.org/dist/v8.1.1/node-v8.1.1-x64.msi

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

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

macOS 64-bit Installer: https://nodejs.org/dist/v8.1.1/node-v8.1.1.pkg

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

Linux 32-bit Binary: https://nodejs.org/dist/v8.1.1/node-v8.1.1-linux-x86.tar.xz

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

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

Linux PPC BE 64-bit Binary: https://nodejs.org/dist/v8.1.1/node-v8.1.1-linux-ppc64.tar.xz

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

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

SunOS 32-bit Binary: https://nodejs.org/dist/v8.1.1/node-v8.1.1-sunos-x86.tar.xz

SunOS 64-bit Binary: https://nodejs.org/dist/v8.1.1/node-v8.1.1-sunos-x64.tar.xz

ARMv6 32-bit Binary: Coming soon

ARMv7 32-bit Binary: Coming soon

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

Source Code: https://nodejs.org/dist/v8.1.1/node-v8.1.1.tar.gz

Other release files: https://nodejs.org/dist/v8.1.1/

Documentation: https://nodejs.org/docs/v8.1.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

3f39c72b597a5810e4b5a510feec11a78f943e4c06c73e160558f7e7614362c9 node-v8.1.1-aix-ppc64.tar.gz
2f67890a5a46564672cfd4522cc00c7ac04d307e6a942ae1ad38b6aee94c29e2 node-v8.1.1-darwin-x64.tar.gz
32c741801df7d2b3a3d16b9808c19bb1d1c0c639eea4f4bac64d111a607af5b0 node-v8.1.1-darwin-x64.tar.xz
a1f8cb4dbb6322f684ac802f9b27535f2456bca1a8ccf8f75bf9ba96d73f4556 node-v8.1.1-headers.tar.gz
f72707d83ff64036c96df83f9151b28a09f91994eda41830ad5ed24ab5abd083 node-v8.1.1-headers.tar.xz
69cc375ef84ea79736b491ff779e8ed07359cf27c943dcae41292094e0b0b79f node-v8.1.1-linux-arm64.tar.gz
3971543f9d29f77ddb8f47a54e4b99422a822173599748ab7fcd9c35c8e25124 node-v8.1.1-linux-arm64.tar.xz
48a249314bed9f0c4837464696d171bba47c787eff0bcdb452d2b8e2bdbcfcb2 node-v8.1.1-linux-ppc64le.tar.gz
2986470436c07dd600f87a426e81425bd1c3d8f5ca8865eaf6ff0d844e1606ec node-v8.1.1-linux-ppc64le.tar.xz
4f950720886667976ced945a46b169e8775fd6e108008184567bb648f46823a8 node-v8.1.1-linux-ppc64.tar.gz
f0f148f264427d59058ce57dd76c909ce10c5cf34b65ddad021ed488c5ac27b3 node-v8.1.1-linux-ppc64.tar.xz
4041a25373c5fe68a660800785ab914a6971e1caafd22dfb8869ecd01c338081 node-v8.1.1-linux-s390x.tar.gz
e972942b7b916456ce7339f6b7cbf0a5efffe486bc9a6e6fe853a046b4a3beda node-v8.1.1-linux-s390x.tar.xz
7717495688c8e332b916cfc51fdb4773d468018ccd0b104ae524ae5050426d4d node-v8.1.1-linux-x64.tar.gz
6a735e77bdd21c92fe85ea5f9f567d0d6930fa33e0e111946b17cdb7efefb8d5 node-v8.1.1-linux-x64.tar.xz
a1f6c650b9c2d69a1b4dfec4ea4ead39a62867c413c479cfe70fb3152206bea4 node-v8.1.1-linux-x86.tar.gz
2b912178ab071a7aff7862c0fc3eaafeb7580c15cf163d926cd1bc99990c696e node-v8.1.1-linux-x86.tar.xz
9414408e6dfe230316c7c4ea35aa8ddca652f0165be5624113d9579102ad750c node-v8.1.1.pkg
1f6f9d990ca82920e00ed221391013c87de86b56417d4871dd43424842a64267 node-v8.1.1-sunos-x64.tar.gz
6c649767625069fb6e8db488f33a48efdc568590503f374268b7c09d43df14c4 node-v8.1.1-sunos-x64.tar.xz
5a1ca06a07354bff17c618688ebc2950ed79236bff256d23df2952f181c94ece node-v8.1.1-sunos-x86.tar.gz
de9fff4f6dc221d86cef6a221988e222c56f704b3ee03b30d6d742c6f123f866 node-v8.1.1-sunos-x86.tar.xz
4794bce3da8d94f07febebe0609106c4b50debf65695c4ecb0ad727a0f202cb5 node-v8.1.1.tar.gz
7b0d176dc4a1db37789e009825ba03d2e3f834227e5efd296167e7ef6b287847 node-v8.1.1.tar.xz
bd9b864368c035a90bc386e63a70abcceaaad20bdda568765ee02fa4e1360056 node-v8.1.1-win-x64.7z
459f3b62e58f4fac3b9b5e49694855f338f3dcf2fcf955299ee2a47f7687625a node-v8.1.1-win-x64.zip
74d5b87313195aeee0613d479a6505363b6b31f8fd966fc0157554779460d705 node-v8.1.1-win-x86.7z
36c625dd804580ca0865e1ccb77a3368b9c09213e57c09ed5528534613beed57 node-v8.1.1-win-x86.zip
8f83ab727c26c78b520e80fd53d0bd66cfa35e6770528b05a4885ecee5aef779 node-v8.1.1-x64.msi
1cdb4faf6b06f24ad3be0347027e0b76abac2d36f690506b1ee4e991f1268a51 node-v8.1.1-x86.msi
1421bd1d15c123ed88fd48655307708c391c9a45d5d7e6f98ec196157c7ac0c4 win-x64/node.exe
2206985c8b40db70a49406ff702501fc7b007bfbca0a4c01568a7e5d6bf74ed0 win-x64/node.lib
ce97786fd9ae18e8717275eab6a35110793a538e23b150471c8231928b6b42c0 win-x64/node_pdb.7z
3c280b5c0c991501996c600b37f3add66954f6b8060b8e92383812d55ca5266e win-x64/node_pdb.zip
67c6aea3bd26389df72521677772f83f68e8cb7fe40db04f071a0b6ed55adbca win-x86/node.exe
fb7290712066afb3194820c17aa601c3add4e88515f563e0331ceed05ae4045f win-x86/node.lib
2c7e4f2cb1dfad1171786f80c6417f14ca41e356690ee65bb8594928e89aa657 win-x86/node_pdb.7z
d1c100fb2422284f6c3187634eb60151cc5f0566a78b420e74db8a8e4a27c178 win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----

iQEcBAEBCAAGBQJZQGYtAAoJEHNBsVwHCHesWdcH/AovvxBvdDvWPbiFj3I7SBxa
azZmlK2TJLzctieOStVVfdOasO4o8u7g6E9HnkrrFl0z92HDEsBKQZqpDH/x07BM
qKKkxMlMeXloLtDd0BOdIGwSBK7ClqSe2BYv3zDOwo8et5wnChPKAm0IvJHAySZK
9rymYM/j2fJZRjbHRtvB0WQulSkwYDhxV7xlQylqXl+kQi52wfrbgbuhh+6wqJ4o
zM4xN7jDb4X/wjQ+HDCF9YY7XXVOaEzqJjHotbIS9eIPybvW1Kx9icQ0N7f/u2qu
EptaUUvw9F7OT57O3MravtvzJCQoSQLzXI17cu/PY2ruOqS3R6l9mxt9II2E3Bc=
=xsHI
-----END PGP SIGNATURE-----

Node v8.1.0(현재 버전)

주요 변경사항

  • Async Hooks
    • Promise를 사용하여 새로운 Promise를 생성하게 되면, 생성 시에 사용된 부모 Promise는 트리거로 인식됩니다. [135f4e6643] #13367
  • Dependencies
  • File system
    • 이제 fs.exists() 함수가 util.promisify()와 함께 올바르게 작동합니다. [6e0eccd7a1] #13316
    • 이제 fs.Statstimes는 숫자로도 지정할 수 있습니다. [c756efb25a] #13173
  • Inspector
    • 이제 --inspect=0을 사용하여, 임의의 포트에 할당할 수 있습니다. [cc6ec2fb27] #5025
  • Zlib
    • zlib.Deflate와 기타 Zlib 클래스들을 적절하게 하위 클래스로 만들지 못하게 하는 Zlib 모듈의 회귀를 수정했습니다. [6aeb555cc4] #13374

Commits

Windows 32-bit Installer: https://nodejs.org/dist/v8.1.0/node-v8.1.0-x86.msi

Windows 64-bit Installer: https://nodejs.org/dist/v8.1.0/node-v8.1.0-x64.msi

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

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

macOS 64-bit Installer: https://nodejs.org/dist/v8.1.0/node-v8.1.0.pkg

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

Linux 32-bit Binary: https://nodejs.org/dist/v8.1.0/node-v8.1.0-linux-x86.tar.xz

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

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

Linux PPC BE 64-bit Binary: https://nodejs.org/dist/v8.1.0/node-v8.1.0-linux-ppc64.tar.xz

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

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

SunOS 32-bit Binary: https://nodejs.org/dist/v8.1.0/node-v8.1.0-sunos-x86.tar.xz

SunOS 64-bit Binary: https://nodejs.org/dist/v8.1.0/node-v8.1.0-sunos-x64.tar.xz

ARMv6 32-bit Binary: https://nodejs.org/dist/v8.1.0/node-v8.1.0-linux-arm64.tar.xz

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

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

Source Code: https://nodejs.org/dist/v8.1.0/node-v8.1.0.tar.gz

Other release files: https://nodejs.org/dist/v8.1.0/

Documentation: https://nodejs.org/docs/v8.1.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
55
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

53db5aea2ebea852be456ad5829b5d4bd7894bc40982bce247639b838543d574 node-v8.1.0-aix-ppc64.tar.gz
08af5f1a7441728cabf9b11af25da28ee1725903524968dd9621b885b13303c7 node-v8.1.0-darwin-x64.tar.gz
8c2583f95c223dae996310573611f6cc7212942b32ff653c2a88583c1edd629f node-v8.1.0-darwin-x64.tar.xz
38ce729d4b13d31e74f1ed8dd8b123b1e8aa015611eb6c7b3225a0677e9e38ef node-v8.1.0-headers.tar.gz
18b42870b145ea756e8539a9c27317f3e75d0b7638f3907ab29f67b2f96ca0e5 node-v8.1.0-headers.tar.xz
33c09d04b5e2637feda241e1c727b10249ed7114ad7807f8b70cbd8414747649 node-v8.1.0-linux-arm64.tar.gz
adf2f517c9847cbb5904b282c0819526b5264c256477ed5e4b258584daa1a2ea node-v8.1.0-linux-arm64.tar.xz
9c5ce836cd2a90bd1824620b10c75e4e9ec0e80c04d7b09aade2173f03bf61c7 node-v8.1.0-linux-armv6l.tar.gz
3bbca586b4d44c5458ff48c08d0437a6bad361f3550c801a28c46467e3bbe73f node-v8.1.0-linux-armv6l.tar.xz
12d75aa7d875115e03e62b1e65aba77902d9c810bfb81fe8c379c5667d8fa1e1 node-v8.1.0-linux-armv7l.tar.gz
8a7db124e9f8fb884e777a75410ff63f6247d26a9eb6dab2879f3d1eb67fa958 node-v8.1.0-linux-armv7l.tar.xz
d230f546a8162236bc4272013a53d8bc86b72c40fe94e972b39ac74ed0563eb8 node-v8.1.0-linux-ppc64le.tar.gz
cef948340af5901acc96e3fe35f05490ed171ffd27e6314cd994bc5fa94488b7 node-v8.1.0-linux-ppc64le.tar.xz
84654502cea0228cc427497ab6166b8bf74f368bf61336f1a18ec82ec8dd811a node-v8.1.0-linux-ppc64.tar.gz
fedac55c4e2a94ed117acd3606f44d15a7452fc84a8190163800de9141769d27 node-v8.1.0-linux-ppc64.tar.xz
01068a92c640e929ad6b41bfaa896edab5d774e9994e6dd27b7bdb3684daef78 node-v8.1.0-linux-s390x.tar.gz
8fb1e8335349324048236eafebd3c089791c183ef539fa6a5314ca7c77b5f056 node-v8.1.0-linux-s390x.tar.xz
b53d6ad443f970d62a61d927bd28d63dcd2e19520e6e767bc6cc44f2cd8a4885 node-v8.1.0-linux-x64.tar.gz
1638a0083c6eee122cbbefdf39cb8bcc43cf19fedff331a0317b05fd38dcb6df node-v8.1.0-linux-x64.tar.xz
26dfe0320634254c9e81a6535014a4860bed72c3c1dbd5b040405e4b3a872476 node-v8.1.0-linux-x86.tar.gz
e352251100e571fa179cbdeffefc49d9ff6d943cd3efad83913b6ac61730cfd4 node-v8.1.0-linux-x86.tar.xz
6950b83270e0e45ca7b9a59b66862131d0bdb6d90ec3e5dabb2ef691ac172cb0 node-v8.1.0.pkg
8f430673b416ff32366fcba5a2aad7cd8613d2ff042298da2eaad08ef90a7373 node-v8.1.0-sunos-x64.tar.gz
918c1cbceef1aa2dcd830bd551ecd99ff002d6a62c22f3896f508fbbe759be41 node-v8.1.0-sunos-x64.tar.xz
925cff411b8bce74a0043b7e8a32bcbeb0a29fdbb89426f3e83e15a6f78d032f node-v8.1.0-sunos-x86.tar.gz
edfce3fb335a3c9b374cc34a91986bb655cf1a618813b9b083588400dae6a206 node-v8.1.0-sunos-x86.tar.xz
6886d0891ee1a46c41f1095ffbbd6cb8871a1b18b61712b5bf7d6bf5018d64de node-v8.1.0.tar.gz
f2ff20b69b782dee85e887ad06e830590b2250856f6df325ed15a368bb6777fc node-v8.1.0.tar.xz
a4df11df8856d509e3e0fbea0c001a7f4fc37d51820eedc37c79d961d7d71410 node-v8.1.0-win-x64.7z
cee1fd1c828e8996824a2d9f9056dfae771b77c05b15ad015bc7f8800409215c node-v8.1.0-win-x64.zip
3dfaf8273a431b983d755506fdd387bc8aeff64812e577ee97a2228dd223789d node-v8.1.0-win-x86.7z
cf1f8de8fefa45478a7a238a9b119674e633eae06c1e44c3728dcdb0f47b6c88 node-v8.1.0-win-x86.zip
012a874bfecb470875732264a03aca6760667dbf32d447157ff5669ed862a529 node-v8.1.0-x64.msi
a059b7d0625875beeed10b15a0cf2e7f52c732e38a6e0cba48074ac1f24a5b5d node-v8.1.0-x86.msi
615acc82d274759059096f2549186d57702522208bf6c935cb133b95136c3aa2 win-x64/node.exe
8718284fd9fd2783d22c824884cb8a9f5fe02b35414aad399aeea156b6715f98 win-x64/node.lib
3b64b71d5df8020140dda4924ba45afbed4ddfe7ba63b88318a9e49d99cac326 win-x64/node_pdb.7z
240f35be168f5d89c893087362113ebcb7949f8284e48225e791d0360bceb880 win-x64/node_pdb.zip
7c675903a7f695f2e8b2078ef5805c85ad18f1eeaee30f35ac2ca018cafa1109 win-x86/node.exe
812617c64787287dc953e853466155fdd4d8687b8228af71ac43f6502f7cd9b7 win-x86/node.lib
0ea4fdd7a5b0c856134970cba1a6282ea0a30d2cde5c32bc3df6dc6d13b7baa5 win-x86/node_pdb.7z
1e2528eed30b005ff0cc9fb46596e4ce935ee6103440df44409053eea6e1a532 win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----

iQEcBAEBCAAGBQJZOfasAAoJEMJzeS99g1RdQ5IH/1t+8azgrue+cL/6y7capl1+
LQycAW1NOTB8WzjgTVSSAF03aw5D6sSCuKcrhk2vd3lWzx8tdJjXBPZ+fz1IEQ3q
nrf73cOc0lJV1h94orFBrj2SGcQBm7eRI4gsd/Msmi3cL3lsmWxrhbrfC/pCw/Gt
+uQiGpCv/4huuDAUUDzVaBD/WY1KIw3P6r65CjdKfuf9hpZWEFFNlz8zz//K0eOv
0cKy5fan1cCeb2u8kCKtdEcFV4s9dv0HqXutqQUJhU1p2vP1RfM//rzYey4Etjwq
n5Qm7Lmo2E75pk6B5GfFVEzX1kGVZRn25/LUnfcEk/0ww8axgJexNbnwh4YScuE=
=BysF
-----END PGP SIGNATURE-----

Node v6.11.0(LTS)

주요 변경사항

  • build:
    • mips64el 빌드를 지원합니다. (nanxiongchao) #10991
  • cluster:
    • disconnect()가 이제 연결이 끊긴 워커의 참조를 반환합니다. (Sean Villars) #10019
  • crypto:
    • 런타임에서 인증서 스토어를 선택할 수 있는 기능이 추가되었습니다. (Adam Majer) #8334
    • 내장된 CA 대신 시스템의 CA를 사용합니다. (Adam Majer) #8334
    • DeciphersetAuthTag()setAAD 메서드가 이제 this를 반환합니다. (Kirill Fomichev) #9398
    • OPENSSL_CONF 지원을 다시 추가했습니다. (Sam Roberts) #11006
    • LazyTransform이 Streams1와 호환성을 가집니다. (Matteo Collina) #12380
  • deps:
    • libuv를 1.11.0으로 업그레이드했습니다. (cjihrig) #11094
    • libuv를 1.10.2로 업그레이드했습니다. (cjihrig) #10717
    • libuv를 1.10.1로 업그레이드했습니다. (cjihrig) #9647
    • libuv를 1.10.0으로 업그레이드했습니다. (cjihrig) #9267
  • dns:
    • resolve4()resolve6()를 위해 {ttl: true}를 구현했습니다. (Ben Noordhuis) #9296
  • process:
    • NODE_NO_WARNINGS 환경 변수를 추가했습니다. (cjihrig) #10842
  • readline:
    • 히스토리에서 중복을 막는 옵션을 추가했습니다. (Danny Nemer) #2982
  • src:
    • 옵션이 끝났다는 의미로 “-e” 뒤에 "–"를 지원합니다. (John Barboza) #10651
  • tls:
    • 새로운 tls.TLSSocket()이 sec ctx 옵션을 지원합니다. (Sam Roberts) #11005
    • 명백한 key/passphrase 조합을 허용합니다. (Sam Roberts) #10294

Commits

Windows 32-bit Installer: https://nodejs.org/dist/v6.11.0/node-v6.11.0-x86.msi

Windows 64-bit Installer: https://nodejs.org/dist/v6.11.0/node-v6.11.0-x64.msi

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

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

macOS 64-bit Installer: https://nodejs.org/dist/v6.11.0/node-v6.11.0.pkg

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

Linux 32-bit Binary: https://nodejs.org/dist/v6.11.0/node-v6.11.0-linux-x86.tar.xz

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

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

Linux PPC BE 64-bit Binary: https://nodejs.org/dist/v6.11.0/node-v6.11.0-linux-ppc64.tar.xz

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

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

SunOS 32-bit Binary: https://nodejs.org/dist/v6.11.0/node-v6.11.0-sunos-x86.tar.xz

SunOS 64-bit Binary: https://nodejs.org/dist/v6.11.0/node-v6.11.0-sunos-x64.tar.xz

ARMv6 32-bit Binary: https://nodejs.org/dist/v6.11.0/node-v6.11.0-linux-armv6l.tar.xz

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

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

Source Code: https://nodejs.org/dist/v6.11.0/node-v6.11.0.tar.gz

Other release files: https://nodejs.org/dist/v6.11.0/

Documentation: https://nodejs.org/docs/v6.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
54
55
56
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

70e0d8d853f88d5178fba02d8516f58f26c0d52dbcc2bd5c979bc9bb35e38c77 node-v6.11.0-aix-ppc64.tar.gz
87a9a64000a58e46ebc38ea053fa732496e9909110a86440f51f6bc8dd1534da node-v6.11.0-darwin-x64.tar.gz
47803223d23d26937dcc3158c59f7615f86d906cc77532b8b80258ee3e6f60dd node-v6.11.0-darwin-x64.tar.xz
a82caf153b7649656bce64dec40d136008babbef419e35b2a83242049de44b23 node-v6.11.0-headers.tar.gz
b139a80bf85e8a6f50d9761c2c4353695c56e3c964772f1f554b7eeeb586b29b node-v6.11.0-headers.tar.xz
9f843c115fbcb8bb0f9ac4f0f1bd20156e0cd15dcea490b352ca10ddadc75de2 node-v6.11.0-linux-arm64.tar.gz
8f5df1bd8b690cde811d16fb9f5b33d64fad4049144557c9337a9dc6ec51fe6c node-v6.11.0-linux-arm64.tar.xz
db829105774adbde8dd030e7beec13fa5502f9cd75c2eb50ef4c5946649c6b6e node-v6.11.0-linux-armv6l.tar.gz
078b00a51a62267ceb505a260050183a175eed20d133429d2b514d24e67356f4 node-v6.11.0-linux-armv6l.tar.xz
8a81318a4d035469cfc85808cb30f6f644c7e5b4138361fb2c4b2fdb3c893896 node-v6.11.0-linux-armv7l.tar.gz
986a29afd909d2f563c8dca0830bf009529500bd74f2f249f6f62c637c1ce749 node-v6.11.0-linux-armv7l.tar.xz
2ecc4bf12d450e7c3b8d40f97edce457803ee658e6efa13fe2d82bc8b582d89f node-v6.11.0-linux-ppc64le.tar.gz
0ac439c6656da95f364a60933a127135c54bfdd65cdb1120717c19290a30ca2a node-v6.11.0-linux-ppc64le.tar.xz
51cbf250161ce2e07c1bbbd3b0ee05eba424f34d227c64009f161b10a20b3b88 node-v6.11.0-linux-ppc64.tar.gz
dce5a65b60989412f201da61b4bdace1cef056fb289ee4e042867180c80724c9 node-v6.11.0-linux-ppc64.tar.xz
0134c83a74a18c3cb44048cd856241a4a5c92bf4e06bb6026b21bac4c4f0ef61 node-v6.11.0-linux-s390x.tar.gz
571f07bf3d897d912d690b5609fc156aa70c03fbdfb536a4ded16eeed6b6fa49 node-v6.11.0-linux-s390x.tar.xz
2b0e1b06bf8658ce02c16239eb6a74b55ad92d4fb7888608af1d52b383642c3c node-v6.11.0-linux-x64.tar.gz
2f0c0833a1dc0d1d52ef42d275d40125c5163bf92d2a663139beef70896f544d node-v6.11.0-linux-x64.tar.xz
790cae8d5055aa174f2121d2ebb31bc08620d82fb5b7b9707df0859d2b24d869 node-v6.11.0-linux-x86.tar.gz
b409d26f5d4146bd2c0b872168cf85a9774c9a103aa0f78aab7161c745b1ea74 node-v6.11.0-linux-x86.tar.xz
e37386e4bcb20676e706ad21cd3aa86856f095bcd2c3d5acbad8d0dab56685fb node-v6.11.0.pkg
70709408014e5f87fe33426be54762d0b67545ad87a28a692e70617872cefadd node-v6.11.0-sunos-x64.tar.gz
ff194399cbc09a4cb98ef2499d7bc5814b158b61a7c800a1ec717f6067e0c503 node-v6.11.0-sunos-x64.tar.xz
058bc4635494dc40592aa07c2dbcb390fcb3d8daf78b155ac2787055a53cd562 node-v6.11.0-sunos-x86.tar.gz
73c136030edf29fdae3437898c0e0daf05c7a2c0dec6d6228361360c420c2d8e node-v6.11.0-sunos-x86.tar.xz
821f518c9b25b7dc52c4d87fce4dbf6df3227aba92f0d008ec9d1f32e5f603d9 node-v6.11.0.tar.gz
02ba35391edea2b294c736489af01954ce6e6c39d318f4423ae6617c69ef0a51 node-v6.11.0.tar.xz
335f5918cbebaf5a819fe575eee0cb1646625a09709416bc293e837b660d1800 node-v6.11.0-win-x64.7z
cc4c167825fbd0b182b53100e622e518f32fd32b29ce122ab0bf648645dfff34 node-v6.11.0-win-x64.zip
9bed6a3ce1fba503e54ef8f49a109b515f2f872037304edcc4c04eda1fff215b node-v6.11.0-win-x86.7z
61db6cc5a693cc87d51455cb57a323a8d6394c1c81eced72d260ca70dd9393fd node-v6.11.0-win-x86.zip
131786611782ff79acbb070db1fcd6f94b96534b54177baaae3e47f4af81d35d node-v6.11.0-x64.msi
ac945c06df15bccaac79b87f4422a324e06bdc4f629df6f1bdb9903764be3004 node-v6.11.0-x86.msi
3976e6bbcc0e4970517f9967cb986aa2c23f16a62f82f0efe475abfce6e15ddf win-x64/node.exe
3789d6bee43bada6591704a8702bc46dea2a103e8736681e229f45f906895153 win-x64/node.lib
ab2983f1112472fcdd1009a5f813a0e2ba85862ff0a66cd340eadf2cf2dad06f win-x64/node_pdb.7z
07f82eb6cde0e4bf7a1b0ac57adda653df71c8ea9663201ff8332437ad6a9b1c win-x64/node_pdb.zip
4c11c10ef5b74964ee6776cc9ca9cf85a3275761b5a81f1f239a6d91a58b5c95 win-x86/node.exe
2a9d89a648fadd3f11b21dd44ea24b7680e322f2e458b7f6dc9fa1fd24a1a42e win-x86/node.lib
1ebabe0454b56e5ecb21e3ac890e60909bc108da7ad0b03339bc270374427b9f win-x86/node_pdb.7z
13ac5e5aaa8eda7beea2853f3563bd9d98237c27fa8a46d225de18597dc0bbe5 win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----

iQEcBAEBCAAGBQJZNw/KAAoJEJM7AfQLXKlGnhAIAK2DHD/u1Uh2Z6aNRQQoqj7W
IhBttjVShOL5wnc0XJSVxSQMgaw1DgJCo+zISiw8pfytfRVW7Ea9kgWsw2Uh3f+5
yuZumYhv/wt/cmfnwYKXC85ATXJjyVGyPCl5kTYysdu5XEy004UiDzUl8Apy6tbK
siRlul5dSg2szswag5E4Jb3ZWNXeIIASiC5vM3PZk7K2DXwQZGDYs1RwiL10pyMK
AwGE9Pf10YC8fRK+BNF62R0nFIzpkli7HtggOuBaOuDCLluRmib2inxDZ4BvWdck
T5vX0Bt9pifLqf4PEuKw+LAKwMPKRvXw/lLQucpDyiRXL3D1ae5OwOnr82leEN4=
=6jU8
-----END PGP SIGNATURE-----

N-API: 네이티브 모듈을 위한 다음 세대의 Node.js API

이 글은 마이크로소프트 Chakra의 시니어 프로그램 매니저 Arunesh Chandra와 IBM의 Node.js 테크 리드 Michael Dawson이 작성했습니다.

Node.js는 활발한 모듈 생태계를 가지고 있고 이는 계속 성장하고 인기를 얻는 주요 원인입니다. 이 생태계는 자바스크립트와 네이티브 애드온 모듈을 포함하고 있습니다. 네이티브 모듈은 C/C++로 작성되었고 V8 또는 NAN API에 직접 의존합니다. 이 의존의 결과는 API/ABI의 안전성 보장의 결여와 모든 Node.js의 주요 릴리스의 재컴파일 또는 네이티브 애드온의 업데이트를 해야 합니다. 이 효과는 직/간접적으로 모듈 생태계의 약 30%에 영향을 미친다는 의견이 있습니다. 이는 네이티브 모듈 관리자의 유지보수 수고뿐만 아니라 제품에 아주 중요한 네이티브 코드 의존성을 가지고 있어 Node.js 버전을 업그레이드해야 하는 모듈 사용자에게도 주요 걸림돌이 됩니다.
다음 세대에는 네이티브 모듈을 위한 ABI-stable Node.js API 또는 N-API에 자바스크립트 VM 내의 네이티브 API를 위한 ABI-stable 추상 계층을 제공해 이 문제를 해결하는 것을 목표로 하고 있습니다. 이는 네이티브 모듈 작성자가 플랫폼마다 모듈을 컴파일하거나 설계하거나 N-API를 구현한 모든 버전의 Node.js에 모듈 사용이 가능하게 하도록 할 것입니다. 이를테면 Node-ChakraCore 같은 다른 VM과 함께 빌드된 버전의 Node.js에서도 마찬가지입니다.

오늘은 N-API가 Node.js 8.0내에서 사용 가능하다는 것을 알리게 되어 기쁘고, 전체 ABI의 안정화를 얻기 위한 Node.js의 여정의 중요한 이정표로 만들 것입니다. 이것은 긴 여정의 첫걸음이고 심화를 위해 더 많은 커뮤니티 참가자들을 초대할 것입니다. 이 시기는 네이티브 모듈 관리자가 N-API를 사용해보고 API와의 차이, 성능, 애드온 배포 작업 흐름 등의 피드백을 제공하기 매우 좋은 시기입니다.

데모 코드:

API는 어떤 모습인가요?

코어 API는 C API의 컬렉션처럼 사용 가능합니다. 아래 짤막한 코드는 API 모양과 에러 핸들링 조합을 보여줍니다. 모든 ABI는 성공 또는 장애를 나타내는 상태 코드를 반환하고, 반환 결과에 기타 파라미터를 선택적으로 제공하는 안정적인 API 패턴을 따릅니다.

1
NAPI_EXTERN napi_status napi_create_array(napi_env env, napi_value* result);

0이 아닌 상태 코드를 위해 추가적인 세부 사항은 아래 API 함수를 사용함으로써 얻을 수 있습니다.

1
NAPI_EXTERN napi_status napi_get_last_error_info(napi_env e, const napi_extended_error_info** result);

API 함수의 반환 값으로 상태 코드를 추가할 수 있고 VM이 던진 자바스크립트 예외를 다룰 수 있는 API가 있습니다.

1
2
3
NODE_EXTERN napi_status napi_is_exception_pending(napi_env e, bool* result);
NODE_EXTERN napi_status napi_get_and_clear_last_exception(napi_env e, napi_value* result);
NODE_EXTERN napi_status napi_throw(napi_env e, napi_value error);

N-API 함수의 세부 사항은 N-API 문서에서 확인하세요.

C-기반의 API는 N-API가 제공하는 표면 계층을 쉽게 이해하거나 ABI의 안전성의 유지를 쉽게 해주지만, 종종 C++ API를 이용하는 것이 간단할 때가 있습니다. 이런 경우를 지원하기 위해 그리고 NAN에서의 변경은 가능한 쉽게 하기 위해서 옵션으로 C API를 C로 감싸는 npm 모듈을 이용하는 것이 가능합니다. 이것은 N-API의 고려 대상이 아니고 전체적으로 내부에 삽입하기 위해 설계돼 N-API 외부의 추가적인 링크-타임 의존성이 전혀 없고 모듈 작성자는 동시에 ABI 안전성을 유지할 수 있습니다. 아래는 C와 C를 이용한 N-API 비교입니다.

C API

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#define CHECK_STATUS  
if (status != napi_ok) {
napi_throw_error(env, "N-API call failed");
return;
}
napi_value Shutdown(napi_env env, napi_callback_info info) {
napi_status status;
int s;
int how;
napi_value ret;
napi_value args[2];
size_t argc = 2;
status = napi_get_cb_info(env, info, &argc, args, NULL, NULL);
CHECK_STATUS;
status = napi_get_value_int32(env, args[0], &s);
CHECK_STATUS;
status = napi_get_value_int32(env, args[1], &how)
CHECK_STATUS;
status = napi_create_number(env, nn_shutdown(s, how), &ret);
CHECK_STATUS;
status = napi_set_return_value(env, info, ret);
CHECK_STATUS;
}

C++ Wrapper

1
2
3
4
5
Napi::Value Shutdown(const Napi::CallbackInfo& info) {  
int s = info[0]->As<Napi::Number>();
int how = info[1]->As<Napi::Number>();
return Napi::Number::New(info.Env(), nn_shutdown(s, how));
}

현재 상태: 실험적

Node.js 8.0버전 내의 N-API의 현재 상태는 실험적입니다. 그러나, 아래 차트를 보면 N-API는 V8 API를 사용한 상위 30개의 의존이 있는 모듈 중 5개 이상에서 100% 커버리지를 제공합니다. 커버리지에는 조금의 차이가 남아있지만 우리는 사람들이 사용해볼 만한 기반을 다졌다고 믿고 있습니다. 우리는 지금까지 N-API를 사용하기 위해 5개의 모듈(Node-Sass, Canvas, LevelDown, Nanomsg, IoTivity)을 이식했습니다. 이를 사용하려는 개발자들이 이식하려는 프로젝트를 위해 예제를 제공할 수 있습니다.

이전 버전의 Node 지원

N-API의 가치는 네이티브 모듈이 Node.js 버전을 교차 지원할 필요가 있을 때 빛납니다. 우리는 Node.js 8.0내에서 N-API가 안정된 후 오래된 Node.js LTS 라인으로 이식할 계획이 있습니다. 한편으로 node-addon-api 모듈은 구버전의 Node.js와 소스 호환성을 제공합니다. 자세한 사항은 저장소 내의 지침을 확인해주세요.

시작 방법

처음은 N-API의 상세 설명과 사용 예제 등이 있는 N-API 문서를 추천합니다. N-API를 대신 사용하는 NAN 애드온 예제를 보는 것이 도움이 될 것입니다. 덧붙여서 시작할 때 유용한 몇 가지 도구가 있습니다.

  • 당신의 기존 NAN-기반의 네이티브 애드온을 N-API로 전환해주는 이식 유틸리티가 있습니다. 100% 전환을 제공해주지는 않지만 쉽게 기존 프로젝트의 전환을 시작할 수 있도록 도와줍니다.

  • 만약 N-API와 네이티브 Node.js 애드온 프로젝트를 깨끗하게 새로 시작하고 싶다면 N-API 모듈을 위한 yeoman 생성자를 확인하세요. 프로젝트를 위해 필요한 발판을 생성해줄 것입니다.

  • N-API 모듈을 생성하거나 이전한 후에는 @n-api 태그와 함께 npm 저장소에 당신의 모듈을 공개하기 위한 과정을 추천합니다. 태그를 사용하면 당신의 N-API가 아닌 릴리스 순번에 영향을 미치지 않고 N-API 버전을 공개할 수 있습니다.

참여 방법

만약 여기까지 읽고 "오! 좋은데, 참여해 볼까?"라고 생각한다면 우리는 기쁠 것입니다. 아래를 포함한 여러 가지 방법으로 참여할 수 있습니다.

  • 문서 개선: 문서를 읽고 의견을 제공하세요. 우리는 문서를 깔끔하고 읽기 쉽게 만들려고 노력하고 있지만 모든 사람은 다른 견해를 가지고 있고 당신의 견해를 추가하는 것은 더 많은 독자에게 문서가 명확해지도록 만듭니다.

  • 이식된 모듈 사용하기: abi-stable-node 저장소에는 이미 언급된 N-API 검증 완료 이식 모듈을 포크할 수 있는 링크가 있습니다. 만약 우리가 제공한 N-API로 이식된 버전의 모듈 중 하나를 사용한 애플리케이션이 있다면 한번 사용해 보세요. 그리고 어떤 문제가 있든지 우리에게 알려주세요.

  • 테스트 커버리지 증진: 테스트 커버리지를 채우는 것은 N-API 함수의 세부 사항을 배우고 기여하기 좋은 방법입니다. coverage.node.org의 주 N-API 구현 파일(node_api.cc)코드 커버리지 결과와 커버리지가 좋지 않은 함수를 보는 것으로 시작하세요. 덧붙여, C++ 래퍼를 위한 테스트 커버리지를 추가하는 것으로도 도울 수 있습니다. N-API 팀은 전 영역의 커버리지를 증진하기 위해 노력하고 있지만, 커버리지 추가는 참여하기에 좋은 시작점입니다.

  • 모듈 이식: 좋아하는 모듈이나 유지하고 있는 하나 이상의 네이티브 모듈이 있나요? N-API로 이식하고 실험 버전으로 공개하는 것을 고려해주세요. 우리는 당신의 의견이 필요합니다. 더 다양한 이식된 모듈 세트와 사용할 준비가 되었다는 것은 우리가 옳은 API 표면 계층을 가졌다는 것을 확신하게 해줍니다. 이식에 관한 도움이 필요하다면 관리자가 함께 도울 수 있도록 우리에게 알려주세요.

  • N-API 작업 그룹 가입: N-API 나 C++ 래퍼를 구성하는 데 도움을 주세요. 큰 전진을 이뤄냈지만, 코드는 항상 더 많은 눈과 기여자들로부터 이익을 얻습니다. N-API와 함께한 경험이나 팀이 어떻게 일하고 있는지 듣고 싶다면 주간 회의에 참여하세요.

작업 중 어떤 문제를 발견한다면 [nodejs 저장소]에 n-api:란 머리말로 이슈를 열어주세요.

이 작업은 큰 커뮤니티 협력의 예입니다. 각각의 Node.js 기여자나 Google, IBM, Intel, Microsoft, nearForm, NodeSource의 참가자를 포함한 CTC 멤버의 참여가 없이는 가능하지 않았을 것입니다. 우리는 커뮤니티가 이 작업의 가치를 찾길 바라고 가까운 미래에 Node.js 생태계를 새로운 성장과 더 나은 플랫폼을 만들기를 기대합니다.

Node.js 8: 디버깅과 네이티브 모듈 생태계의 많은 개선점

오늘 Node.js 8.0.0을 발표했습니다. 이번 릴리스의 새로운 개선점과 기능들은 오늘날 Node.js 개발자들에게 최고의 작업흐름을 만들었습니다.
주목할만한 업데이트와 기능은 네이티브 모듈 개발자들을 위한 Node.js API와 async_hooks, 인스펙터를 위한 JS 바인딩, zero-filling 버퍼, util.promisify 등이 포함됩니다.

우리는 이제 Node.js 가지고 꽃길만 갑시다.

Node.js 8 릴리스는 현재 릴리스 라인에서 버전 7을 대체 합니다.
이 Node.js 릴리스 라인은 2017년 10월에 장기 지원(LTS) 릴리스가 될 것입니다. (조금 더 상세히 알고 싶다면 LTS 전략보기). LTS 릴리스 라인은 안정성과 보안에 집중하고 있으므로 기업에서 Node.js를 사용하거나 업그레이드 할 때 안정성을 보장받고자 하는 사람들에게는 가장 적합합니다.

안정성이 필요하고 복잡한 상용 환경들을 가지고 있는 곳들은 (즉 중대형 업체들) 상용에 업그레이드 하기 전에 Node.js 8이 LTS 로 갈 때까지 기다려야 합니다.

지금 우리는 이 PSA 를 제공했으니, 이번 릴리스에서 흥미로운 업데이트를 살펴보겠습니다.

네이티브 모듈러 생태계가 추진력을 얻음

많이 기다려온 Node.js API(N-API)가 이번 릴리스에서 실험적인 기능으로 추가 될 것입니다 - 플래그를 통해 사용할 수 있게 될 겁니다. 이것은 네이티브 모듈들이 있는 주요 릴리스 라인 사이에서 일어나는 손상을 제거할 수 있는 매우 중요한 기술입니다.

비록 네이티브 모듈들은(C나 C++로 작성되고 크롬 V8에 직접 바인딩 되어있음) 대규모의 모듈러 생태계의 일부분이지만 모든 모듈의 30%는 네이티브 모듈에 간접적으로 의존합니다. Node.js가 주요 릴리스를 매번 업데이트 할 때마다, 패키지 소유자는 이 의존성을 업데이트해야만 합니다.

이러한 노력은 Google, IBM, Intel, Microsoft, nearForm, NodeSource와 개인 기여자들의 많은 기여 없이는 불가능했을 것입니다. 이 노력과 기술들에 대해 자세히 알고 싶다면 여기를 읽어보세요.

네이티브 모듈을 구축하거나 사용하는 사람이라면 누구든지 N-API 기능을 테스트해야 합니다.

** V8 5.8을 환영합니다.**

Node.js 8은 성능과 개발자가 주로 보는 API의 주요 개선사항을 포함하고 있는 자바스크립트 런타임의 상당한 업데이트인 V8 5.8과 같이 나왔습니다. V8 5.8은 Node.js의 네이티브 추가 생태계의 안정성을 보증하기 위해 V8 5.9와 곧 나올 V8 6.0의 ABI 호환성을 보장합니다. Node.js 8이 있는 동안 Node.js 프로젝트는 5.9와 가능하면 6.0으로 이동할 계획입니다.

또한 V8 5.8 엔진을 사용하면 Node.js 애플리케이션들을 빠르게 시작하고 메모리 소모량도 적은 새로운 Turbofan과 Ignition 컴파일러 파이프라인으로 전환할 수 있습니다. V8의 이전 버전에서 이러한 기능들이 존재하지만 Turbofan과 Ignition은 V8 5.9에서 처음으로 기본설정이 될 것입니다. 새로운 컴파일러 파이프 라인은 이를 더 잘 수용하기 위해 Node.js 코어 기술 위원회(CTC)에서 Node.js 8 릴리스를 연기하기로 결정할 만큼 중대한 변화입니다.

버퍼 향상

zero-filling 버퍼(num)와 새로운 버퍼(num)가 기본적으로 추가되었습니다. zero-filling 버퍼의 이점은 정보 유출을 방지하기 위한 보안 및 개인 정보 보호에 도움이 됩니다. 그러나 이 버퍼의 단점은 사용하는 사람들이 성능을 발휘할 수 있도록 buffer.allocUnsafe()로 마이그레이션하여 피할 수 있다는 것입니다. Node.js 사용자들은 이러한 위험을 인식하고 그러한 문제들을 피하는 방법을 알고 있는 경우에만 이 기능을 사용하는 것이 좋습니다.

WHATWG URL 구문 분석기가 안정화되었습니다

WHATWG URL 구문 분석기는 실험적인 상태로 이 버전에서 완전하게 지원되며, 사람들이 규격을 준수하고 브라우저와 호환되는 URL 구문 분석기를 사용할 수 있습니다. 이 새로운 URL 구현은 Chrome, Firefox, Edge 및 Safari와 같은 최신 웹 브라우저에서 사용할 수 있는 URL 구현 및 API와 일치하며 URL을 사용하는 코드를 여러 환경에서 공유 할 수 있습니다.

npm5로 인해 성능, 보안과 인터페이스 향상

최근에 5.0.0 버전 릴리스를 발표한 npm 클라이언트의 주식회사 Npm과 우리는 Node.js 8 안에 새로운 버전이 포함돼서 기쁩니다.

패키지 설치와 버전 업데이트 같은 일반적인 패키지 관리 과제들은 지금 5배나 빨라졌습니다. lockfiles는 개발 환경 전반에 걸쳐 일관된 설치를 보장합니다. 그리고 자동 오류 복구 기능을 가진 복구 캐쉬는 손상된 다운로드를 방지합니다. npm 버전 5 또한 SHA-512 코드 검증을 도입하였습니다.

“npm이 2011년 Node.js와 함께 처음 나왔을 때부터, 우리의 목적은 개발자들의 마찰을 줄이고 사람들이 대단한 것들을 만드는 것을 도와 주는 것이었습니다. npm 5버전과 함께한 Node.js 8을 사용하는 것은 모듈러 소프트웨어 개발을 극적으로 빠르고 쉽게 만들어 줄 것입니다 - 최대의 성능 향상을 이룰 수 있습니다.” 라고 npm 주식회사의 CEO Isaac Z. Schlueter가 말했습니다. “우리는 Node.js 커뮤니티에 대한 우리의 헌신적인 노력과 혁신적인 제품을 시장에 나오기 위한 협력을 자랑스럽게 여깁니다. 저는 다음에 무엇이 나올지 기대됩니다.”

도구의 생태계와 디버깅에 대한 통찰력

이 릴리스는 새로운 트레이싱과 비동기 트랙킹 기능 같은 깊은 통찰력을 제공합니다. 실험적으로 ‘async_hooks’ 모듈은 (이전에는 ‘async_wrap’) Node.js 8에서 주요 업데이트를 받습니다. 이
진단 API는 비동기 요청을 트랙킹 하고 그것의 완전한 생명주기를 제어하여 개발자들이 Node.js 이벤트 루프에서의 동작을 모니터링 할 수 있게 하고 더 나은 진단 툴과 다른 유틸리티들을 활성화 할 수 있습니다.

이러한 추가 기능은 레거시 디버거를 제거하는 것(v7에 새로 추가된 최신 CLI 디버거로 대체)과 더불어 디버그를 손쉽게 할 수 있도록 하고 상업용 및 오픈 소스 툴 벤더가 성능 저하를 일으키는 애플리케이션의 성능 저하를 찾아낼 수 있도록 하기 위해 Node.js 내의 변경 사항을 추적합니다.

인스펙터를 위한 JS 바인딩과 같은 다른 실험적인 기능들도 이번 릴리스에 포함됩니다. 새로운 인스펙터 핵심 모듈은 개발자가 현재 실행 중인 자바스크립트 코드를 검사하기 위해 Chrome 인스펙터에서 사용하는 디버그 프로토콜을 활용할 수 있게 해 줍니다.

Promises를 위한 향상된 지원

Node.js는 API를 사용하여 콜백 API를 반환할 수 있도록 개발자가 콜백 API를 래핑 할 수 있는 새로운 util.promisify() API를 포함하고 있습니다.

주요 업데이트를 모두 보려면 기술 블로그를 보거나 여기를 읽어보시기 바랍니다.

Node.js 8: 디버깅과 네이티브 모듈 생태계의 많은 개선점

오늘 Node.js 8.0.0을 발표했습니다. 이번 릴리스의 새로운 개선점과 기능들은 오늘날 Node.js 개발자들에게 최고의 작업흐름을 만들었습니다.
주목할만한 업데이트와 기능은 네이티브 모듈 개발자들을 위한 Node.js API와 async_hooks, 인스펙터를 위한 JS 바인딩, zero-filling 버퍼, util.promisify 등이 포함됩니다.

우리는 이제 Node.js 가지고 꽃길만 갑시다.

Node.js 8 릴리스는 현재 릴리스 라인에서 버전 7을 대체 합니다.
이 Node.js 릴리스 라인은 2017년 10월에 장기 지원(LTS) 릴리스가 될 것입니다. (조금 더 상세히 알고 싶다면 LTS 전략보기). LTS 릴리스 라인은 안정성과 보안에 집중하고 있으므로 기업에서 Node.js를 사용하거나 업그레이드 할 때 안정성을 보장받고자 하는 사람들에게는 가장 적합합니다.

안정성이 필요하고 복잡한 상용 환경들을 가지고 있는 곳들은 (즉 중대형 업체들) 상용에 업그레이드 하기 전에 Node.js 8이 LTS 로 갈 때까지 기다려야 합니다.

지금 우리는 이 PSA 를 제공했으니, 이번 릴리스에서 흥미로운 업데이트를 살펴보겠습니다.

네이티브 모듈러 생태계가 추진력을 얻음

많이 기다려온 Node.js API(N-API)가 이번 릴리스에서 실험적인 기능으로 추가 될 것입니다 - 플래그를 통해 사용할 수 있게 될 겁니다. 이것은 네이티브 모듈들이 있는 주요 릴리스 라인 사이에서 일어나는 손상을 제거할 수 있는 매우 중요한 기술입니다.

비록 네이티브 모듈들은(C나 C++로 작성되고 크롬 V8에 직접 바인딩 되어있음) 대규모의 모듈러 생태계의 일부분이지만 모든 모듈의 30%는 네이티브 모듈에 간접적으로 의존합니다. Node.js가 주요 릴리스를 매번 업데이트 할 때마다, 패키지 소유자는 이 의존성을 업데이트해야만 합니다.

이러한 노력은 Google, IBM, Intel, Microsoft, nearForm, NodeSource와 개인 기여자들의 많은 기여 없이는 불가능했을 것입니다. 이 노력과 기술들에 대해 자세히 알고 싶다면 여기를 읽어보세요.

네이티브 모듈을 구축하거나 사용하는 사람이라면 누구든지 N-API 기능을 테스트해야 합니다.

** V8 5.8을 환영합니다.**

Node.js 8은 성능과 개발자가 주로 보는 API의 주요 개선사항을 포함하고 있는 자바스크립트 런타임의 상당한 업데이트인 V8 5.8과 같이 나왔습니다. V8 5.8은 Node.js의 네이티브 추가 생태계의 안정성을 보증하기 위해 V8 5.9와 곧 나올 V8 6.0의 ABI 호환성을 보장합니다. Node.js 8이 있는 동안 Node.js 프로젝트는 5.9와 가능하면 6.0으로 이동할 계획입니다.

또한 V8 5.8 엔진을 사용하면 Node.js 애플리케이션들을 빠르게 시작하고 메모리 소모량도 적은 새로운 Turbofan과 Ignition 컴파일러 파이프라인으로 전환할 수 있습니다. V8의 이전 버전에서 이러한 기능들이 존재하지만 Turbofan과 Ignition은 V8 5.9에서 처음으로 기본설정이 될 것입니다. 새로운 컴파일러 파이프 라인은 이를 더 잘 수용하기 위해 Node.js 코어 기술 위원회(CTC)에서 Node.js 8 릴리스를 연기하기로 결정할 만큼 중대한 변화입니다.

버퍼 향상

zero-filling 버퍼(num)와 새로운 버퍼(num)가 기본적으로 추가되었습니다. zero-filling 버퍼의 이점은 정보 유출을 방지하기 위한 보안 및 개인 정보 보호에 도움이 됩니다. 그러나 이 버퍼의 단점은 사용하는 사람들이 성능을 발휘할 수 있도록 buffer.allocUnsafe()로 마이그레이션하여 피할 수 있다는 것입니다. Node.js 사용자들은 이러한 위험을 인식하고 그러한 문제들을 피하는 방법을 알고 있는 경우에만 이 기능을 사용하는 것이 좋습니다.

WHATWG URL 구문 분석기가 안정화되었습니다

WHATWG URL 구문 분석기는 실험적인 상태로 이 버전에서 완전하게 지원되며, 사람들이 규격을 준수하고 브라우저와 호환되는 URL 구문 분석기를 사용할 수 있습니다. 이 새로운 URL 구현은 Chrome, Firefox, Edge 및 Safari와 같은 최신 웹 브라우저에서 사용할 수 있는 URL 구현 및 API와 일치하며 URL을 사용하는 코드를 여러 환경에서 공유 할 수 있습니다.

npm5로 인해 성능, 보안과 인터페이스 향상

최근에 5.0.0 버전 릴리스를 발표한 npm 클라이언트의 주식회사 Npm과 우리는 Node.js 8 안에 새로운 버전이 포함돼서 기쁩니다.

패키지 설치와 버전 업데이트 같은 일반적인 패키지 관리 과제들은 지금 5배나 빨라졌습니다. lockfiles는 개발 환경 전반에 걸쳐 일관된 설치를 보장합니다. 그리고 자동 오류 복구 기능을 가진 복구 캐쉬는 손상된 다운로드를 방지합니다. npm 버전 5 또한 SHA-512 코드 검증을 도입하였습니다.

“npm이 2011년 Node.js와 함께 처음 나왔을 때부터, 우리의 목적은 개발자들의 마찰을 줄이고 사람들이 대단한 것들을 만드는 것을 도와 주는 것이었습니다. npm 5버전과 함께한 Node.js 8을 사용하는 것은 모듈러 소프트웨어 개발을 극적으로 빠르고 쉽게 만들어 줄 것입니다 - 최대의 성능 향상을 이룰 수 있습니다.” 라고 npm 주식회사의 CEO Isaac Z. Schlueter가 말했습니다. “우리는 Node.js 커뮤니티에 대한 우리의 헌신적인 노력과 혁신적인 제품을 시장에 나오기 위한 협력을 자랑스럽게 여깁니다. 저는 다음에 무엇이 나올지 기대됩니다.”

도구의 생태계와 디버깅에 대한 통찰력

이 릴리스는 새로운 트레이싱과 비동기 트랙킹 기능 같은 깊은 통찰력을 제공합니다. 실험적으로 ‘async_hooks’ 모듈은 (이전에는 ‘async_wrap’) Node.js 8에서 주요 업데이트를 받습니다. 이
진단 API는 비동기 요청을 트랙킹 하고 그것의 완전한 생명주기를 제어하여 개발자들이 Node.js 이벤트 루프에서의 동작을 모니터링 할 수 있게 하고 더 나은 진단 툴과 다른 유틸리티들을 활성화 할 수 있습니다.

이러한 추가 기능은 레거시 디버거를 제거하는 것(v7에 새로 추가된 최신 CLI 디버거로 대체)과 더불어 디버그를 손쉽게 할 수 있도록 하고 상업용 및 오픈 소스 툴 벤더가 성능 저하를 일으키는 애플리케이션의 성능 저하를 찾아낼 수 있도록 하기 위해 Node.js 내의 변경 사항을 추적합니다.

인스펙터를 위한 JS 바인딩과 같은 다른 실험적인 기능들도 이번 릴리스에 포함됩니다. 새로운 인스펙터 핵심 모듈은 개발자가 현재 실행 중인 자바스크립트 코드를 검사하기 위해 Chrome 인스펙터에서 사용하는 디버그 프로토콜을 활용할 수 있게 해 줍니다.

Promises를 위한 향상된 지원

Node.js는 API를 사용하여 콜백 API를 반환할 수 있도록 개발자가 콜백 API를 래핑 할 수 있는 새로운 util.promisify() API를 포함하고 있습니다.

주요 업데이트를 모두 보려면 기술 블로그를 보거나 여기를 읽어보시기 바랍니다.

Node v8.0.0(현재 버전)

Node.js의 다음 주요 릴리스에는 중요한 변경 및 추가 사항이 포함되어 있습니다.
이런 블로그 글에서 제대로 다루기에는 내용이 너무 많습니다.
이 글에서는 중요한 변경사항과 기능을 간단히 정리했습니다.

npm 5.0.0 버전 도입

npm, Inc에서 최근 npm 클라이언트 5.0.0 버전의
릴리스를 발표했고
Node.js 8.0.0에서 이 중요한 새 버전을 포함하게 되었습니다.

V8 5.8 도입

Node.js 8.0.0은 개발자가 사용하는 API와 성능 면에서 큰 향상을 이룬 JavaScript 런타임의
새 버전인 V8 5.8을 사용합니다. Node.js 개발자에게 가장 중요한 점은 V8 5.8은 V8 5.9,
Node.js 네이티브 애드온 환경의 안전성을 보장할 V8 6.0과 ABI 호환성을 보장한다는 점입니다.
Node.js 8에서 5.9로 이동할 계획을 세우고 있고 가능하다면 6.0까지도 갈 것입니다.

V8 5.8 엔진은 모든 Node.js 애플리케이션에 상당한 성능 최적화를 제공하는 새로운
TurboFan + Ignition
컴파일러 파이프라인으로의 지연된 전환을 설정하는 것도 돕고 있습니다. 이 파이프라인은 이전 버전의
V8에도 있었지만 TurboFan과 Ignition은 V8 5.9에서 처음으로 활성화가 기본적으로 될 것입니다.
이 새로운 컴파일러 파이프라인은 이를 더 잘 적용할 수 있도록 Node.js 코어 기술 위원회(CTC)가
원래 4월에 예정되었던 Node.js 8 릴리스를 연기할 정도로 중요한 변경사항입니다.

Node.js API(N-API) 도입

네이티브 애드온을 사용하거나 만드는 Node.js 개발자에게 새롭고 실험적인 Node.js API(N-API)는
네이티브 애드온을 한 시스템에서 컴파일하고 나면 다양한 버전의 Node.js에서 사용할 수 있게 하는 기존
Node.js 네이티브 추상화(nan)를 뛰어넘는
큰 향상을 보여줍니다.

새로운 가상머신에 의존하지 않는 애플리케이션 바이너리 인터페이스(ABI)를 제공함으로써 네이티브
애드온이 다양한 버전의 V8 자바스크립트 런타임뿐만 아니라 Microsoft의 Chakra-Core 런타임에서도
동작하게 되었습니다.

Node.js 8.0.0에서 N-API는 실험단계이므로
구현체와 API에서 많은 변경이 있을 것입니다. 네이티브 애드온 개발자에게는 최대한 빨리
이 API로 작업해보기를 권장하고
새로운 API가 생태계의 요구를 충족할 수 있도록 피드백을 주었으면 합니다.

async_hooks 도입

실험적인 async_hooks 모듈(이전에는 async_wrap)은 8.0.0에서 크게 업그레이드되었습니다.
개발자들이 이 진단 API로 Node.js 이벤트 루프의 작업을 모니터링하고 비동기 요청을 추적하고 전체
생명주기에 걸쳐서 조작할 수 있게 되었습니다. 새 모듈의
전체 문서는 아직 작업중이고
실험적인 모듈이므로 사용자는 아주 신중히 사용해야 합니다.

Buffer 변경사항

Node.js의 Buffer API에서 다수의 중요 변경사항이 생겼습니다. 폐기예정인 Buffer(num)
생성자를 호출하면(new 키워드를 사용하든 하지 않든) 0으로 채워진 Buffer 인스턴스가 반환된다는
것이 가장 중요한 부분입니다. 이전 버전의 Node.js에서는 초기화되지 않은 메모리를 반환해서
이 메모리에 민감한 데이터를 포함될 가능성이 있었습니다.

Node.js 6.0.0에서 다수의 보안 문제와
사용성 문제를 해결하려고 Buffer(num) 생성자 호출 대신 사용하는 새로운 Buffer 생성자 메서드가
도입되었습니다.
하지만 기존 생성자가 Node.js 생태계에서 광범위하게 사용되므로 호환성을 크게 깨뜨리지 않고
이를 완전히 폐기하거나 사용할 수 없도록 할 수 없었습니다.

기본 동작인 Buffer(num)의 0으로 채워진 새 인스턴스는 성능에 큰 영향을 줄 것입니다.
초기화하지 않은 메모리로 Buffer 인스턴스를 할당하고 싶은 개발자는 새로운
Buffer.allocUnsafe(num)로 바꾸어야 합니다. Node.js 8에서 0으로 채워지거나
초기화하지 않은 Buffer 생성의 예시는 아래 나와 있습니다.

Console 변경사항

Node.js의 console 모듈에서 사용할 수 있는 console.log(), console.error() 등의
메서드로 애플리케이션이 stdout, stderr, 파이프에 직접 출력할 수 있습니다. 기존에는 의존하는
스트림에 console 출력을 작성하다가 오류가 발생하면 Node.js 애플리케이션에 크래시가 발생했습니다.
8.0.0부터는 이러한 에러를 아무런 경고 없이 무시해서 console.log()와 그 외 API를 안전하게
사용할 수 있게 했습니다. Console 생성자에 ignoreErrors 옵션을 전달하면 오류와 관련된
레거시 동작을 유지할 수 있게 될 것입니다.

정적 오류 코드

Node.js가 만드는 모든 오류에 정적 오류 코드를 할당하는 작업을 시작했습니다. 모든 오류에 코드를
할당하는 데는 시간이 걸릴 것이지만 일부는 8.0.0에 적용되었습니다. 오류의 형식이나 메시지가
변경되더라도 이 오류 코드는 변경되지 않음을 보장합니다.

코드는 두 가지 방법으로 사용자에게 표시됩니다.

  • Error 객체 인스턴스에서 code 프로퍼티를 사용하는 경우
  • Error의 스택 트레이스에서 [ERR_CODE]를 출력하는 경우

예를 들어 assert(false)를 호출하면 다음의 AssertionError를 생성할 것입니다.

프로세스 경고의 리다이렉트

--redirect-warnings={file} 명령행 인자나 이와 같은 NODE_REDIRECT_WARNINGS={file}
환경 변수를 사용하면 폐기예정 같은 프로세스 경고를 이제 파일로 리다이렉트할 수 있습니다.
기본 동작인 stderr에 경고를 출력하는 대신 경고를 지정한 파일에 작성해서 애플리케이션의
기본 출력과 분리해서 분석할 수 있게 되었습니다.

Stream API 개선

Stream API 사용자를 위해 Stream 인스턴스를 제거하고 종료하는 새로운 표준 방법을 추가했습니다.
모든 Stream 인스턴스는 이제 destroy() 메서드를 상속받고 이 구현체는 _destroy()
메서드의 커스텀 구현체를 제공해서 커스터마이징하거나 확장할 수 있습니다.

디버거 변경사항

레거시 명령행 디버거는 Node.js 8에서 제거되었습니다. 명령행 대체재로 node-inspect가 Node.js
런타임에 바로 통합되었습니다. 게다가 Node.js 6에서 실험적인 기능으로 도입된 V8 Inspector 디버거가
완전히 지원되는 기능으로 업그레이드되었습니다.

장기 지원

Node.js 8은 장기 지원(LTS)에 들어가는 차기 릴리스 라인입니다. 이는 2017년 10월로 예정되어 있습니다.
Node.js 8이 LTS로 바뀌고 나면 Carbon 코드명을 받을 것입니다.

Node.js Long Term Support Schedule

Node.js 릴리스 버전을 언급할 때 Node.js 8에서는 "v"를 뺐습니다. 이전 버전은 보통
v0.10, v0.12, v4, v6 등으로 불렀습니다. 의존하는 JavaScript 엔진인 V8과의 혼동을 피하고자
"v"를 빼고 Node.js 8이라고 부릅니다.

주요 변경사항

  • Async Hooks

  • Buffer

    • --pending-deprecation 플래그를 사용하면 new Buffer(num)Buffer(num)
      사용할 때 Node.js가 폐기예정 경고를 보여줍니다.
      [d2d32ea5a2]
      #11968.
    • new Buffer(num)Buffer(num)는 새로운 Buffer 인스턴스를 0으로 채웁니다.
      [7eb1b4658e]
      #12141.
    • 많은 Buffer 메서드가 이제 Uint8Array를 입력으로 받습니다.
      [beca3244e2]
      #10236.
  • Child Process

  • Console

    • console 메서드를 사용하다가 발생한 Error 이벤트는 이제 감춥니다.
      [f18e08d820]
      #9744.
  • Dependencies

    • npm 클라이언트를 5.0.0으로 업데이트했습니다.
      [c58cea5]
      #13276.
    • V8을 5.8로 업데이트해서 ABI 안정성을 6.0까지 유지합니다.
      [60d1aac8d2]
      #12784.
  • Domains

    • 네이티브 Promise 인스턴스가 이제 Domain을 인식합니다.
      [84dabe8373]
      #12489.
  • Errors

    • Node.js가 생성한 오류에 정적 오류 코드를 할당하기 시작했습니다. 이는 다수의 커밋으로
      진행되었고 아직도 작업 중입니다.
  • File System

    • 유틸리티 클래스 fs.SyncWriteStream이 폐기예정이 되었습니다.
      [7a55e34ef4]
      #10467.
    • 폐기예정이던 fs.read() 문자열 인터페이스를 제거했습니다.
      [3c2a9361ff]
      #9683.
  • HTTP

    • 사용자가 구현한 에이전트에 대한 지원을 개선했습니다.
      [90403dd1d0]
      #11567.
    • 밖으로 나가는 Cookie 헤더를 하나의 문자열로 연결했습니다.
      [d3480776c7]
      #11259.
    • httpResponse.writeHeader() 메서드가 폐기예정이 되었습니다.
      [fb71ba4921]
      #11355.
    • HTTP 헤더에 접근하는 새로운 메서드를 OutgoingMessage에 추가했습니다.
      [3e6f1032a4]
      #10805.
  • Lib

    • 모든 폐기예정 메시지에 정적 식별자를 할당했습니다.
      [5de3cf099c]
      #10116.
    • 레거시 linkedlist 모듈을 제거했습니다.
      [84a23391f6]
      #12113.
  • N-API

    • 새로 추가된 N-API API를 실험적으로 지원합니다.
      [56e881d0b0]
      #11975.
  • Process

    • --redirect-warnings 명령행 인자를 사용해서 프로세스 경고 출력을 파일로 리다이렉트할 수 있습니다.
      [03e89b3ff2]
      #10116.
    • 프로세스 경고가 이제 부가 정보를 포함할 수 있습니다.
      [dd20e68b0f]
      #12725.
  • REPL

  • Src

    • NODE_MODULE_VERSION을 57로 업데이트했습니다.
      [ec7cbaf266]
      #12995.
    • --pending-deprecation 명령행 인자와 NODE_PENDING_DEPRECATION 환경변수를
      추가했습니다.
      [a16b570f8c]
      #11968.
    • --debug 명령행 인자가 폐기예정이 되었습니다. Node.js가 이전에 사용하던 레거시 Debugger
      프로토콜이 제거되었으므로 --debug를 사용하면 새로운 Inspector에 기반을 둔
      디버그 프로토콜을 활성화할 것입니다.
      [010f864426]
      #12949.
    • -c-e 명령행 인자를 동시에 사용하면 예외를 던집니다.
      [a5f91ab230]
      #11689.
    • --use-bundled-ca--use-openssl-ca 명령행 인자를 동시에 사용하면 예외를 던집니다.
      [8a7db9d4b5]
      #12087.
  • Stream

  • TLS

    • rejectUnauthorized 옵션의 기본이 이제 true가 되었습니다.
      [348cc80a3c]
      #5923.
    • tls.createSecurePair() API는 이제 런타임 폐기예정을 발생시킵니다.
      [a2ae08999b]
      #11349.
    • dhparam이 2048비트보다 적으면 런타임 폐기예정이 발생할 것입니다.
      [d523eb9c40]
      #11447.
  • URL

    • WHATWG URL 구현체가 이제 완전히 지원되는 Node.js API입니다.
      [d080ead0f9]
      #12710.
  • Util

    • util.inspect()를 사용할 때 Symbol 키가 기본적으로 보입니다.
      [5bfd13b81e]
      #9726.
    • %j를 포매팅할 때 toJSON 오류를 던질 것입니다.
      [455e6f1dd8]
      #11708.
    • inspect.stylesinspect.colors를 prototype이 없는 객체로 변경했습니다.
      [aab0d202f8]
      #11624.
    • 새로운 util.promisify() API를 추가했습니다.
      [99da8e8e02]
      #12442.
  • Zlib

    • Zlib에서 편의 메서드 Uint8Array를 지원합니다.
      [91383e47fd]
      #12001.
    • Zlib 오류가 이제 시종일관 RangeErrorTypeError를 사용합니다.
      [b514bd231e]
      #11391.

Commits

Semver-Major Commits

  • [e48d58b8b2] - (SEMVER-MAJOR) assert: fix AssertionError, assign error code (James M Snell) #12651
  • [758b8b6e5d] - (SEMVER-MAJOR) assert: improve assert.fail() API (Rich Trott) #12293
  • [6481c93aef] - (SEMVER-MAJOR) assert: add support for Map and Set in deepEqual (Joseph Gentle) #12142
  • [efec14a7d1] - (SEMVER-MAJOR) assert: enforce type check in deepStrictEqual (Joyee Cheung) #10282
  • [562cf5a81c] - (SEMVER-MAJOR) assert: fix premature deep strict comparison (Joyee Cheung) #11128
  • [0af41834f1] - (SEMVER-MAJOR) assert: fix misformatted error message (Rich Trott) #11254
  • [190dc69c89] - (SEMVER-MAJOR) benchmark: add parameter for module benchmark (Brian White) #10789
  • [b888bfe81d] - (SEMVER-MAJOR) benchmark: allow zero when parsing http req/s (Brian White) #10558
  • [f53a6fb48b] - (SEMVER-MAJOR) benchmark: add http header setting scenarios (Brian White) #10558
  • [d2d32ea5a2] - (SEMVER-MAJOR) buffer: add pending deprecation warning (James M Snell) #11968
  • [7eb1b4658e] - (SEMVER-MAJOR) buffer: zero fill Buffer(num) by default (James M Snell) #12141
  • [682573c11d] - (SEMVER-MAJOR) buffer: remove error for malformatted hex string (Rich Trott) #12012
  • [9a0829d728] - (SEMVER-MAJOR) buffer: stricter argument checking in toString (Nikolai Vavilov) #11120
  • [beca3244e2] - (SEMVER-MAJOR) buffer: allow Uint8Array input to methods (Anna Henningsen) #10236
  • [3d353c749c] - (SEMVER-MAJOR) buffer: consistent error for length > kMaxLength (Joyee Cheung) #10152
  • [bf5c309b5e] - (SEMVER-MAJOR) build: fix V8 build on FreeBSD (Michaël Zasso) #12784
  • [a1028d5e3e] - (SEMVER-MAJOR) build: remove cares headers from tarball (Gibson Fahnestock) #10283
  • [d08836003c] - (SEMVER-MAJOR) build: build an x64 build by default on Windows (Nikolai Vavilov) #11537
  • [92ed1ab450] - (SEMVER-MAJOR) build: change nosign flag to sign and flips logic (Joe Doyle) #10156
  • [97a77288ce] - (SEMVER-MAJOR) child_process: improve ChildProcess validation (cjihrig) #12348
  • [a9111f9738] - (SEMVER-MAJOR) child_process: minor cleanup of internals (cjihrig) #12348
  • [d75fdd96aa] - (SEMVER-MAJOR) child_process: improve killSignal validations (Sakthipriyan Vairamani (thefourtheye)) #10423
  • [4cafa60c99] - (SEMVER-MAJOR) child_process: align fork/spawn stdio error msg (Sam Roberts) #11044
  • [3268863ebc] - (SEMVER-MAJOR) child_process: add string shortcut for fork stdio (Javis Sullivan) #10866
  • [8f3ff98f0e] - (SEMVER-MAJOR) child_process: allow Infinity as maxBuffer value (cjihrig) #10769
  • [627ecee9ed] - (SEMVER-MAJOR) child_process: support Uint8Array input to methods (Anna Henningsen) #10653
  • [fc7b0dda85] - (SEMVER-MAJOR) child_process: improve input validation (cjihrig) #8312
  • [49d1c366d8] - (SEMVER-MAJOR) child_process: remove extra newline in errors (cjihrig) #9343
  • [f18e08d820] - (SEMVER-MAJOR) console: do not emit error events (Anna Henningsen) #9744
  • [a8f460f12d] - (SEMVER-MAJOR) crypto: support all ArrayBufferView types (Timothy Gu) #12223
  • [0db49fef41] - (SEMVER-MAJOR) crypto: support Uint8Array prime in createDH (Anna Henningsen) #11983
  • [443691a5ae] - (SEMVER-MAJOR) crypto: fix default encoding of LazyTransform (Lukas Möller) #8611
  • [9f74184e98] - (SEMVER-MAJOR) crypto: upgrade pbkdf2 without digest to an error (James M Snell) #11305
  • [e90f38270c] - (SEMVER-MAJOR) crypto: throw error in CipherBase::SetAutoPadding (Kirill Fomichev) #9405
  • [1ef401ce92] - (SEMVER-MAJOR) crypto: use check macros in CipherBase::SetAuthTag (Kirill Fomichev) #9395
  • [7599b0ef9d] - (SEMVER-MAJOR) debug: activate inspector with _debugProcess (Eugene Ostroukhov) #11431
  • [549e81bfa1] - (SEMVER-MAJOR) debugger: remove obsolete _debug_agent.js (Rich Trott) #12582
  • [3c3b36af0f] - (SEMVER-MAJOR) deps: upgrade npm beta to 5.0.0-beta.56 (Kat Marchán) #12936
  • [6690415696] - (SEMVER-MAJOR) deps: cherry-pick a927f81c7 from V8 upstream (Anna Henningsen) #11752
  • [60d1aac8d2] - (SEMVER-MAJOR) deps: update V8 to 5.8.283.38 (Michaël Zasso) #12784
  • [b7608ac707] - (SEMVER-MAJOR) deps: cherry-pick node-inspect#43 (Ali Ijaz Sheikh) #11441
  • [9c9e2d7f4a] - (SEMVER-MAJOR) deps: backport 3297130 from upstream V8 (Michaël Zasso) #11752
  • [07088e6fc1] - (SEMVER-MAJOR) deps: backport 39642fa from upstream V8 (Michaël Zasso) #11752
  • [8394b05e20] - (SEMVER-MAJOR) deps: cherry-pick c5c570f from upstream V8 (Michaël Zasso) #11752
  • [fcc58bf0da] - (SEMVER-MAJOR) deps: cherry-pick a927f81c7 from V8 upstream (Anna Henningsen) #11752
  • [83bf2975ec] - (SEMVER-MAJOR) deps: cherry-pick V8 ValueSerializer changes (Anna Henningsen) #11752
  • [c459d8ea5d] - (SEMVER-MAJOR) deps: update V8 to 5.7.492.69 (Michaël Zasso) #11752
  • [7c0c7baff3] - (SEMVER-MAJOR) deps: fix gyp configuration for v8-inspector (Michaël Zasso) #10992
  • [00a2aa0af5] - (SEMVER-MAJOR) deps: fix gyp build configuration for Windows (Michaël Zasso) #10992
  • [b30ec59855] - (SEMVER-MAJOR) deps: switch to v8_inspector in V8 (Ali Ijaz Sheikh) #10992
  • [7a77daf243] - (SEMVER-MAJOR) deps: update V8 to 5.6.326.55 (Michaël Zasso) #10992
  • [c9e5178f3c] - (SEMVER-MAJOR) deps: hide zlib internal symbols (Sam Roberts) #11082
  • [2739185b79] - (SEMVER-MAJOR) deps: update V8 to 5.5.372.40 (Michaël Zasso) #9618
  • [f2e3a670af] - (SEMVER-MAJOR) dgram: convert to using internal/errors (Michael Dawson) #12926
  • [2dc1053b0a] - (SEMVER-MAJOR) dgram: support Uint8Array input to send() (Anna Henningsen) #11985
  • [32679c73c1] - (SEMVER-MAJOR) dgram: improve signature of Socket.prototype.send (Christopher Hiller) #10473
  • [5587ff1ccd] - (SEMVER-MAJOR) dns: handle implicit bind DNS errors (cjihrig) #11036
  • [eb535c5154] - (SEMVER-MAJOR) doc: deprecate vm.runInDebugContext (Josh Gavant) #12243
  • [75c471a026] - (SEMVER-MAJOR) doc: drop PPC BE from supported platforms (Michael Dawson) #12309
  • [86996c5838] - (SEMVER-MAJOR) doc: deprecate private http properties (Brian White) #10941
  • [3d8379ae60] - (SEMVER-MAJOR) doc: improve assert.md regarding ECMAScript terms (Joyee Cheung) #11128
  • [d708700c68] - (SEMVER-MAJOR) doc: deprecate buffer’s parent property (Sakthipriyan Vairamani (thefourtheye)) #8332
  • [03d440e3ce] - (SEMVER-MAJOR) doc: document buffer.buffer property (Sakthipriyan Vairamani (thefourtheye)) #8332
  • [f0b702555a] - (SEMVER-MAJOR) errors: use lazy assert to avoid issues on startup (James M Snell) #11300
  • [251e5ed8ee] - (SEMVER-MAJOR) errors: assign error code to bootstrap_node created error (James M Snell) #11298
  • [e75bc87d22] - (SEMVER-MAJOR) errors: port internal/process errors to internal/errors (James M Snell) #11294
  • [76327613af] - (SEMVER-MAJOR) errors, child_process: migrate to using internal/errors (James M Snell) #11300
  • [1c834e78ff] - (SEMVER-MAJOR) errors,test: migrating error to internal/errors (larissayvette) #11505
  • [2141d37452] - (SEMVER-MAJOR) events: update and clarify error message (Chris Burkhart) #10387
  • [221b03ad20] - (SEMVER-MAJOR) events, doc: check input in defaultMaxListeners (DavidCai) #11938
  • [eed87b1637] - (SEMVER-MAJOR) fs: (+/-)Infinity and NaN invalid unixtimestamp (Luca Maraschi) #11919
  • [71097744b2] - (SEMVER-MAJOR) fs: more realpath*() optimizations (Brian White) #11665
  • [6a5ab5d550] - (SEMVER-MAJOR) fs: include more fs.stat*() optimizations (Brian White) #11665
  • [1c3df96570] - (SEMVER-MAJOR) fs: replace regexp with function (Brian White) #10789
  • [34c9fc2e4e] - (SEMVER-MAJOR) fs: avoid multiple conversions to string (Brian White) #10789
  • [21b2440176] - (SEMVER-MAJOR) fs: avoid recompilation of closure (Brian White) #10789
  • [7a55e34ef4] - (SEMVER-MAJOR) fs: runtime deprecation for fs.SyncWriteStream (James M Snell) #10467
  • [b1fc7745f2] - (SEMVER-MAJOR) fs: avoid emitting error EBADF for double close (Matteo Collina) #11225
  • [3c2a9361ff] - (SEMVER-MAJOR) fs: remove fs.read’s string interface (Nikolai Vavilov) #9683
  • [f3cf8e9808] - (SEMVER-MAJOR) fs: do not pass Buffer when toString() fails (Brian White) #9670
  • [85a4e25775] - (SEMVER-MAJOR) http: add type checking for hostname (James M Snell) #12494
  • [90403dd1d0] - (SEMVER-MAJOR) http: should support userland Agent (fengmk2) #11567
  • [d3480776c7] - (SEMVER-MAJOR) http: concatenate outgoing Cookie headers (Brian White) #11259
  • [6b2cef65c9] - (SEMVER-MAJOR) http: append Cookie header values with semicolon (Brian White) #11259
  • [8243ca0e0e] - (SEMVER-MAJOR) http: reuse existing StorageObject (Brian White) #10941
  • [b377034359] - (SEMVER-MAJOR) http: support old private properties and function (Brian White) #10941
  • [940b5303be] - (SEMVER-MAJOR) http: use Symbol for outgoing headers (Brian White) #10941
  • [fb71ba4921] - (SEMVER-MAJOR) http: docs-only deprecation of res.writeHeader() (James M Snell) #11355
  • [a4bb9fdb89] - (SEMVER-MAJOR) http: include provided status code in range error (cjihrig) #11221
  • [fc7025c9c0] - (SEMVER-MAJOR) http: throw an error for unexpected agent values (brad-decker) #10053
  • [176cdc2823] - (SEMVER-MAJOR) http: misc optimizations and style fixes (Brian White) #10558
  • [73d9445782] - (SEMVER-MAJOR) http: try to avoid lowercasing incoming headers (Brian White) #10558
  • [c77ed327d9] - (SEMVER-MAJOR) http: avoid using object for removed header status (Brian White) #10558
  • [c00e4adbb4] - (SEMVER-MAJOR) http: optimize header storage and matching (Brian White) #10558
  • [ec8910bcea] - (SEMVER-MAJOR) http: check statusCode early (Brian White) #10558
  • [a73ab9de0d] - (SEMVER-MAJOR) http: remove pointless use of arguments (cjihrig) #10664
  • [df3978421b] - (SEMVER-MAJOR) http: verify client method is a string (Luca Maraschi) #10111
  • [90476ac6ee] - (SEMVER-MAJOR) lib: remove _debugger.js (Ben Noordhuis) #12495
  • [3209a8ebf3] - (SEMVER-MAJOR) lib: ensure --check flag works for piped-in code (Teddy Katz) #11689
  • [c67207731f] - (SEMVER-MAJOR) lib: simplify Module._resolveLookupPaths (Brian White) #10789
  • [28dc848e70] - (SEMVER-MAJOR) lib: improve method of function calling (Brian White) #10789
  • [a851b868c0] - (SEMVER-MAJOR) lib: remove sources of permanent deopts (Brian White) #10789
  • [62e96096fa] - (SEMVER-MAJOR) lib: more consistent use of module.exports = {} model (James M Snell) #11406
  • [88c3f57cc3] - (SEMVER-MAJOR) lib: refactor internal/socket_list (James M Snell) #11406
  • [f04387e9f2] - (SEMVER-MAJOR) lib: refactor internal/freelist (James M Snell) #11406
  • [d61a511728] - (SEMVER-MAJOR) lib: refactor internal/linkedlist (James M Snell) #11406
  • [2ba4eeadbb] - (SEMVER-MAJOR) lib: remove simd support from util.format() (Ben Noordhuis) #11346
  • [dfdd911e17] - (SEMVER-MAJOR) lib: deprecate node --debug at runtime (Josh Gavant) #10970
  • [5de3cf099c] - (SEMVER-MAJOR) lib: add static identifier codes for all deprecations (James M Snell) #10116
  • [4775942957] - (SEMVER-MAJOR) lib, test: fix server.listen error message (Joyee Cheung) #11693
  • [caf9ae748b] - (SEMVER-MAJOR) lib,src: make constants not inherit from Object (Sakthipriyan Vairamani (thefourtheye)) #10458
  • [e0b076a949] - (SEMVER-MAJOR) lib,src,test: update --debug/debug-brk comments (Ben Noordhuis) #12495
  • [b40dab553f] - (SEMVER-MAJOR) linkedlist: remove unused methods (Brian White) #11726
  • [84a23391f6] - (SEMVER-MAJOR) linkedlist: remove public module (Brian White) #12113
  • [e32425bfcd] - (SEMVER-MAJOR) module: avoid JSON.stringify() for cache key (Brian White) #10789
  • [403b89e72b] - (SEMVER-MAJOR) module: avoid hasOwnProperty() (Brian White) #10789
  • [298a40e04e] - (SEMVER-MAJOR) module: use “clean” objects (Brian White) #10789
  • [cf980b0311] - (SEMVER-MAJOR) net: check and throw on error for getsockname (Daniel Bevenius) #12871
  • [473572ea25] - (SEMVER-MAJOR) os: refactor os structure, add Symbol.toPrimitive (James M Snell) #12654
  • [03e89b3ff2] - (SEMVER-MAJOR) process: add --redirect-warnings command line argument (James M Snell) #10116
  • [5e1f32fd94] - (SEMVER-MAJOR) process: add optional code to warnings + type checking (James M Snell) #10116
  • [a647d82f83] - (SEMVER-MAJOR) process: improve process.hrtime (Joyee Cheung) #10764
  • [4e259b21a3] - (SEMVER-MAJOR) querystring, url: handle repeated sep in search (Daijiro Wachi) #10967
  • [39d9afe279] - (SEMVER-MAJOR) repl: refactor LineParser implementation (Blake Embrey) #6171
  • [3f27f02da0] - (SEMVER-MAJOR) repl: docs-only deprecation of magic mode (Timothy Gu) #11599
  • [b77c89022b] - (SEMVER-MAJOR) repl: remove magic mode semantics (Timothy Gu) #11599
  • [007386ee81] - (SEMVER-MAJOR) repl: remove workaround for function redefinition (Michaël Zasso) #9618
  • [5b63fabfd8] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 55 (Michaël Zasso) #12784
  • [a16b570f8c] - (SEMVER-MAJOR) src: add --pending-deprecation and NODE_PENDING_DEPRECATION (James M Snell) #11968
  • [faa447b256] - (SEMVER-MAJOR) src: allow ArrayBufferView as instance of Buffer (Timothy Gu) #12223
  • [47f8f7462f] - (SEMVER-MAJOR) src: remove support for --debug (Jan Krems) #12197
  • [a5f91ab230] - (SEMVER-MAJOR) src: throw when -c and -e are used simultaneously (Teddy Katz) #11689
  • [8a7db9d4b5] - (SEMVER-MAJOR) src: add --use-bundled-ca --use-openssl-ca check (Daniel Bevenius) #12087
  • [ed12ea371c] - (SEMVER-MAJOR) src: update inspector code to match upstream API (Michaël Zasso) #11752
  • [89d8dc9afd] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 54 (Michaël Zasso) #11752
  • [1125c8a814] - (SEMVER-MAJOR) src: fix typos in node_lttng_provider.h (Benjamin Fleischer) #11723
  • [aae8f683b4] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 53 (Michaël Zasso) #10992
  • [91ab09fe2a] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 52 (Michaël Zasso) #9618
  • [334be0feba] - (SEMVER-MAJOR) src: fix space for module version mismatch error (Yann Pringault) #10606
  • [45c9ca7fd4] - (SEMVER-MAJOR) src: remove redundant spawn/spawnSync type checks (cjihrig) #8312
  • [b374ee8c3d] - (SEMVER-MAJOR) src: add handle check to spawn_sync (cjihrig) #8312
  • [3295a7feba] - (SEMVER-MAJOR) src: allow getting Symbols on process.env (Anna Henningsen) #9631
  • [1aa595e5bd] - (SEMVER-MAJOR) src: throw on process.env symbol usage (cjihrig) #9446
  • [a235ccd168] - (SEMVER-MAJOR) src,test: debug is now an alias for inspect (Ali Ijaz Sheikh) #11441
  • [b6e1d22fa6] - (SEMVER-MAJOR) stream: add destroy and _destroy methods. (Matteo Collina) #12925
  • [f36c970cf3] - (SEMVER-MAJOR) stream: improve multiple callback error message (cjihrig) #12520
  • [202b07f414] - (SEMVER-MAJOR) stream: fix comment for sync flag of ReadableState (Wang Xinyong) #11139
  • [1004b9b4ad] - (SEMVER-MAJOR) stream: remove unused ranOut from ReadableState (Wang Xinyong) #11139
  • [03b9f6fe26] - (SEMVER-MAJOR) stream: avoid instanceof (Brian White) #10558
  • [a3539ae3be] - (SEMVER-MAJOR) stream: use plain objects for write/corked reqs (Brian White) #10558
  • [24ef1e6775] - (SEMVER-MAJOR) string_decoder: align UTF-8 handling with V8 (Brian White) #9618
  • [23fc082409] - (SEMVER-MAJOR) test: remove extra console output from test-os.js (James M Snell) #12654
  • [59c6230861] - (SEMVER-MAJOR) test: cleanup test-child-process-constructor.js (cjihrig) #12348
  • [06c29a66d4] - (SEMVER-MAJOR) test: remove common.fail() (Rich Trott) #12293
  • [0c539faac3] - (SEMVER-MAJOR) test: add common.getArrayBufferViews(buf) (Timothy Gu) #12223
  • [c5d1851ac4] - (SEMVER-MAJOR) test: drop v5.x-specific code path from simd test (Ben Noordhuis) #11346
  • [c2c6ae52ea] - (SEMVER-MAJOR) test: move test-vm-function-redefinition to parallel (Franziska Hinkelmann) #9618
  • [5b30c4f24d] - (SEMVER-MAJOR) test: refactor test-child-process-spawnsync-maxbuf (cjihrig) #10769
  • [348cc80a3c] - (SEMVER-MAJOR) tls: make rejectUnauthorized default to true (ghaiklor) #5923
  • [a2ae08999b] - (SEMVER-MAJOR) tls: runtime deprecation for tls.createSecurePair() (James M Snell) #11349
  • [d523eb9c40] - (SEMVER-MAJOR) tls: use emitWarning() for dhparam < 2048 bits (James M Snell) #11447
  • [e03a929648] - (SEMVER-MAJOR) tools: update test-npm.sh paths (Kat Marchán) #12936
  • [6f202ef857] - (SEMVER-MAJOR) tools: remove assert.fail() lint rule (Rich Trott) #12293
  • [615789b723] - (SEMVER-MAJOR) tools: enable ES2017 syntax support in ESLint (Michaël Zasso) #11210
  • [1b63fa1096] - (SEMVER-MAJOR) tty: remove NODE_TTY_UNSAFE_ASYNC (Jeremiah Senkpiel) #12057
  • [78182458e6] - (SEMVER-MAJOR) url: fix error message of url.format (DavidCai) #11162
  • [c65d55f087] - (SEMVER-MAJOR) url: do not truncate long hostnames (Junshu Okamoto) #9292
  • [3cc3e099be] - (SEMVER-MAJOR) util: show External values explicitly in inspect (Anna Henningsen) #12151
  • [4a5a9445b5] - (SEMVER-MAJOR) util: use \[Array\] for deeply nested arrays (Anna Henningsen) #12046
  • [5bfd13b81e] - (SEMVER-MAJOR) util: display Symbol keys in inspect by default (Shahar Or) #9726
  • [455e6f1dd8] - (SEMVER-MAJOR) util: throw toJSON errors when formatting %j (Timothy Gu) #11708
  • [ec2f098156] - (SEMVER-MAJOR) util: change sparse arrays inspection format (Alexey Orlenko) #11576
  • [aab0d202f8] - (SEMVER-MAJOR) util: convert inspect.styles and inspect.colors to prototype-less objects (Nemanja Stojanovic) #11624
  • [4151ab398b] - (SEMVER-MAJOR) util: add createClassWrapper to internal/util (James M Snell) #11391
  • [f65aa08b52] - (SEMVER-MAJOR) util: improve inspect for (Async|Generator)Function (Michaël Zasso) #11210
  • [efae43f0ee] - (SEMVER-MAJOR) zlib: fix node crashing on invalid options (Alexey Orlenko) #13098
  • [2ced07ccaf] - (SEMVER-MAJOR) zlib: support all ArrayBufferView types (Timothy Gu) #12223
  • [91383e47fd] - (SEMVER-MAJOR) zlib: support Uint8Array in convenience methods (Timothy Gu) #12001
  • [b514bd231e] - (SEMVER-MAJOR) zlib: use RangeError/TypeError consistently (James M Snell) #11391
  • [8e69f7e385] - (SEMVER-MAJOR) zlib: refactor zlib module (James M Snell) #11391
  • [dd928b04fc] - (SEMVER-MAJOR) zlib: be strict about what strategies are accepted (Rich Trott) #10934

Semver-minor Commits

  • [7e3a3c962f] - (SEMVER-MINOR) async_hooks: initial async_hooks implementation (Trevor Norris) #12892
  • [60a2fe7d47] - (SEMVER-MINOR) async_hooks: implement C++ embedder API (Anna Henningsen) #13142
  • [f1ed19d98f] - (SEMVER-MINOR) async_wrap: use more specific providers (Trevor Norris) #12892
  • [0432c6e91e] - (SEMVER-MINOR) async_wrap: use double, not int64_t, for async id (Trevor Norris) #12892
  • [fe2df3b842] - (SEMVER-MINOR) async_wrap,src: add GetAsyncId() method (Trevor Norris) #12892
  • [6d93508369] - (SEMVER-MINOR) buffer: expose FastBuffer on internal/buffer (Anna Henningsen) #11048
  • [fe5ca3ff27] - (SEMVER-MINOR) child_process: support promisified exec(File) (Anna Henningsen) #12442
  • [f146fe4ed4] - (SEMVER-MINOR) cmd: support dash as stdin alias (Ebrahim Byagowi) #13012
  • [d9f3ec8e09] - (SEMVER-MINOR) crypto: use named FunctionTemplate (Trevor Norris) #12892
  • [0e710aada4] - (SEMVER-MINOR) crypto: add sign/verify support for RSASSA-PSS (Tobias Nießen) #11705
  • [faf6654ff7] - (SEMVER-MINOR) dns: support promisified lookup(Service) (Anna Henningsen) #12442
  • [5077cde71f] - (SEMVER-MINOR) doc: restructure url.md (James M Snell) #12710
  • [d080ead0f9] - (SEMVER-MINOR) doc: graduate WHATWG URL from Experimental (James M Snell) #12710
  • [c505b8109e] - (SEMVER-MINOR) doc: document URLSearchParams constructor (Timothy Gu) #11060
  • [84dabe8373] - (SEMVER-MINOR) domain: support promises (Anna Henningsen) #12489
  • [fbcb4f50b8] - (SEMVER-MINOR) fs: support util.promisify for fs.read/fs.write (Anna Henningsen) #12442
  • [a7f5c9cb7d] - (SEMVER-MINOR) http: destroy sockets after keepAliveTimeout (Timur Shemsedinov) #2534
  • [3e6f1032a4] - (SEMVER-MINOR) http: add new functions to OutgoingMessage (Brian White) #10805
  • [c7182b9d9c] - (SEMVER-MINOR) inspector: JavaScript bindings for the inspector (Eugene Ostroukhov) #12263
  • [4a7233c178] - (SEMVER-MINOR) lib: implement async_hooks API in core (Trevor Norris) #12892
  • [c68ebe8436] - (SEMVER-MINOR) makefile: add async-hooks to test and test-ci (Trevor Norris) #12892
  • [45139e59f3] - (SEMVER-MINOR) n-api: add napi_get_version (Michael Dawson) #13207
  • [56e881d0b0] - (SEMVER-MINOR) n-api: add support for abi stable module API (Jason Ginchereau) #11975
  • [dd20e68b0f] - (SEMVER-MINOR) process: add optional detail to process emitWarning (James M Snell) #12725
  • [c0bde73f1b] - (SEMVER-MINOR) src: implement native changes for async_hooks (Trevor Norris) #12892
  • [e5a25cbc85] - (SEMVER-MINOR) src: expose node::AddPromiseHook (Anna Henningsen) #12489
  • [ec53921d2e] - (SEMVER-MINOR) src: make AtExit callback’s per Environment (Daniel Bevenius) #9163
  • [ba4847e879] - (SEMVER-MINOR) src: Node Tracing Controller (misterpoe) #9304
  • [6ff3b03240] - (SEMVER-MINOR) src, inspector: add --inspect-brk option (Josh Gavant) #8979
  • [220186c4a8] - (SEMVER-MINOR) stream: support Uint8Array input to methods (Anna Henningsen) #11608
  • [07c7f198db] - (SEMVER-MINOR) stream: add final method (Calvin Metcalf) #12828
  • [11918c4aed] - (SEMVER-MINOR) stream: fix highWaterMark integer overflow (Tobias Nießen) #12593
  • [c56d6046ec] - (SEMVER-MINOR) test: add AsyncResource addon test (Anna Henningsen) #13142
  • [e3e56f1d71] - (SEMVER-MINOR) test: adding tests for initHooks API (Thorsten Lorenz) #12892
  • [732620cfe9] - (SEMVER-MINOR) test: remove unneeded tests (Trevor Norris) #12892
  • [e965ed16c1] - (SEMVER-MINOR) test: add test for promisify customPromisifyArgs (Gil Tayar) #12442
  • [3ea2301e38] - (SEMVER-MINOR) test: add a bunch of tests from bluebird (Madara Uchiha) #12442
  • [dca08152cb] - (SEMVER-MINOR) test: introduce common.crashOnUnhandledRejection (Anna Henningsen) #12489
  • [e7c51454b0] - (SEMVER-MINOR) timers: add promisify support (Anna Henningsen) #12442
  • [e600fbe576] - (SEMVER-MINOR) tls: accept lookup option for tls.connect() (Fedor Indutny) #12839
  • [c3efe72669] - (SEMVER-MINOR) tls: support Uint8Arrays for protocol list buffers (Anna Henningsen) #11984
  • [29f758731f] - (SEMVER-MINOR) tools: add MDN link for Iterable (Timothy Gu) #11060
  • [4b9d84df51] - (SEMVER-MINOR) tty_wrap: throw when uv_tty_init() returns error (Trevor Norris) #12892
  • [cc48f21c83] - (SEMVER-MINOR) url: extend URLSearchParams constructor (Timothy Gu) #11060
  • [99da8e8e02] - (SEMVER-MINOR) util: add util.promisify() (Anna Henningsen) #12442
  • [059f296050] - (SEMVER-MINOR) util: add internal bindings for promise handling (Anna Henningsen) #12442
  • [1fde98bb4f] - (SEMVER-MINOR) v8: expose new V8 serialization API (Anna Henningsen) #11048
  • [70beef97bd] - (SEMVER-MINOR) v8: add cachedDataVersionTag (Andres Suarez) #11515

Semver-patch commits

Windows 32-bit Installer: https://nodejs.org/dist/v8.0.0/node-v8.0.0-x86.msi

Windows 64-bit Installer: https://nodejs.org/dist/v8.0.0/node-v8.0.0-x64.msi

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

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

macOS 64-bit Installer: https://nodejs.org/dist/v8.0.0/node-v8.0.0.pkg

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

Linux 32-bit Binary: https://nodejs.org/dist/v8.0.0/node-v8.0.0-linux-x86.tar.xz

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

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

Linux PPC BE 64-bit Binary: https://nodejs.org/dist/v8.0.0/node-v8.0.0-linux-ppc64.tar.xz

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

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

SunOS 32-bit Binary: https://nodejs.org/dist/v8.0.0/node-v8.0.0-sunos-x86.tar.xz

SunOS 64-bit Binary: https://nodejs.org/dist/v8.0.0/node-v8.0.0-sunos-x64.tar.xz

ARMv6 32-bit Binary: https://nodejs.org/dist/v8.0.0/node-v8.0.0-linux-armv6l.tar.xz

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

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

Source Code: https://nodejs.org/dist/v8.0.0/node-v8.0.0.tar.gz

Other release files: https://nodejs.org/dist/v8.0.0/

Documentation: https://nodejs.org/docs/v8.0.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
55
56
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

e71f14f58d1251932d537af3c47213d2cf3774f031bc7e26b81f69b24688ed84 node-v8.0.0-aix-ppc64.tar.gz
6e4a66917e2c11d5adc537c899941c973ae586293352b8172a4f32be0b7f0300 node-v8.0.0-darwin-x64.tar.gz
5ac8b0b6b5c12e1b9c62fb78dd194819a83b940a7407ef0c58fa7bf009918593 node-v8.0.0-darwin-x64.tar.xz
3a8cdc9a7d6c32d8c38af1f95e1f9402b75482ad362a24a420296dc8fe0c04a6 node-v8.0.0-headers.tar.gz
d6061c9bf085ee7e42dff5472ee933283a9ac65ea0dc2211d0ffe301cbddacbd node-v8.0.0-headers.tar.xz
ee10913aa14e1c22fe3567b957d1e77a47905f78812976a7b4199d33984e871b node-v8.0.0-linux-arm64.tar.gz
8d6eaefcc252055de54a666d4e00eec78caf2143cd7a13b63f109e9eb78a795e node-v8.0.0-linux-arm64.tar.xz
46a46f0c9be5b9a87b0836b31c97ea080283f575c04ab77a270c9cc40d4add19 node-v8.0.0-linux-armv6l.tar.gz
0fd0d8a47ceebff21b3ceeeee90f4c7564ce7ba0dce372e60aa5869fcfba3268 node-v8.0.0-linux-armv6l.tar.xz
aa72e471eec056d4da60a2eb0861ca93a1c444e920c1a1864f955a757531fd6f node-v8.0.0-linux-armv7l.tar.gz
70ea0a5cd685a06ece15ab0cebb641d87eb52abb0fdc75264f73a0dbfe7a1769 node-v8.0.0-linux-armv7l.tar.xz
553d3db6356d95c04d903182b8867ab83d13a6a05b45c7361be503cb20d1ae5a node-v8.0.0-linux-ppc64le.tar.gz
9e83115ebe08850f41e1f36dcbf822ad9be979970dd890de7ee46f2a472de29d node-v8.0.0-linux-ppc64le.tar.xz
f2d7927a1d8e2e86e01cdd31a3e38bd8c7faa6fa95cc896897549cad6b5648dc node-v8.0.0-linux-ppc64.tar.gz
d5db1f5120b454761ac60ecb0b0940698f8f4d508bbdd97d07aa5e8914e7064b node-v8.0.0-linux-ppc64.tar.xz
8ebe155b5ebff75c292d759bc6256567078a175fcfda93e7e45d97371504fb8c node-v8.0.0-linux-s390x.tar.gz
feb15265c8d8887f267dedbe2d84a80a60f3680e6424cc49d67bcca60bb66794 node-v8.0.0-linux-s390x.tar.xz
1944f0ead4c9dbdf92a97041cb2ec34cc08ea873958c7009befaa56a7ccea4c2 node-v8.0.0-linux-x64.tar.gz
0a536bb83eeccca23626e5e5ead52563a641e4331c35e367662892921dc7e8a4 node-v8.0.0-linux-x64.tar.xz
e012b41f021cb0ff691d40085884623a82a5e79d4763ca3739487d3ba160a79d node-v8.0.0-linux-x86.tar.gz
6d99916494a7e0110cbfe7ae79de4d553347763140bddeab4259a998e47d8ccc node-v8.0.0-linux-x86.tar.xz
e197ed371eafe71635c84fb7d283d40167786fbf3e9148ec2e747d5ddca27a28 node-v8.0.0.pkg
4dafd35ec1a79ce6f5cbd883a62da05eaf5b9057f374aeae67af9b205ffa281c node-v8.0.0-sunos-x64.tar.gz
d89c9415f9c61713865f49974298afeb8baee0f1d06e5e7f9e4e309126663154 node-v8.0.0-sunos-x64.tar.xz
0f635a9c074525b42bc3c60cb86a728bba63e30080ef90f9820b717bf42019c5 node-v8.0.0-sunos-x86.tar.gz
c5e1f31bb46c887dbe9e4a655ceed798f3ef291b348065bc2fae9bcd0d48ebde node-v8.0.0-sunos-x86.tar.xz
28f2e0bd5f80ff83b244df670d577fe36c1e0f11561deee7d8bbdcbd4ead8fb2 node-v8.0.0.tar.gz
258d3aa3632bbbf2a447c5d524bd7074e23aa26e2b698774ff452954f6174f1c node-v8.0.0.tar.xz
9bc84644228ab1e96dfb78eea4144c7c9732ccd33b44a4b8994fd232fafa19b5 node-v8.0.0-win-x64.7z
84410377118857674e0fb6e7bc7627ffb8cc67a72f162a050276b076e328a9bb node-v8.0.0-win-x64.zip
4c4d1c21a56ab4da6a24543ee27bd2d22fbbf5fcae9ccc3422869ad45754809c node-v8.0.0-win-x86.7z
87542a872cdf806456bfff5df003e98d8e4b96172e95552d4a2212e7887f0d32 node-v8.0.0-win-x86.zip
a6b7306302ce23b232467f19f766dda8b9684168976b24c8e6c55ea92d085176 node-v8.0.0-x64.msi
715d1834a7b2741ae0a4401902ef91cc9f95dfe04c4a100bd3490e95ad5bf449 node-v8.0.0-x86.msi
cf01892d191316d2aa643fb2020846ac23d6f1abcceec81850efad3e7ca496b8 win-x64/node.exe
f1d7eda300875ac0f028465f62be20ebce15736e6adf71d43e65812f36c06fb6 win-x64/node.lib
06a8ca6334347a1141f6e442310f6a814f2d8fbecd8120b50cec7450e7de7565 win-x64/node_pdb.7z
276823cc8ab672045c7f422a06fb814249f904b90379cc1260df90cb89226416 win-x64/node_pdb.zip
ec86a350f5451c534413caab90c5a825c94c6630aa7eb68a4cd607e2deac6096 win-x86/node.exe
b57826d249da402ddb79e0923b7aaea07577d926a32e025577cefd0b9e9ba814 win-x86/node.lib
88f566489a5aaeed787bbe52c80ecd4c8bc4c31d7333bfdbbded35b4287aae47 win-x86/node_pdb.7z
d83a9dfd290509f4a5846fd714c1496965cec6e8c5f58a59564f44e6530099f5 win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----

iQEcBAEBCAAGBQJZLb34AAoJEHNBsVwHCHesLrwIALZ0RAE9tKrZqTOfMdnZOLxg
Q50gNNxLfQVlhPpyezEFZrWhGyPK2FCRXwpGb7Kf1QMTn3DPvsRB6h2+McNp7TDh
QHVnjj8LR08pWJpR0bYsfwzoVYb3tc8//DUgdFx0d7BZviqE7NUyQIbtwmUYqEGU
hQVt0L7ns0CPu0v4NhXyuDrSli86bK/XmtjC3IyZMbxOW0ViB2OsGl8ngSKAHOYw
FGUCrLK00uGPWRtO2oLWG7TXvhU4dMwHDTxDFRfP17w50XZyfrOlCriQQBjyv2wj
zH5snnMl+P0RZmYwbQPd5E+JXJhKZpfnTP+XDZuwEqQhdqyjTYn2pVTf3/Rtpto=
=EbZq
-----END PGP SIGNATURE-----

Node v7.10.0(현재 버전)

주요 변경사항

  • crypto: randomFillrandomFillSync 메소드가 추가되었습니다. (Evan Lucas) #10209
  • meta: 새로운 협력자를 추가했습니다.
    • lucamaraschi 님을 협력자로 추가했습니다. (Luca Maraschi) #12538
    • DavidCai1993 님을 협력자로 추가했습니다. (David Cai) #12435
    • jkrems 님을 협력자로 추가했습니다. (Jan Krems) #12427
    • AnnaMag 님을 협력자로 추가했습니다. (AnnaMag) #12414
  • process: Promise를 거절할 때 Symbol을 반환하면 강제로 종료되던 문제를 수정했습니다. (Cameron Little) #11640
  • url: 조금 더 WHATWG URL 명세에 맞게 수정했습니다. (Timothy Gu) #12507
  • v8
    • 재귀 호출 메소드에서 발생하는 스택 오버플로우 문제를 수정했습니다. (Ben Noordhuis) #12460
    • g++ 7을 사용할 때 발생하는 빌드 오류를 수정했습니다. (Ben Noordhuis) #12392

Commits

Windows 32-bit Installer: https://nodejs.org/dist/v7.10.0/node-v7.10.0-x86.msi

Windows 64-bit Installer: https://nodejs.org/dist/v7.10.0/node-v7.10.0-x64.msi

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

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

macOS 64-bit Installer: https://nodejs.org/dist/v7.10.0/node-v7.10.0.pkg

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

Linux 32-bit Binary: https://nodejs.org/dist/v7.10.0/node-v7.10.0-linux-x86.tar.xz

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

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

Linux PPC BE 64-bit Binary: https://nodejs.org/dist/v7.10.0/node-v7.10.0-linux-ppc64.tar.xz

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

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

SmartOS 32-bit Binary: https://nodejs.org/dist/v7.10.0/node-v7.10.0-sunos-x86.tar.xz

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

ARMv6 32-bit Binary: https://nodejs.org/dist/v7.10.0/node-v7.10.0-linux-armv6l.tar.xz

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

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

Source Code: https://nodejs.org/dist/v7.10.0/node-v7.10.0.tar.gz

Other release files: https://nodejs.org/dist/v7.10.0/

Documentation: https://nodejs.org/docs/v7.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
54
55
56
57
58
59
60
61
62
63
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

84c478cc48345be13a08b0dc84da1a80c2b700fb7c78120828231dc1eca3fe18 node-v7.10.0-aix-ppc64.tar.gz
7ec21c06b80924893fff3eba242cbe5c8b1aadcdd6be39707b28dd3cfe8e558f node-v7.10.0-darwin-x64.tar.gz
16071d4107fb81cb4af9de5d849f5b128c0b5ea16c4af05b9fc38a30e5d51d8c node-v7.10.0-darwin-x64.tar.xz
1c99ce1ef2c24dcafcf2ae904d97c85faa6c121f3d35ba111b819ba78d3a3458 node-v7.10.0-headers.tar.gz
511edd25c9f6a4636e02de63af0e2e53fc814cd88342549d38232c36cdd91a0c node-v7.10.0-headers.tar.xz
62566c5c588d86942a076c596bfc504c337ba0db9ac4e6e6bbff3ed15e2ad404 node-v7.10.0-linux-arm64.tar.gz
998ddc1f8eb4adf20e3edcf327e48d25f031444b7bbbf127341631c31657a932 node-v7.10.0-linux-arm64.tar.xz
659992438c2db5c4c4b69532658a0392033c59a4e29e82736bee9913bf7335df node-v7.10.0-linux-armv6l.tar.gz
7ee520403c0a6e4a4e169a41644d1b1a330d9f34413dd027375a3f7364419e33 node-v7.10.0-linux-armv6l.tar.xz
87adb59f764f7da5adb9fa46f4baa116c93c5449969cdee7b5a64c12512e0c40 node-v7.10.0-linux-armv7l.tar.gz
a493e915693ab06d257a33f443e8bee10498d230dad906a7d0af5c3922289b53 node-v7.10.0-linux-armv7l.tar.xz
4dbd443c19bc5decbe13f032a417f1c9a02d7436fd53999eb856066f774f4916 node-v7.10.0-linux-ppc64le.tar.gz
7a638d2cd3a16c209b50d1023a22b109526ceeb6a5eb9cabc21ac69d51795c99 node-v7.10.0-linux-ppc64le.tar.xz
8285114cd36599e0050c0ed3a5da2f29280dc9e4da3c6823190f3f680f8a40df node-v7.10.0-linux-ppc64.tar.gz
87fe05719edbb10eeffe1858c4a236859776d5287b73527e992f0b6a5ef4c484 node-v7.10.0-linux-ppc64.tar.xz
2e970ea704862bbf19dc6b2b2922901c05923b681efd7113eb613c4b6436494a node-v7.10.0-linux-s390x.tar.gz
f9779215f4cb6ae6c6b2e5d11f335af74b69e952c01521106458a7c11e300741 node-v7.10.0-linux-s390x.tar.xz
9da0e99091897795491d21d58c40186f75ca7bf505d145d1a2e558f8c754a81b node-v7.10.0-linux-x64.tar.gz
6166b9f3fb1a9e861335d864688fee5366f040db808080856a1a2b71b6019786 node-v7.10.0-linux-x64.tar.xz
ca37e75a605497b1f33d085353b1a8315b5a9b4de9463885bf62831f7f4511c1 node-v7.10.0-linux-x86.tar.gz
d9eaa35170eeeb07f3eaa9e5f03e68c5729071d65e4a3d933411136ec82c9edd node-v7.10.0-linux-x86.tar.xz
f9deccfbbcd76d6e8b5f7fb1b5920a6770e174ddce01fa4d1a630eb93ca1e486 node-v7.10.0.pkg
779672d68114494e085201ab555b8abc6e325a0510a3bf765afb70ab72a19ae4 node-v7.10.0-sunos-x64.tar.gz
e79baad6529c5fba6d6bceded0566e7d3f4ebaa4ff80c361e0ecf959de8f99fe node-v7.10.0-sunos-x64.tar.xz
40d5b62bab968cd67f8359c4f8d7a6ec8b1e79d31d9316c5f87f0ea38a870c22 node-v7.10.0-sunos-x86.tar.gz
61360a41cc5a2a739bb9687af5fef293dc685227db4236d6480642c5250c985a node-v7.10.0-sunos-x86.tar.xz
c4843fe8bffb59c2327063a5e67a89af60d7927f7ace7548695a2cf4c1aa6d03 node-v7.10.0.tar.gz
dc34dd15524ba821ffcae7b245eabe8631e2614d5e3cb8ff08fbfdadf5919f21 node-v7.10.0.tar.xz
cbd1a44efcd7c169f037460fbc4d1a05a105030f39631c9875247c6a70d0a91a node-v7.10.0-win-x64.7z
617a58b000c9d14ba5c6f63681f7145f394178dc315c023fee8f0c9e77311499 node-v7.10.0-win-x64.zip
cef0c0298980b07b4cd94a141a092d4ff1fbcb89bc23fde64a0f5a3659d3ab64 node-v7.10.0-win-x86.7z
957a5e934f22b27824ef4a83f0f402c5212c605caf217b187f308acfaf0dd71e node-v7.10.0-win-x86.zip
24a9170bab2f9f0afd54b1ca019f249cf30308d682151eb23dca3918dc6afff6 node-v7.10.0-x64.msi
17c036e4bd4698efeb771d81f21624bdc6ab907aa4a8584ad0e801a057eb4cee node-v7.10.0-x86.msi
723d1fd9bab9512d08d53f01bc6d5c039d07a563786a771c6c2e9ba3778fee4e win-x64/node.exe
6d78274127db399ae389339ef29807a11d5081decb61aed73d2ee7bd24b89cd2 win-x64/node.lib
78717ea89ec5830eaeb72c49f3eb6bdada2aee1fa8b03c1b411451a130ac7b32 win-x64/node_pdb.7z
5b46fc3f7f84e33b2cc674892d0f06faa43115daa44d6d50c07d6caa21e0cdb3 win-x64/node_pdb.zip
b6e5a398d90f598bf6b6d88d6de04119697341eff020eebd9bb64ad1b1dd710f win-x86/node.exe
900467795677e25b9c10b5c4b0c7d8749f5f35edc1008700c38944ab7caba8c9 win-x86/node.lib
8b31d6b4ddc9888d456a471f449d228b57e8387a936beef5a0dad3e7b8087692 win-x86/node_pdb.7z
515c19eea8e8b7b9910450fd010cfc77a74c70adc794831f7d9bc2810ee649be win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCAAGBQJZCdYgAAoJELY7U1pMIGypCekP/jB6QfYB7lKXKCveSmV8+wp6
qjQKLcQDobZhTnsMI6gthUSJ8cSeZxuNr/gohxYRniKaFjMtyO9Ch3WoRas+e3JB
LQ7tcFwYzqbN5QeMueWh6B7RF6W3uMYA9nAyFlhoahzsn37zgjfiuL0yw9JA+bDy
N/Bswsu0drpaaOKbrZAf6+TOolm2JCLPOyADdxz0oCMTksoYO69rZf3NXrN0amzc
45SaB++84QkGe0L0WjrJrbudipAY+8h0dLps75bTAhmANwQR/D6Iy5KUqkiSQSpU
HEPkipFYy2yO8RfW15V8pY2nbWCdheK6VsWqQ/FLoP1TgLGAZr/Wh75hHggLy4ZU
Mfbc+lmBL8i47N0JyD8p7u+t4HJtrlJLxqv3BkLlmCWt47lzOBN2tb03M1nEAEF3
AgE3+xs2TEC9rieBCY5XLaoAJoC65T5G/P/yRceEhD+7cYS5GjCaCIm1DWB2NARR
9ZsBr8BWlD+4FA74/V473/OgYo4eacOFRoLxL0JkMvXFsJgCRdAdPTiNz6nNYZTh
m7hjVf9cuPySaTiGNw2FOK/nO4wqqDke2qpRwknYwUtcUTNnFsTBYAOxerhcfJdJ
KRvaukA2qowG1VtHWfmYzG23f3P3odz79+OAi2ZKzP3iukWOkWj06A/NhkVwHBAU
BlSMiAXBLwELmBEjUxfA
=Om1d
-----END PGP SIGNATURE-----

Node v4.8.3(유지보수 버전)

주요 변경사항

  • module
    • 윈도우즈에서 모듈 로딩 전역 폴백이 올바르게 Node 실행 파일이 있는 디렉터리를 가리키도록 수정됐습니다. (Richard Lau) #9283
  • src
    • 굉장히 드문 사례에서 발생하는 base64 디코딩 문제를 수정했습니다. (Nikolai Vavilov) #11995
  • tls
    • TLS를 사용할 때 드물게 발생하는 세그멘테이션 결함(segmentation faults)을 수정했습니다.

Commits

  • [44260806a6] - Partial revert “tls: keep track of stream that is closed” (Trevor Norris) #11947
  • [ab3fdf531f] - deps: cherry-pick ca0f9573 from V8 upstream (Ali Ijaz Sheikh) #11940
  • [07b92a3c0b] - doc: add supported platforms list for v4.x (Michael Dawson) #12091
  • [ba91c41478] - module: fix loading from global folders on Windows (Richard Lau) #9283
  • [b5b78b12b8] - src: add fcntl.h include to node.cc (Bartosz Sosnowski) #12540
  • [eb393f9ae1] - src: fix base64 decoding (Nikolai Vavilov) #11995
  • [8ed18a1429] - src: ensure that fd 0-2 are valid on windows (Bartosz Sosnowski) #11863
  • [ff1d61c11b] - stream_base,tls_wrap: notify on destruct (Trevor Norris) #11947
  • [6040efd7dc] - test: fix flaky test-tls-wrap-timeout (Rich Trott) #7857
  • [7a1920dc84] - test: add hasCrypto check to tls-socket-close (Daniel Bevenius) #11911
  • [1dc6b38dcf] - test: add test for loading from global folders (Richard Lau) #9283
  • [54f5258582] - tls: fix segfault on destroy after partial read (Ben Noordhuis) #11898
  • [99749dccfe] - tls: keep track of stream that is closed (jBarz) #11776
  • [6d3aaa72a8] - tls: TLSSocket emits ‘error’ on handshake failure (Mariusz ‘koder’ Chwalba) #8805

Windows 32-bit Installer: https://nodejs.org/dist/v4.8.3/node-v4.8.3-x86.msi

Windows 64-bit Installer: https://nodejs.org/dist/v4.8.3/node-v4.8.3-x64.msi

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

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

macOS 64-bit Installer: https://nodejs.org/dist/v4.8.3/node-v4.8.3.pkg

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

Linux 32-bit Binary: https://nodejs.org/dist/v4.8.3/node-v4.8.3-linux-x86.tar.xz

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

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

Linux PPC BE 64-bit Binary: https://nodejs.org/dist/v4.8.3/node-v4.8.3-linux-ppc64.tar.xz

SunOS 32-bit Binary: https://nodejs.org/dist/v4.8.3/node-v4.8.3-sunos-x86.tar.xz

SunOS 64-bit Binary: https://nodejs.org/dist/v4.8.3/node-v4.8.3-sunos-x64.tar.xz

ARMv6 32-bit Binary: https://nodejs.org/dist/v4.8.3/node-v4.8.3-linux-armv6l.tar.xz

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

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

Source Code: https://nodejs.org/dist/v4.8.3/node-v4.8.3.tar.gz

Other release files: https://nodejs.org/dist/v4.8.3/

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

5aa0fe69a61b56a806b7176ef53974e61ae4643b3684a1b098bc2f31a21f87c4 node-v4.8.3-darwin-x64.tar.gz
b53f2b6dbbb7da5a0938c3d8dbe34be4ad794ffd61692cfbc07fc095bf6170cb node-v4.8.3-darwin-x64.tar.xz
586beed84d30a46e90995331538a86bb39ee22c6e71e9181cd448edd5df9e23b node-v4.8.3-headers.tar.gz
63d6a24ce83f884648a2c40c58ba3c29a725aba0145631d46670993f194b54c2 node-v4.8.3-headers.tar.xz
6bcc2285ea06fd6096027367a6bea6b9c44f1f7ce7cf0700172663217ef1423f node-v4.8.3-linux-arm64.tar.gz
fb3154197f9a83c64f09643ea73fb8b18002cc1270b8dd6a572ed1e5f1633edd node-v4.8.3-linux-arm64.tar.xz
af669f5fc7cb5269978144a8b6469923657119b3ee712d6bf70167e36b6812c2 node-v4.8.3-linux-armv6l.tar.gz
dd1b6a31ae77a639b6758c00bc5fc76316233672487330041f8e3366f271821f node-v4.8.3-linux-armv6l.tar.xz
36813c749289f547c9068a6cd2837ceb95a3d36da8e31de597d07cd899dcb952 node-v4.8.3-linux-armv7l.tar.gz
3e2f4c8e7c0a6fe2578f42b7cf5e67d6be6a24bc564dbecde3e0ecb49fb11a2e node-v4.8.3-linux-armv7l.tar.xz
40489a73e1bb4d6eaf45280c032afa154adf2f898edd6b8ccbd16df83a78eb6a node-v4.8.3-linux-ppc64le.tar.gz
f93307bc817c728dc44344b21ce3ae24afe13f20a59e9e2ef9cb4773646b3652 node-v4.8.3-linux-ppc64le.tar.xz
36b07f2496fa286c6879f04b550f23a528dd645d5fdaddd6a5370f468c5a0c86 node-v4.8.3-linux-ppc64.tar.gz
b47e6d47b2801145dc0b1b752393eab904ad1bcdf12409e5aff02fd6678d3176 node-v4.8.3-linux-ppc64.tar.xz
52382b93865a5edd834db10e8f60822680d26dc2b8cadccafc351b0082a9052a node-v4.8.3-linux-x64.tar.gz
ca26fee56642f01f6b678d498cbe9b4bd611d8ea07ea5ef63d91f9768c8c6243 node-v4.8.3-linux-x64.tar.xz
0138e4199863a482611d0df517a318b17f1ca9df21bd8c1136030947fd8155b5 node-v4.8.3-linux-x86.tar.gz
f4db97d419791ccc03b3430f94027db25fe0893d55a9faa8565f4426db226438 node-v4.8.3-linux-x86.tar.xz
369aeccb89552c79d804eebb88d61d520986a200ef935d3c39519975ad7f4ea7 node-v4.8.3.pkg
1a19b5c2184547a38515cfe44e29f237d557bc1332b6b7712f33b965f6c24e9e node-v4.8.3-sunos-x64.tar.gz
4428d6e81d4d05050776c46ed7d25dc30e3888efbfab0bd84410a02c187de19e node-v4.8.3-sunos-x64.tar.xz
70c1a0bd6deeb32941fc197cf47bed41296bfc4037e43ab06a49af6bdbaf0286 node-v4.8.3-sunos-x86.tar.gz
46b21e86a520e36c5d456580eaa823c5812076883945d6ff1db0c506a19285c8 node-v4.8.3-sunos-x86.tar.xz
f8a5b7fe246f8358121e057f26411d3be9657a328b146d74abf483a956702868 node-v4.8.3.tar.gz
d84e7544c2e31a2d0825b4f8b093d169bf8bdb1881ee8cf75ff937918e59e9cb node-v4.8.3.tar.xz
cccf63332b8e2b45c1366735a2f9a42073a34cc91b1bfbe5e2c2c2dcde3b71f1 node-v4.8.3-win-x64.7z
a8bb12240576ecc1a8640db47e4bd38cc21ac7262d8456dc988b873e07a38dd5 node-v4.8.3-win-x64.zip
f3b9ba365f82f0aa146a830f08d275481aa308fe2d7f6dfce4f1e7240dcf6fa2 node-v4.8.3-win-x86.7z
a17a924e6bb91f07b6d08a8383084a5e74e42621dc3675ab111fb7c0da060f26 node-v4.8.3-win-x86.zip
4113f98b9133687335f633be86aa91892992b884476a66e290d2650f85df8fd4 node-v4.8.3-x64.msi
493ae603e8a423a1b98ff048ac7051c6aabab6340011b3dceaeffdd13d4d350f node-v4.8.3-x86.msi
a793a6ea651399a78ee6a4316dd81323d3644f4626171c73390d06b1133a29c3 win-x64/node.exe
cafd50bc53154efff221aba08b3e0beaf2dcd92d578dded52a2e7791cd03b027 win-x64/node.lib
e6c56a0a753adba34d8bf0ed38d22efda9a5dcae35d9fbb6693f318482bc76d1 win-x64/node_pdb.7z
27b8ebf64c91257dc843cd0d418c58c1adec3bbeab60d67ead39361738a94016 win-x64/node_pdb.zip
774f32e53db439ad8c1270e4de5ab79bc4482b10c418dd14bf24216f51586312 win-x86/node.exe
2f580bc0996e4f1d9b90fa066de7b071b0557b6df9435a59c36260ea2de931d8 win-x86/node.lib
ac6675bbb43d3f49ce109d0a7dee768217741a5b0f0722872dbabcccb5ba2be5 win-x86/node_pdb.7z
b76b77e9db0a6a8d6823525c016d3f4415da799d4e73d3eaf889552350f24e2f win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----

iQEcBAEBCAAGBQJZCMi7AAoJEJM7AfQLXKlGXCEIAJuraxQ1R28nmDi6orty1iuv
yi+ddsxhS8LodM4Rn/cTKULtNbRi5ca90sSPPNI1QUjXuqQBpsabUC+7mVla1ZL3
1KuP9VCrRqdSVGhLi2Y1ynccjNxx+UU8E4giagnNPLrzn3L6Hn18RYPHaz//ZVPi
dnTgVhh6wka5LpspwnKvKH7ROMYSmslptQbipfVphmGDIqaua2m39Eppwrtnxaxb
olP/ntClGwr9an/neGSnxEKn/NblTrQtisEh7gACtORLhlyjSTgQSU7iLpmTtQTh
sqG8ZWqFwNLyUvg/AmIpzr2p66A7RxxMWSql+EaMnS4K9H2+S698SEGXNk0wvMw=
=mf3f
-----END PGP SIGNATURE-----

Node v6.10.3(LTS)

주요 변경사항

  • module
    • 윈도우즈에서 모듈 로딩 전역 폴백이 올바르게 Node 실행 파일이 있는 디렉터리를 가리키도록 수정했습니다. (Richard Lau) #9283
  • src
    • 굉장히 드문 사례에서 발생하는 base64 디코딩 문제를 수정했습니다. (Nikolai Vavilov) #11995
  • tls
    • TLS를 사용할 때 드물게 발생하는 세그멘테이션 결함(segmentation faults)을 수정했습니다.

Commits

Windows 32-bit Installer: https://nodejs.org/dist/v6.10.3/node-v6.10.3-x86.msi

Windows 64-bit Installer: https://nodejs.org/dist/v6.10.3/node-v6.10.3-x64.msi

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

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

macOS 64-bit Installer: https://nodejs.org/dist/v6.10.3/node-v6.10.3.pkg

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

Linux 32-bit Binary: https://nodejs.org/dist/v6.10.3/node-v6.10.3-linux-x86.tar.xz

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

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

Linux PPC BE 64-bit Binary: https://nodejs.org/dist/v6.10.3/node-v6.10.3-linux-ppc64.tar.xz

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

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

SmartOS 32-bit Binary: https://nodejs.org/dist/v6.10.3/node-v6.10.3-sunos-x86.tar.xz

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

ARMv6 32-bit Binary: https://nodejs.org/dist/v6.10.3/node-v6.10.3-linux-armv6l.tar.xz

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

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

Source Code: https://nodejs.org/dist/v6.10.3/node-v6.10.3.tar.gz

Other release files: https://nodejs.org/dist/v6.10.3/

Documentation: https://nodejs.org/docs/v6.10.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
51
52
53
54
55
56
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

1cc6ffb9f41512be53cac90bccebc3c7d8143e06f0b95441deee218b3f47f2f5 node-v6.10.3-aix-ppc64.tar.gz
c09b2e60b7c12d88199d773f7ce046a6890e7c5d3be0cf68312ae3da474f32a2 node-v6.10.3-darwin-x64.tar.gz
d6744fe89a5ffb2b00e1703344280cda3c6a8e04371ebf1fede7995bbfeb9d23 node-v6.10.3-darwin-x64.tar.xz
855016ab29ad2c31b930c291b031a7314624ba613ef9127e87b55824d42fa7bf node-v6.10.3-headers.tar.gz
fc310532ef322e2c8593c7552ba8d2fefa9d4e285e4a2d8af88e7b515994d276 node-v6.10.3-headers.tar.xz
c2ff51d8a824d5d2ca8ba7a2e8e4306c4c356edf5c0aa7f4cb2f93091c0e1310 node-v6.10.3-linux-arm64.tar.gz
8b0ea8f0616f0c9dbd953bcb330d22b253cc1e3f3c657885e8476427462169c0 node-v6.10.3-linux-arm64.tar.xz
420be39bca0d9a2643fedf6a805ee1705cb1934074b1e6dc351dd3ff46121790 node-v6.10.3-linux-armv6l.tar.gz
b34bc4f71c74d437338ff9f714e12e6f58bafb428cc6f8d17ed1985df8c5563f node-v6.10.3-linux-armv6l.tar.xz
c36f0713fcf397a6b278b61f4c1511938f7ad1e5385c31e530d074ce83163426 node-v6.10.3-linux-armv7l.tar.gz
d64867d32cd386ebc802445e24613bf9420c9ba0d7049cd17a2e175a5942860a node-v6.10.3-linux-armv7l.tar.xz
4fde09f3eb7fe279102a17cb0206e2b48ab569cf7bb29ca54538cd919e4afcba node-v6.10.3-linux-ppc64le.tar.gz
d810e40e33b760ce30f5ee57496b50abcb4a6fb88f84186e9e7be5bea5c90e43 node-v6.10.3-linux-ppc64le.tar.xz
2fbb50c7a1844aa296a964d2bee906cce182de34f760fd7900839ef19445ffa8 node-v6.10.3-linux-ppc64.tar.gz
af1c33a4736e626338148f3f93e9a937dcdadbc734a2d36af4ee46636eeeb021 node-v6.10.3-linux-ppc64.tar.xz
b4013a4e54c629700c40d9eb6fd3de636dddc8b8aa1e6e1b8c5173a02b245f76 node-v6.10.3-linux-s390x.tar.gz
2ffe4b64bd1ddc566d72834c8f61fb3b34c5bd513305d96f4a07b6aea12f3ef3 node-v6.10.3-linux-s390x.tar.xz
c6a60f823a4df31f1ed3a4044d250e322f2f2794d97798d47c6ee4af9376f927 node-v6.10.3-linux-x64.tar.gz
00d0aea8e47a68da6e3278d7c2fc1504de46a34d97b4b2fa5610b04a64fce04c node-v6.10.3-linux-x64.tar.xz
42767df2dff5b9834764f6ec4970741b9b601ac654a3ce39718bc1320273b721 node-v6.10.3-linux-x86.tar.gz
0cd9bd4c68ed8aa062961bbe1f914cd62c004fd5d53dbec5800eb067bdd33807 node-v6.10.3-linux-x86.tar.xz
0a2c7a536f9009b9f18b10640b10ea6e5db1573104e9b7f5a80779e708c218b8 node-v6.10.3.pkg
f93478a8805f280c61b0d9019377117bcf8076574d2e822acb126abfe91d4466 node-v6.10.3-sunos-x64.tar.gz
e103113d0a9cb7fd91ee72c39c3d43cf456ddb4722b54bff7453331c19517db3 node-v6.10.3-sunos-x64.tar.xz
5322e8d9ba87c25187fc19785afbc307477d575644e1b06b380f3977c433ec0b node-v6.10.3-sunos-x86.tar.gz
ae9f7718b71447a956f3e0b4743a733a43d037beb9390cbd807e2bb178343a5f node-v6.10.3-sunos-x86.tar.xz
a8f679f595fd921305c28d126935ad59b4419ac8474a99997a31e01ab50acd3d node-v6.10.3.tar.gz
82262a703e61164e09170a14d88b1726720651b0c7ee87a277654247b21b5388 node-v6.10.3.tar.xz
86993d66c110592be3a4d4e78c5d386b17e1d8437cc6fa2a5a227369c1915a1e node-v6.10.3-win-x64.7z
df61044aaf011820800061f23ab47f58ce33855529a1825cd9d6ca7be2550021 node-v6.10.3-win-x64.zip
d236ab5607a1cee6ef5f1a7ae1c1bfbe212218dd7d823ea2d57d12e3d3bf7cd8 node-v6.10.3-win-x86.7z
b66efb376a21d31f2ae79b9b1f8b510cb8737634055041b333f763cbeb022c35 node-v6.10.3-win-x86.zip
3ab1286e8fdadc60f57a97f2222ad6b3d7a48847a52ef812cc8d5f354bf500ff node-v6.10.3-x64.msi
d4000be1329737bd2f4c2e54abc939ca249c11cbcc8898240fece37cb74cf09f node-v6.10.3-x86.msi
2a23e246d877d87d1eb8470df6cf5efff6339df591ccf5608e9c3740787c2294 win-x64/node.exe
5000f297ca228d1d120c2e850f3d6e291cbb42b9010f26da754bd61f194eabc1 win-x64/node.lib
17b92f5d9dd1a235fbae0674ac81f697cb97d39d9ae558a9e9db0c3f145822f7 win-x64/node_pdb.7z
909b2cfaf7d8f343226d3a5a97bf6113fce43484b480518d36b2d958e3f21e84 win-x64/node_pdb.zip
518ea2f7e77780ad2eaeadaa818c8d45ac480a62d8b503f88e25412572ebce49 win-x86/node.exe
1b207f4d6d766038ccdf7fcd1f405b3883d1780c81625e32daf663eb56bfa70f win-x86/node.lib
b0cf0c8d0544906dbb79d6bea49f56f61a073ee074e10a31a8f10ddebe805f2b win-x86/node_pdb.7z
49e6ee0aab1096341b74a6d7a3dcf114e00c1745e3ab440c6681fe5becf664d9 win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----

iQEcBAEBCAAGBQJZCMptAAoJEJM7AfQLXKlGb3UH/Aq8uQiFKC9okTIGlZIv9ciI
4m4l3aWZjllmt15CX+0dxKrWmF7mNaS+9W9LB9gGB98QcIsEL3Hgo+h1k9QfMZeB
khKR8pfj/lsMQb9qOQw/EWVilvvQ+lZH3WuTMF3VKJtmwd5ptgqtg11RHJM08EpK
Ob3zIOtVWHapPud8TTDVhfbJ3wWy0egDnE+G1A88L7JUZTY7aeHxKg20CxZwpTaQ
7LPE0cwK/9CQa7MlyROI9Gtz9A9BL5AlILv5OVnT0AHGeY1L2ADLZkECHeWUkU8c
7MpnA3slOEB8drldwQrmkCl87tQET3x8ZcxInJZMdwgpLZdIvIEPAmdwtaTz4YY=
=mMDB
-----END PGP SIGNATURE-----