Node v0.12.14(유지보수 버전)

주요 변경사항

Commits:

Windows 32-bit Installer: https://nodejs.org/dist/v0.12.14/node-v0.12.14-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v0.12.14/x64/node-v0.12.14-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v0.12.14/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v0.12.14/x64/node.exe
Mac OS X Universal Installer: https://nodejs.org/dist/v0.12.14/node-v0.12.14.pkg
Mac OS X 64-bit Binary: https://nodejs.org/dist/v0.12.14/node-v0.12.14-darwin-x64.tar.gz
Mac OS X 32-bit Binary: https://nodejs.org/dist/v0.12.14/node-v0.12.14-darwin-x86.tar.gz
Linux 32-bit Binary: https://nodejs.org/dist/v0.12.14/node-v0.12.14-linux-x86.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v0.12.14/node-v0.12.14-linux-x64.tar.gz
SunOS 32-bit Binary: https://nodejs.org/dist/v0.12.14/node-v0.12.14-sunos-x86.tar.gz
SunOS 64-bit Binary: https://nodejs.org/dist/v0.12.14/node-v0.12.14-sunos-x64.tar.gz
Source Code: https://nodejs.org/dist/v0.12.14/node-v0.12.14.tar.gz
Other release files: https://nodejs.org/dist/v0.12.14/
Documentation: https://nodejs.org/docs/v0.12.14/api/

Shasums (GPG signing hash: SHA512, file hash: SHA256):

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
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

83c5d843c5ba7bd8f1d43711356208eaeda0230e3587fa4a27aac5ae14308d2d node.exe
47cd92a1db9b8782c3e40e4e6ac85c706ea7e2dcf13e0c7803031885cd3893a1 node.exp
3883d0af51df19e7a44d69d8dacec56ba065c41bfb05f7b1f49c53bae8637d3e node.lib
d1d9a6fc90707fa364f690decc010d950667841f85e49f088c79829124b914af node.pdb
b4de40b8fe9cf748b36b9d7764c06f1fc955c73e3547c4eaab3d90a818663e1c node-v0.12.14-darwin-x64.tar.gz
9c2270a1d92e22f03a8ccc8698ded7947056583336885912ba2f0840cf07fc38 node-v0.12.14-darwin-x64.tar.xz
2ac52efd90931ea04dd01947e19c6320e519967a813f7274eb699bf468fe226d node-v0.12.14-darwin-x86.tar.gz
8209c23acb175dde1424ccd73945179393cd22791c3d51e24dfeb03f77c955d5 node-v0.12.14-darwin-x86.tar.xz
75f927b98a955207f261d03de5966b167e893da80e641695e6b9d6da44312452 node-v0.12.14-headers.tar.gz
072d68b05038fec7a443240947501b0be12bd33d1b958b1946caa80824beb4ed node-v0.12.14-headers.tar.xz
0f1f20f6989d32b4b67835f527ae3bf165c1c4a6a7dc3961d489288817956bae node-v0.12.14-linux-x64.tar.gz
a0b93224939fb638091b4e20c87a75e1c042314d419686f5040b8a48ed7f2112 node-v0.12.14-linux-x64.tar.xz
212a3a5d1cdd34b71476dd615d95da9209b8a5e490dbe6141926e15f1ccfe386 node-v0.12.14-linux-x86.tar.gz
a85432f5da612184baee47d93870b7796776ed15d61670dbec6640621ed4722a node-v0.12.14-linux-x86.tar.xz
59f7d1426e63ff266b5d7f7ccb3a5b5bc7eea2b1c5d6ed44dd45370235ab4357 node-v0.12.14.pkg
906a44e9f6024c3f9af05a8aac5ba10c25d84bf56b9fb08c5fc1c26c5a8b9d27 node-v0.12.14-sunos-x64.tar.gz
100f724b5f2d1dc263aa70f3cf77af873097157a22d15c883c5cd39e2ffe2520 node-v0.12.14-sunos-x64.tar.xz
f042bee409d4da3114571dfff496a954ea6cd614e7fb78fd3d9b50d799396757 node-v0.12.14-sunos-x86.tar.gz
59ca5e14f1b126887b7c4944ab0423f06011ff7acb3c142bfc486dd85a9f3718 node-v0.12.14-sunos-x86.tar.xz
0a55e57cbd3ffa67525c0d93ac7076d3b2ac70887b11c5c97be3e1953cb50b1d node-v0.12.14.tar.gz
ed57a1917fb089726b31735e138fb41d897b3c834cfc7c895390b2d273623f1a node-v0.12.14.tar.xz
5b23e0733ab87adc09bbac9eb1d1341616a346c4ca8a69b4b3539b559de9c7b2 node-v0.12.14-x86.msi
d676d494a36ddfd21041cc07e9fa80f6d21b6fbd5a71f84611f980c410019639 openssl-cli.exe
086f4795edcb076669065a064006085ce415d4d56d89298599a0880ff0d7154a openssl-cli.pdb
19b2327c0068c8fcd3a8be7a724527627e346ca8e57fb1e3e39b7f80e94bd486 x64/node.exe
61b31c6af9d606bcef77d4a9afa531a597570f92cd5afeeff4e7a4223c2326c8 x64/node.exp
a838e4a513fcbfcbb6f8aad96f240bc4389940e95186b80383e32711accbb6ae x64/node.lib
2e3cc6017f2f6cc806fae5a27bc2d696fd780558f6c5c1fa7c0df82e6c0084df x64/node.pdb
53da9c08f72c6260d31b7c70812cc2ad17d5e203860fe1b7c6c85f0ec3d6e2ea x64/node-v0.12.14-x64.msi
524ce8394e20e8f7a6fd681c7d509e77d015bd16510caaff954a983f0d171a29 x64/openssl-cli.exe
75404fbe3ec01c52e9373b766e59d55bada0404f8f14396e6bcaaefd4e00491a x64/openssl-cli.pdb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQEcBAEBAgAGBQJXLKGsAAoJEMJzeS99g1RdI20IANwgtd3Q8omZiXhnSMSMNqt3
AZybwyOKOfGTqxmbmRxlSsllp46lWoj0l+kp0NfiSopXe/+waCpyeIemUtaF9Ag3
3gAtWP3cnw4rPv6CEG1IJu5Q1nHq1HKgMUcW+L5PUCN869SXO/ZREYtAwX4fjg/X
lhqqAss7117nV7vQ1TbkLynEm8uT2S2kOQ8UjKpazp0IobPpSoc0XiodsAkNHKpt
UGSxFKIaAjlF9JsuQw91AYIBJ3658aQw3LnIckymO8xirZE5ek1X8ReuuwhDUszQ
ibXwwI09/AGCfhakitr3NmGG+Pg6gc/UEASTJtxPCVRcrKFcJ5tIWRynaRgV1uM=
=ESJj
-----END PGP SIGNATURE-----

Node v0.10.45(유지보수 버전)

주요 변경사항

Commits:

Windows 32-bit Installer: https://nodejs.org/dist/v0.10.45/node-v0.10.45-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v0.10.45/x64/node-v0.10.45-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v0.10.45/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v0.10.45/x64/node.exe
Mac OS X Universal Installer: https://nodejs.org/dist/v0.10.45/node-v0.10.45.pkg
Mac OS X 64-bit Binary: https://nodejs.org/dist/v0.10.45/node-v0.10.45-darwin-x64.tar.gz
Mac OS X 32-bit Binary: https://nodejs.org/dist/v0.10.45/node-v0.10.45-darwin-x86.tar.gz
Linux 32-bit Binary: https://nodejs.org/dist/v0.10.45/node-v0.10.45-linux-x86.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v0.10.45/node-v0.10.45-linux-x64.tar.gz
SunOS 32-bit Binary: https://nodejs.org/dist/v0.10.45/node-v0.10.45-sunos-x86.tar.gz
SunOS 64-bit Binary: https://nodejs.org/dist/v0.10.45/node-v0.10.45-sunos-x64.tar.gz
Source Code: https://nodejs.org/dist/v0.10.45/node-v0.10.45.tar.gz
Other release files: https://nodejs.org/dist/v0.10.45/
Documentation: https://nodejs.org/docs/v0.10.45/api/

Shasums (GPG signing hash: SHA512, file hash: SHA256):

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
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

5cfddcfcdb0e5a09c54ba1c52a935c43d182b54e013fc0d621d44a710222dc00 node.exe
743c46a6145b25b088ff5a18e3403fa02c4ce9c033b284c762ccd1329de85c37 node.exp
3c7b5f96e272d71b1eaca89a111d19f0e682193306c71687f63a695f40abff07 node.lib
fc15a8a784db0f23617544f663130af8e9d1155eb2ad706fe8387de1d7b62719 node.pdb
d1ab69f49365a0dc6b10a363965452f37f3589adee19974940cbd2b991965e70 node-v0.10.45-darwin-x64.tar.gz
f8acb114faea28a6d58b35025e3fd37b5bb9e8fa9eac4a3796d225c16ba541de node-v0.10.45-darwin-x64.tar.xz
3db0e42736fbdedc8a985269595251d9c4e4860594ce1eee4a692f8621ee5918 node-v0.10.45-darwin-x86.tar.gz
9544df4ab211e81601a02b681bf8fdec834efde4174ecf0a3f69fec9eab012eb node-v0.10.45-darwin-x86.tar.xz
94028ba548c1faabb6cb92143392784d3ad07829c16852f5404933eed7d73da7 node-v0.10.45-headers.tar.gz
31d4d84a543bd60ca6c738e1ef243b2b04f87e41566349b8242933812107bcca node-v0.10.45-headers.tar.xz
54d095d12b6227460f08ec81e50f9db930ec51fa05af1b7722fa85bd2cabb5d7 node-v0.10.45-linux-x64.tar.gz
2fd840bf79480863904860c63f615615077dbc88bd44669eb93c9bf216b4eaf0 node-v0.10.45-linux-x64.tar.xz
0d21b8e9d4213021cd954908098d07407052da1b7a97d6c585f89752c49505b4 node-v0.10.45-linux-x86.tar.gz
2e63e46a818777c3ba57a10406e6e1ab6ceee3b4b861eb195574659e5302ddae node-v0.10.45-linux-x86.tar.xz
39a4cea90fcd2564db4969a0dd6fe0d57c5593d1758796b8d41dfdda6597baca node-v0.10.45.pkg
019a1c40daff7b05efb2bd27c586d9ba9c5fe5048550b74e67e171d1495d4e30 node-v0.10.45-sunos-x64.tar.gz
69197c4adf23ff4a3c6c8fa5c35b9ab4d9906015624ef7a8a37d6573535d6116 node-v0.10.45-sunos-x64.tar.xz
39a0790a7e533dd77f473c009c11458a5205cfc438777139a5e9658be63dfee2 node-v0.10.45-sunos-x86.tar.gz
b764e0ad9a80a4a02abcfd33565aaf49d0345c43d8ce7e00b35e8a82cfa1102c node-v0.10.45-sunos-x86.tar.xz
d184bb74758d4ac69826823934cda1d46e81402fc16ebdb2ecacdc1a8fe0b568 node-v0.10.45.tar.gz
a71070ea7aece9c94450b45102f2d1be42f0add168dd9c9701e9032d363bd4fa node-v0.10.45.tar.xz
4c3e6c53fb65d789c522e0c4fe03341faae66707b436c389c5d5fd9298baa369 node-v0.10.45-x86.msi
c17e3353d44951611f8929afcedcd3fc9237fe7672037efbbbaab7b1a2d2f007 openssl-cli.exe
1897ea9e230f334a198f71526632a9c1ee16647fa94e6868cdd15ad9e6aa254f openssl-cli.pdb
949c8455152d1f217708cfcbbfc1be0c54f83b4e71d5cfa142f32d758587bbf6 x64/node.exe
e62c0a6e0d2dd3cfbe5e6d99c71109b79ba72f328079a7d89c6994d71348d029 x64/node.exp
ec4811d93e8508826d98de116bdf0dc858dda3c179c9333d6b5566e1e606c9e4 x64/node.lib
303a39cdc16070aca53a6ab5e8064b6a57f2ac6813dfcd58d3770129d0900515 x64/node.pdb
2f1e8d851bcaf5f1bc3e0498b241d0db53281223333b9a891b64818ab51a2044 x64/node-v0.10.45-x64.msi
264166624c9bcc38fbed31da56ed86e8ba16238b81700f86f6f35d89cb039f21 x64/openssl-cli.exe
0628dee6ddc474eca219a5d5069de1a6f2f3abcb3cd0eee06597e183672e6b5c x64/openssl-cli.pdb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQEcBAEBAgAGBQJXLJomAAoJEMJzeS99g1Rdty4IANVJ53QRd5tUepWjxjIwZ6e7
2r2oYSO6uihZkyddV+447KDzxYsGkdg0z4DS3BD7ym78hl4EEMlE/x8wPWBrZKAr
yACZu2U/3ivXYyEOvdV0nlLeUNGMeugTtVxhxSMbf7fK22zeLvLCC9Q4735zhG37
kAF7mw6Sszr+zCMV5eqh5MfYIwaCduck4TfG5ibc8fAQ4A4nUTF6jC0JRbcPXKku
7oT7ol7u8w97Im3ZynvwZZ2yQPAqSxssKjWuLnSmt+Wng7bUregjK04QNCaa8HEV
uPY0qIVSAS2rr1R12dOgqKhgO90gKoUa1qtWGivlvO2HH3JILWMjopb+mu0ZkIc=
=HZGA
-----END PGP SIGNATURE-----

Node v5.11.1(안정 버전)

이번 릴리스의 보안에 관한 자세한 내용은 블로그 글을 참고하세요.

주요 변경사항

  • buffer: 의도치 않은 kNoZeroFill을 보호 (Сковорода Никита Андреевич) nodejs/node-private#35
  • deps: openssl 소스를 1.0.2h로 업그레이드 (Shigeki Ohtsu) #6552

Commits

  • [35f06df782] - buffer: safeguard against accidental kNoZeroFill (Сковорода Никита Андреевич) nodejs/node-private#35
  • [99920480ae] - buffer: fix a typo in Buffer example code (Mr C0B) #6361
  • [d9f7b025d4] - deps: update openssl asm and asm_obsolete files (Shigeki Ohtsu) #6552
  • [f316fd20a0] - deps: add -no_rand_screen to openssl s_client (Shigeki Ohtsu) #1836
  • [263cc34657] - deps: fix asm build error of openssl in x86_win32 (Shigeki Ohtsu) #1389
  • [889d1151de] - deps: fix openssl assembly error on ia32 win32 (Fedor Indutny) #1389
  • [ba49b636b8] - deps: copy all openssl header files to include dir (Shigeki Ohtsu) #6552
  • [cdad83a789] - deps: upgrade openssl sources to 1.0.2h (Shigeki Ohtsu) #6552
  • [c1ddefdd79] - openssl: fix keypress requirement in apps on win32 (Shigeki Ohtsu) #1389
  • [bec5d50f1e] - test: fix alpn tests for openssl1.0.2h (Shigeki Ohtsu) #6552

Windows 32-bit Installer: https://nodejs.org/dist/v5.11.1/node-v5.11.1-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v5.11.1/node-v5.11.1-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v5.11.1/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v5.11.1/win-x64/node.exe
Mac OS X 64-bit Installer: https://nodejs.org/dist/v5.11.1/node-v5.11.1.pkg
Mac OS X 64-bit Binary: https://nodejs.org/dist/v5.11.1/node-v5.11.1-darwin-x64.tar.gz
Linux 32-bit Binary: https://nodejs.org/dist/v5.11.1/node-v5.11.1-linux-x86.tar.xz
Linux 64-bit Binary: https://nodejs.org/dist/v5.11.1/node-v5.11.1-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v5.11.1/node-v5.11.1-linux-ppc64le.tar.xz
SunOS 32-bit Binary: https://nodejs.org/dist/v5.11.1/node-v5.11.1-sunos-x86.tar.xz
SunOS 64-bit Binary: https://nodejs.org/dist/v5.11.1/node-v5.11.1-sunos-x64.tar.xz
ARMv6 32-bit Binary: https://nodejs.org/dist/v5.11.1/node-v5.11.1-linux-armv6l.tar.xz
ARMv7 32-bit Binary: https://nodejs.org/dist/v5.11.1/node-v5.11.1-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v5.11.1/node-v5.11.1-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v5.11.1/node-v5.11.1.tar.gz
Other release files: https://nodejs.org/dist/v5.11.1/
Documentation: https://nodejs.org/docs/v5.11.1/api/

Shasums (GPG signing hash: SHA512, file hash: SHA256):

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

7a992f61dc535c696ba2e236e3664ba669680f7e1a204e42166412cc3476503a node-v5.11.1-darwin-x64.tar.gz
0fe7b4f9ad94777e642ba5efff0bd899e15fa9fb6799cd22794ac4bd5006cc23 node-v5.11.1-darwin-x64.tar.xz
85072d2f231a947862984ec79f44b990287a6ba1589342c0ac4fea54d9ec88e2 node-v5.11.1-headers.tar.gz
b2a607a0cfb1252014bc01007b7c4d7790c78ba9fbe009accf89c16c06257397 node-v5.11.1-headers.tar.xz
8df5fa56ea1f79efc6f8baa9a6784bb1b0596fb7ef1d631694e35a89b3840de6 node-v5.11.1-linux-arm64.tar.gz
cb09abcd897d44959069c17d29ce6361ad20bd15e94cf72c1c5cd0976a08fa91 node-v5.11.1-linux-arm64.tar.xz
d6ffd43fd0546a5830117bb76979f074a04f9f2323bfc786ca5bd25f254149bc node-v5.11.1-linux-armv6l.tar.gz
a9f2c90cd7be087dff8f4fb15cf603c1bba9e95f23bd66958c41cbedc72e13a7 node-v5.11.1-linux-armv6l.tar.xz
d69ebad9bb86e2d54b6c8774e5bfd055b507dfd4da4b4a0a9ad8543358fd57de node-v5.11.1-linux-armv7l.tar.gz
17db8b2a9221ea7455c4471198965a9b6d6bc0c97187265e64925826a072dcaa node-v5.11.1-linux-armv7l.tar.xz
a349b77703902702ec2ec35de27150d19f73ca44045577c577312a5bde9e0b04 node-v5.11.1-linux-ppc64le.tar.gz
d0653882535519ddc6637a04eeb797b02a4ee708f14dd6cc4d84f44fcb65d0a3 node-v5.11.1-linux-ppc64le.tar.xz
d8e30e79a1e4ad56f55ef59facdf913c950e9664528f59f4388e85fdd899dfde node-v5.11.1-linux-x64.tar.gz
35ffd25963254decbec1069da318597ed2fb032d2782f7cbdfdd41dc6af99ee9 node-v5.11.1-linux-x64.tar.xz
5c8269b21400327eaae94f52d220127a90eca40ab7574f9da07811c48d25570f node-v5.11.1-linux-x86.tar.gz
01bcebec40d2030ebfd87fec82249fe1e2919bedcbc4998ee0b1c0365a33e7b4 node-v5.11.1-linux-x86.tar.xz
f06c2d54057c55913749991a6636e78c4180b989a6ee67bdc0017252bfc6c9c9 node-v5.11.1.pkg
65e80b25ba648b62faae99f4f4df86eeea6ed448c592cb638349a63eefcb5d0f node-v5.11.1-sunos-x64.tar.gz
61507107d14720f1dd24a25bea2bd626ebda63da5d495e5d8f2cdb1a5c03a696 node-v5.11.1-sunos-x64.tar.xz
24e9095e7fdb1765d2acf569209a194b16c048374a804a97fc5fec123b1b9217 node-v5.11.1-sunos-x86.tar.gz
c211f830ccb2198571f0e843101b7c9917ef0feae165c7e28a795b61798968a5 node-v5.11.1-sunos-x86.tar.xz
be1211ce415ecc48412ce3e9d5b48cf9ec8e99b34f25b4e1909a02679cc72fab node-v5.11.1.tar.gz
f11bc3727e7ea74cffa940be258beaf1f81bee90537d13caa9e748ae6105661f node-v5.11.1.tar.xz
53c1744bfc845deb4c3a727d9e581f845c34652eb994a81f651a804f67ae749f node-v5.11.1-x64.msi
b7c6f647a037f17d1dbdb602af8c35934dd06fa4fb8b35108bb311cbddbcb2ab node-v5.11.1-x86.msi
df52219a3fde636f0fb73e065c85b28904eefd81c16c34ec5e6576b7fd0d886b win-x64/node.exe
fe0654ca23f0f3c5b290d76efd8f18ba6a6d60445257eb4d59641dc647d33770 win-x64/node.lib
11160ea9fd4ae6db9c0fcee529cfae3d9fb3eed15a0428febbf6033c00494646 win-x86/node.exe
fa3fa032d8b04e65ff20cd34bb0e690f5f88ca023d9783aa5672215f568117b1 win-x86/node.lib
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJXK8+rAAoJELY7U1pMIGypxY8QANK8IsVkwb0u1ycZO65j+zIn
ChB6k+0f5wTo8ueIrq8uGNKyvYJpGmqN0/a7C61OGizfDMQcEXts+S4uEDkYDKlC
qR+TiwbKQBEE52T7+jcJOnXb2A1aJFNAItNEq/GVM6mjxgxNBA3gM/9PMEoBvfHI
hp5jF8CgKmc4ZfrYWUuHuycfeyuCu0/99TV9nS8EDLyFpgovEBRngGOmWmn/xV0h
Gv9bu0Ixih6oOEHBL3+dH9BJ6Fvf75gsazumKsQSXyoa7f/JfoLPbT8ecUvS9Mm/
JX+sNiNw9iBbx0iFSHVh03b5CsH/ateFalSDjKhNqOMykniUNI+FELs5/1/wU+6B
VzniJpbRR9tU2A0FdARvbnFMj1KJfUmsXGRlh399k2OmD6IoYkWtbsHcyFB6vGXE
F8w8UihBHQ69GAzTltQnyn3QO7s/0kF9UqozAJ3ApvA8Sq9cSIXmE1s5+a5GD+Cc
btrehhpUOgUZQ2ol4N2BOuKVc+svUWgiZ5QF1e2lNdOWnYCP+fSFqkf5PRRd4xW2
oMwnFO3Ehc5VSGHzVwGKfltmot+vkGD9xbDJZH1vCzYuj9zf66TbduPdFk0Exf0f
1gp5Na7EypJRgcLjLVSRriXVz6WYybgbVbA+7WcDw8jmKYwHdMUIRMRUFGMy/uts
YkqY3iJ4b5wydOEg+0Jt
=nE6V
-----END PGP SIGNATURE-----

Node v6.1.0(현재 버전)

이번 릴리스의 보안에 관한 자세한 내용은 블로그 글을 참고하세요.

주요 변경사항

  • assert: deep{Strict}Equal()가 이제 순환참조에서도 제대로 동작합니다. (Rich Trott) #6432
  • debugger: 디버거 repl에서 배열이 제대로 포매팅 됩니다. (cjihrig) #6448
  • deps: OpenSSL 소스를 1.0.2h로 업그레이드했습니다. (Shigeki Ohtsu) #6550
  • net: Socket#connecting 프로퍼티를 도입했습니다. (Fedor Indutny) #6404
    • 이전에는 이 정보를 문서화 하지 않았고 내부 _connecting 프로퍼티로만 사용할 수 있었습니다.
  • process: process.cpuUsage()를 도입했습니다. (Patrick Mueller) #6157
  • stream: Writable#setDefaultEncoding()가 이제 this를 반환합니다. (Alexander Makarenko) #5040
  • util: util.inspect()에 두 가지 추가사항이 생겼습니다.
    • 배열 포매팅의 끝을 잘라내는 maxArrayLength 옵션을 추가했습니다. (James M Snell) #6334
      • 기본값은 100입니다.
    • 포매팅 프락시 인터셉팅 핸들러를 위한 showProxy 옵션을 추가했습니다. (James M Snell) #6465
      • 프락시인지 검사하는 방법이 간단하지 않기 때문에 기본적으로 이 옵션은 꺼져 있습니다.

Commits

  • [76c9ab5fcf] - assert: allow circular references (Rich Trott) #6432
  • [7b9ae70757] - benchmark: Fix crash in net benchmarks (Matt Loring) #6407
  • [0d1985358a] - build: use shorthand lint target from test (Johan Bergström) #6406
  • [7153f96f0e] - build: unbreak -prof, disable PIE on OS X (Ben Noordhuis) #6453
  • [8956432e18] - build: exclude tap files from tarballs (Brian White) #6348
  • [11e7cc5310] - build: don’t compile with -B (Ben Noordhuis) #6393
  • [1330496bbf] - cluster: remove use of bind() in destroy() (yorkie) #6502
  • [fdde36909c] - crypto: fix error in deprecation message (Rich Trott) #6344
  • [2d503b1d4b] - debugger: display array contents in repl (cjihrig) #6448
  • [54f8600613] - deps: update openssl asm and asm_obsolete files (Shigeki Ohtsu) #6550
  • [a5a2944877] - deps: add -no_rand_screen to openssl s_client (Shigeki Ohtsu) nodejs/io.js#1836
  • [3fe68129c8] - deps: fix asm build error of openssl in x86_win32 (Shigeki Ohtsu) iojs/io.js#1389
  • [d159462fed] - deps: fix openssl assembly error on ia32 win32 (Fedor Indutny) iojs/io.js#1389
  • [3af28d3693] - deps: copy all openssl header files to include dir (Shigeki Ohtsu) #6550
  • [e6ab3ece65] - deps: upgrade openssl sources to 1.0.2h (Shigeki Ohtsu) #6550
  • [65b6574d59] - deps: backport IsValid changes from 4e8736d in V8 (Michaël Zasso) #6544
  • [33f24c821b] - doc: adds ‘close’ events to fs.ReadStream and fs.WriteStream (Jenna Vuong) #6499
  • [4f728df1bf] - doc: linkify remaining references to fs.Stats object (Kevin Donahue) #6485
  • [9a29b50c52] - doc: fix the lint of an example in cluster.md (yorkie) #6516
  • [d674493fa5] - doc: add missing underscore for markdown italics (Kevin Donahue) #6529
  • [7c30f15e1b] - doc: ensure consistent grammar in node.1 file (justshiv) #6426
  • [e5ce53a217] - doc: fix sentence fragment in fs doc (Rich Trott) #6488
  • [3e028a143c] - doc: remove obsolete comment in isError() example (cjihrig) #6486
  • [969f96a019] - doc: fix a typo in __dirname section (William Luo) #6473
  • [ab7055b003] - doc: fix fs.realpath man pg links (phette23) #6451
  • [13e660888f] - doc: extra clarification of historySize option (vsemozhetbyt) #6397
  • [3d5b732660] - doc: clarifies http.serverResponse implementation (Allen Hernandez) #6072
  • [7034ebe2bc] - doc: use Node.js in synopsis document (Rich Trott) #6476
  • [4ae39f9863] - doc: remove all scrollbar styling (Claudio Rodriguez) #6479
  • [e6c8da45b1] - (SEMVER-MINOR) doc: make writable.setDefaultEncoding() return this (Alexander Makarenko) #5040
  • [4068d64f4f] - doc: fix EventEmitter#eventNames() example (Сковорода Никита Андреевич) #6417
  • [bfcde97251] - doc: fix incorrect syntax in examples (Evan Lucas) #6463
  • [8eb87ee239] - doc: Remove extra space in REPL example (Juan) #6447
  • [fd37d54eb5] - doc: added note warning about change to console.endTime() (Ben Page) #6454
  • [b3f75ec801] - doc: expand documentation for process.exit() (James M Snell) #6410
  • [fc0fbf1c63] - doc: subdivide TOC, add auxiliary links (Jeremiah Senkpiel) #6167
  • [150dd36503] - doc: no Node.js(1) (Jeremiah Senkpiel) #6167
  • [ab84d69048] - doc: better example & synopsis (Jeremiah Senkpiel) #6167
  • [f6d72791a1] - doc: update build instructions for OS X (Rich Trott) #6309
  • [36207c6daf] - doc: correctly document the behavior of ee.once(). (Lance Ball) #6371
  • [19fb1345ba] - doc: use Buffer.from() instead of new Buffer() (Jackson Tian) #6367
  • [fb6753c75c] - doc: fix v6 changelog (James M Snell) #6435
  • [2c92a1fe03] - events: pass the original listener added by once (DavidCai) #6394
  • [9ea6b282e8] - meta: split CHANGELOG into two files (Myles Borins) #6337
  • [cbbe95e1e1] - (SEMVER-MINOR) net: introduce Socket#connecting property (Fedor Indutny) #6404
  • [534f03c2f0] - openssl: fix keypress requirement in apps on win32 (Shigeki Ohtsu) iojs/io.js#1389
  • [1b9fdba04e] - (SEMVER-MINOR) process: add process.cpuUsage() - implementation, doc, tests (Patrick Mueller) #6157
  • [fa9d82d120] - src: unify implementations of Utf8Value etc. (Anna Henningsen) #6357
  • [65030c77b7] - test: fix alpn tests for openssl1.0.2h (Shigeki Ohtsu) #6550
  • [7641f9a6de] - test: refactor large event emitter tests (cjihrig) #6446
  • [5fe5fa2897] - test: make addon testing part of make test (Ben Noordhuis) #6232
  • [457d12a0a1] - test: add failing url parse tests as known_issue (James M Snell) #5885
  • [089362f8b8] - test,tools: limit lint tolerance of gc global (Rich Trott) #6324
  • [6d1606ee94] - test,tools: adjust function argument alignment (Rich Trott) #6390
  • [08e0884ae0] - tools: add -F flag for fixing lint issues (Rich Trott) #6483
  • [9f23cb24f2] - tools: fix exit code when linting from CI (Brian White) #6412
  • [e62c42b8f4] - tools: remove default parameters from lint rule (Rich Trott) #6411
  • [66903f6695] - tools: add tests for the doctool (Ian Kronquist) #6031
  • [3f608b16a7] - tools: lint for function argument alignment (Rich Trott) #6390
  • [91ab769940] - (SEMVER-MINOR) util: truncate inspect array and typed array (James M Snell) #6334
  • [0bca959617] - (SEMVER-MINOR) util: fix inspecting of proxy objects (James M Snell) #6465

Windows 32-bit Installer: https://nodejs.org/dist/v6.1.0/node-v6.1.0-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v6.1.0/node-v6.1.0-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v6.1.0/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v6.1.0/win-x64/node.exe
Mac OS X 64-bit Installer: https://nodejs.org/dist/v6.1.0/node-v6.1.0.pkg
Mac OS X 64-bit Binary: https://nodejs.org/dist/v6.1.0/node-v6.1.0-darwin-x64.tar.gz
Linux 32-bit Binary: https://nodejs.org/dist/v6.1.0/node-v6.1.0-linux-x86.tar.xz
Linux 64-bit Binary: https://nodejs.org/dist/v6.1.0/node-v6.1.0-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v6.1.0/node-v6.1.0-linux-ppc64le.tar.xz
SunOS 32-bit Binary: https://nodejs.org/dist/v6.1.0/node-v6.1.0-sunos-x86.tar.xz
SunOS 64-bit Binary: https://nodejs.org/dist/v6.1.0/node-v6.1.0-sunos-x64.tar.xz
ARMv6 32-bit Binary: https://nodejs.org/dist/v6.1.0/node-v6.1.0-linux-armv6l.tar.xz
ARMv7 32-bit Binary: https://nodejs.org/dist/v6.1.0/node-v6.1.0-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v6.1.0/node-v6.1.0-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v6.1.0/node-v6.1.0.tar.gz
Other release files: https://nodejs.org/dist/v6.1.0/
Documentation: https://nodejs.org/docs/v6.1.0/api/

Shasums (GPG signing hash: SHA512, file hash: SHA256):

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

481aeab001b6c79589daf3e1f8f5b9ad7021a3979b49fd842313010482ff7b56 node-v6.1.0-darwin-x64.tar.gz
a599974633ffbc8a3964699080d4f369297198eac4e18a990f801a6b42b742e6 node-v6.1.0-darwin-x64.tar.xz
9419fce25791df7afd27d173a1148ef9f53c349cd9a2e8d9bdac5276d80a1bb5 node-v6.1.0-headers.tar.gz
8e35bf983def6f7bc321fbabcd3bf5e7909e30417cb9c43f31171a63cf664b10 node-v6.1.0-headers.tar.xz
87670387877d1cbe36642970e3ca84a77121d3200771b80ec2286bc261e060f7 node-v6.1.0-linux-arm64.tar.gz
7fde2a7b2b7d96d14d3f3f655474434af38583b471973ba3ff07ae29a1f0d821 node-v6.1.0-linux-arm64.tar.xz
aeff5e4b77fba25feb19ec4739116373234e93aff0d2c9662c4ebd87fa4b34ae node-v6.1.0-linux-armv6l.tar.gz
856120ca6e03501c29fadced18f737487092ad75845247e8e2feea30b97f53c9 node-v6.1.0-linux-armv6l.tar.xz
55d7a2e5071b13db6fe5d952dc5ee5d2223ae4a0de2f2c2d7a68d65e1cfa377b node-v6.1.0-linux-armv7l.tar.gz
ee9583ee94c602b63d758edb564e944a24d4cadac38bde95b25e4995362297e8 node-v6.1.0-linux-armv7l.tar.xz
bca98e8a4f5c11dee9eb4fec2bd0a42c1f8a921863bba417fc88c7274a0c0c04 node-v6.1.0-linux-ppc64le.tar.gz
5b2b85bbc2f289d3f6c458fa77cdf7c74befccfade02c7a287c6992addcbf3f0 node-v6.1.0-linux-ppc64le.tar.xz
ce46dd0188181b70661b9162feffdbd8a860cb75cb6661c37d6d61982e3f72c5 node-v6.1.0-linux-x64.tar.gz
6ae9d08f8c606810e17db6a6c9ff2689072e27682a0e1875cbb75effa8ae3d5e node-v6.1.0-linux-x64.tar.xz
07d6f0b11b98c876f2d029722696da6cc9b93a2ce6b34abb7a517e0afb04fb34 node-v6.1.0-linux-x86.tar.gz
41b34eef859fb0d39498bc900778f5e692fe4367b7d1588df3ae1f1f98bc4330 node-v6.1.0-linux-x86.tar.xz
b58bfcbce73dc04342a465dca92d802bf5e437f7da224b6157d6c87fe805c5f6 node-v6.1.0.pkg
d7cbb0bfe0915ac7bdb37e87ea7145f6e86ef2943e77f306c648e47d3d33c898 node-v6.1.0-sunos-x64.tar.gz
930596fb6ddb8aedc3c358002786f207f30b3d7f0b377766d5017452ea36196f node-v6.1.0-sunos-x64.tar.xz
38ec9537ab2fbf6112365b3a291ebe962d14b384b474e54fa77227b2e98624c9 node-v6.1.0-sunos-x86.tar.gz
254c080b41db83979d200c4ab28fbbc667b8528d9e260ce9f2599293bb17e4a0 node-v6.1.0-sunos-x86.tar.xz
9e67ef0b8611e16e6e311eccf0489a50fe76ceebeea3023ef4f51be647ae4bc3 node-v6.1.0.tar.gz
c7940301917232527490a166df78f9d3d58e70e10fd502f73889d936763cfe84 node-v6.1.0.tar.xz
b32b1105da5c08023976717d9aaeb0e3ba93d09f170aa3d81ad8ddfb0abfbdd4 node-v6.1.0-x64.msi
26b762f6066feeae59107c064eeaf70019880cb113279d51e35dff46c6c81be2 node-v6.1.0-x86.msi
a0f1fa671ae76821dd1098fb67bbc9601bdf5229a1dac5585441d279765d0d20 win-x64/node.exe
135215ad3ff8774386d6525e69d62ca3a24da5a7962f1464e1b5758b58583eb3 win-x64/node.lib
a6391706a5ac17bcf9f8ff5fb9c0359b6787dcfd45a6089f91d36edb49738c69 win-x86/node.exe
17608b03161b6fd3e956ff0a53da0a0d483a3860fa236eb8e1eaf205158916fc win-x86/node.lib
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJXLLHaAAoJEEX17r2BPa6O3C4P+wXrjmby0cm/K1HLpmCtitMu
4aMpt1/MlVVZjlCrm/vtvt56L7KznU0BgMq0DjJDvmWuWOs6wwWHj9SF69BvsHXV
A9tKuVHSKq/S9dFqv+Ucz3L+ITYCZSpZubKCfUbRPvCMTl4Aw1lF+JwCzpiB9GCx
kxJdN+HVuHJonmcSku1V/lP/zSylkHWGC4YvRwmRcZMIPedTfvYtIWHzRXIpMwjN
WD2BSiHGqqh0U2KFe+drwrZZEYjLfS0urwgIsdnS+BIfDATaMyP5W++iKZ1G9QvD
bbi+Lyye9jnJNhJvFUHA5df33jn3avfBMFgsToFqWw+nmLTrJyco+kaEBSSnhD5l
sl1S/Vc7jrZgX1Hz4iiPM8t6c8h1hH/eck5HuqQcP114x/EP3LPlKGdy3MRZcvWO
VCrI9A3zQitbmiwNC1kml6S50/XrRJL/bLrBPqlg2p42t/LMsq6KKfUDzE9ibooR
O7gxMd6Bk4B2R8RQtF0uQ6X/KQK4U65RKRjgQznMK+eQfJ/z4D1i1lr2APp8QwiS
UXMG4zLnJThb7G6z1Z2HtS5RL+0LuOaFj5MH4ft7PTAhvaVybGeGb+qv5s2Hhva/
RAvkB/wyx/3uCLAJDfDYSH+lFu9hak0+eLY59Qv9hVziTqIOXSTuxiumVAu/gWhS
MWdeZRgt8pObdLGV1eaW
=/0Ti
-----END PGP SIGNATURE-----

N|Solid v1.3: 보안, 생산성, 성능

Node.js는 앱 개발의 새로운 주요 패러타임으로 계속 동력을 얻고 있습니다. N|Solid로 기업용 Node.js 개발을 위한 올바른 솔루션을 만들 수 있습니다. 향상된 개발 생산성과 핵심 애플리케이션 보안, 최고의 애플리케이션 성능을 제공하는 N|Solid v1.3을 소개합니다.

플랫폼 보안 보장

Node가 제공하는 주요한 이점 중 하나는 그 풍부한 모듈 생태계이고, 이는 개발팀의 앱에 넓은 범위의 통합 능력을 제공합니다. 그러나 개발자, 사용자 기반의 성장으로 지원받는 다른 여타 생태계와 마찬가지로 보안 취약점은 개발의 영역입니다. 노출된 취약점을 이해하고 취약점 수정 상황을 모니터링 하는 것은 당신의 애플리케이션 보안을 유지하는 열쇠입니다. N|Solid는 당신의 애플리케이션 보안 취약점을 식별하고 모니터합니다. 직접적 경고와 함께 제공되는 간소화된 보안 뷰는 당신의 전체 환경을 포함해 제공됩니다.

취약점을 찾는 것뿐만 아니라, N|Solid는 모듈 사용을 제어할 수 있는 정책 기반의 보안 메커니즘을 사용하고 런타임 수준의 강제 보안 메모리 할당을 제공합니다. 이런 보호들은 예측하지 못한 데이터 유출과 기본 시스템 접근으로부터 허가되지 않은 코드를 예방합니다.

노출 가시성. N|Solid는 노출된 취약점 뷰와 특정 애플리케이션들 프로세스들의 각각 노출된 취약점을 명확하게 보여줍니다. 이 시스템은 실행 중인 코드에 알려진 패키지 취약점을 직접적으로 검사하여 CI/CD 업무 흐름을 바꾸거나 코드 저장소에 접근할 필요가 없습니다. 당신의 노출 레벨이 변경되었을 때 당신에게 경고를 합니다.

실행 시간에 알려진 취약점을 모음으로써 N|Solid는 강력한 보안 뷰를 통해 당신에게 여러 애플리케이션의 개선 상황을 시각적으로 추적할 수 있도록 합니다.

이 보안 뷰는 또한 수정된 서드파티 패키지들을 제공합니다. 어떠한 방법으로든 패키지들의 수정 여부를 아는 것은 당신의 애플리케이션 보안 프로필을 이해하는데 필수적입니다.

기업용 제품 모니터링

확장에서의 Node.js 환경을 다루는 것은 중대한 도전이 될 수 있습니다. 다양한 모니터링 도구들은 수 천 개의 개별 애플리케이션과 지원 프로세스를 통합한 완전한 뷰를 제공 하기 위해 모두 함께 작동될 필요가 있습니다. N|Solid 콘솔은 모니터링과 당신의 모든 Node.js 애플리케이션들의 성능 분석을 하나의 통합된 뷰에서 제공합니다.

성능 문제가 나타날 때, 세부적인 애플리케이션 성능 데이터를 잡아내는 것은 근본적 문제요소를 빠르게 파악하는데 핵심이 될 수 있습니다. N|Solid는 제품보호와 단일 클릭 CPU 프로필링과 힙 스냅샷을 얻음으로써 당신이 올바로 핵심 문제에 즉시 접근할 수 있도록 도와줍니다.

스레스홀드 모니터링. N|Solid는 성능 문제가 발생한 동안에 CPU 프로필과 힙 스냅샷을 위한 스레스홀드 기반 시스템을 제공합니다. 직관적 시각 인터페이스를 사용해 CPU 사용량과 힙 사용 주파수 수집 등을 위한 스레스홀드를 설정하거나 모니터할 수 있습니다.

N|Solid는 모니터링과 APM 솔루션이 제공하는 애플리케이션 응답에 대한 가시성을 서비스 하는 것을 넘어설 것입니다. 이벤트 수행 중 특정 프로세스를 위한 포렌식 데이터를 캡쳐하는 것은 빠른 해결을 가능하게 합니다. 콘솔에서 분석을 위한 프로필과 스냅샷은 즉시 가능합니다.

성능 최적화

N|Solid 콘솔은 팀을 빠르게 확인하고 성능 문제를 분석하는데 초점을 맞추는 것을 허락하고, 프로세스와 데이터의 바다에서 수영하듯 시간을 낭비하게 하지 않습니다. N|Solid 콘솔은 수백 개의 호스트, 프로세스로 확장하는 직관적인 시각화, 당신의 애플리케이션 성능, 중요 보안 데이터의 직관적인 모니터링을 제공합니다. N|Solid는 당신의 APM 솔루션과 결합해 당신의 애플리케이션 성능을 볼 수 있는 완전한 뷰를 제공합니다. 이것은 규모 있는 Node.js 애플리케이션을 운영하기 위해 플랫폼 최적화를 하려는 개발자, 데브옵스, 보안 직원을 위해 제공됩니다.

5월 10일 오전 10시 N|Solid의 라이브 데모를 확인하세요. 등록하기

N|Solid v1.3 자세히 보기.

OpenSSL 1.0.1t, 1.0.2h 업데이트

(2016년 5월 6일 수정사항) 새로운 Node.js 릴리스

이 글에서 얘기한 OpenSSL 보안 업데이트를 포함한 새로운 버전을 릴리스했습니다. 공개된 취약점을 차단하려면 가능한 한 빨리 Node.js를 업그레이드하세요.

위험도 평가를 아래 원래의 글에 추가했습니다.

OpenSSL 프로젝트에서 이번 주(UTC 기준 5월 3일 화요일)에 1.0.1t와 1.0.2h를 릴리스하겠다고 발표했습니다. 이번 릴리스에서는 보안 정책에 따라 심각도가 “높게” 평가된 “다수의 보안 결함”을 수정할 것입니다. 높은 심각도의 이슈는 다음을 의미합니다.

… 일반적인 구성에는 적게 영향을 주거나 이용될 가능성이 작아 보이기 때문에 심각함보다는 낮은 위험으로 판단됩니다.

Node.js v0.10과 v0.12는 둘 다 OpenSSL v1.0.1을 사용하고 Node.js v4, v5, v6은 OpenSSL v1.0.2를 사용합니다. nodejs.org와 그 외 많이 사용하는 배포처의 릴리스는 정적으로 컴파일되기 때문에 사용 중인 모든 릴리스 라인은 이번 업데이트에 영향을 받습니다.

현재 상황에서는 비밀 유지를 위해서 이번 결함의 자세한 내용을 밝혀지지 않았고 Node.js 사용자에게 어떤 영향이 있는지도 알지 못합니다. 그래서 다음의 과정에 따라 진행할 예정입니다.

OpenSSL 릴리스 후 대략 24시간 이내에 우리 crypto 팀에서 OpenSSL 릴리스에 관해서 Node.js 사용자의 영향도를 평가할 것입니다. 이 평가는 사용 중인 릴리스 라인에 따라 다양할 수 있고 그 내용은 이 글에 올릴 것입니다.

영향도 평가 과정의 일부로 영향도를 고려해서 각 릴리스 라인의 릴리스 계획을 발표할 것입니다. 5월 3일 화요일 이후 Node.js v0.10, v0.12, v4, v5, v6에 중요한 업데이트가 있을 수 있으므로 준비하길 바랍니다. 5월 5일 목요일이나 그 이후에 업그레이드가 필요할 수 있습니다.

Node.js v5는 6월까지 지원될 것이므로 이번 릴리스에 포함될 것입니다.

OpenSSL 릴리스 이후 대략 24시간 이내에 영향도 평가와 릴리스 시기에 대한 자세한 내용을 올릴 것이므로 nodejs-sec 구글 그룹을 주의 깊게 보기 바랍니다. https://groups.google.com/forum/#!forum/nodejs-sec

연락처와 차기 업데이트

현재 Node.js 보안 정책은 https://nodejs.org/en/security/에서 볼 수 있습니다.

Node.js 취약점에 대해 보고하고 싶다면 security@nodejs.org로 연락 주세요.

보안 취약점과 보안과 관련된 릴리스에 대한 최신 정보를 받고 싶다면 https://groups.google.com/forum/#!forum/nodejs-sec에서 약간의 공지만 올라오는 nodejs-sec 메일링 리스트를 구독하기 바랍니다. 프로젝트는 nodejs GitHub 조직에서 관리하고 있습니다.

(2016년 5월 4일 갱신됨) OpenSSL 영향 평가

우리의 crypto 팀(Ben Noordhuis, Shigeki Ohtsu, Fedor Indutny)에서 이번 주의 OpenSSL 릴리스 1.0.2h1.0.1t에서 처리한 결함을 분석했습니다. 이 분석 결과는 아래에 나와 있습니다.

보안을 보장하려고 새로운 버전의 OpenSSL을 포함해서 모든 릴리스 라인의 새로운 버전을 이번 주에 릴리스할 것입니다. 모든 릴리스가 완료되면 이 글에 올릴 예정입니다. UTC 기준 5월 5일 목요일 이후에 릴리스할 것으로 예상합니다.

CVE-2016-2107: AES-NI CBC MAC 검사의 패딩 오라클

연결이 AES-CBC 암호를 사용하고 서버가 AES-NI를 지원하는 Intel CPU에서 돌아가고 있을 때 중간자(MITM, man-in-the-middle) 공격자가 트래픽을 복호화하려고 패딩 오라클 공격을 할 수 있습니다. 이는 TLS 서버의 일반적인 구성입니다.

OpenSSL 프로젝트는 심각도가 높은 취약점으로 분류했습니다.

평가: Node.js의 모든 버전은 이 취약점에 영향을 받습니다.

CVE-2016-2105: EVP_EncodeUpdate 오버플로

바이너리 데이터의 Base64 인코딩에 사용하는 OpenSSL EVP_EncodeUpdate() 함수에서 오버플로가 발생할 수 있습니다. 오버플로를 일으키려면 공격자가 대량의 입력데이터를 보낼 수 있어야 합니다.

Node.js는 SPKAC 인증서 서명 요청에서 crypto.Certificate#exportPublicKey()를 호출할 때 내부적으로 EVP_EncodeUpdate()를 사용합니다. 취약점이 동작하려면 애플리케이션에서 사용자가 제공한 데이터를 이 메서드에 전달해야 합니다. 이 메서드는 Node.js v0.12부터 사용 가능합니다.

OpenSSL 프로젝트는 심각도가 낮은 취약점으로 분류했습니다.

  • Node.js v0.10은 영향을 받지 않습니다.
  • Node.js v0.12, v4, v5, v6은 영향을 받습니다.

CVE-2016-2108: ASN.1 인코더에서 메모리 변조

평가: Node.js의 모든 버전은 이 취약점에 영향을 받지 않습니다.

CVE-2016-2106: EVP_EncryptUpdate 오버플로

평가: Node.js의 모든 버전은 이 취약점에 영향을 받지 않습니다.

CVE-2016-2109: ASN.1 BIO 과도한 메모리 할당(CVE-2016-2109)

평가: Node.js의 모든 버전은 이 취약점에 영향을 받지 않습니다.

CVE-2016-2176: EBCDIC 오버리드(overread)

평가: Node.js의 모든 버전은 이 취약점에 영향을 받지 않습니다.

Node.js 주간 뉴스 2016년 4월 29일

Node v6.0.0(현재 버전) 릴리스

Node v6.0.0(현재 버전). 이전 버전과 달라진 전체 변경사항은 GitHub에서 볼 수 있습니다.

자세한 내용은 v5와 v6 사이의 변경사항을 참조하십시오.

안정 버전 대신 현재 버전 라벨을 사용한 v6 릴리스를 알 수 있을 것입니다. 이러한 이름 변경은 현재 활발하게 개발하는 브랜치로부터 장기 지원 버전을 더 알맞게 차별화하기 위해 만들어졌습니다. 안정 버전 대신 이제부터는 현재 버전 라벨을 사용하게 될 것입니다.

세계에서 가장 빠르게 성장하는 오픈 소스 플랫폼이 새로운 릴리스를 내보내다

성능 향상은 현재 Node.js 버전 4(Node.js v4)보다 네 배 빠른 모듈 로딩에서 오는 가장 중요한 개선 사항 중 하나이며 이번 최신 릴리스의 핵심입니다. 이것은 개발자에게 개발 주기와 최종 사용자가 더 원활한 체험 안에서 최상의 생산성을 위한 대규모 애플리케이션의 가동 시간을 급격히 단축하도록 도울 것입니다. 또한, Node.js v6는 ECMAScript 2015 (ES6) 지원이 향상된 v8 JavaScript 엔진 5.0이 제공됩니다. ES6 기능의 93퍼센트도 지금 Node.js v6 릴리스에서 지원되며 이는 Node.js v5의 56퍼센트와 Node.js v4의 50퍼센트에서 향상된 수치입니다. ES6의 주요 기능으로 기본 파라미터, rest 파라미터, 디스트럭처링(destructuring), class와 super 키워드 등이 있습니다.

자세한 정보는 https://nodejs.org/en/blog/announcements/v6-release/를 참조하십시오.

커뮤니티 업데이트

  • Node Hero - Node.js 시작해보기: Node.js를 시작하고 그것을 사용하여 소프트웨어 제품을 제공하는 방법을 배울 수 있습니다.
  • Node.js 코어 소스를 읽는 빠른 가이드: Node.js 코어를 구성하는 소스 코드를 이해하기 위한 한 사람의 접근법. “귀하의 마일리지가 다를 수 있습니다. 포장이 파손되어 있으면 보증은 무효가 됩니다.”

Node.js에 관한 글을 쓰거나 발견했다면, Evangelism 팀 저장소이슈 페이지에 주간 업데이트 이슈로 알려주세요.

다가오는 이벤트

계획 중인 Node.js 이벤트가 있나요? Evangelism 팀 저장소이슈 페이지에 주간 업데이트 이슈를 통해 알릴 수 있습니다.

Node v6.0.0(현재 버전)

v5.0.0을 릴리스한 뒤 정확히 6개월에서 3일 모자란 날에 Node.js 재단은 Node.js v6을 발표하게 되었습니다.

이 Node.js 새로운 주 버전은 성능, 신뢰성, 사용성, 보안성에서 충분한 개선을 이룬 버전입니다. 모듈 로딩은 Node.js v4보다 4배 가까이 빨라졌고 테스트와 문서도 많이 개선되었으며 Buffer와 파일 시스템 API의 사용성도 개선되었습니다. V8 5.0 덕분에 Node.js는 이제 ES6 언어 기능의 93%를 지원합니다.

장기지원 계획에 따라 Node.js v4 ‘Argon’은 2017년 4월까지 활성 장기지원을 할 것이고 그 이후부터는 유지보수 LTS라고 부르는 단계에 들어갈 것입니다. 새로운 Node.js v6 브랜치는 올해 10월에 새로운 활성 장기지원에 들어갈 것이고 2018년 4월까지 지원을 받을 것입니다. LTS 계획에 대해서 잘 모른다면 어떤 버전의 Node.js를 사용할지 제대로 결정하기 위해 LTS가 어떻게 동작하는지에 대한 문서를 읽어 보세요.

사용할 Node.js 버전을 결정할 때의 일반적인 규칙은 다음과 같습니다.

  • 안정성이 중요하거나 프로덕션 환경이 복잡하다면 Node.js v4(현재는 v4.4.3)로 업그레이드하거나 유지하세요.
  • 최신 기능이 도입되는 대로 빨리 사용해보고 싶고 최신 버전으로 업그레이드할 수 있다면 Node.js v6로 업그레이드하세요.

v6가 결국에는 LTS에 들어갈 것이지만 그 전까지는 새로운 기능을 적극적으로 도입할 것입니다.(semver의 마이너 버전으로) 이는 회귀가 발생할 수 있다는 의미입니다.

아래 릴리스 노트에는 v6로 변경할 이유를 보여주는 주요 변경사항이 나와 있습니다. 새로운 버전의 Node.js가 새로운 버전의 V8을 포함하고 있으므로 이미 설치한 네이티브 애드온은 모두 다시 컴파일을 해야 하고 그렇지 않다면 이러한 모듈을 불러올 때 런타임 오류가 발생할 것입니다. npm rebuild를 사용하거나 node_modules 디렉터리를 제거하고 npm install로 재설치 하세요.

Node.js v5는 어떻게 되는가?

현재 Node.js v5를 사용하고 있는 개발자들이 Node.js v6로 업그레이드할 시간을 가질 수 있도록 앞으로 두 달 동안 Node.js v5도 계속 지원할 것입니다.

Node.js v0.10과 v0.12는 어떻게 되는가?

아직 Node.js v0.10나 v0.12를 사용하고 있다면 v4나 v6로 바꿀 때입니다. 현재 v0.10과 v0.12 모두 유지보수 단계에 있고 올해 말에는 지원을 완전히 멈출 예정입니다.

현재 버전(Current)? 안정 버전(Stable)은 어떻게 되는가?

v6 릴리스가 안정 버전 대신 현재 버전이라는 레이블을 사용하는 것을 눈치챘을 겁니다. 장기지원 릴리스와 현재 주도적으로 개발하고 있는 브랜치를 더 명확하게 구별하기 위해서 이름을 변경했습니다. 이제 안정 버전 대신 현재 버전이라는 레이블을 사용할 것입니다.

주요 변경사항

이전의 Node.js v5.0.0 릴리스 이후 다음과 같은 많은 변경사항이 있습니다.

  • Buffer
    • 새로운 Buffer 생성자가 추가되었습니다. #4682#5833
    • 기존의 Buffer()SlowBuffer() 생성자는 폐기됨으로 문서에 표시했습니다. #4682#5833
    • 이전에 폐기된 Buffer API는 삭제되었습니다. #5048, #4594
    • 오류 처리가 개선되었습니다. #4514
    • Buffer.prototype.lastIndexOf() 메서드가 추가되었습니다. #4846
  • Cluster
    • 워커는 ‘message’ 이벤트의 첫 번째 인자로 발생합니다. #5361
    • worker.exitedAfterDisconnect 프로퍼티가 worker.suicide를 대체합니다. #3743
  • Console
    • console.timeEnd()를 알지 못하는 레이블로 호출하면 이제 오류를 던지는 대신 프로세스 경고를 발생시킵니다. #5901
  • Crypto
    • 오류 처리가 개선되었습니다. #3100, #5611
    • 인증서 클래스 바인딩을 간소화했습니다. #5382
    • FIPS 모드의 제어가 개선되었습니다. #5181
    • pbkdf2 다이제스트 오버로딩이 폐기되었습니다. #4047
  • 의존성
    • 공유된 c-ares 빌드 지원을 다시 추가했습니다. #5775
    • V8을 5.0.71.35로 업데이트했습니다. #6372
  • DNS
    • 평문 DNS PTR 레코드를 질의하는 dns.resolvePtr() API를 추가했습니다. #4921
  • Domains
    • 오류 핸들러가 없을 때는 스택을 제거합니다. #4659
  • Events
    • EventEmitter.prototype._events 객체는 더는 Object.prototype를 상속하지 않습니다. #6092
    • EventEmitter.prototype.prependListener()EventEmitter.prototype.prependOnceListener() 메서드를 추가했습니다. #6032
  • File System
    • fs.realpath()fs.realpathSync() 메서드는 더 효율적인 libuv에 기반을 둔 구현체를 사용하도록 수정되었습니다. 이 변경으로 cache 인자가 없어지고 이 메드에서 새로운 오류를 던질 수 있게 되었습니다. #3594
    • FS API는 이제 path로 Buffer를 받고 반환할 수 있습니다. #5616
    • 오류 처리와 타입 검사가 개선되었습니다. #5616, #5590, #4518, #3917
    • fs.read의 문자열 인터페이스는 폐기되었습니다. #4525
  • HTTP
    • HTTP 서버에서 커스텀 오류를 반환하는데 ‘clientError’를 사용할 수 있습니다. #4557
  • Modules
    • 로컬 검색 시에 이제 현재 디렉터리를 우선시합니다. #5689
    • 모듈을 require 할 때 심볼릭 링크를 유지합니다. #5950
  • Net
    • 더는 DNS 힌트를 묵시적으로 설정하지 않습니다. #6021
    • 오류 처리와 타입 검사가 개선되었습니다. #5981, #5733, #2904
  • OS X
    • MACOSX_DEPLOYMENT_TARGET이 10.7로 바뀌었습니다. #6402
  • Path
    • 타입 검사가 개선되었습니다. #5348
  • Process
    • 프로세스 경고 API가 도입되었습니다. #4782
    • nextTick에 함수가 아닌 인자를 전달하면 예외를 던집니다. #3860
  • Querystring
    • querystring.parse()가 반환하는 객체는 더는 Object.prototype를 상속받지 않습니다. #6055.
  • Readline
    • 무조건 Key 정보가 발생합니다. #6024
    • 히스토리 기능을 명시적으로 비활성화할 수 있습니다. #6352
  • REPL
    • _에 대입하면 경고가 발생합니다. #5535
    • eval을 실패했을 때 표현식이 더는 완료되지 않습니다. #6328.
  • Timers
    • 콜백이 함수가 아닐 때 빨리 실패합니다. #4362
  • Streams
    • object 모드에서 작성을 할 때 null은 이제 유효하지 않은 청크입니다. #6170
  • TLS
    • ‘clientError’을 ‘tlsClientError’로 변경했습니다. #4557
    • sessionIdContext에 SHA1을 사용합니다. #3866
  • TTY
    • 전에 폐기했던 setRawMode 래퍼를 제거했습니다. #2528
  • URL
    • 호스트가 바뀌었다면 url.resolve()에서 사용자명과 비밀번호를 버립니다. #1480
  • Util
    • 오류 객체 포맷이 변경되었습니다. #4582
    • util._extend() 메서드는 폐기되었습니다. #4903
    • util.log() 메서드는 폐기되었습니다. #6161
  • Windows
    • Windows XP와 Vista는 더는 지원하지 않습니다. #5167.
  • Zlib
    • Zlib 처리와 관련해서 다양한 개선이 이루어졌습니다. #5883, #5707

Commits

v5.0.0 이후의 SEMVER-MAJOR 변경사항

  • [85ab4a5f12] - (SEMVER-MAJOR) buffer: add .from(), .alloc() and .allocUnsafe() (James M Snell) #4682
  • [2c55cc2d2c] - (SEMVER-MAJOR) buffer: remove deprecated Buffer.write branch (dcposch@dcpos.ch) #5048
  • [101bca988c] - (SEMVER-MAJOR) buffer: remove deprecated buffer.get/.set methods (Feross Aboukhadijeh) #4594
  • [3b27dd5ce1] - (SEMVER-MAJOR) buffer: throw if both length and enc are passed (Mathias Buus) #4514
  • [3fe204c700] - (SEMVER-MAJOR) buffer: docs-only deprecate SlowBuffer (James M Snell) #5833
  • [627524973a] - (SEMVER-MAJOR) buffer: add Buffer.allocUnsafeSlow(size) (James M Snell) #5833
  • [204f3a8a0b] - (SEMVER-MAJOR) build: Bump MACOSX_DEPLOYMENT_TARGET to 10.7 (Сковорода Никита Андреевич) #6402
  • [90a5fc20be] - (SEMVER-MAJOR) build: remove lint/dotfiles from release tarball (Johan Bergström) #5695
  • [66f4586dd0] - (SEMVER-MAJOR) cluster: emit worker as first ‘message’ event arg (Ben Noordhuis) #5361
  • [4f619bde4c] - (SEMVER-MAJOR) cluster: migrate from worker.suicide (Evan Lucas) #3743
  • [a5cce79ec3] - (SEMVER-MAJOR) console: delete timers that have ended (Vladimir Varankin) #3562
  • [1c84579031] - (SEMVER-MAJOR) console: timeEnd() with no label emits warning (Eugene Obrezkov) #5901
  • [41feaa89e0] - (SEMVER-MAJOR) crypto: improve error messages (Sakthipriyan Vairamani) #3100
  • [f429fe1b88] - (SEMVER-MAJOR) crypto: fail early when loading crypto without openssl (James M Snell) #5611
  • [a37401e061] - (SEMVER-MAJOR) crypto: simplify Certificate class bindings (Alexander Makarenko) #5382
  • [7c48cb5601] - (SEMVER-MAJOR) crypto: Improve control of FIPS mode (Stefan Budeanu) #5181
  • [a1163582c5] - (SEMVER-MAJOR) crypto: pbkdf2 deprecate digest overload. (Tom Gallacher) #4047
  • [b010c87164] - (SEMVER-MAJOR) crypto, string_bytes: treat buffer str as utf8 (Fedor Indutny) #5522
  • [1d9451bb5a] - (SEMVER-MAJOR) crypto: better error message for createHash (Calvin Metcalf) #6042
  • [52af5c4eeb] - (SEMVER-MAJOR) deps: upgrade V8 to 5.0.71.32 (Ali Ijaz Sheikh) #6111
  • [2253be95d0] - (SEMVER-MAJOR) deps: reintroduce supporting shared c-ares builds (Johan Bergström) #5775
  • [4bc1cccb22] - (SEMVER-MAJOR) dgram: pass null as error on successful send() (cjihrig) #5929
  • [dbdbdd4998] - (SEMVER-MAJOR) dns: add resolvePtr to query plain DNS PTR records (Daniel Turing) #4921
  • [c4ab861a49] - (SEMVER-MAJOR) dns: add failure test for dns.resolveXXX (Daniel Turing) #4921
  • [f3be421c1c] - (SEMVER-MAJOR) dns: coerce port to number in lookupService (Evan Lucas) #4883
  • [4d4f3535a9] - (SEMVER-MAJOR) doc: general improvements to fs.markdown (James M Snell) #5616
  • [d8290286b3] - (SEMVER-MAJOR) doc: document deprecation of util._extend (Benjamin Gruenbaum) #4903
  • [236b7e8dd1] - (SEMVER-MAJOR) doc: doc-only deprecation for util.log() (Jackson Tian) #6161
  • [90204cc468] - (SEMVER-MAJOR) domains: clear stack when no error handler (Julien Gilli) #4659
  • [e38bade828] - (SEMVER-MAJOR) events: don’t inherit from Object.prototype (Brian White) #6092
  • [53a95a5b12] - (SEMVER-MAJOR) fs: make fs.watch error message more useful (James M Snell) #5616
  • [060e5f0c00] - (SEMVER-MAJOR) fs: Buffer and encoding enhancements to fs API (James M Snell) #5616
  • [8bb60e3c8d] - (SEMVER-MAJOR) fs: improve error message for invalid flag (James M Snell) #5590
  • [1124de2d76] - (SEMVER-MAJOR) fs: deprecate fs.read’s string interface (Sakthipriyan Vairamani) #4525
  • [2b15e68bbe] - (SEMVER-MAJOR) fs: fs.read into zero buffer should not throw exception (Feross Aboukhadijeh) #4518
  • [8b97249893] - (SEMVER-MAJOR) fs: fix the error report on fs.link(Sync) (yorkie) #3917
  • [b488b19eaf] - (SEMVER-MAJOR) fs: optimize realpath using uv_fs_realpath() (Yuval Brik) #3594
  • [5f76b24e5e] - (SEMVER-MAJOR) http: overridable clientError (Fedor Indutny) #4557
  • [d01eb6882f] - (SEMVER-MAJOR) lib: add ‘pid’ prefix in internal/util (Minwoo Jung) #3878
  • [20285ad177] - (SEMVER-MAJOR) lib: Consistent error messages in all modules (micnic) #3374
  • [94b9948d63] - (SEMVER-MAJOR) lib,src: ensure ‘(node:pid)’ prefix for stdout logging (Minwoo Jung) #3833
  • [b70dc67828] - (SEMVER-MAJOR) lib,test: remove publicly exposed freelist (cjihrig) #3738
  • [d38503ab01] - (SEMVER-MAJOR) module: prioritize current dir for local lookups (Phillip Johnsen) #5689
  • [71470a8e45] - (SEMVER-MAJOR) module: pass v8::Object to linked module initialization function (Phillip Kovalev) #4771
  • [18490d3d5a] - (SEMVER-MAJOR) module: always decorate thrown errors (Brian White) #4287
  • [de1dc0ae2e] - (SEMVER-MAJOR) module: preserve symlinks when requiring (Alex Lamar) #5950
  • [b85a50b6da] - (SEMVER-MAJOR) net: remove implicit setting of DNS hints (cjihrig) #6021
  • [ec49fc8229] - (SEMVER-MAJOR) net: improve socket.write() error message (Phillip Johnsen) #5981
  • [d0edabecbf] - (SEMVER-MAJOR) net: strict checking for internal/net isLegalPort (James M Snell) #5733
  • [a78b3344f8] - (SEMVER-MAJOR) net: type check createServer options object (Sam Roberts) #2904
  • [02ac302b6d] - (SEMVER-MAJOR) net: Validate port in createServer().listen() (Dirceu Pereira Tiegs) #5732
  • [25751bedfe] - (SEMVER-MAJOR) node: deprecate process.EventEmitter (Evan Lucas) #5049
  • [08085c49b6] - (SEMVER-MAJOR) path: assert inputs are strings (Brian White) #5348
  • [d1000b4137] - (SEMVER-MAJOR) path: make format() consistent and more functional (Nathan Woltman) #2408
  • [c6656db352] - (SEMVER-MAJOR) process: add ‘warning’ event and process.emitWarning() (James M Snell) #4782
  • [72e3dd9f43] - (SEMVER-MAJOR) process: throw on non-function to nextTick() (yorkie) #3860
  • [5dafb435d8] - (SEMVER-MAJOR) querystring: using toString for objects on querystring.escape (Igor Kalashnikov) #5341
  • [dba245f796] - (SEMVER-MAJOR) querystring: don’t inherit from Object.prototype (Brian White) #6055
  • [0a62f929da] - (SEMVER-MAJOR) readline: emit key info unconditionally (cjihrig) #6024
  • [3de9bc9429] - (SEMVER-MAJOR) readline: document emitKeypressEvents() (cjihrig) #6024
  • [ca2e8b292f] - (SEMVER-MAJOR) readline: deprecate undocumented exports (cjihrig) #3862
  • [0303a2552e] - (SEMVER-MAJOR) readline: allow history to be disabled (surya panikkal) #6352
  • [ad8257fa5b] - (SEMVER-MAJOR) repl: Assignment of _ allowed with warning (Lance Ball) #5535
  • [3ee68f794f] - (SEMVER-MAJOR) repl: don’t complete expressions when eval fails (Anna Henningsen) #6328
  • [757fbac64b] - (SEMVER-MAJOR) src: remove deprecated internal functions (Ben Noordhuis) #6053
  • [4e46931406] - (SEMVER-MAJOR) src: deprecate undocumented variables (Jackson Tian) #1838
  • [57003520f8] - (SEMVER-MAJOR) src: attach error to stack on displayErrors (cjihrig) #4874
  • [e7c077c610] - (SEMVER-MAJOR) stream: make null an invalid chunk to write in object mode (Calvin Metcalf) #6170
  • [cc0342a517] - (SEMVER-MAJOR) streams: update .readable/.writable to false (Brian White) #4083
  • [652782d137] - (SEMVER-MAJOR) test: update test-repl-require for local paths (Myles Borins) #5689
  • [a5aa7c1713] - (SEMVER-MAJOR) test: expand test case for unknown file open flags (James M Snell) #5590
  • [2c33819370] - (SEMVER-MAJOR) test: fix tests that check error messages (cjihrig) #3727
  • [ac153bd2a6] - (SEMVER-MAJOR) timers: fail early when callback is not a function (Anna Henningsen) #4362
  • [1ab6b21360] - (SEMVER-MAJOR) tls: rename clientError to tlsClientError (Fedor Indutny) #4557
  • [df268f97bc] - (SEMVER-MAJOR) tls: use SHA1 for sessionIdContext (Stefan Budeanu) #3866
  • [8ffa20c495] - (SEMVER-MAJOR) tools: do not rewrite npm shebang in install.py (Evan Lucas) #6098
  • [a2c0aa84e0] - (SEMVER-MAJOR) tty: Remove deprecated setRawMode wrapper (Wyatt Preul) #2528
  • [eb4201f07a] - (SEMVER-MAJOR) url: drop auth in url.resolve() if host changes (Alex Kocharin) #1480
  • [e2f47f5698] - (SEMVER-MAJOR) util: Change how Error objects are formatted (Mudit Ameta) #4582
  • [93d6b5fb68] - (SEMVER-MAJOR) util: use consistent Dates in inspect() (Xotic750) #4318
  • [24012a879d] - (SEMVER-MAJOR) util: make inspect more reliable (Evan Lucas) #4098
  • [007cfea308] - (SEMVER-MAJOR) util: remove pump (Wyatt Preul) #2531
  • [4cf19ad1bb] - (SEMVER-MAJOR) util: Remove exec, has been deprecated for years (Wyatt Preul) #2530
  • [34a35919e1] - (SEMVER-MAJOR) util: improve typed array formatting (Ben Noordhuis) #3793
  • [1cf26c036d] - (SEMVER-MAJOR) win: prevent node from running on Windows Vista or earlier (Alexis Campailla) #5167
  • [55db19074d] - (SEMVER-MAJOR) win,msi: prevent from installing on Windows Vista or earlier (Alexis Campailla) #5167
  • [‘54a5287e3e’] - (SEMVER-MAJOR) zlib: fix gzip member head/buffer boundary issue (Anna Henningsen) #5883
  • [8b43d3f52d] - (SEMVER-MAJOR) zlib: do not emit event on *Sync() methods (Rich Trott) #5707

Semver-minor and patch commits since v5.11.0

  • [6c1e5ad3ab] - (SEMVER-MINOR) buffer: add Buffer.prototype.lastIndexOf() (dcposch@dcpos.ch) #4846
  • [dd67608bfd] - buffer: safeguard against accidental kNoZeroFill (Сковорода Никита Андреевич) nodejs/node-private#30
  • [a4b8000029] - build: update android-configure script for npm (Robert Chiras) #6349
  • [40ede46690] - cares: Support malloc(0) scenarios for AIX (Gireesh Punathil) #6305
  • [e5f1e2c1df] - deps: upgrade to V8 5.0.71.35 (Ali Ijaz Sheikh) #6372
  • [49e42c530b] - deps: upgrade to V8 5.0.71.34 (Ali Ijaz Sheikh) #6320
  • [2011f2c6dc] - doc: fix position of fs.readSync() (Jeremiah Senkpiel) #6399
  • [29a6c7c1f0] - doc: change references to Stable to Current (Myles Borins) #6318
  • [a026cd0fa5] - doc: update authors (James M Snell) #6373
  • [92a02d51dc] - doc: add JacksonTian to collaborators (Jackson Tian) #6388
  • [879aeb5e49] - doc: add Minqi Pan to collaborators (Minqi Pan) #6387
  • [be5d699055] - doc: add eljefedelrodeodeljefe to collaborators (Robert Jefe Lindstaedt) #6389
  • [916b1a1d44] - doc: add ronkorving to collaborators (ronkorving) #6385
  • [c7066fb853] - doc: add estliberitas to collaborators (Alexander Makarenko) #6386
  • [983a809456] - doc: fix broken references (Alexander Gromnitsky) #6350
  • [ae991e7577] - doc: add note for platform specific flags fs.open() (Robert Jefe Lindstaedt) #6136
  • [f85412d49b] - doc: improvements to child_process, process docs (Alexander Makarenko)
  • [f6d90a912b] - doc: fix a typo in the CONTRIBUTING.md (vsemozhetbyt) #6343
  • [6815a3b7f9] - doc: add vm example, be able to require modules (Robert Jefe Lindstaedt) #5323
  • [7f11634a46] - doc: note that process.config can and will be changed (James M Snell) #6266
  • [0e7d57af35] - (SEMVER-MINOR) events: add prependListener() and prependOnceListener() (James M Snell) #6032
  • [c1cd64481f] - events: make eventNames() use Reflect.ownKeys() (Luigi Pinca) #5822
  • [f1294f5bfd] - gyp: inherit parent for *.host (Johan Bergström) #6173
  • [d5922bd7a9] - querystring: fix comments (Brian White) #6365
  • [2c480bdae6] - src: fix check-imports.py linter errors (Sakthipriyan Vairamani) #6105
  • [5eb4ec090d] - src: squelch -Wunused-variable in non-icu builds (Ben Noordhuis) #6351
  • [a3b5b9cbf2] - src: fix out-of-bounds write in TwoByteValue (Anna Henningsen) #6330
  • [cdba9a6c02] - src: add intl and icu configs to process.binding(‘config’) (James M Snell) #6266
  • [2e974cdd8c] - src: add process.binding(‘config’) (James M Snell) #6266
  • [75e073f2b2] - test: increase the platform timeout for AIX (Michael Dawson) #6342
  • [84ebf2b40d] - test: add tests for console.assert (Evan Lucas) #6302
  • [a770a163ab] - test: v8-flags is sensitive to script caching (Ali Ijaz Sheikh) #6316
  • [1e4d053e6b] - test: don’t assume IPv6 in test-regress-GH-5727 (cjihrig) #6319
  • [a7335bd1f0] - test,benchmark: use deepStrictEqual() (Rich Trott) #6213
  • [6781d917f4] - tools: rewrite check-install.sh in python (Sakthipriyan Vairamani) #6105
  • [e84c69310f] - tools: enforce deepStrictEqual over deepEqual (Rich Trott) #6213
  • [7940ecfa00] - v8: warn in Template::Set() on improper use (Ben Noordhuis) #6277

Windows 32-bit Installer: https://nodejs.org/dist/v6.0.0/node-v6.0.0-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v6.0.0/node-v6.0.0-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v6.0.0/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v6.0.0/win-x64/node.exe
Mac OS X 64-bit Installer: https://nodejs.org/dist/v6.0.0/node-v6.0.0.pkg
Mac OS X 64-bit Binary: https://nodejs.org/dist/v6.0.0/node-v6.0.0-darwin-x64.tar.gz
Linux 32-bit Binary: https://nodejs.org/dist/v6.0.0/node-v6.0.0-linux-x86.tar.xz
Linux 64-bit Binary: https://nodejs.org/dist/v6.0.0/node-v6.0.0-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v6.0.0/node-v6.0.0-linux-ppc64le.tar.xz
SunOS 32-bit Binary: https://nodejs.org/dist/v6.0.0/node-v6.0.0-sunos-x86.tar.xz
SunOS 64-bit Binary: https://nodejs.org/dist/v6.0.0/node-v6.0.0-sunos-x64.tar.xz
ARMv6 32-bit Binary: Coming soon
ARMv7 32-bit Binary: https://nodejs.org/dist/v6.0.0/node-v6.0.0-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v6.0.0/node-v6.0.0-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v6.0.0/node-v6.0.0.tar.gz
Other release files: https://nodejs.org/dist/v6.0.0/
Documentation: https://nodejs.org/docs/v6.0.0/api/

Shasums (GPG signing hash: SHA512, file hash: SHA256):

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
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

5be18c5571ce2b33918a3dd0be2f18d2a6939a60754026fb7e7967bec09d9e5e node-v6.0.0-darwin-x64.tar.gz
9da8c11bf45f8b6b8c6a720cfaa37624d18d6972d8670c565b6e005e643b572a node-v6.0.0-darwin-x64.tar.xz
f72de0e9403dd4ab7b6eec7266a498ba561afe5d5c7aff77b83894b43c959beb node-v6.0.0-headers.tar.gz
8b6c5a315fefa7b873cbedd8daf75ee928646df2f05efa60c9c7d3a488851bd1 node-v6.0.0-headers.tar.xz
c4d7da92f76e77d27ef5650ad01085baad74439fab15e5143a8e9fc6cad13101 node-v6.0.0-linux-arm64.tar.gz
68d31984e304e5840591331bdd3eaa375fe07fa96307eb7d4681cea5ccb4e669 node-v6.0.0-linux-arm64.tar.xz
7a29af935545c07ea2eb5bbf6b6fb643765d50ee69d1b4193345a50fb8cb1093 node-v6.0.0-linux-armv7l.tar.gz
5a9b4c275313c1335819924c5028241cf2ee107032c530836b41938916090bd6 node-v6.0.0-linux-armv7l.tar.xz
7044f1049d6d8673cff7b0d38cd8c606be56ba149d3d32b34ca3f017df731a2a node-v6.0.0-linux-ppc64le.tar.gz
65e208fb8189b264f6e66d0d4974485b5eb83cae2db34cc7d09464cb43142354 node-v6.0.0-linux-ppc64le.tar.xz
78fa76c77a1168095cf5b8a5018e00e7212d11e485cf10c77ce1c8af4955cdd3 node-v6.0.0-linux-x64.tar.gz
1e7aa64e28f26887810df74ca4bb0f3c37c332e866aefd16c23daedfcf67935b node-v6.0.0-linux-x64.tar.xz
51321999e9706d9c24ea3689a03d049ad96657933228d3ed25d7710bc5d9e9bc node-v6.0.0-linux-x86.tar.gz
5b1cbe9a5af935619b7d4a36d09cc3b73ea2605a1bd3ab9121920caba6f95a5e node-v6.0.0-linux-x86.tar.xz
6f2114f02252c40304e3951b058ddababfe94b86e25cd8b3dddbf6aaa295ce71 node-v6.0.0.pkg
dc1345210205380af8fa16a63dca996803af105d7b0e5aa4160df7ed88523f08 node-v6.0.0-sunos-x64.tar.gz
0f69caa00c56e21c44c849e3e82e2fa3c775f441326f2668ac9503bc349eac03 node-v6.0.0-sunos-x64.tar.xz
61259a9794d2ed7b0e5331d5d2158da06f6ed5d31cbeae6d71da4d5e941a7754 node-v6.0.0-sunos-x86.tar.gz
822bd48f5443cc45513747b4ce3aa337ff98e27e8f4c63e6bbba23f7b57d2aa3 node-v6.0.0-sunos-x86.tar.xz
6db56d81a4e07ff4017809ad4ee49a5256fad804cd8527f8724f8e149e3dfc32 node-v6.0.0.tar.gz
f0e5bdc3cf4af85b8a24bdbebed81e1a9f7fda91cab8a9475737940aa90da617 node-v6.0.0.tar.xz
933a15791a67a2740cbd082a8d9aebc43162ec6d4db335abf62121a9561c57d4 node-v6.0.0-x64.msi
614380711039b7cc23db8d8cbf42ed9f4a6f0501eb8a143490f7ece952037bc9 node-v6.0.0-x86.msi
e2e434c5d63d684f0f0f074ee97b5a79fd0d9fbb340bac658f325239aec2589f win-x64/node.exe
b1c9f9d58ef1fd684f0d136cce002e800c852203f876606b1b641692171783c3 win-x64/node.lib
675199b7db04f95545d8ca650b87b1cc6616e5e6638b854cd7f2bbabb050d533 win-x86/node.exe
c2b83ffce6edfdfee450f07fab28d299b99a1046a5ba9452830126303a0739b6 win-x86/node.lib
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQEbBAEBCgAGBQJXH8kkAAoJEHNBsVwHCHesjyEH+NCanRJnIPn6HnO7U26Zjht4
FdNURcOs4ILB+R9vOS0G5OpU5fL8u1PVpPMGhkdOcvV7Xv1Nh1Vm67alOzAFv1Id
pmepNbT/hA5BGmZvt9K/Pp0+LXKXLaRStooof0QMxR8My/M65V1VNsU1CEY2ffSK
oNRf6roxvNPE0JcMmwEBDXnrEZ+hi/8R0hIms6zt6tzUcHmvzkdQ+5sGU07kKRdU
6Ez/0raEteAfzXoUoyerHTzERGP9lE8Gz7TA2vEa2Wz30brBF+FcGw+T+H/nn41N
WHZwA/fyoZo25rPzpXWygG63u7e/2OUv1pUdYp1tjkTJ+ytdb8l4RX/oOGCM4A==
=XFwg
-----END PGP SIGNATURE-----

세계에서 가장 빠르게 성장하는 오픈 소스 플랫폼이 새로운 릴리스를 내보내다.

새로운 “최신” 버전은 350만 사용자들을 위해 성능 개선, 향상된 신뢰성, 더 나은 보안에 집중했습니다.

샌프란시스코 2016년 4월 26일 - Node.js 플랫폼의 개발을 나아가게 하려고 커뮤니티와 기업이 함께 만든 Node.js 재단에서, 오늘 Node.js 버전 6(Node.js v6)의 릴리스를 발표했습니다. 이 릴리스는 주요한 성능 개선, 향상된 신뢰성, 더 나은 보안을 가져다 줍니다.

350만 명이 넘는 사용자와 매년 100%의 성장률을 보여주는 Node.js는 웹 애플리케이션, IoT, 모바일, 기업용 애플리케이션, 마이크로서비스 아키텍처에서 사용되는 만능 플랫폼으로 부상했습니다. 이 기술은 포춘 500대 기업에서 신생기업까지, 풀 스택 자바스크립트 개발자가 프론트엔드부터 백엔트, 모바일, IoT 프로젝트까지 아우를 수 있는 유일한 통합 플랫폼입니다.

이번 최신 릴리스에서의 핵심은 성능 향상입니다. Node.js 버전 4(Node.js v4)에 비해 모듈 로딩에서 4배나 빨라져서 성능을 상당히 높인 것이 그중에 하나입니다. 이것은 개발자들에게 규모가 큰 애플리케이션의 시작 소요 시간을 극적으로 단축해 개발 사이클에서 생산성을 증가시키고 사용자들에게는 더 자연스러운 경험을 제공할 것입니다. 추가로 Node.js 버전 6은 ECMAScript 2015 (ES6) 지원이 향상된 v8 자바스크립트 엔진 5.0을 내장하고 있습니다. 현재 Node.js 버전 6에서는 Node.js 버전 4의 50%, Node.js 버전 5의 56%에서 더 증가한 93%의 ES6 기능을 지원합니다. ES6의 주요 기능으로는 기본 파라미터, rest 파리미터, 디스트럭처링(destructuring), class와 super 키워드들이 있습니다.

보안은 기업과 스타트업에게 가장 중요합니다. 그리고 Node.js 버전 6은 보안 코드를 작성하기 쉽게 몇몇 중요한 보안 기능들을 추가했습니다. 새로운 Buffer API는 zero-fill-buffers 커맨드 라인 옵션뿐만 아니라 새 Buffer 인스턴스를 만드는데 사용되는 새로운 생성자 메서드를 통해 애플리케이션에 누출되는 취약성과 버그들의 위험을 감소시킬 것입니다. 개발자들은 신규 커맨드 라인 옵션을 사용해서 새로운 생성자 API 사용이 아직 업데이트 안 된 오래된 모듈들도 안전하게 지속해 사용할 수 있습니다. 추가로 V8은 Math.random()의 구현이 향상되었기 때문에 더욱더 안전해질 것입니다. - 이 기능은 Node.js 버전 6에 추가되었습니다.

“Node.js 프로젝트는 2015년 9월에 우리가 처음 제안된 그 연대표에서 세상에 이 버전을 가져오는 놀랄만한 성과를 이루었습니다. 기업에서 중요시하는 안정성과 성능에 대한 향상을 지속하고 개발자들의 요구사항을 충족시켜주는 첨단 자바스크립트 기능을 모두 장착한 Node.js의 새로운 버전이 나온 것은 우리에게 중요합니다.”라고 Node.js 재단의 커뮤니티 매니저 Mikeal Rogers가 말했습니다. “이 릴리스는 갈수록 증가하는 기업 사용자들의 인프라의 핵심 기술로 Node.js를 채택하기 위해 안정성, 신뢰성, 성능, 보안을 긴 기간동안 예측할 수 있게 장기 지원을 약속합니다.”

Node.js의 신뢰성을 증가시키기 위해서 기업들이 플랫폼에서 구현하기 위해 찾고 이용하는 문서와 테스팅이 Node.js 버전 6에 더 많아졌습니다.

Node.js는 의존성과 비슷한 소프트웨어 라이브러리들의 버전 번호에 대한 명세인 유의적 버전 명세를 릴리스했습니다. Node.js의 장기 지원(LTS) 아래, 버전 6은 현재 “최신” 릴리스 노선이며 반면에 버전 5는 몇 달 더 유지 보수될 것입니다. 2016년 10월, Node.js 버전 6는 LTS 릴리스가 될 것이며 LTS 릴리스 노선(버전 4)은 2017년 4월까지 심각한 버그들, 심각한 보안을 수정하고 문서 업데이트들이 허용되는 유지 보수 방식으로 갈 것입니다. 사용자들은 버전 6이 LTS가 되는 10월에 버전 4에서 버전 6으로 이전을 시작해야만 합니다.

추가 자료

Node.js 재단에 대해

Node.js는 200여개국의 수만 개의 회사에서 사용되고 있으며 매달 350만 명 이상의 활성사용자가 존재하고 있고 엔터프라이즈 애플리케이션부터 로봇, API 엔진, 클라우드 스택, 모바일 웹사이트까지 전부 운영하는 고성능, 저지연 애플리케이션의 런타임입니다.

재단은 플래티넘 회원사인 Famous, IBM, Intel, Joyent, Microsoft, PayPal, Red Hat과 골드 회원사인 GoDaddy, NodeSource, Modulus/Progress Software, 실버 회원사인 Apigee, AppDynamics, Codefresh, DigitalOcean, Fidelity, Groupon, nearForm, New Relic, npm, Opbeat, RisingStack, Sauce Labs, SAP, StrongLoop (IBM 소속), Sphinx, YLD!, Yahoo!를 포함한 다양한 기업으로 구성되었습니다. 참여하려면 http://nodejs.org를 방문하세요.

Node.js 주간 뉴스 2016년 4월 23일

Node v5.11.0(안정 버전) 릴리스

Node v5.11.0(안정 버전). 이전 릴리스와 달라진 전체 변경 사항은 GitHub에서 찾을 수 있습니다.

커뮤니티 업데이트

  • NodeUp podcast episode 100: Mariko Kosaka, Kassandra Perch, Myles Borins, Rich Trott 과 함께하는 창의적인 코딩 쇼.
  • Node.js의 핵심 소스를 읽는 빠른 가이드: Node.js의 코어를 구성하는 소스코드를 이해하기 위한 한 사람의 접근법입니다. “상황에 따라 걸리는 시간이나 노력이 달라질 수도 있습니다. 개봉하면 보증은 무효가 됩니다.”

Node.js에 관한 글을 쓰거나 발견했다면, Evangelism 팀 저장소이슈 페이지에 주간 업데이트 이슈로 알려주세요.

다가오는 이벤트

  • NodeConf Adventure 2016, “NodeConf Adventure의 첫 번째 표를 신청할 수 있습니다!”, 미국 캘리포니아 주 마린 카운티 Walker Creek Ranch에서 2016년 6월 9일부터 12일까지 열립니다.

계획 중인 Node.js 이벤트가 있나요? Evangelism 팀 저장소의 이슈 페이지에 주간 업데이트 이슈 페이지를 통해 알릴 수 있습니다.