Node.js v6.2.1 发布

摘要: Node.js是一个后端的Javascript运行环境(支持的系统包括Linux、Windows和Mac等)。

看到Node.js这个名字,初学者可能会误以为这是一个Javascript应用,事实上,Node.js采用C++语言编写而成,是一个Javascript的运行环境。为什么采用C++语言呢?据Node.js创始人Ryan Dahl回忆,他最初希望采用Ruby来写Node.js,但是后来发现Ruby虚拟机的性能不能满足他的要求,后来他尝试采用V8引擎,所以选择了C++语言。既然不是Javascript应用,为何叫.js呢?因为Node.js是一个Javascript的运行环境。Node.js是一个后端的Javascript运行环境(支持的系统包括Linux、Windows和Mac等),这意味着你可以编写系统级或者服务器端的Javascript代码,交给Node.js来解释执行,Node.js采用了Google Chrome浏览器的V8引擎,性能很好,同时还提供了很多系统级的API,如文件操作、网络编程等。浏览器端的Javascript代码在运行时会受到各种安全性的限制,对客户系统的操作有限。相比之下,Node.js则是一个全面的后台运行时,为Javascript提供了其他语言能够实现的许多功能。

更新日志

Notable changes

  • buffer: Ignore negative lengths in calls to Buffer() and Buffer.allocUnsafe(). This fixes a possible security concern (reported by Feross Aboukhadijeh) where user input is passed unchecked to the Buffer constructor or allocUnsafe() as it can expose parts of the memory slab used by other Buffers in the application. Note that negative lengths are not supported by the Buffer API and user input to the constructor should always be sanitised and type-checked. (Anna Henningsen) #7051
  • npm: Upgrade npm to 3.9.3 (Kat Marchán) #7030
    • npm/npm@42d71be npm/npm#12685 When using npm ls <pkg> without a semver specifier, npm ls would skip any packages in your tree that matched by name, but had a prerelease version in their package.json. (@zkat)
    • npm/npm@f04e05 npm/npm#10013 read-package-tree@5.1.4: Fixes an issue where npm install would fail if yournode_modules was symlinked. (@iarna)
    • b894413 #12372 Changing a nested dependency in an npm-shrinkwrap.json and then running npm install would not get up the updated package. This corrects that. (@misterbyrne)
    • This release includes npm@3.9.0, which is the result of our Windows testing push -- the test suite (should) pass on Windows now. We're working on getting AppVeyor to a place where we can just rely on it like Travis.
  • tty: Default to blocking mode for stdio on OS X. A bug fix in libuv 1.9.0, introduced in Node.js v6.0.0, exposed problems with Node's use of non-blocking stdio, particularly on OS X which has a small output buffer. This change should fix CLI applications that have been having problems with output since Node.js v6.0.0 on OS X. The core team is continuing to address stdio concerns that exist across supported platforms and progress can be tracked athttps://github.com/nodejs/node/issues/6980. (Jeremiah Senkpiel) #6895
  • V8: Upgrade to V8 5.0.71.52. This includes a fix that addresses problems experienced by users of node-inspector since Node.js v6.0.0, see https://github.com/node-inspector/node-inspector/issues/864 for details. (Michaël Zasso) #6928

Commits

  • [99c05a1af0] - async_wrap: pass uid to JS as double (Trevor Norris) #7096
  • [371be9cd80] - buffer: ignore negative allocation lengths (Anna Henningsen) #7051
  • [1bcc226edf] - buffer: fix dataview-set benchmark (Ingvar Stepanyan) #6922
  • [98270c6d15] - buffer: fix single digit hex string handling (Justin Sprigg) #6775
  • [1fece2f8c0] - build: re-add --ninja option to configure (Ehsan Akhgari) #6780
  • [e7b03be191] - build: update build-addons when node-gyp changes (Lance Ball) #6787
  • [55c0b3e0e5] - build: unbreak configure with python 2.6 (Ben Noordhuis) #6874
  • [0503681348] - child_process: measure buffer length in bytes (Rich Trott) #6764
  • [27d0eb054c] - child_process: emit IPC messages on next tick (cjihrig) #6909
  • [b28468e0a7] - child_process: allow buffer encoding in spawnSync (cjihrig) #6939
  • [6a62bb0070] - cluster: expose result of send() (cjihrig) #6998
  • [2132d349b5] - cluster: rewrite debug ports consistently (cjihrig) #7050
  • [0bd8f4c4d8] - cluster: reset handle index on close (Santiago Gimeno) #6981
  • [93e150f1d6] - cluster: guard against undefined message handlers (cjihrig) #6902
  • [28b73428e1] - cluster: close ownerless handles on disconnect() (cjihrig) #6909
  • [2184e772d2] - debugger: propagate --debug-port= to debuggee (Ben Noordhuis) #3470
  • [ded02b909f] - deps: upgrade npm to 3.9.3 (Kat Marchán) #7030
  • [bfd7b24c63] - deps: upgrade to V8 5.0.71.52 (Michaël Zasso) #6928
  • [8e6f8b2fb5] - dgram: copy the list in send (Matteo Collina) #6804
  • [588c76cd5c] - dgram,test: add addMembership/dropMembership tests (Rich Trott) #6753
  • [e93198e86d] - doc: edit pull request template (Rich Trott) #7058
  • [1c1256718e] - doc: addresses nits in string_decoder, url, util (Jeremiah Senkpiel) #7026
  • [14b3ba35fc] - doc: improve debugger doc prose (Rich Trott) #7007
  • [3c2c4c8d5c] - doc: update labels and CI info in onboarding doc (Rich Trott) #7006
  • [b5e93c97f8] - doc: fix typos in WORKING_GROUPS.md (Joao Andrade) #7032
  • [f15448681a] - doc: buffers are not sent over IPC with a socket (Tim Kuijsten) #6951
  • [3518ab93b1] - doc: minor improvements to util.md (Sakthipriyan Vairamani) #6932
  • [216a3cdcce] - doc: add added: information for vm (Anna Henningsen) #7011
  • [b30d07845d] - doc: add added: information for console (Adrian Estrada) #6995
  • [72d4692e94] - doc: add info on what's used for fswatch on AIX (Michael Dawson) #6837
  • [7c38327dee] - doc: update process.hrtime docs to include optional parameter (doug.wade) #6585
  • [0f17a28a00] - doc: improve server.listen() documentation prose (Rich Trott) #7000
  • [3ae9f1469d] - doc: improve server.address() doc text (Rich Trott) #7001
  • [ae1bf83b6c] - doc: clarified use of sexual language in the CoC (Bryan Hughes) #6973
  • [3909209e7a] - doc: general improvements to tty.md (James M Snell) #6931
  • [bc2efe22f6] - doc: add added: data for cli.md (Rich Trott) #6960
  • [856638d0b7] - doc: add added: information for child_process (Anna Henningsen) #6927
  • [a5e3eddfbf] - doc: general improvements to url.md copy (James M Snell) #6904
  • [b7ca0a2653] - doc: add yorkie to collaborators (Yazhong Liu) #7004
  • [a9b90a6952] - doc: general improvements to tls.md copy (James M Snell) #6933
  • [5990a7fe91] - doc: fix broken references (Anna Henningsen) #6941
  • [98e497bdad] - doc: fix broken references in changelogs (Anna Henningsen) #6942
  • [f3ae42168a] - doc: general improvements to string_decoder.md copy (James M Snell) #6940
  • [8f623a3c75] - doc: add firedfox to collaborators (Daniel Wang) #6961
  • [145a6b946a] - doc: add bmeck to collaborators (Bradley Meck) #6962
  • [95f8d59e0d] - doc: remove "\" within backticks (Rod Machen) #6952
  • [ee1865dd2f] - doc: clarify buffer class (Steve Mao) #6914
  • [db3d2a7b96] - doc: fix typos in timers topic to aid readability (Kevin Donahue) #6916
  • [0f0003fc54] - doc: add jhamhader to collaborators (Yuval Brik) #6946
  • [f6558ec537] - doc: add @othiym23 to list of collaborators (Forrest L Norvell) #6945
  • [9fa1b19eda] - doc: reference list of language-specific globals (Anna Henningsen) #6900
  • [15f6224418] - doc: make doc-only -> fallback to user binary (Robert Jefe Lindstaedt) #6906
  • [a320a019f1] - doc: general improvements to util.md (James M Snell) #6897
  • [527a8a4844] - doc: add added: information for zlib (Anna Henningsen) #6840
  • [cb8de85100] - doc: make the api doc print-friendly (Marian) #6748
  • [f1a8c3164a] - doc: add bengl to collaborators (Bryan English) #6921
  • [565d4ca12e] - doc: Update DCO to v1.1 (William Kapke) #6353
  • [eff73c78c5] - doc: general improvements to v8.md copy (James M Snell) #6829
  • [e5a7cec828] - doc: fix typo in Error.captureStackTrace (Mohsen) #6811
  • [5afb91bef7] - doc: make param names consistent & fix doc link (Sakthipriyan Vairamani) #6832
  • [e1fb4805cf] - doc: add added: info for process.cpuUsage (Anna Henningsen) #6863
  • [8a0329f110] - doc: fix mkdtemp example by removing hyphen (Sakthipriyan Vairamani) #6834
  • [45ca7cfcdd] - doc: reduce GitHub template verbosity (Rich Trott) #6801
  • [12a3d0120b] - doc: improve vm.md copy (James M Snell) #6827
  • [0ae512a3cf] - doc: Add resolveNaptr and naptr rrtype docs (Doug Wade) #6586
  • [8309dbaf9c] - doc: fix name to match git log (Robert Jefe Lindstaedt) #6880
  • [b52d838f0d] - doc: add note for fs.watch virtualized env (Robert Jefe Lindstaedt) #6809
  • [08f1361cb6] - doc: add added: information for punycode (Daniel Wang) #6805
  • [253db33527] - doc: add added: info for dgram.*Membership() (Rich Trott) #6753
  • [5cad04b063] - doc: clarify fs.mkdtemp prefix argument (James M Snell) #6800
  • [5a1e823fa5] - doc: add added: information for fs (Anna Henningsen) #6717
  • [bf4724a7bb] - doc: remove link to Sign in crypto.md (Kirill Fomichev) #6812
  • [ba3089970d] - doc: add added: in for tty (Rich Trott) #6783
  • [758fadfa0d] - doc: update openssl.org hash links (silverwind) #6817
  • [b2c7d466d4] - doc,test: add How to write a Node.js test guide (Santiago Gimeno) #6984
  • [c4329aa226] - fs: move mkdtemp* functions near static functions (Sakthipriyan Vairamani) #6828
  • [c068880757] - fs: mkdtemp shouldn't crash if no callback passed (Sakthipriyan Vairamani) #6828
  • [2ab36093e6] - http: use localAddress instead of path (Dirceu Pereira Tiegs) #5190
  • [6f0d8b3a1b] - installer: don't install node_internals.h (Ben Noordhuis) #6913
  • [178f3080f8] - module: don't cache uninitialized builtins (Anna Henningsen) #6907
  • [1908b7f00a] - path: fix basename() regressions (Brian White) #6590
  • [10671406ac] - process: internal/process/stdio.js cleanup / modernization (James M Snell) #6766
  • [64445674f0] - src: add include guards to internal headers (Ben Noordhuis) #6948
  • [4333fda46d] - src: no abort from getter if object isn't wrapped (Trevor Norris) #6184
  • [4da3e1e461] - src: always clear wrap before persistent Reset() (Trevor Norris) #6184
  • [7e5775704e] - src: inherit first from AsyncWrap (Trevor Norris) #6184
  • [0841496992] - src: fix without-intl build (Anna Henningsen) #6820
  • [0d08fc415f] - stream_base: always use Base template class (Trevor Norris) #6184
  • [756ec80d50] - string_bytes: Make base64 encode/decode reusable (Eugene Ostroukhov) #6910
  • [79ad172589] - string_decoder: rewrite implementation (Brian White) #6777
  • [8b720c4582] - test: remove non-incremental common.PORT changes (Rich Trott) #7055
  • [6439fbfac0] - test: test TTY problems by fakeing a TTY using openpty (Jeremiah Senkpiel) #6895
  • [81a9f96a29] - test: make test-child-process-fork-net more robust (Rich Trott) #7033
  • [6cf0f622ef] - test: fix spurious EADDRINUSE in test-https-strict (Rich Trott) #7024
  • [dea120f247] - test: update weak module for gc tests (Rich Trott) #7014
  • [3bfbe8a62a] - test: remove common.PORT from gc tests (Rich Trott) #7013
  • [b23cd48ca0] - test: fix test-debug-port-numbers on OS X (Santiago Gimeno) #7046
  • [0a258e5369] - test: remove modifcation to common.PORT (Rich Trott) #6990
  • [8c289df175] - test: use strictEqual consistently in agent test (Ben Noordhuis) #6654
  • [e4ac808c4d] - test: work around debugger not killing inferior (Ben Noordhuis) #7037
  • [b5949f8bbc] - test: verify cluster worker exit (cjihrig) #6993
  • [6f3f5af396] - test: add regression test for Proxy as vm context (Michaël Zasso) #6967
  • [38a3323cc9] - test: improve debug-break-on-uncaught reliability (Rich Trott) #6793
  • [83e6d53817] - test: test cluster worker disconnection on error (Santiago Gimeno) #6909
  • [4cc6a18448] - test: verify IPC messages are emitted on next tick (Santiago Gimeno) #6909
  • [69e119dbfb] - test: refactor spawnSync() cwd test (cjihrig) #6939
  • [32cc43a1bd] - test: fix component printing on windows (Ben Noordhuis) #6915
  • [c81b6f8d0d] - test: refactor to eliminate defineGetter (Rich Trott) #6774
  • [1965e445ec] - test: refactor test-tls-reuse-host-from-socket (Rich Trott) #6756
  • [2cf3a53ce1] - test: fix test-debug-port-cluster flakiness (Rich Trott) #6769
  • [5374afdef8] - test: add logging for test-debug-port-cluster (Rich Trott) #6769
  • [bae7adb6fa] - test: fix flaky test-stdout-close-catch (Santiago Gimeno) #6808
  • [528ca04e8d] - test: add more path.basename() tests (Brian White) #6590
  • [1469b98fa1] - test: remove duplicate path tests (Brian White) #6590
  • [81e765f521] - test: robust handling of env for npm-test-install (Myles Borins) #6797
  • [2895860138] - test: cluster-setup-master online workers check (Devon Rifkin) #6535
  • [7c932c2d49] - test: added tests for https-agent-getname (suryagh) #6762
  • [827b3eb503] - test: add --repeat option to tools/test.py (Michael Dawson) #6700
  • [ea287fc1a6] - test,win: skip addons/load-long-path on WOW64 (Alexis Campailla) #6675
  • [21e31352d7] - tls: catch certCbDone exceptions (Fedor Indutny) #6887
  • [257e54b9c0] - tls,https: respect address family when connecting (Ben Noordhuis) #6654
  • [5779ed2a4a] - tls_wrap: do not abort on new TLSWrap() (Trevor Norris) #6184
  • [108523e06e] - tools: make sure doctool anchors respect includes (Anna Henningsen) #6943
  • [bf3afce668] - tools: restore change of signatures to opts hashes (Jesse McCarthy) #6690
  • [ceee56b28b] - tools: disallow deprecated define getter/setter (Rich Trott) #6774
  • [614907e516] - tools: print stderr on bad test.py vmArch check (Jeremiah Senkpiel) #6786
  • [4d3a7594a5] - tty: use blocking mode on OS X (Jeremiah Senkpiel) #6895
  • [36ed4a2d7a] - udp: use libuv API to get file descriptor (Saúl Ibarra Corretgé) #6908
  • [f3e3eebec8] - unix,stream: fix getting the correct fd for a handle (Saúl Ibarra Corretgé) #6753
  • [d270706881] - util: pretty-print SIMD types (Ben Noordhuis) #6917
  • [55b736a63b] - vm: don't abort process when stack space runs out (Anna Henningsen) #6907
  • [cb2ef35b76] - win,build: add creation of zip and 7z package (Bartosz Sosnowski) #5995
  • [1e26b82ce4] - zlib: release callback and buffer after processing (Matt Lavin) #6955
  • [64415564de] - zlib: remove _closed in source (Anna Henningsen) #6574

下载

Windows Installer (.msi) 32-bit 64-bit
Windows Binary (.exe) 32-bit 64-bit
Mac OS X Installer (.pkg) 64-bit
Mac OS X Binaries (.tar.gz) 64-bit
Linux Binaries (.tar.xz) 32-bit 64-bit
Source Code node-v6.2.1.tar.gz

其他平台

ARM Binaries (.tar.xz) ARMv6 ARMv7 ARMv8
SunOS Binaries (.tar.xz) 32-bit 64-bit
Docker Image Official Node.js Docker Image
Linux on Power Systems 64-bit le 64-bit be
Linux on System z Download (Unofficial, provided by IBM)
AIX on Power Systems Download (Unofficial, provided by IBM)

 

扩展阅读

2014年国人开发的最热门的开源软件TOP 100
Node.js与io.js那些事儿
JavaScript宝座:七大框架论剑
8 本最好的免费在线Node.js开发电子书籍
GitHub上整理的一些工具

为您推荐

Vue.js 0.11.6 发布,JavaScript 库
Node.js v6.2.1 发布
2016年2月最新开发资源
FEX 技术周刊 - 2015/11/23
FEX 技术周刊 - 2015/10/19

更多

Node.js
JavaScript
开源软件