Node v5.7.0(안정 버전)

주요 변경 사항

  • buffer:
    • Buffer를 채울 때 encoding 인수를 전달할 수 있게 되었습니다(Buffer#fill(string[, start[, end]][, encoding])). 이미 있는 Buffer를 전달하는 것도 가능합니다(Buffer#fill(buffer[, start[, end]]). 자세한 사용법은 API 문서를 참고하세요. (Trevor Norris) #4935
    • Buffer#indexOf()encoding을 제공하게 되면 byteOffset을 전달하지 않아도 됩니다(Buffer#indexOf(val[, byteOffset][, encoding]). (Trevor Norris) #4803
  • child_process: spawn()spawnSync()가 주어진 명령을 셸에서 실행할 수 있도록 하는 'shell' 옵션을 지원합니다. true로 지정되어 있으면 윈도우에선 cmd.exe를, 다른 곳에서는 /bin/sh를 사용합니다. 기본값 외에 사용할 셸의 경로를 전달할 수도 있습니다. 윈도우에서 이 옵션은 spawn()spawnSync()로 실행할 .bat, .cmd 파일도 받습니다. (Colin Ihrig) #4598
  • http_parser: http-parser를 2.6.2로 업데이트하여 허용 가능한 헤더 문자에 의도치 않게 제한이 생기던 문제를 수정했습니다. (James M Snell) #5237
  • dgram: socket.send()가 첫 번째 인수로 Buffer 배열이나 String 배열도 받습니다. 자세한 사용법은 API 문서를 참고하세요. (Matteo Collina) #4374
  • http: 헤더를 처리하는 곳에서 서버가 프로토콜을 알리고 있을 뿐인데 실수로 'update' 이벤트를 발생시키는 버그를 수정했습니다. 이 버그는 HTTP 클라이언트가 HTTP/2를 지원하는 서버와 통신하지 못하게 할 수 있습니다. (Fedor Indutny) #4337
  • net: nethttp 서버에 불리언(Boolean) 속성 listening을 추가했습니다. 이는 서버가 연결을 기다리고 있는지의 여부를 나타냅니다. (José Moreira) #4743
  • node: C++ node::MakeCallback() API를 다른 MakeCallback() 호출 안에서 호출할 수 있습니다. nextTick 큐나 Promise 마이크로태스크 큐 또한 올바른 순서로 처리하게 됩니다. (Trevor Norris) #4507
  • tls: 현재 연결의 협상된 TLS 프로토콜 버전을 반환하는 tlsSocket.getProtocol() 메서드를 추가했습니다. (Brian White) #4995
  • vm: V8의 코드 캐시를 다루기 위해 new vm.Script()'produceCachedData''cachedData' 옵션을 추가했습니다. 'produceCachedData'true로 지정하여 새로운 vm.Script 객체를 생성하면, 반환되는 객체의 cachedData 속성을 통해 V8의 코드 캐시 데이터가 든 Buffer에 접근할 수 있습니다. 이 데이터는 제공된 소스가 같다면 'cachedData' 옵션이 켜진 다른 vm.Script()에 다시 제공될 수 있습니다. 캐시 데이터에서 성공적으로 스크립트를 실행한다면 객체 생성 속도를 향상시킬 수 있습니다. 자세히 알아보려면 API 문서를 참고하세요. (Fedor Indutny) #4777
  • performance: 다음과 같은 부분이 개선되었습니다.
    • process.nextTick() (Ruben Bridgewater) #5092
    • path 모듈 (Brian White) #5123
    • querystring 모듈 (Brian White) #5012
    • 작은 크기의 데이터를 처리할 때의 streams 모듈 (Matteo Collina) #4354

Commits

  • [3a96fa0030] - async_wrap: add parent uid to init hook (Andreas Madsen) #4600
  • [4ef04c7c4c] - async_wrap: make uid the first argument in init (Andreas Madsen) #4600
  • [4afe801f90] - async_wrap: add uid to all asyncWrap hooks (Andreas Madsen) #4600
  • [edf8f8a7da] - benchmark: split path benchmarks (Brian White) #5123
  • [8d713d8d51] - benchmark: allow empty parameters (Brian White) #5123
  • [eb6d07327a] - (SEMVER-MINOR) buffer: add encoding parameter to fill() (Trevor Norris) #4935
  • [60d2048b6c] - (SEMVER-MINOR) buffer: properly retrieve binary length of needle (Trevor Norris) #4803
  • [4c67d74607] - (SEMVER-MINOR) buffer: allow encoding param to collapse (Trevor Norris) #4803
  • [5fa4117bfc] - build: add a help message and removed a TODO. (Ojas Shirekar) #5080
  • [09bfb865af] - build: remove redundant TODO in configure (Ojas Shirekar) #5080
  • [3dfc11c516] - build: remove Makefile.build (Ojas Shirekar) #5080
  • [fc78d3d6a7] - build: skip msi build if WiX is not found (Tsarevich Dmitry) #5220
  • [356acb39d7] - build: treat aarch64 as arm64 (Johan Bergström) #5191
  • [3b83d42b4a] - build: fix build when python path contains spaces (Felix Becker) #4841
  • [9e6ad2d8ff] - child_process: fix data loss with readable event (Brian White) #5036
  • [ecc797600f] - (SEMVER-MINOR) child_process: add shell option to spawn() (cjihrig) #4598
  • [efd6f68dce] - cluster: dont rely on this in fork (Igor Klopov) #5216
  • [df93d60caf] - console: apply null as this for util.format (Jackson Tian) #5222
  • [c397ba8fa3] - contextify: use offset/length from Uint8Array (Fedor Indutny) #4947
  • [3048ac0b57] - crypto: have fixed NodeBIOs return EOF (Adam Langley) #5105
  • [af074846f5] - debugger: remove unneeded callback check (Rich Trott) #5319
  • [7bac743f36] - debugger: assert test before accessing this.binding (Prince J Wesley) #5145
  • [18c94e5a8d] - deps: remove unnecessary files (Brian White) #5212
  • [967cf97bf0] - deps: cherry-pick 2e4da65 from v8’s 4.8 upstream (Michael Dawson) #5293
  • [bbdf2684d5] - deps: update to http-parser 2.6.2 (James M Snell) #5237
  • [127dd6275a] - Revertdeps: sync with upstream c-ares/c-ares@4ef6817” (Ben Noordhuis) #5199
  • [35c3832994] - deps: sync with upstream c-ares/c-ares@4ef6817 (Fedor Indutny) #5199
  • [b4db31822f] - dgram: scope redeclared variables (Rich Trott) #4940
  • [368c1d1098] - (SEMVER-MINOR) dgram: support dgram.send with multiple buffers (Matteo Collina) #4374
  • [a8862f59eb] - doc: update repo docs to use ‘CTC’ (Alexis Campailla) #5304
  • [6cf8ec5bd1] - doc: s/http/https in Myles Borins’ GitHub link (Rod Vagg) #5356
  • [0389e3803c] - doc: clarify child_process.execFile{,Sync} file arg (Kevin Locke) #5310
  • [c48290d9b7] - doc: fix buf.length slice example (Chinedu Francis Nwafili) #5259
  • [a6e437c619] - doc: fix buffer[index] example (Chinedu Francis Nwafili) #5253
  • [73ef1bd423] - doc: fix template string (Rafael Cepeda) #5240
  • [fa04daa384] - doc: clarify exceptions during uncaughtException (Noah Rose) #5180
  • [22f132e61d] - doc: improvements to console.markdown copy (Alexander Makarenko) #5225
  • [48fa6f6063] - doc: update process.send() signature (cjihrig) #5284
  • [35d89d4662] - doc: fix net.createConnection() example (Brian White) #5219
  • [149007c9f0] - doc: replace node-forward link in CONTRIBUTING.md (Ben Noordhuis) #5227
  • [a6aaf2caab] - doc: improve scrolling, various CSS tweaks (Roman Reiss) #5198
  • [18b00deeac] - doc: update DCO to v1.1 (Mikeal Rogers) #5170
  • [3955bc4cd0] - doc: fix minor inconsistencies in repl doc (Rich Trott) #5193
  • [287bce7b48] - doc: merging behavior of writeHead vs setHeader (Alejandro Oviedo) #5081
  • [529e749d88] - doc: fix type references for link gen, link css (Claudio Rodriguez) #4741
  • [275f6dbcbb] - (SEMVER-MINOR) doc: correct tlsSocket.getCipher() description (Brian White) #4995
  • [b706b0c2c5] - http: remove old, confusing comment (Brian White) #5233
  • [ed36235248] - http: remove unnecessary check (Brian White) #5233
  • [7e82a566b3] - (SEMVER-MINOR) http: allow async createConnection() (Brian White) #4638
  • [411d813323] - http: do not emit upgrade on advertisement (Fedor Indutny) #4337
  • [bbc786b50f] - http,util: fix typos in comments (Alexander Makarenko) #5279
  • [a2d198c702] - net: use _server for internal book-keeping (Fedor Indutny) #5262
  • [18d24e60c5] - (SEMVER-MINOR) net: add net.listening boolean property over a getter (José Moreira) #4743
  • [9cee86e3e9] - node: set process._eventsCount to 0 on startup (Evan Lucas) #5208
  • [f2e4f621c5] - node: improve process.nextTick performance (Ruben Bridgewater) #5092
  • [1c6f927bd1] - path: fix input type checking regression (Brian White) #5244
  • [4dae8caf7a] - path: performance improvements on all platforms (Brian White) #5123
  • [46be1f4d0c] - querystring: improve escape() performance (Brian White) #5012
  • [27e323e8c1] - querystring: improve unescapeBuffer() performance (Brian White) #5012
  • [301023b2b4] - querystring: improve parse() performance (Brian White) #5012
  • [98907c716b] - (SEMVER-MINOR) repl: allow multiline function call (Zirak) #3823
  • [c551da8cb4] - repl: handle quotes within regexp literal (Prince J Wesley) #5117
  • [15091ccca2] - src: remove unnecessary check (Brian White) #5233
  • [830bb04d90] - src: remove TryCatch in MakeCallback (Trevor Norris) #4507
  • [7f22c8c8a6] - src: remove unused TickInfo::in_tick() (Trevor Norris) #4507
  • [406eb1f516] - src: remove unused of TickInfo::last_threw() (Trevor Norris) #4507
  • [bcec2fecbd] - src: add AsyncCallbackScope (Trevor Norris) #4507
  • [2cb1594279] - src: fix MakeCallback error handling (Trevor Norris) #4507
  • [8d6e679a90] - src,test,tools: modify for more stringent linting (Rich Trott) #5214
  • [7684b0fcdf] - stream: fix no data on partial decode (Brian White) #5226
  • [f706cb0189] - streams: 5% throughput gain when sending small chunks (Matteo Collina) #4354
  • [25513a473a] - string_decoder: fix performance regression (Brian White) #5134
  • [0e85530d8c] - test: use String.prototype.repeat() for clarity (Rich Trott) #5311
  • [5683efb90a] - test: remove flaky mark for test-debug-no-context (Rich Trott) #5317
  • [c55bb79ace] - test: add test for https server close event (Braydon Fuller) #5106
  • [138ee983b0] - test: refactor test-http-destroyed-socket-write2 (Santiago Gimeno) #4970
  • [df7d91f36b] - test: mitigate flaky test-debug-no-context (Rich Trott) #5269
  • [d9177e7c26] - test: test-process-getactivehandles is flaky (Alexis Campailla) #5303
  • [f5cc04732f] - test: mark test-http-regr-gh-2928 flaky (Rich Trott) #5280
  • [78b349d5d1] - test: disable fs watch tests for AIX (Michael Dawson) #5187
  • [82ee5e94df] - test: mark test-http-agent flaky (Rich Trott) #5209
  • [1494d6f213] - test: minimal repl eval option test (Rich Trott) #5192
  • [e7bf951136] - test: add addons test for MakeCallback (Trevor Norris) #4507
  • [98596a94fa] - (SEMVER-MINOR) test: run v8 tests from node tree (Bryon Leung) #4704
  • [69c544f245] - test: fix flaky test-http-regr-gh-2928 (Rich Trott) #5154
  • [7c88410507] - test: fix child-process-fork-regr-gh-2847 again (Santiago Gimeno) #5179
  • [2c2cb6700d] - test: remove unneeded common.indirectInstanceOf() (Rich Trott) #5149
  • [6340974f21] - test: don’t run test-tick-processor.js on Aix (Michael Dawson) #5093
  • [a8f4db236c] - test: improve path tests (Brian White) #5123
  • [8301773c1e] - test: fix child-process-fork-regr-gh-2847 (Santiago Gimeno) #5121
  • [f2bd86775b] - test: update arrow function style (cjihrig) #4813
  • [aed04b85c2] - tls: nullify .ssl on handle close (Fedor Indutny) #5168
  • [c3f8aab652] - (SEMVER-MINOR) tls: add getProtocol() to TLS sockets (Brian White) #4995
  • [7fc2e3161f] - tools: add Node.js-specific ESLint rules (Rich Trott) #5320
  • [983325cb0c] - tools: replace obsolete ESLint rules (Rich Trott) #5214
  • [f601d040b5] - tools: update ESLint to version 2.1.0 (Rich Trott) #5214
  • [13af565759] - tools: remove obsolete lint rules (Rich Trott) #5214
  • [c566f44f1b] - tools: add recommended ES6 lint rules (Rich Trott) #5210
  • [b611caa0ba] - tools: add recommended linting rules (Rich Trott) #5188
  • [b1a16d1202] - tools: remove excessive comments from .eslintrc (Rich Trott) #5151
  • [c4ed5ece4d] - tools: enable no-proto rule for linter (Jackson Tian) #5140
  • [86f8477b56] - tools: disallow mixed spaces and tabs for indents (Rich Trott) #5135
  • [21fd1496a9] - tools: alphabetize eslint stylistic issues section (Rich Trott)
  • [22c8d50a1f] - tools: parse types into links in doc html gen (Claudio Rodriguez) #4741
  • [5c54d4987d] - tools: enable no-redeclare rule for linter (Rich Trott) #5047
  • [a3a0cf603a] - tools: add arrow function rules to eslint (cjihrig) #4813
  • [bcc26f747f] - tools,doc: fix linting errors (Rich Trott) #5161
  • [47274704aa] - url: fix lint and deopt issues (Brian White) #5300
  • [729ad75860] - url: improve url.parse() performance (Brian White) #4892
  • [6c8378b15b] - vm: fix produceCachedData (Jiho Choi) #5343
  • [d1cacb814f] - (SEMVER-MINOR) vm: introduce cachedData/produceCachedData (Fedor Indutny) #4777

Windows 32-bit Installer: https://nodejs.org/dist/v5.7.0/node-v5.7.0-x86.msi

Windows 64-bit Installer: https://nodejs.org/dist/v5.7.0/node-v5.7.0-x64.msi

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

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

Mac OS X 64-bit Installer: https://nodejs.org/dist/v5.7.0/node-v5.7.0.pkg

Mac OS X 64-bit Binary: https://nodejs.org/dist/v5.7.0/node-v5.7.0-darwin-x64.tar.gz

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

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

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

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

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

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

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

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

Source Code: https://nodejs.org/dist/v5.7.0/node-v5.7.0.tar.gz

Other release files: https://nodejs.org/dist/v5.7.0/

Documentation: https://nodejs.org/docs/v5.7.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
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

a68a9d45527077e1e044a4036a9b0fc803faa46c97e30fed71b77a759b4fa2fe node-v5.7.0-darwin-x64.tar.gz
28b6f045f2e0af49a27b30decbb20fd7ba0fc8e2bd4cb07b195abc1012ba2bb0 node-v5.7.0-darwin-x64.tar.xz
1ac837924a7fe48f56b04b0952fa15ae6cde6ef968fd10118ca07a09fd182107 node-v5.7.0-headers.tar.gz
503d2f2cf2575b644fe402e735c8b571f64e66c72ceea619b79261270f0a2447 node-v5.7.0-headers.tar.xz
2b4de1cca92da4aaec0aec0bc767d7a60d8378e830987abc668176d9b6603ccd node-v5.7.0-linux-arm64.tar.gz
e4e1b49269d592719d4064383a5b60d9d37b8a7fe871b133d19636dcf2d9e782 node-v5.7.0-linux-arm64.tar.xz
844f6707f105f31096579c74ad9928c5a9cce85b2a245bb1d697c06e6a9b1ee8 node-v5.7.0-linux-armv6l.tar.gz
348665019e7b73f9e0f4b20531523e487fa44ffd4dc5b22530189ef2e7c37416 node-v5.7.0-linux-armv6l.tar.xz
0712cbe3f05e1828d9cf900ad17007184abc70746bdb2d2064b645f1d3be68c2 node-v5.7.0-linux-armv7l.tar.gz
f306d89481470a4b0970cb913fe3e2008d0aeae3f137f22491d2f0ee3f6a5e53 node-v5.7.0-linux-armv7l.tar.xz
ff7d52a87ce152817e3e4e9dba24530b629729539648a0b347bb70d733591a07 node-v5.7.0-linux-ppc64le.tar.gz
cee33ce09f5a2d31756477d5d45e25293d648e25a31a4b4ea4595a460e67ff1f node-v5.7.0-linux-ppc64le.tar.xz
ae24ae3076393e7968316098ddbb0221bde0830a0e9d878c6493604e1cc553c1 node-v5.7.0-linux-x64.tar.gz
0fe3892820fbd189d72bebe414607485fdca421e86a6c8d60a78ca88585075aa node-v5.7.0-linux-x64.tar.xz
09776060a502118765144284c7ad32bd6a737e681819e8349489b9a015a45bbc node-v5.7.0-linux-x86.tar.gz
8a3e03c24e3fc03a2996d725d9b6676c5e54ce4a5923fc43daf1821adc4957e8 node-v5.7.0-linux-x86.tar.xz
52770beac19d56546509ae5b7d0deff69b2ae02151dbbcf3bd410d52229b6e35 node-v5.7.0.pkg
d8acb8f8fb779d26cda6d3770d48a1f584a0e35ddf154adb4b883bcc4b48a2f2 node-v5.7.0-sunos-x64.tar.gz
2d2f59c80c31723adddaa0dd2b895c9aa079d7829c71e070f18ad775858100c7 node-v5.7.0-sunos-x64.tar.xz
208bba5c8a7cf375fa062d489fc413b96665438fd0c3e4a98ca39397c79691d5 node-v5.7.0-sunos-x86.tar.gz
b8dad0fa46426024abfb7807568547afebe6f0d98165671589c92337b2e6dcc1 node-v5.7.0-sunos-x86.tar.xz
2338b46a2f45fbb747089c66931f62555f25a5928511d3a43bbb3a39dcded2d8 node-v5.7.0.tar.gz
7b82697825bd1259d87976608a2d4da609c7bb5eb2d447a58990746317b8c70d node-v5.7.0.tar.xz
0567317ba66b7e3f86a1aaf32a54b6485dabff9493d9d651740eccbaedb56b91 node-v5.7.0-x64.msi
ed2723660c1fd6430987904d305de075b49ce6f5cacc21685e7adf35d0af60c9 node-v5.7.0-x86.msi
44b77cb1ab7a2b2e8da91e4cacfc250646c9d0fe8c535c4f208bce74611b084c win-x64/node.exe
d899a74a6c865c08d0bd6923d202ee21c1f4152868b5559a3b70be7b28c1d775 win-x64/node.lib
d562d5d6afa66c503df40ba531c1bd2a16c4ef3e875be5a479ffbf9dc2fcdfa9 win-x86/node.exe
d996aca9ca5d9a370df5c74c88980877f6864c13f326c0cf6e5c4c93ffd62b45 win-x86/node.lib
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQEcBAEBAgAGBQJWy+++AAoJEMJzeS99g1Rd3skIALQJLDwDo0WuNGFmMWCieq5i
fNlLQTwrCh284eEnOBSX7YfjsexLCU8ncOYWIYoJQtUioZS53RtoPpsGUxX7dqwS
T7gaq7WF4kYba+QeWSKbxv2blODDqY5dyys/ck/6Yp2OzxRUy1DkAdkXwa4dMPx/
5OVn7cn8TY/C5TobAE06BX9CQXP5v0vzqQqgB2fE1sZ7unlFe9xI5Cu5xoqa3G0w
w1vWFTOug7TJZOUgaIH8O+k53cu0k//bm582285X5YdYMknZ0PYMU+9zqD5AMH6f
6/iSuuk6lroEX+An5dK37RRXkig9BnHvnRkMxsoARIT33qkI8iauGzxNHt2jB5M=
=BwDD
-----END PGP SIGNATURE-----