Node v4.1.1 (안정 버전)

이번 릴리스에는 사소한 보안 수정사항이 포함되어 있습니다. 현재 v4.1.0을 사용하고 있다면 4.1.1로 업그레이드 하기를 권장합니다.

주요 변경 사항

  • buffer: v4.1.0에서 길이가 0인 버퍼를 새로 생성하면 JavaScript TypedArray의 다음 할당이 0으로 채워지지 않는 버그를 수정했습니다. 이 버그로 인해 TypedArray는 항상 0으로 채워져야 한다는 일반적인 보안 가정이 깨짐으로써 특정 상황에서 TypedArray의 메모리 공간을 재사용하게 되어 데이터 유출이 발생할 수 있습니다. (Trevor Norris) #2931.
  • http: response.addTrailers()로 마지막에 추가한 HTTP 헤더의 값에서 줄 바꿈([\r\n]) 문자를 제거해서 응답을 나누지 않도록 했습니다. 표준 헤더의 값은 이미 줄 바꿈 문자가 제거되어 있습니다. 추가 헤더를 사용하는 경우는 드물어서 보안에 주는 영향은 낮습니다. (Ben Noordhuis) #2945.
  • npm: npm 2.14.3에서 2.14.4로 업그레이드 했습니다. 자세한 내용은 릴리스 노트를 참고하세요. (Kat Marchán) #2958
    • 여러 의존성이 더는 몽키패치를 한 fs에 의존하지 않도록 graceful-fs를 업그레이드 했습니다.
    • Node의 사전 릴리스와 RC 빌드를 위해 npm link를 수정했습니다.
  • v8: 다음을 찾아서 검사하는 포스트-모템 디버그 도구를 사용할 수 있도록 포스트-모템 메타데이터를 업데이트했습니다.
    • 딕셔너리 프로퍼티를 사용하는 자바스크립트 객체 (Julien Gilli) #2959
    • 클로저에 대한 정보를 가진 ScopeInfo (Julien Gilli) #2974

알려진 이슈

현재 알려진 이슈의 전체 목록은 https://github.com/nodejs/node/labels/confirmed-bug에서 확인할 수 있습니다.

  • beforeExit 중에 참조 해제된 타이머에 대한 문제가 아직 남아 있습니다. #1264
  • REPL에 입력된 서로게이트 페어가 터미널을 얼릴 수 있습니다. #690
  • DNS 질의 진행 중에 호출된 dns.setServers()가 단언문 실패로 프로세스를 크래시시킬 수 있습니다. #894
  • url.resolve가 다른 두 호스트 사이를 해석하는 중 URL의 인증 정보 부분을 교환할 수 있습니다. #1435

Commits

  • [d63e02e08d] - buffer: don't set zero fill for zero-length buffer (Trevor Norris) #2931
  • [5905b14bff] - build: fix icutrim when building small-icu on BE (Stewart Addison) #2602
  • [f010cb5d96] - configure: detect mipsel host (Jérémy Lal) #2971
  • [b93ad5abbd] - deps: backport 357e6b9 from V8's upstream (Julien Gilli) #2974
  • [8da3da4d41] - deps: backport ff7d70b from V8's upstream (Julien Gilli) #2959
  • [2600fb8ae6] - deps: upgraded to node-gyp@3.0.3 in npm (Kat Marchán) #2958
  • [793aad2d7a] - deps: upgrade to npm 2.14.4 (Kat Marchán) #2958
  • [43e2b7f836] - doc: remove usage of events.EventEmitter (Sakthipriyan Vairamani) #2921
  • [9c59d2f16a] - doc: remove extra using v8::HandleScope statement (Christopher J. Brody) #2983
  • [f7edbab367] - doc: clarify description of assert.ifError() (Rich Trott) #2941
  • [b2ddf0f9a2] - doc: refine process.kill() and exit explanations (Rich Trott) #2918
  • [f68fed2e6f] - http: remove redundant code in _deferToConnect (Malcolm Ahoy) #2769
  • [f542e74c93] - http: guard against response splitting in trailers (Ben Noordhuis) #2945
  • [bc9f629387] - http_parser: do not dealloc during kOnExecute (Fedor Indutny) #2956
  • [1860e0cebd] - lib,src: remove usage of events.EventEmitter (Sakthipriyan Vairamani) #2921
  • [d4cd5ac407] - readline: fix tab completion bug (Matt Harrison) #2816
  • [9760e04839] - repl: don't use tty control codes when $TERM is set to "dumb" (Salman Aljammaz) #2712
  • [cb971cc97d] - repl: backslash bug fix (Sakthipriyan Vairamani) #2968
  • [2034f68668] - src: honor --abort_on_uncaught_exception flag (Evan Lucas) #2776
  • [0b1ca4a9ef] - src: Add ABORT macro (Evan Lucas) #2776
  • [4519dd00f9] - test: test sync version of mkdir & rmdir (Sakthipriyan Vairamani) #2588
  • [816f609c8b] - test: use tmpDir instead of fixtures in readdir (Sakthipriyan Vairamani) #2587
  • [2084f52585] - test: test more http response splitting scenarios (Ben Noordhuis) #2945
  • [fa08d1d8a1] - test: add test-spawn-cmd-named-pipe (Alexis Campailla) #2770
  • [71b5d80682] - test: make cluster tests more time tolerant (Michael Dawson) #2891
  • [3e09dcfc32] - test: update cwd-enoent tests for AIX (Imran Iqbal) #2909
  • [6ea8ec1c59] - tools: single, cross-platform tick processor (Matt Loring) #2868

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

b7e72bf8364c35992a8bebc57bf68c596d622c33d409c0943bf7d24ca7205c76 node-v4.1.1-darwin-x64.tar.gz
ce887b8c4d38fc269d22c072224a13c686445ea4c84ee506d4edd27de169c34c node-v4.1.1-darwin-x64.tar.xz
d134614e78cfc406611e366c9618704a47c2ee1bf60f0a11909ba84d8b2a9e28 node-v4.1.1-headers.tar.gz
9edcf9fd5c79a3696faef185bc2e9ee51c709dda2381b1bc6deb49f240897e5d node-v4.1.1-headers.tar.xz
b2e1915a0c65dd9faee7f05a56792371958980e02d1f7cde447c8260bb805052 node-v4.1.1-linux-arm64.tar.gz
63b4705f3ae5ee9f97b319dbc68463c12478fbcfc1bdf654f760a2e5bea565e8 node-v4.1.1-linux-arm64.tar.xz
ca38cef96180916891a262bbb39f335eaa8de6c0c06933609f4f3d7bebdc94b5 node-v4.1.1-linux-armv6l.tar.gz
06eff36b1f65b917ddedd2d6143d56ccc509518ac7cace6375011e2c5a40c226 node-v4.1.1-linux-armv6l.tar.xz
2896f0ab7c53bb7b489a09f7344e059f898ae929c2a9bfb7dfce85a5846ab9d2 node-v4.1.1-linux-armv7l.tar.gz
a88e19a3f6be90c7f93b890b3ef2e91f9563ab0b270f619b0fb78c773771c0af node-v4.1.1-linux-armv7l.tar.xz
f5f7e11a503c997486d50d8683741a554bdda1d1181125a05ac5844cb29d1572 node-v4.1.1-linux-x64.tar.gz
ffd058c4742c0525cc9d59069f29768096caac6d8d7eac2300d486a7f2d8122e node-v4.1.1-linux-x64.tar.xz
3f9836b8a7e6e3d6591af6ef59e6055255439420518c3f77e0e65832a8486be1 node-v4.1.1-linux-x86.tar.gz
dc2813fcf233d5fd8a375839757a0225748cf65f3d1027cab6188cd9e99897cf node-v4.1.1-linux-x86.tar.xz
1d7ee48a3d66d895692ca8085470358306eb11f398564834c3030cf3fe9f77e0 node-v4.1.1.pkg
e1e991519f4147ccef0c1816d26905ccf0a0be094af08d302a63e1025a7369df node-v4.1.1-sunos-x64.tar.gz
6b0d3278bba8313c7894cf55b755556c549651d0027a3a735114fb99b3afa148 node-v4.1.1-sunos-x64.tar.xz
915ec11b4a64becd817a810b7d8ecb426da3c52465d3ac3dfae50b53ad1ea28c node-v4.1.1-sunos-x86.tar.gz
ef71fbfa086a5d6929f8a7cac0addb99d9c4f5a1f9caa889aecb1e5a980b4449 node-v4.1.1-sunos-x86.tar.xz
6a610935ff52de713cf2af6a26002322e24fd7933a444436f0817a2b84e15a58 node-v4.1.1.tar.gz
f7ca9ceb0b7cc49b12f28a652c908a1f0ffbf34cec73ad0805fe717b14996bb9 node-v4.1.1.tar.xz
04b65daa09c1daff6d0a4101a3256d18eb9d5b50ba3ba49184b5b032dd9a4c06 node-v4.1.1-x64.msi
e73db653f543e3f6bcd28451d82e491064405b70546849579b31587f74b1a504 node-v4.1.1-x86.msi
9e985444df6374fb9efaa8c43630a26ca4fc77dcdcb5564abf7c30a62033dd53 win-x64/node.exe
e416599fb719d32d88e5e1abb27d1225c65bea452d8f11d1608e6a2c91c7695c win-x64/node.lib
8fe8b23e11e6356b6ab50f18060939c3e7a9f56d8ca2189fc556c8185f1a5083 win-x86/node.exe
e2a6a441e26cd60043f7537552fd10a3f678bc9265af539256410c6da2a0e9b4 win-x86/node.lib
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQEcBAEBAgAGBQJWA1eGAAoJEMJzeS99g1Rd/uMH+wT/zvf2BLZjyd95XvmgZ3yx
nCwZjGRLUfsMPd9Hk5x0D6Wpjq7hpIcN06W3ea6t7zgiZ/yCHBRfZ8KZHUkHP+Tm
/yNQwpZajEIL1RGssx/Wm1VMB3sysAl3RZ665OtvpuBgQ0w6PKNqB+WJG8G/1GSd
lB1sVYCq+CagjknPUMM+tYnxGDzSnJRcKdGI3DVvAu57AHdsYmuEfVxic2jRF1m+
yB2ncABRXYqcELt6U293B82Lr3zBYUd8gcBd2VzgOUSmMZh0YlqgPKt2Ll5/fEnY
fe3ditIQsQTiWtKzXr++Hd9iD2B+ppL3XBbiDByKFznIHg4BR61l8OuotHoL334=
=Oh4x
-----END PGP SIGNATURE-----

Node.js 주간 뉴스 2015년 9월 18일

Node.js 뉴스 — 9월 18일

Node.js v4.1.1이 배포되었습니다.

Node.js v4.1.1 릴리스

이번 주에는 Node.js v4.1.1 릴리스가 있었습니다. 이전 버전의 전체 변경사항은 GitHub에서 확인할 수 있습니다.

Node.js v4.1.1 주요 변경사항

  • buffer: v4.1.0에서 길이가 0인 버퍼를 새로 생성하면 JavaScript TypedArray의 다음 할당이 0으로 채워지지 않는 버그를 수정했습니다. 이 버그로 인해 TypedArray는 항상 0으로 채워져야 한다는 일반적인 보안 가정이 깨짐으로써 특정 상황에서 TypedArray의 메모리 공간을 재사용하게 되어 데이터 유출이 발생할 수 있습니다. (Trevor Norris) #2931.
  • http: response.addTrailers()로 마지막에 추가한 HTTP 헤더의 값에서 줄 바꿈([\r\n]) 문자를 제거해서 응답을 나누지 않도록 했습니다. 표준 헤더의 값은 이미 줄 바꿈 문자가 제거되어 있습니다. 추가 헤더를 사용하는 경우는 드물어서 보안에 주는 영향은 낮습니다. (Ben Noordhuis) #2945.
  • npm: npm 2.14.3에서 2.14.4로 업그레이드 했습니다. 자세한 내용은 릴리스 노트를 참고하세요. (Kat Marchán) #2958
    • 여러 의존성이 더는 몽키패치를 한 fs에 의존하지 않도록 graceful-fs를 업그레이드 했습니다.
    • Node의 사전 릴리스와 RC 빌드를 위해 npm link를 수정했습니다.
  • v8: 다음을 찾아서 검사하는 포스트-모템 디버그 도구를 사용할 수 있도록 포스트-모템 메타데이터를 업데이트했습니다.
    • 딕셔너리 프로퍼티를 사용하는 자바스크립트 객체 (Julien Gilli) #2959
    • 클로저에 대한 정보를 가진 ScopeInfo (Julien Gilli) #2974

알려진 이슈

현재 알려진 이슈의 전체 목록은 https://github.com/nodejs/node/labels/confirmed-bug에서 확인할 수 있습니다.

  • beforeExit 중에 참조 해제된 타이머에 대한 문제가 아직 남아 있습니다. #1264
  • REPL에 입력된 서로게이트 페어가 터미널을 얼릴 수 있습니다. #690
  • DNS 질의 진행 중에 호출된 dns.setServers()가 단언문 실패로 프로세스를 크래시시킬 수 있습니다. #894
  • url.resolve가 다른 두 호스트 사이를 해석하는 중 URL의 인증 정보 부분을 교환할 수 있습니다. #1435

커뮤니티 업데이트

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

다가오는 이벤트

  • Node.js Italian Conference 입장권을 판매하고 있습니다. 10월 10일 이탈리아 Brescia의 Desenzano에서 열립니다.
  • JSConf CO가 10월 16일부터 17일까지 콜롬비아 Medellin의 Ruta N에서 열립니다.
  • EmpireNode, 10월 23일 미국 뉴욕에서 열립니다.
  • NodeFest, 11월 7일 일본 도쿄에서 열립니다.
  • Nodevember가 11월 14일부터 15일까지 미국 Tennessee의 Nashville에서 열립니다.
  • NodeConf Barcelona, 11월 21일 스페인 바르셀로나에서 열립니다.
  • Node.js Interactive, 12월 8일부터 9일까지 미국 포틀랜드에서 열립니다.

Node.js와 io.js의 다가오는 이벤트를 계획하고 있나요? Evangelism 팀 저장소이슈 페이지의 주간 업데이트 이슈를 통해 알릴 수 있습니다.

Node v4.1.0 (안정 버전)

2015-09-17, 4.1.0 (안정 버전), @Fishrock123

주요 변경 사항

  • buffer:
    • 버퍼는 이제 C++가 아닌 자바스크립트에서 만들어집니다. 이 변경은 버퍼의 생성 속도를 향상시킵니다. (Trevor Norris) #2866.
    • Buffer#slice()는 현재 slice()의 성능을 높이기 위해 내부적으로 Uint8Array#subarray()를 사용합니다. (Karl Skomski) #2777.
  • fs:
    • fs.utimes()는 숫자 문자열과 NaN, Infinity를 적절히 변환합니다. (Yazhong Liu) #2387.
    • fs.WriteStream에 매우 빠른 대용량 쓰기를 허용하는 _writev를 구현했습니다. (Ron Korving) #2167.
  • http: http.request()를 사용할 때 에러를 유발하는 write()의 정확한 크기에 관한 문제를 수정했습니다. (Fedor Indutny) #2824.
  • npm: 2.14.3 버전으로 업그레이드했습니다, 자세한 사항은 https://github.com/npm/npm/releases/tag/v2.14.3을 참조하세요. (Kat Marchán) #2822.
  • src: V8 cpu 정보 수집은 대기 상태일 때 더 이상 잘못 표기되지 않습니다. (Oleksandr Chekhovskyi) #2324.
  • timers: #ref()#unref()는 그들이 속한 타이머를 반환합니다. (Sam Roberts) #2905.
  • v8: 4.5.103.30에서 4.5.103.33으로 사소한 수정사항을 포함한 업그레이드가 있었습니다. (Ali Ijaz Sheikh) #2870.
    • 일부 계산된 객체의 단축 속성이 제대로 작동하지 않는 이전에 알려진 오류를 수정했습니다. (#2507).

알려진 이슈

현재 알려진 이슈의 전체 목록은 https://github.com/nodejs/node/labels/confirmed-bug에서 확인할 수 있습니다.

  • beforeExit 중에 참조 해제된 타이머에 대한 문제가 아직 남아 있습니다. #1264
  • REPL에 입력된 서로게이트 페어가 터미널을 얼릴 수 있습니다. #690
  • DNS 질의 진행 중에 호출된 dns.setServers()가 단언문 실패로 프로세스를 크래시시킬 수 있습니다. #894
  • url.resolve가 다른 두 호스트 사이를 해석하는 중 URL의 인증 정보 부분을 교환할 수 있습니다. #1435

Commits

  • [b1abe812cd] - Working on 4.0.1 (Rod Vagg)
  • [f9f8378853] - 2015-09-08, Version 4.0.0 (Stable) Release (Rod Vagg)
  • [9683e5df51] - bindings: close after reading module struct (Fedor Indutny) #2792
  • [4b4cfa2d44] - buffer: always allocate typed arrays outside heap (Trevor Norris) #2893
  • [7df018a29b] - buffer: construct Uint8Array in JS (Trevor Norris) #2866
  • [43397b204e] - (SEMVER-MINOR) build: Updates to enable AIX support (Michael Dawson) #2364
  • [e35b1fd610] - build: clean up the generated tap file (Sakthipriyan Vairamani) #2837
  • [96670ebe37] - deps: backport 6d32be2 from v8's upstream (Michaël Zasso) #2916
  • [94972d5b13] - deps: backport 0d01728 from v8's upstream (Fedor Indutny) #2912
  • [7ebd881c29] - deps: upgrade V8 to 4.5.103.33 (Ali Ijaz Sheikh) #2870
  • [ed47ab6e44] - deps: upgraded to node-gyp@3.0.3 in npm (Kat Marchán) #2822
  • [f4641ae875] - deps: upgrade to npm 2.14.3 (Kat Marchán) #2822
  • [8119693a3d] - deps: update libuv to version 1.7.4 (Saúl Ibarra Corretgé) #2817
  • [6098504685] - deps: cherry-pick 6da51b4 from v8's upstream (Fedor Indutny) #2801
  • [bf42cc8dba] - doc: process exit event is not guaranteed to fire (Rich Trott) #2861
  • [bb0f869f67] - doc: remove incorrect reference to TCP in net docs (Sam Roberts) #2903
  • [302d59dce8] - doc: correct buffer.slice arg syntax (Sam Roberts) #2903
  • [74db9637b7] - doc: describe spawn option.detached (Sam Roberts) #2903
  • [a7bd897273] - doc: rename from iojs(1) to node(1) in benchmarks (Dmitry Vasilyev) #2884
  • [cd643d7c37] - doc: add missing backtick in buffer.markdown (Sven Slootweg) #2881
  • [e8a206e802] - doc: fix broken link in repl.markdown (Danny Nemer) #2827
  • [7ee36d61f7] - doc: fix typos in README (Ionică Bizău) #2852
  • [4d1ae26196] - doc: add tunniclm as a collaborator (Mike Tunnicliffe) #2826
  • [2d77d03643] - doc: fix two doc errors in stream and process (Jeremiah Senkpiel) #2549
  • [55ac24f721] - doc: fixed io.js references in process.markdown (Tristian Flanagan) #2846
  • [cd1297fb57] - doc: use "Calls" over "Executes" for consistency (Minwoo Jung) #2800
  • [d664b95581] - doc: use US English for consistency (Anne-Gaelle Colom) #2784
  • [82ba1839fb] - doc: use 3rd person singular for consistency (Anne-Gaelle Colom) #2765
  • [432cce6e95] - doc: describe process API for IPC (Sam Roberts) #1978
  • [1d75012b9d] - doc: fix comma splice in Assertion Testing doc (Rich Trott) #2728
  • [6108ea9bb4] - fs: consider NaN/Infinity in toUnixTimestamp (Yazhong Liu) #2387
  • [2b6aa9415f] - (SEMVER-MINOR) fs: implemented WriteStream#writev (Ron Korving) #2167
  • [431bf74c55] - http: default Agent.getName to 'localhost' (Malcolm Ahoy) #2825
  • [ea15d71c16] - http_server: fix resume after socket close (Fedor Indutny) #2824
  • [8e5843405b] - src: null env_ field from constructor (Trevor Norris) #2913
  • [0a5f80a11f] - src: use subarray() in Buffer#slice() for speedup (Karl Skomski) #2777
  • [57707e2490] - src: use ZCtxt as a source for v8::Isolates (Roman Klauke) #2547
  • [b0df2273ab] - src: fix v8::CpuProfiler idle sampling (Oleksandr Chekhovskyi) #2324
  • [eaa8e60b91] - streams: refactor LazyTransform to internal/ (Brendan Ashworth) #2566
  • [648c003e14] - test: use tmp directory in chdir test (Sakthipriyan Vairamani) #2589
  • [079a2173d4] - test: fix Buffer OOM error message (Trevor Norris) #2915
  • [52019a1b21] - test: fix default value for additional param (Sakthipriyan Vairamani) #2553
  • [5df5d0423a] - test: remove disabled test (Rich Trott) #2841
  • [9e5f0995bd] - test: split up internet dns tests (Rich Trott) #2802
  • [41f2dde51a] - test: increase dgram timeout for armv6 (Rich Trott) #2808
  • [6e2fe1c21a] - test: remove valid hostname check in test-dns.js (Rich Trott) #2785
  • [779e14f1a7] - test: expect error for test_lookup_ipv6_hint on FreeBSD (Rich Trott) #2724
  • [f931b9dd95] - (SEMVER-MINOR) timer: ref/unref return self (Sam Roberts) #2905
  • [59d03738cc] - tools: enable arrow functions in .eslintrc (Sakthipriyan Vairamani) #2840
  • [69e7b875a2] - tools: open test.tap file in write-binary mode (Sakthipriyan Vairamani) #2837
  • [ff6d30d784] - tools: add missing tick processor polyfill (Matt Loring) #2694
  • [519caba021] - tools: fix flakiness in test-tick-processor (Matt Loring) #2694
  • [ac004b8555] - tools: remove hyphen in TAP result (Sakthipriyan Vairamani) #2718
  • [ba47511976] - tsc: adjust TSC membership for IBM+StrongLoop (James M Snell) #2858
  • [e035266805] - win,msi: fix documentation shortcut url (Brian White) #2781

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

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

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

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

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

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

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

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

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

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

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

ARMv7 32-bit Binary: https://nodejs.org/dist/v4.1.0/node-v4.1.0-linux-armv7.tar.gz

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

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

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

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

ff1c4b13a10c0789709cd73980a496b27e434207802989377ec4cb56302a1ebc node-v4.1.0-darwin-x64.tar.gz
11d8d7367a7a7c91eb0ea7d8bdca7d24a9b944bf7a9c84389fbc3d3d35cb31a2 node-v4.1.0-darwin-x64.tar.xz
1ba579ead4cc6a70b1d74bbc3591ca9c9c46e4254ff6cebc9dedfaf98e1657aa node-v4.1.0-headers.tar.gz
550a3023531f8387dcd7b632ceda6b613e0464a78aba0c4ee30dcb69026829dd node-v4.1.0-headers.tar.xz
d27001f51d75c43cc1f444eab8aef0ced4ac4d162598be7eccf58790127e5368 node-v4.1.0-linux-arm64.tar.gz
8c0abe5f89ae9530751188cfef9640fa774c9812c15f7e168207d0adf51d8fff node-v4.1.0-linux-arm64.tar.xz
3b728cdb93d155cf532a8a7f57f5a86f6f67a73e57a7abe657ff88166995e99e node-v4.1.0-linux-armv7.tar.gz
3e1618a9c276fdcef45993ede68221667ef39c39356e8bc6f91c9ebf7310e8db node-v4.1.0-linux-armv7.tar.xz
7c6055e08127143d9a8f779aa56f3fe42035fff8843c2652b0b2726204556382 node-v4.1.0-linux-x64.tar.gz
0f062984d1f7ce40cd902120b40b916b50df8041adb851373dce178f5ea959a3 node-v4.1.0-linux-x64.tar.xz
2ceaf5e66993da50e4514ddc5c270dc15ee712d00c29a2108655d9d259b3b9bb node-v4.1.0-linux-x86.tar.gz
ac21e4c3628acfcd7df14cb4127691a4c55b9c7dbd5b1cba73c592f848e61cac node-v4.1.0-linux-x86.tar.xz
9df8830c12bd28a5c1a0e1355cad9f50546e40ce681061d62f7a16e351272764 node-v4.1.0.pkg
b9b176f4e54422ab73458dcc36eec34149ffb298a9f5a5aa042c4b7e59860113 node-v4.1.0-sunos-x64.tar.gz
dfdead90e1c0e9760aeef0acf198fd1450b9c2b7dd32b42bae6f9ee6e0046566 node-v4.1.0-sunos-x64.tar.xz
ed6c5163b3cb2e452e8e9bf4e3857af9e65eccd7fce0959fb97dcf03547c726a node-v4.1.0-sunos-x86.tar.gz
856e7478a237495ec1586054722b853a1b1f21dd29442fade9f8d2259967c214 node-v4.1.0-sunos-x86.tar.xz
453005f64ee529f7dcf1237eb27ee2fa2415c49f5c9e7463e8b71fba61c5b408 node-v4.1.0.tar.gz
2e153aaa72d73578e2ef68bd943e629904f00897769c2a2992ff4561d742772d node-v4.1.0.tar.xz
ebf934575177def034130e2adea292567956be7ef4ed6c11fe645bc59a6ace06 node-v4.1.0-x64.msi
4c6fae187c23b15ec1689d25ac0000d2902d8d5f6c64710ed4ad9e2166f6580f node-v4.1.0-x86.msi
95199ec14462edc982e01538d81ecd9af35ae3f9ef18c33be53102a5f93053e0 win-x64/node.exe
a00d40f053c7926f0999279c987cbd293a630853bb5565b0a07e61bece80fe34 win-x64/node.lib
62dca0c50648c3b87d9af1e469f290e82ab009f60892b164e1d1f6655c7310e3 win-x86/node.exe
6f84367eb539f230eef02714703d8a817b1c956ad302def07034f3cd310461df win-x86/node.lib
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJV+k2+AAoJEEX17r2BPa6OJjQP/1IAMo0X/9rSMwy8grbaj5Iy
E5sZTrTVZ7Xddzqu3c6zn/M9poK28aQUEPAkgXrICTXrmD6zM8In2wrmRMmcQkOn
iuS9rl7wsSLzfha2QnBbnl9XxEvSlf7csXsWuHKOk/MSPTqdowGbcWZhs2wsHpgX
Wv7yhaygvWZtboeZ3KTJsh48AcEru+Azm2jjU6/toBRCTTLWwXIYU8v1QdYhVVbM
A5nufi2tlpY4cBMZBOeEN/rFfCxoXvk8t0kR82qIGz28292p9anYt1I0MDMbK6Dq
N+ex02SQNcA+4+PMMBP5IyQXXIvi+jBzbDIxAHI/B3b+k5ZQXtV44sB+kiPS1H9Z
KHaC7ccom9Oo9lvU9KElTRJGD9JWdLvAENvsJO9CUFbR+NCcfk+amCcqK/UZxQeq
4s7cqnyM99oacX1fqqj+dMh8YxWB10lqz4ttdgkGX4yZtJQdp1OZ6F1NQuu839e7
TNUMa4MI0eZ/BjnocqlKnlCyMWQmWBPRIzfFXnRu+Q3Mq+3tpi6qKhE1Zda/E4Ow
+zUgRBDd94rE84rQNp9QLuEY0yhWWI2QQOOnBIRlfZPfDLcr12eSVm41yOYbL9pZ
wbF5+3DHMvjCC0IjcnFAja16joTps27eBsn2dNI72wyQod06W2qLZFS+Xt+AO6Tb
cFwYASzhWAmlr+3T6kFK
=VJ63
-----END PGP SIGNATURE-----

Node.js 재단이 새로운 릴리스에서 Node.js와 io.js를 하나의 코드로 합쳤다.

Node.js를 엔터프라이즈에서 사용하는 사람들에게 매력적이게 더 안정적이고 안전하면서 테스트 커버리지도 개선됨

샌프란시스코, 2015년 9월 14일 – 커뮤니티가 주도하고 기업들이 지원하는 컨소시엄으로 Node.js 플랫폼의 개발을 돕는 Node.js 재단에서 오늘 Node.js 4.0.0 버전을 발표했습니다. Node.js 재단의 방향성에 따라 하나의 코드로 합쳐진 Node.js 프로젝트와 io.js 프로젝트의 이번 릴리스에는 기록적인 수의 개인과 회사가 기여했습니다.

현재 Node.js는 매달 2백만 건 이상의 다운로드가 이뤄지고 200여 개국의 수만 개의 회사에서 사용되고 있습니다. 주요 안정성과 보안 업데이트 및 새로운 테스트 클러스터, ARM 프로세스의 지원과 장기 지원에 따라 Node.js v4는 Node.js를 사용하는 엔터프라이즈 사용자에게 JavaScript 프로그램을 실행하는 최신 프레임워크의 혁신이 되었습니다.

버전이 4.0.0이 된 것은 이번 버전이 io.js 3.0.0 버전의 주요 업데이트를 포함하고 있기 때문이고, 새로운 버전에는 현재 크롬 웹 브라우저가 사용하는 V8과 같은 버전인 V8 v4.5가 포함되어 있습니다. 이는 Node.js 사용자에게 많은 이점을 가져다주는데 블록 범위, 클래스, 타입을 가진 배열(Node의 Buffer는 이제 Uint8Array에 기반을 둡니다.), 제너레이터, 프로미스, 심볼, 템플릿 문자열, 컬렉션(Map, Set 등)을 포함해서 V8 v4.5에 새로 추가된 화살표 함수(arrow function) 등 새로운 ES6 기능이 기본적으로 활성화 되었다는 점이 주목할 부분입니다.

Node.js v4부터는 장기 지원(LTS)과 정기 릴리스 주기가 생겼습니다. 이제 릴리스 버전은 소프트웨어 라이브러리나 의존성의 버전 번호에 대한 명세인 유의적 버전 명세를 따르기 때문에 버그를 수정하고 기능을 추가함에 따라 부 버전과 수 버전을 올릴 것입니다. LTS는 장기적인 요구사항이 필요한 엔터프라이즈 사용자를 지원하고 Node.js가 계속해서 발전하도록 지속해서 혁신을 이뤄내고 V8 팀과 협업합니다.

"Node.js 재단아래 통합된 커뮤니티는 합쳐진 코드 기반에서 개발하면서 놀랍도록 진전했습니다."이라고 Node.js 재단의 커뮤니티 관리자인 마이클 로저스가 얘기했습니다. "새로운 릴리스와 LTS 주기가 프로젝트의 혁신을 이뤄내면서 최신 JavaScript 기능을 도입하는 동시에, Node.js를 핵심 기술로 도입하는 엔터프라이즈 사용자가 증가함에 따라 필요해진 예측 가능한 장기적 안정성과 보안성의 요구도 만족하게 합니다."

이번 업데이트에는 다음 사항도 포함되어 있습니다.

  • 안정성과 보안: IBM, NodeSource, StrongLoop 같은 핵심 Node.js 재단 회원사는 최신 릴리스에서 엔터프라이즈 환경에 강하게 집중된 부분에 기여했습니다. 이들의 기여로 최신 버전은 엔터프라이즈의 요구 사항에 맞게 더 안정적이면서 안전하게 만들어졌습니다.
  • 개선된 플랫폼 테스트 커버리지: RackSpace, DigitalOcean, Scaleway, ARM Holdings 같은 주요 파트너사의 도움으로 이번 릴리스에서는 플랫폼에서 추가적인 안정성을 만들어야 하는 주요 오픈 소스 프로젝트 중에서 가장 발전한 테스트 클러스터를 구축했습니다.
  • ARM 계열의 기본적인 지원: 테스트 인프라는 모든 주요 ARM 계열과 ARMv6, ARMv7, 서버 시장을 잠식하고 있는 새로운 64-bit ARMv8을 지원합니다. 엔터프라이즈에 준비된 애플리케이션이나 IoT 애플리케이션을 개발하기 위해 이러한 아키텍처를 사용해야 하는 개발자에게 훌륭한 런타임을 보장합니다.
  • 화살표 함수의 추가: Node.js v4는 io.js에서도 사용할 수 없었던 화살표 함수(arrow function)를 지원합니다.

Node.js 재단의 기술 결정 위원회(TSC)는 이제 15명이 되었고 40명의 핵심 커미터들과 커뮤니티에 기여하는 350여 명의 GitHub 조직 회원이 있습니다. Node.js 재단이라는 우산 아래 통합된 더 크고 활발한 커뮤니티 덕에 개발 단계와 릴리스 주기는 훨씬 더 빨라졌습니다. 다음 릴리스는 2015년이 지나기 전에 나올 것입니다. 프로젝트는 6개월마다 새로운 안정 버전을 릴리스를 위한 브랜치를 만들 것이고, 첫 안정 버전은 10월에 예정되어 있고 다음은 2016년 봄이 될 것입니다.

추가 자료

Node.js 재단에 대해서

Node.js 재단은 Node.js 플랫폼과 그 외 관련 모듈을 만들고 지원하는데 집중하는 협업 오픈 소스 프로젝트입니다. Node.js는 매달 2백만 건 이상의 다운로드가 이뤄지고 200여 개국의 수만개의 회사에서 사용되고 있고 엔터프라이즈 애플리케이션, 로봇, API 엔진, 클라우드 스택, 모바일 웹사이트의 모든 것을 운영하는 고성능, 저지연 애플리케이션의 런타임입니다. 재단은 플래티넘 회원사인 Famous, IBM, Intel, Joyent, Microsoft, PayPal과 골드 회원사인 GoDaddy, NodeSource, Modulus/Progress Software, 실버 회원사인 Apigee, Codefresh, DigitalOcean, Fidelity, Groupon, nearForm, npm, Sauce Labs, SAP, StrongLoop, YLD를 포함한 다양한 회사로 구성되었습니다! 참여하려면 http://nodejs.org를 방문하세요. Node.js 재단은 Linux 재단 산하의 협업 프로젝트(Collaborative Project)입니다. Linux 재단 협업 프로젝트는 협업 개발의 힘을 이용해 산업과 생태계 전반에 걸친 혁신을 돕기 위한 소프트웨어 프로젝트로 독립적으로 투자를 받습니다. https://nodejs.org/en/foundation/

Node.js Foundation은 Node.js 재단의 라이선스 마크입니다. Node.js는 Joyent, Inc의 등록 상표이고 Joyent의 허락을 받아 사용하고 있습니다.

미디어 연락처 Node.js 재단 Sarah Conway 978-578-5300 pr@nodejs.org

Node.js 주간 뉴스 2015년 9월 11일

Node.js 뉴스 — 9월 11일

Node.js v4.1.0과 io.js v3.3.1이 배포되었습니다.

Node.js v4.1.0과 io.js v3.3.1 릴리스

이번 주는 두 개의 릴리스가 있습니다. Node.js v4.1.0io.js v3.3.1이고, 이전 버전에서의 완전한 변경사항은 GitHub에서 확인할 수 있습니다.

Node.js v4.1.0 주요 변경사항

  • buffer:
  • 버퍼는 이제 C++가 아닌 자바스크립트에서 만들어집니다. 이 변경은 버퍼의 생성 속도를 향상시킵니다. (Trevor Norris) #2866.
  • Buffer#slice()는 현재 slice()의 성능을 높이기 위해 내부적으로 Uint8Array#subarray()를 사용합니다. (Karl Skomski) #2777.
  • fs:
    • fs.utimes()는 숫자 문자열과 NaN, Infinity를 적절히 변환합니다. (Yazhong Liu) #2387.
    • fs.WriteStream에 매우 빠른 대용량 쓰기를 허용하는 _writev를 구현했습니다. (Ron Korving) #2167.
  • http: http.request()를 사용할 때 특정 write() 크기들이 에러를 유발하는 문제를 수정했습니다. (Fedor Indutny) #2824.
  • npm: 2.14.3 버전으로 업그레이드 했습니다. 자세한 사항은 https://github.com/npm/npm/releases/tag/v2.14.3을 참조하세요. (Kat Marchán) #2822.
  • src: V8 cpu 정보 수집은 대기 상태일 때 더 이상 잘못 표기되지 않습니다. (Oleksandr Chekhovskyi) #2324.
  • timers: #ref()#unref()는 그들이 속한 타이머를 반환합니다. (Sam Roberts) #2905.
  • v8: 4.5.103.30에서 4.5.103.33으로 사소한 수정사항을 포함한 업그레이드가 있었습니다. (Ali Ijaz Sheikh) #2870.
    • 일부 계산된 객체의 단축 속성이 제대로 작동하지 않는 이전에 알려진 오류를 수정했습니다. (#2507).

io.js v3.3.1 주요 변경 사항

  • buffer: 종료를 유발했던 사소한 오류를 수정했습니다. (Michaël Zasso) #2635,
  • child_process: 종료를 유발했던 오류를 수정했습니다. (Evan Lucas) #2727
  • crypto: Windows XP / 2003에서 안전하지 않은 rwlocks를 대체했습니다. (Ben Noordhuis) #2723
  • libuv: 1.7.3에서 1.7.4로 업그레이드했습니다. (Saúl Ibarra Corretgé) #2817
  • node: 윈도우에서 흠이 있는 process.release.libUrl을 수정했습니다. (Rod Vagg) #2699
  • node-gyp: Node.js와 io.js의 v0.10에서 v4 이상의 버전까지의 지원을 향상하기 위해 v3.0.3를 유동적으로 설정했습니다. (Rod Vagg) #2700
  • npm: 2.13.3에서 2.14.3으로 보안 업데이트를 포함한 업그레이드를 했습니다. 더 자세한 사항은 https://github.com/npm/npm/releases/tag/v2.14.2를 참조하세요. (Kat Marchán) #2696.
  • timers: 0.12로 이식하면서 타이머의 성능 향상이 있었고, 사소한 수정사항도 포함 되어있습니다. (Jeremiah Senkpiel) #2540, (Julien Gilli) nodejs/node-v0.x-archive#8751 nodejs/node-v0.x-archive#8905

알려진 이슈

현재 알려진 이슈의 전체 목록은 https://github.com/nodejs/node/labels/confirmed-bug에서 확인할 수 있습니다.

  • 계산된 객체를 사용할 때 종종 일부 계산된 객체의 단축 속성이 현재 버전의 V8에서는 제대로 다뤄지지 않고 있습니다. 예를 들어 [{ [prop]: val }][{}]으로 인식되는 문제 등입니다. #2507
  • beforeExit 중에 참조 해제된 타이머에 대한 문제가 아직 남아 있습니다. #1264
  • REPL에 입력된 서로게이트 페어가 터미널을 멈출 수 있습니다. #690
  • DNS 질의 진행 중에 호출된 dns.setServers()가 실패한 단언문으로 프로세스의 충돌을 일으킬 수 있습니다. #894
  • url.resolve가 다른 두 호스트 사이를 해석하는 중 URL의 인증 정보 부분을 교환할 수 있습니다. #1435

Node.js 재단은 Node.js와 io.js를 새 릴리스에서 단일 코드 기반으로 합쳤습니다.

Node.js 재단은 Node.js의 새 릴리스 진입과 Node 재단을 소개하는 글을 게재했습니다. 자세한 사항은 여기를 참조하세요.

Node.js Interactive

Node.js Interactive는 Node.js를 위한 새롭고 정기적이며 벤더 중립적인 콘퍼런스입니다. 이 콘퍼런스는 새로운 형식으로 Node.js 재단을 이끌어갈 것입니다. Node.js Interactive(한국어)

커뮤니티 업데이트

  • LTS 빌드를 할 V8 메인테이너를 아직 구하고 있습니다! GitHub에서 요구사항을 확인하세요.
  • Raygun blog에 따르면 Node.js v4.0.0는 Node.js v0.12보다 8% 빠르다고 합니다.
  • 에반젤리즘 워킹 그룹 회원인 Tony Pujals가 Node.js v4.0.0으로의 진입이란 글을 게재했고, Node.js v4.0.0안의 ES6와 LTS, SemVer에 관해 이야기했습니다.

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

다가오는 이벤트

  • Node.js Italian Conference 입장권을 판매하고 있습니다. 10월 10일 이탈리아 Brescia의 Desenzano에서 열립니다.
  • JSConf CO가 10월 16일부터 17일까지 Medellin의 Ruta N에서 열립니다.
  • EmpireNode, 10월 23일 미국 뉴욕에서 열립니다.
  • NodeFest, 11월 7일 일본 도쿄에서 열립니다.
  • Nodevember가 11월 14일부터 15일까지 미국의 Tennessee, Nashville에서 열립니다.
  • NodeConf Barcelona, 11월 21일 스페인 바르셀로나에서 열립니다.
  • Node.js Interactive, 12월 8일부터 9일까지 미국 포틀랜드에서 열립니다.

Node.js와 io.js의 다가오는 이벤트를 계획하고 있나요? Evangelism 팀 저장소이슈 페이지의 주간 업데이트 이슈를 통해 알릴 수 있습니다.

Node.js Interactive

Node.js Interactive를 맞이할 준비는 되셨나요?

Node.js 재단은 2015년 12월 8-9일, 오리건 주 포틀랜드에서 Node.js Interactive를 개최합니다. node.js가 광범위하게 성장함에 따라, 이 콘퍼런스는 빠른 웹 사이트와 실시간 애플리케이션의 효율적인 개발 방법부터 node.js 애플리케이션 관리를 위한 조언, 그 밖에 언급되지 않은 것까지 전반적으로 다루게 될 것입니다.

이번 행사는 Node.js 재단이 Linux 재단과 함께 협력한 첫 번째 일이 될 것입니다. 의도적으로 특정 벤더에 소속되지 않은 채, 이제는 합쳐진 node.js와 io.js 커뮤니티 간 오픈 거버넌스 협업의 이상을 이어나가는 데 집중할 것입니다. 콘퍼런스는 경력 개발자뿐만 아니라 IoT, 프론트엔드, 백엔드 기술에 초점을 맞춘 발표들을 자신의 사업에 어떻게 이용할 수 있을지 관심을 가진 사람들도 환영합니다. 이런 발표들을 모으고 참석자들에게 최상의 경험을 제공하기 위해서 발표 책임자는 잔뼈 굵은 베테랑들로 이루어져 있습니다.

  • Kassandra Perch, IoT 담당, 텍사스 오스틴에 사는 소프트웨어 개발자 / 에반젤리스트 / 지지자 / 교육자 / 로봇 기술자, @nodebotanist에서 팔로우.
  • Jessica Lord, 프론트엔드 담당, 오픈 소스, JavaScript, node.js, 튜더 영국의 이야기를 사랑하는 GitHub 개발자이자 디자이너, 포틀랜드 이주자.
  • C J Silvero, 백엔드 담당, 항상 node를 쓰고 샌프란시스코 베이 에어리어의 npm, Inc. 엔지니어링 책임자.

Node.js 커뮤니티가 성장함에 따라, Node.js 재단은 이번 행사가 엄청난 인기의 Node.js가 다음에는 어떻게 될지 이해하고 협업 개발을 이어나가는 최적의 장소가 될 것이라고 생각합니다. 우리와 함께 하고 싶은가요? 여기에서 등록하세요. 등록 시기에 따른 할인율은 다음과 같습니다.

  • 슈퍼 얼리 버드 - US$200, 첫 100장 한정
  • 얼리 버드 - US$325, 10월 17일에 종료
  • 표준 - US$425, 11월 21일에 종료
  • 늦은 구매, 현장 구매 - US$525, 11월 22일부터 시작

발표자가 되고 싶다면, 모집 공고 페이지를 참조하세요. 모집은 2015년 9월 24일에 종료됩니다.

Node v4.0.0 (안정 버전)

Node.js 프로젝트의 협력자와 Node.js 재단의 멤버는 v4.0.0을 공식적으로 릴리스하게 되어 자랑스럽습니다. 이제 하나의 코드로 합쳐진 Node.js와 io.js 프로젝트에서 이뤄진 수많은 시간의 고된 작업이 이번 릴리스에 담겨 있습니다. 현재 Node.js 프로젝트는 44명의 협력자로 운영되고 있고 그중의 15명은 기술 결정 위원회(Technical Steering Committee, TSC)입니다. 게다가 v0.12.7 이후 새로운 100여 명이 코드 기여 목록에 이름을 올렸습니다.

Node.js v4.0.0은 현재 크롬 웹 브라우저가 사용하는 V8과 같은 버전인 V8 v4.5를 사용합니다. 이로써 Node.js 사용자에게 많은 이점이 생겼는데 블록 범위, 클래스, 타입을 가진 배열(Node의 Buffer는 이제 Uint8Array에 기반을 둡니다.), 제너레이터, 프로미스, 심볼, 템플릿 문자열, 컬렉션(Map, Set 등)을 포함해서 V8 v4.5에 새로 추가된 화살표 함수(arrow function) 등 새로운 ES6 기능이 기본적으로 활성화 되었다는 점이 주목할 부분입니다.

지난 몇 년간 Rackspace, DigitalOcean, Scaleway, miniNodes, Voxer, Joyent, CloudFlare, ARM Holdings 같은 회사나 커뮤니티의 후원으로 고맙게도 다양한 Linux와 OS X, Windows, FreeBSD, SmartOS 등의 다양한 환경에서 놀라운 테스트 클러스터를 구축했습니다. 여기에 새로 ARM 프로세서도 기본으로 지원합니다. ARMv6, ARMv7와 새로운 64비트 ARMv8 프로세스에서도 테스트 슈트가 계속해서 통과해야 합니다. 이제 Node.js는 취미로 ARM을 쓰는 사람이나 ARM 서버 사용자들도 사용할 수 있게 되었습니다.

Node.js v4부터는 장기지원버전(LTS)와 정기 릴리스 주기가 생겼습니다. 이제 릴리스 버전은 SemVer를 따르기 때문에 버그를 수정하고 기능을 추가함에 따라 부 버전과 수 버전을 모두 올릴 것입니다. v4.x 브랜치에서는 호환성을 깨뜨리는 변경사항은 추가하지 않을 것입니다.

하지만 10월에 릴리스할 첫 LTS 버전에 첫 발걸음을 시작할 것입니다. 동시에 v5.x 브랜치를 새로 시작하고 v5.0.0으로 시작하는 새로운 안정 버전(Stable)의 릴리스를 사용 가능하게 할 것입니다. 이 브랜치에는 새로운 버전의 V8과 필요하다면 호환성이 없는 변경사항이 포함될 것입니다. v4.x 릴리스는 릴리스 이후 18개월 동안 LTS로 지원하면서 안정성과 보안에 집중하면서 새로운 기능은 추가하지 않을 것입니다. 18개월의 지원이 끝난 뒤 v4.x는 12개월 동안 추가로 치명적인 버그와 보안 수정사항에 집중하는 유지보수(Maintenance) 단계에 진입할 것입니다.

동시에 6개월마다 새로운 안정 버전의 브랜치를 만들어서 매년 4월과 10월에 릴리스할 예정입니다. 안정 버전은 계속해서 개발하면서 매주 혹은 격주로 부 버전과 수 버전을 올리면서 정기적인 릴리스를 할 계획입니다. 10월에 릴리스하는 두 번째 안정 버전 릴리스마다 LTS로 계속해서 지원할 것입니다. 즉, 전체 30개월(LTS와 유지보수 기간 포함) 동안 관심을 받으면서 1년 내내 관리되는 LTS 브랜치가 존재할 것입니다. 안정 버전과 LTS 주기를 통해 프로젝트가 계속해서 혁신을 이뤄내고 자랑스럽게 핵심기술로 Node.js를 도입하는 엔터프라이즈 사용자(일부는 이미 자신을 Node.js 재단의 멤버로 생각합니다.)가 늘어남에 따라 필요해진 예측 가능한 장기 안정성과 보안의 요구사항도 충족하면서 최신 자바스크립트를 사용할 수 있는 여유를 제공할 수 있다고 생각합니다.

모든 주요 릴리스가 항상 그렇듯이 Node.js v4의 도입에 문제가 없다고 생각하진 않습니다. 여기에는 시간이 걸릴 것이고 특히 새로운 버전의 V8을 따라잡아야 하는 컴파일된 애드온이라면 더욱 시간이 걸릴 것입니다.(힌트: 호환성 문제에 대한 공식적인 해결책은 NAN을 참고하세요.) 다행히도 애드온 작성자는 io.js v3.x 릴리스에서 Node.js v4에 대비할 수 있는 기회가 있었으므로 오늘날 npm 생태계는 꽤 많이 준비되어 있습니다.

v0.12와 v4 사이의 변경사항 목록은 LTS 위키에서 볼 수 있고 며칠 내에 반드시 알아야 하는 변경사항과 관련된 문서는 이 위키와 코어 위키에 모두 포함될 것입니다.

GitHub의 새로운 저장소(https://github.com/nodejs/node)에 버그를 보고하고, 핵심에 기여해 점점 늘어가는 협력자 명단에 이름을 올려보세요.

주요 변경 사항

이 변경사항은 마지막 io.js v3.x 릴리스인 v3.3.0에 관련된 것입니다. 0.12.x 이후의 전체 변경사항은 CHANGELOG에 정리된 v3.x, v2.x, v1.x 릴리스의 주요 변경사항 목록을 참고하길 바랍니다. 이번 릴리스의 호환성이 없는 주요 변경사항과 마찬가지로 v3.x의 일부 변경사항은 Node.js와 io.js 프로젝트가 완전히 합쳐지면서 필요한 변경사항으로 간주합니다.

  • child_process: ChildProcess.prototype.send()process.send()가 모든 플랫폼에서 비동기로 동작하므로 메시지를 보낸 후 호출될 선택적인 콜백 파라미터가 추가되었습니다. 예시: .send(message[, sendHandle][, callback]) (Ben Noordhuis) #2620.
  • node: "io.js" 코드를 "Node.js"로 변경했습니다. (cjihrig) #2367.
  • node-gyp: 이번 릴리스에는 갱신된 버전의 node-gyp가 포함되었습니다. 이번 node-gyp는 Node.js와 io.js의 모든 버전과 나이틀리와 릴리스 후보 빌드 모두에서 동작합니다. io.js v3와 Node.js v4부터 애드온을 빌드할 때 전체 소스를 다운로드 하지 않고 headers tarball만 다운로드 받습니다. (Rod Vagg) #2700
  • npm: 2.13.3에서 2.14.2 버전으로 업그레이드했습니다. (Kat Marchán) #2696.
  • timers: 0.12 구현을 포팅하고 일부 버그를 수정해서 timer의 성능이 개선되었습니다. (Jeremiah Senkpiel) #2540, (Julien Gilli) nodejs/node-v0.x-archive#8751 nodejs/node-v0.x-archive#8905
  • util: util.is*() 함수는 폐기 예정이므로 이번 릴리스부터는 문서에 폐기 경고를 표시하기 시작했습니다. 사용자는 npm 저장소에서 더 신뢰할 수 있는 대체제를 찾기를 권장합니다. (Sakthipriyan Vairamani) #2447.
  • v8: 4.4.63.30에서 4.5.103.30 버전으로 업그레이드했습니다. (Ali Ijaz Sheikh) #2632.

알려진 이슈

현재 알려진 이슈의 전체 목록은 https://github.com/nodejs/node/labels/confirmed-bug에서 확인할 수 있습니다.

  • 현재 버전의 V8에서는 계산된 객체의 축약 프로퍼티를 사용할 때 일부가 제대로 처리되지 않습니다. 예시로 [{ [prop]: val }][{}]로 평가됩니다. #2507
  • beforeExit 중에 참조 해제된 타이머에 대한 문제가 아직 남아 있습니다. #1264
  • REPL에 입력된 서로게이트 페어가 터미널을 얼릴 수 있습니다. #690
  • DNS 질의 진행 중에 호출된 dns.setServers()가 assertion 실패로 프로세스를 크래시시킬 수 있습니다. #894
  • url.resolve가 다른 두 호스트 사이를 해석하는 중 URL의 인증 정보 부분을 교환할 수 있습니다. #1435

Commits

  • [4f50d3fb90] - (SEMVER-MAJOR) This commit sets the value of process.release.name to "node". (cjihrig) #2367
  • [d3178d8b1b] - buffer: SlowBuffer only accept valid numeric values (Michaël Zasso) #2635
  • [0cb0f4a6e4] - build: fix v8_enable_handle_zapping override (Karl Skomski) #2731
  • [a7596d7efc] - build: remote commands on staging in single session (Rod Vagg) #2717
  • [be427e9efa] - build: make .msi install to "nodejs", not "node" (Rod Vagg) #2701
  • [5652ce0dbc] - build: fix .pkg creation tooling (Rod Vagg) #2687
  • [101db80111] - build: add --enable-asan with builtin leakcheck (Karl Skomski) #2376
  • [2c3939c9c0] - child_process: use stdio.fd even if it is 0 (Evan Lucas) #2727
  • [609db5a1dd] - child_process: check execFile and fork args (James M Snell) #2667
  • [d010568c23] - (SEMVER-MAJOR) child_process: add callback parameter to .send() (Ben Noordhuis) #2620
  • [c60857a81a] - cluster: allow shared reused dgram sockets (Fedor Indutny) #2548
  • [b2ecbb6191] - contextify: ignore getters during initialization (Fedor Indutny) #2091
  • [3711934095] - cpplint: make it possible to run outside git repo (Ben Noordhuis) #2710
  • [03f900ab25] - crypto: replace rwlocks with simple mutexes (Ben Noordhuis) #2723
  • [847459c29b] - (SEMVER-MAJOR) crypto: show exponent in decimal and hex (Chad Johnston) #2320
  • [e1c976184d] - deps: improve ArrayBuffer performance in v8 (Fedor Indutny) #2732
  • [cc0ab17a23] - deps: float node-gyp v3.0.0 (Rod Vagg) #2700
  • [b2c3c6d727] - deps: create .npmrc during npm tests (Kat Marchán) #2696
  • [babdbfdbd5] - deps: upgrade to npm 2.14.2 (Kat Marchán) #2696
  • [155783d876] - deps: backport 75e43a6 from v8 upstream (again) (saper) #2692
  • [5424d6fcf0] - deps: upgrade V8 to 4.5.103.30 (Ali Ijaz Sheikh) #2632
  • [c43172578e] - (SEMVER-MAJOR) deps: upgrade V8 to 4.5.103.24 (Ali Ijaz Sheikh) #2509
  • [714e96e8b9] - deps: backport 75e43a6 from v8 upstream (saper) #2636
  • [8637755cbf] - doc: add TSC meeting minutes 2015-09-02 (Rod Vagg) #2674
  • [d3d5b93214] - doc: update environment vars in manpage and --help (Roman Reiss) #2690
  • [29f586ac0a] - doc: update url doc to account for escaping (Jeremiah Senkpiel) #2605
  • [ba50cfebef] - doc: reorder collaborators by their usernames (Johan Bergström) #2322
  • [8a9a3bf798] - doc: update changelog for io.js v3.3.0 (Rod Vagg) #2653
  • [6cd0e2664b] - doc: update io.js reference (Ben Noordhuis) #2580
  • [f9539c19e8] - doc: update changelog for io.js v3.2.0 (Rod Vagg) #2512
  • [cded6e7993] - doc: fix CHANGELOG.md on master (Roman Reiss) #2513
  • [93e2830686] - (SEMVER-MINOR) doc: document deprecation of util.is* functions (Sakthipriyan Vairamani) #2447
  • [7038388558] - doc,test: enable recursive file watching in Windows (Sakthipriyan Vairamani) #2649
  • [f3696f64a1] - events,lib: don't require EE#listenerCount() (Jeremiah Senkpiel) #2661
  • [45a2046f5d] - (SEMVER-MAJOR) installer: fix installers for node.js rename (Frederic Hemberger) #2367
  • [7a999a1376] - (SEMVER-MAJOR) lib: add net.Socket#localFamily property (Ben Noordhuis) #956
  • [de88255b0f] - Revert "lib,src: add unix socket getsockname/getpeername" (Ben Noordhuis) #2584
  • [f337595441] - (SEMVER-MAJOR) lib,src: add unix socket getsockname/getpeername (Ben Noordhuis) #956
  • [3b602527d1] - (SEMVER-MAJOR) node: additional cleanup for node rename (cjihrig) #2367
  • [a69ab27ab4] - (SEMVER-MAJOR) node: rename from io.js to node (cjihrig) #2367
  • [9358eee9dd] - node-gyp: float 3.0.1, minor fix for download url (Rod Vagg) #2737
  • [d2d981252b] - src: s/ia32/x86 for process.release.libUrl for win (Rod Vagg) #2699
  • [eba3d3dccd] - src: use standard conform snprintf on windows (Karl Skomski) #2404
  • [cddbec231f] - src: fix buffer overflow for long exception lines (Karl Skomski) #2404
  • [dd3f3417c7] - src: re-enable fast math on arm (Michaël Zasso) #2592
  • [e137c1177c] - (SEMVER-MAJOR) src: enable vector ics on arm again (Ali Ijaz Sheikh) #2509
  • [7ce749d722] - src: replace usage of v8::Handle with v8::Local (Michaël Zasso) #2202
  • [b1a2d9509f] - src: enable v8 deprecation warnings and fix them (Ben Noordhuis) #2091
  • [808de0da03] - (SEMVER-MAJOR) src: apply debug force load fixups from 41e63fb (Ali Ijaz Sheikh) #2509
  • [5201cb0ff1] - src: fix memory leak in ExternString (Karl Skomski) #2402
  • [2308a27c0a] - src: only set v8 flags if argc > 1 (Evan Lucas) #2646
  • [384effed20] - test: fix use of common before required (Rod Vagg) #2685
  • [f146f686b7] - (SEMVER-MAJOR) test: fix test-repl-tab-complete.js for V8 4.5 (Ali Ijaz Sheikh) #2509
  • [fe4b309fd3] - test: refactor to eliminate flaky test (Rich Trott) #2609
  • [619721e6b8] - test: mark eval_messages as flaky (Alexis Campailla) #2648
  • [93ba585b66] - test: mark test-vm-syntax-error-stderr as flaky (João Reis) #2662
  • [367140bca0] - test: mark test-repl-persistent-history as flaky (João Reis) #2659
  • [f6b093343d] - timers: minor _unrefActive fixes and improvements (Jeremiah Senkpiel) #2540
  • [403d7ee7d1] - timers: don't mutate unref list while iterating it (Julien Gilli) #2540
  • [7a8c3e08c3] - timers: Avoid linear scan in _unrefActive. (Julien Gilli) #2540
  • [b630ebaf43] - win,msi: Upgrade from old upgrade code (João Reis) #2439

Windows 32-bit Installer: http://nodejs.org/dist/v4.0.0/node-v4.0.0-x86.msi

Windows 64-bit Installer: http://nodejs.org/dist/v4.0.0/node-v4.0.0-x64.msi

Mac OS X 64-bit Installer: http://nodejs.org/dist/v4.0.0/node-v4.0.0.pkg

Mac OS X 64-bit Binary: http://nodejs.org/dist/v4.0.0/node-v4.0.0-darwin-x64.tar.gz

Linux 32-bit Binary: http://nodejs.org/dist/v4.0.0/node-v4.0.0-linux-x86.tar.gz

Linux 64-bit Binary: http://nodejs.org/dist/v4.0.0/node-v4.0.0-linux-x64.tar.gz

SunOS 32-bit Binary: http://nodejs.org/dist/v4.0.0/node-v4.0.0-sunos-x86.tar.gz

SunOS 64-bit Binary: http://nodejs.org/dist/v4.0.0/node-v4.0.0-sunos-x64.tar.gz

ARMv6 32-bit Binary: http://nodejs.org/dist/v4.0.0/node-v4.0.0-linux-armv6l.tar.gz

ARMv7 32-bit Binary: http://nodejs.org/dist/v4.0.0/node-v4.0.0-linux-armv7l.tar.gz

ARMv8 64-bit Binary: http://nodejs.org/dist/v4.0.0/node-v4.0.0-linux-arm64.tar.gz

Source Code: http://nodejs.org/dist/v4.0.0/node-v4.0.0.tar.gz

Other release files: http://nodejs.org/dist/v4.0.0/

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

4893cadaa55fe88b214371b23257d7fae4b30661ef01d352e3f930ba9d402ee0 node-v4.0.0-darwin-x64.tar.gz
1f2b278d4708d7d956f2a17be139af26955114b92cb4340735a10bb5f0585c0a node-v4.0.0-darwin-x64.tar.xz
8812b88e81ee258f7f9446b548f6b364edcdd455f73f06589f14dd71dca415d0 node-v4.0.0-headers.tar.gz
776962bd95bf295e336fbf04f0d8764bb9f6236e0c699358b17e4e2a95ee3d6f node-v4.0.0-headers.tar.xz
0436f107e1d82c61c3ee4f916781466a49bece74bf4d4fb4bf4d53a57b81df85 node-v4.0.0-linux-arm64.tar.gz
7fdb978ddda803b188958b368db13b97dcaacfbf96d40c99d13ed385499d3fdd node-v4.0.0-linux-arm64.tar.xz
6f88e532bbf55cff36d4940898b80359761de3a274cc214fbb58cc176ec49ba2 node-v4.0.0-linux-armv6l.tar.gz
d7c1e9fefb360bde70c543d8981d2cce9a1c8444e847d19a89604756570d3075 node-v4.0.0-linux-armv6l.tar.xz
a788ed1b04de00344f4bbb8a278b317c69f9672f5fd03adb24f53d7c3d6fc8f6 node-v4.0.0-linux-armv7l.tar.gz
1ed96526e87c29b4d3b5618b5d2e3e65e1aef6a5e40f90ec3a3afd21047517cf node-v4.0.0-linux-armv7l.tar.xz
df8ada31840e3dc48c7fe7291c7eba70b2ce5a6b6d959ac01157b04731c8a88f node-v4.0.0-linux-x64.tar.gz
cc4eae3e4c2dd8b068d69e6d1d9849a863c51e3ec3d7f85cfb1e91e63912b66a node-v4.0.0-linux-x64.tar.xz
444b0c2e38602699103e4adb76c9f15b76c405f58b1308751cdc194041a39b93 node-v4.0.0-linux-x86.tar.gz
6fe4ab43eae74c1cb376169f4f161bddef04ff8a693a772875de651fafa4252b node-v4.0.0-linux-x86.tar.xz
387dd01caf168267749b0ddc7702b2fef7c95fbe1b2dab9a41ded02c11f16889 node-v4.0.0.pkg
f17ea8b1ffa6d63ba4eaa37708a365e5aefdb7de136f8b1a5751f2f258507026 node-v4.0.0-sunos-x64.tar.gz
69188f3568bbc9c071c70cf92551dd15e6fb79c9bd5d8b3da136ed65af4adea1 node-v4.0.0-sunos-x64.tar.xz
4537640f912b1db217351271e15d092d4654ecbe7cdb0169313988de5e453cd3 node-v4.0.0-sunos-x86.tar.gz
99ce4830b6b4f10dfca050296c001beb60e47d3eda455bc5b287b4ecc0773c04 node-v4.0.0-sunos-x86.tar.xz
e110e5a066f3a6fe565ede7dd66f3727384b9b5c5fbf46f8db723d726e2f5900 node-v4.0.0.tar.gz
2e3c5069933bead1022848009a68426a10689e67c4204707798fa319a6847bb5 node-v4.0.0.tar.xz
28dfb26fddb3ff56456bfc0ec186db27e6b84d9ce98752f34d48758f4af05fbe node-v4.0.0-x64.msi
ba67b46504afeedfd43d0ebb51844e2b427d64b631fe05d6fc35f7fc59d05307 node-v4.0.0-x86.msi
4c468e9a5e664f700f664fde42576260a7dd2bd5625ab824a713845e231f8275 win-x64/node.exe
c8189c310c774ce3cbe960bd9920e49f47db97a19f1256b9b5bfa1f9d83d4dca win-x64/node.lib
02814e5fdddbf77840e14042e98de3b50e0c0167aa1a8cccdf3222e643dd016f win-x86/node.exe
1bbe7009ea25e3ffe72cc7da92725146536be698cefd960e0e22269d02368c25 win-x86/node.lib
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQEcBAEBAgAGBQJV71yWAAoJEMJzeS99g1RdcXkH/3sBJ89TZdqvzGEB/FZ5x+5C
A4iAWfEa+RjSvJbtmo3noOUA7+OZPWVue6yEv3ZX4EEdk5ZIUEcf/4tYoW/D5cCm
SBlnCB5TXMp8ZafCni3OvR52gBPIB4EFPlqPDLLA6wloUYm7xhyJ5V+Z9DeTzvGl
CC6JDs0RkcqMT3799KBgrS/ud0G5BXCC1imnHxGUCgYc1BAcExHThbLs1zFyMuXg
SSQJVJGoxR7LWfvnGFPnEbliSCuUfjGIT3DHAgovJgjQirj/vLssLBYyxMhCVBEa
eR2+UlptmdbsIAsPvyNp2Tr466KlIawD99haYOfgmVnA1l1PWbAjJMdQZJPk+Mg=
=tBAw
-----END PGP SIGNATURE-----

Node.js 주간 뉴스 2015년 9월 4일

Node.js 뉴스 — 9월 4일

Node.js v4.0.0이 배포되었습니다.

Node.js v4.0.0

이번 주는 기념적인 한 주입니다. 마침내 Node.js v4.0.0(안정 버전)을 배포했습니다. 모든 Node/io.js 기여자들에게 감사드립니다. 이번 Node.js는 역대 가장 안정적인 버전입니다. 우리는 모든 패치를 리뷰했고 통합 테스트의 상태는 더욱 안정화 되었습니다. 이면에는 새로운 Node의 더 적극적인 기여자들이 있었습니다.

모든 뉴스, 변경점, 기능을 설명하고 싶지만, 여기에 적기에는 공간과 시간이 부족합니다. Node 커뮤니티에서 더 자세히 다룬 블로그 글이나 뉴스를 기고해 주셨습니다.

Node.js v4.0.0 주요 변경 사항

이 변경사항은 마지막 io.js v3.x 릴리스인 v3.3.0에 관련된 것입니다. 0.12.x 이후의 전체 변경사항은 CHANGELOG에 정리된 v3.x, v2.x, v1.x 릴리스의 주요 변경사항 목록을 참고하길 바랍니다. 이번 릴리스의 호환성이 없는 주요 변경사항과 마찬가지로 v3.x의 일부 변경사항은 Node.js와 io.js 프로젝트가 완전히 합쳐지면서 필요한 변경사항으로 간주합니다.

  • child_process: ChildProcess.prototype.send()process.send()는 모든 플랫폼에 걸쳐 비동기적으로 동작합니다. 선택적 콜백 파라미터는 메시지가 전송되었을 때 적용된다고 소개했었습니다(.send(message[, sendHandle][, callback])). (Ben Noordhuis) #2620.
  • node: "io.js" 코드를 "Node.js"로 다시 명명했습니다. (cjihrig) #2367.
  • node-gyp: 이번 릴리스 묶음에 node-gyp의 버전이 업데이트되었습니다. 이는 모든 버전의 Node.js와 io.js, 나이틀리와 릴리스 후보 빌드 등에서도 작동합니다. io.js v3와 Node.js v4부터 애드온을 구성하는 때에는 전체 소스보다 tarball 내려받기만 가능할 것입니다. (Rod Vagg) #2700
  • npm: 2.13.3에서 2.14.2로 보안 업데이트를 포함한 버전 업그레이드를 했습니다. 자세한 사항은 https://github.com/npm/npm/releases/tag/v2.14.2을 확인하세요, (Kat Marchán) #2696.
  • timers: 0.12 포팅 구현으로부터 타이머의 성능 향상이 있었고, 몇몇 작은 수정사항도 있습니다. (Jeremiah Senkpiel) #2540, (Julien Gilli) nodejs/node-v0.x-archive#8751 nodejs/node-v0.x-archive#8905
  • util: util.is*() 함수는 앞으로 폐기될 예정이고, 이번 릴리스에 폐기 예정임을 나타내는 경고 문구를 넣기 시작했습니다. 사용자들은 npm 저장소에서 더 적절한 대안을 찾기를 권장합니다. (Sakthipriyan Vairamani) #2447.
  • v8: 4.4.63.30에서 4.5.103.30로 버전 업그레이드를 했습니다. (Ali Ijaz Sheikh) #2632.

알려진 이슈

현재 알려진 이슈의 전체 목록은 https://github.com/nodejs/node/labels/confirmed-bug에서 확인할 수 있습니다.

  • 계산된 객체를 사용할 때 종종 shorthand 속성이 현재 버전의 V8에서는 제대로 다뤄지지 않고 있습니다. 예를 들어 [{ [prop]: val }][{}]으로 인식되는 문제 등입니다. #2507
  • beforeExit 중에 참조 해제된 타이머에 대한 문제가 아직 남아 있습니다. #1264
  • REPL에 입력된 서로게이트 페어가 터미널을 멈출 수 있습니다. #690
  • DNS 질의 진행 중에 호출된 dns.setServers()가 실패한 단언문으로 프로세스의 충돌을 일으킬 수 있습니다. #894
  • url.resolve가 다른 두 호스트 사이를 해석하는 중 URL의 인증 정보 부분을 교환할 수 있습니다. #1435

Node.js v4.0.0(안정 버전) 항목이 게재되었습니다.

  • 우리는 Node v4.0.0(한국어) 항목을 게재했습니다. 이 항목은 Node.js v4.0.0에 관한 더욱 세부적인 사항들을 포함하고 있습니다.

우리는 현재 Node.js v4.0.0과는 함께 작동하지 않는 모듈 리스트를 생성했습니다.

  • v4.0.0과는 함께 작동하지 않는 모듈을 나열했습니다. 당신의 모듈과 Node.js v4.0.0을 함께 사용하면서 문제가 생긴다면 issue에 그 정보를 제공해주세요.

커뮤니티 업데이트

  • LTS 빌드를 할 V8 메인테이너를 아직 구하고 있습니다! GitHub에서 요구사항을 확인하세요.
  • Node 기술 결정 위원회(TSC) 멤버인 Jeremiah Senkpiel가 Node.js v4.0.0를 심도있게 소개했습니다. 이 뉴스를 확인하세요.
  • Daniel Khan이 Node.js v4.0 성능, 특징 LTS에 관해 기고했습니다. 이 글은 4.0으로 옮기는데 참고가 될 것입니다.

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

다가오는 이벤트

  • Node.js Italian Conference 입장권을 판매하고 있습니다. 10월 10일 이탈리아 Brescia의 Desenzano에서 열립니다.
  • EmpireNode, 10월 23일 미국 뉴욕에서 열립니다.
  • JSConf CO가 10월 16일부터 17일까지 Medellin의 Ruta N에서 열립니다.
  • NodeFest가 11월 7일 일본 도쿄에서 열립니다.
  • Nodevember가 11월 14일부터 15일까지 미국의 Tennessee, Nashville에서 열립니다.
  • NodeConf Barcelona, 11월 21일 스페인 바로셀로나에서 열립니다.

Node.js와 io.js의 다가오는 이벤트를 계획하고 있나요? Evangelism 팀 저장소이슈 페이지의 주간 업데이트 이슈를 통해 알릴 수 있습니다.

Node.js 재단의 이사회 선출

새 재단은 Node.js 플랫폼의 성장을 가속하는데 헌신하고 마케팅 의장과 커뮤니티 관리자도 추가했다.

샌프란시스코, 2015년 9월 4일 - Node.js 플랫폼의 개발을 개선하려고 커뮤니티와 기업이 함께 만든 Node.js 재단에서 오늘 이사회에 선출된 핵심 임원을 발표했다. 전 Node.js 커뮤니티를 대표하는 이사회는 Node.js와 다른 관련 모듈의 개발을 널리 보급하고 가속할 수 있게 하는 재단의 목표를 실행하도록 돕는다.

IP 관리, 마케팅, 조직에서 주체하는 이벤트를 감독하는 역할뿐 아니라 사업적 방향과 기술적 방향을 정하는 Node.js 재단 이사회에는 다음의 사람들이 포함되어 있다.

  • Danese Cooper, 이사회 의장, 기술 스탭으로 뛰어난 사람으로 PayPal에서 오픈소스를 한다.
  • Scott Hammond, 이사회 부의장, Joyent의 CEO
  • Brian McCallister, 이사회의 실버레벨 감독, Groupon 플랫폼의 CTO
  • Todd Moore, 이사회 회원, IBM 오픈 테크놀로지의 부사장
  • Steve Newcomb, 이사회 회원, Famous Industries의 창업자이자 CEO
  • Gianugo Rabellino, 이사회 간사, Microsoft 오픈소스 프로그램의 시니어 감독
  • Charlie Robbins, 이사회 골드레벨 감독, GoDaddy.com의 엔지니어링 감독
  • Imad Sousou, 이사회 회원, Intel의 부사장이자 관리자
  • Rod Vagg, 기술적 방향을 정하는 위원회 의장, NodeSource의 CNO(chief node officer)

여기에 이사회를 공인하기 위해 Joyent의 제품/마케팅 부사장인 Bill Fine이 마케팅 의장으로 선출되었다. Linux 재단도 새로운 조직을 지원하고 안내하는 커뮤니티 관리자로 Mikeal Rogers를 고용했다.

Node.js 재단 이사회 의장인 Danese Cooper는 "새로운 이사회 회원들은 Node.js 커뮤니티의 다양성과 이 회사들이 전반적으로 노력을 지원해야 한다는 약속을 의미한다."고 얘기했다. "Node.js는 개발자 생태계에 엄청나게 중요하고 갈수록 커머스의 흐름을 바꾸는 기기에서 애플리케이션을 만드는 것과 관련이 깊어지고 있다. 이사회는 커뮤니티의 지지를 받고 투명한 오픈 거버넌스 모델의 청사진을 사용해서 Node.js 플랫폼을 지원하고 만드는 작업을 할 것이다."

6월 초 Node.js와 io.js 개발자 커뮤니티는 중립적인 포럼인 Node.js 재단에서 작업을 계속할 수 있도록 서로의 코드 기반을 합칠 것이라고 발표했다. 새로운 리더들은 합쳐진 커뮤니티의 계속된 성장과 현신을 지원하고 플랫폼의 혁신과 성장을 가속할 수 있도록 협력적인 환경을 증진할 것이다.

Node.js 재단에 대하여

Node.js 재단은 협력적인 오픈 소스 프로젝트로 Node.js 플랫폼과 다른 관련 모듈을 만들고 지원하는데 몰두한다. Node.js는 200개 이상의 국가의 수많은 조직에서 사용되고 있고 매달 2백만 이상의 다운로드를 기록하고 있다. Node.js는 엔터프라이즈 애플리케이션, 로봇, API 엔진, 클라우드 스택, 모바일 웹사이트의 모든 것을 운영하는 고성능, 저지연 애플리케이션을 위한 런타임이다.

재단은 플래티넘 회원사인 Famous, IBM, Intel, Joyent, Microsoft, PayPal과 골드 회원사인 GoDaddy, NodeSource, Modulus/Progress Software, 실버 회원사인 Apigee, Codefresh, DigitalOcean, Fidelity, Groupon, nearForm, npm, Sauce Labs, SAP, StrongLoop, YLD를 포함한 다양한 회사로 구성되었다! 참여하려면 http://nodejs.org를 방문해라.

Node.js 재단은 Linux 재단 산하의 협업 프로젝트(Collaborative Project)이다. Linux 재단 협업 프로젝트는 협업 개발의 힘을 이용해 산업과 생태계 전반에 걸친 혁신을 돕기 위한 소프트웨어 프로젝트로 독립적으로 투자를 받는다. www.linuxfoundation.org

io.js와 Node.js 주간 뉴스 2015년 8월 28일

io.js, Node.js 뉴스 — 8월 28일

io.js v3.2.0/v3.3.0, Node v4 에반젤리즘, 새로운 nodejs.org, nodefest/empirenode 이벤트.

io.js 3.2, 3.3 발표

이번 주에 다음 두 가지 버전의 io.js 릴리스를 발표했습니다: v3.2.0, v3.3.0, 이전 릴리스부터 전체 변경사항은 GitHub에서 확인 가능합니다.

io.js v3.3.0 주요 변경사항

  • build: --link-module 옵션을 configure 항목에 추가하여 추가적인 자바스크립트 모듈을 빌드된 바이너리로 번들화 합니다. (Bradley Meck) #2497
  • docs: joyent/node 저장소로부터 주요 문서 업데이트 내역을 통합하였습니다. (James M Snell) #2378
  • http_parser: http.Server가 net.Socket에서 초기 데이터를 모두 소비하고 JavaScript에 진입하지 않고 직접 파싱하여 큰 성능 향상이 있습니다. (Fedor Indutny) #2355
  • libuv: 1.7.3으로 버전 업그레이드 했습니다. 자세한 내용은 변경사항을 참고하세요. (Saúl Ibarra Corretgé) #2310
  • V8: 4.4.63.30으로 버전 업그레이드 했습니다. (Michaël Zasso) #2482

io.js v3.2.0 주요 변경사항

  • events: EventEmitter#listenerCount(event)를 추가하여, 문서에서는 이미 폐기 예정인 EventEmitter.listenerCount(emitter, event)를 대체하였습니다. (Sakthipriyan Vairamani) #2349
  • module: 현재 작업 중인 디렉터리가 존재하지 않을 때 발생하는 미리 로드된 모듈과 연관된 오류를 해결하였습니다. (Bradley Meck) #2353
  • node: V8 플래그를 전달하지 않을 때 시작 시간이 약 5% 빠르게 향상되었습니다. (Evan Lucas) #2483
  • repl: 탭 자동완성 기능이 배열과 함께 더 잘 작동합니다. (James M Snell) #2409
  • string_bytes: UCS2 인코딩을 처리할 때 발생하는 정렬되지 않는 쓰기 오류를 해결하였습니다. (Fedor Indutny) #2480
  • tls: 새로운 ——tls—cipher—list 플래그를 추가하여 기본 암호화 목록을 대체 할 수 있도록 하였습니다. (James M Snell) #2412

알려진 이슈

현재 알려진 이슈의 전체 목록은 https://github.com/nodejs/io.js/labels/confirmed-bug에서 확인할 수 있습니다.

  • 현재 버전의 V8에서는 계산된 객체의 축약 프로퍼티를 사용할 때 일부가 제대로 처리되지 않습니다. 예시로 [{ [prop]: val }][{}]로 평가됩니다. #2507
  • beforeExit 중에 참조 해제된 타이머에 대한 문제가 아직 남아 있습니다. #1264
  • REPL에 입력된 서로게이트 페어가 터미널을 얼릴 수 있습니다. #690
  • process.send()가 문서에 쓰인 것처럼 동기적이지 않으며, 이 문제는 1.0.2에서 발생했습니다. #760
  • DNS 질의 진행 중에 호출된 dns.setServers()가 단언문 실패로 프로세스를 크래시시킬 수 있습니다. #894
  • url.resolve가 다른 두 호스트 사이를 해석하는 중 URL의 인증 정보 부분을 교환할 수 있습니다. #1435

Node.js v4 에반젤리스트가 필요합니다

  • Node.js v4는 곧 출시됩니다. 우리는 Node.js v4를 위한 에반젤리스트가 필요합니다. 당신이 에반젤리즘에 관심이 있다면, 이 이슈에 당신의 정보를 알려주세요.
  • 현재 회원:

새로운 nodejs.org가 오늘 출시 되었습니다

커뮤니티 업데이트

  • 우리의 LTS 빌드를 해줄 V8 메인테이너가 아직 필요합니다! 당신이 요구사항에 충족 되는지 GitHub에서 확인하세요.
  • npm에서 테스트와 배포에 관한 팁에 대한 블로그 글을 올렸습니다.

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

다가오는 이벤트

  • NodeConf EU 입장권을 판매하고 있습니다. 9월 6일부터 9일까지 아일랜드 워터포드에서 열립니다.
  • nodeday 입장권을 판매하고 있습니다. 9월 10일 인도 Karnataka에서 열립니다.
  • Node.js Italian Conference 입장권을 판매하고 있습니다. 10월 10일 이탈리아 Brescia의 Desenzano에서 열립니다.
  • EmpireNode가 10월 23일 미국 뉴욕에서 열립니다.
  • JSConf CO가 10월 16일부터 17일까지 콜롬비아 Medellin의 Ruta N에서 열립니다.
  • NodeFest가 11월 7일 일본 도쿄에서 열립니다.
  • Nodevember가 11월 14일부터 15일까지 미국의 Tennessee, Nashville에서 열립니다.

Node.js와 io.js의 다가오는 이벤트를 계획하고 있나요? Evangelism 팀 저장소이슈 페이지의 주간 업데이트 이슈를 통해 알릴 수 있습니다.