Node.js v6.2.1 發布

jopen 9年前發布 | 64K 次閱讀 Node.js JavaScript

看到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.
    </li>
  • 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
  • </ul>

    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)

     

     本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
     轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
     本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!