Node.js v6.2.2 发布

jopen 8年前
   <p style="text-align: center;"><img alt="" src="https://simg.open-open.com/show/d9d39e249fe45a3a9d7fbe135ba0644e.png" /></p>    <p>看到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提供了其他语言能够实现的许多功能。</p>    <h2>更新日志</h2>    <h3>显着的变化</h3>    <ul>     <li><strong>http</strong>:      <ul>       <li><code>req.read(0)</code> could cause incoming connections to stall and time out under certain conditions. (Fedor Indutny) <a href="/misc/goto?guid=4958991506970417163">#7211</a></li>       <li>When freeing the socket to be reused in keep-alive Agent wait for both prefinish and end events. Otherwise the next request may be written before the previous one has finished sending the body, leading to a parser errors. (Fedor Indutny) <a href="/misc/goto?guid=4958991507066480250">#7149</a></li>      </ul> </li>     <li><strong>npm</strong>: upgrade npm to 3.9.5 (Kat Marchán) <a href="/misc/goto?guid=4958991507161504307">#7139</a></li>    </ul>    <h3>提交</h3>    <ul>     <li>[<a href="/misc/goto?guid=4958991507259582299"><code>d71ede8113</code></a>] - <strong>benchmark</strong>: don't convert arguments to numbers (Brian White) <a href="/misc/goto?guid=4958991507350653027">#6570</a></li>     <li>[<a href="/misc/goto?guid=4958991507440736424"><code>32f76983e2</code></a>] - <strong>benchmark</strong>: increase http token check iterations (Brian White) <a href="/misc/goto?guid=4958991507350653027">#6570</a></li>     <li>[<a href="/misc/goto?guid=4958991507543699791"><code>23a495a9a9</code></a>] - <strong>benchmark</strong>: add benchmark for url.format() (Rich Trott) <a href="/misc/goto?guid=4958991507633621861">#7250</a></li>     <li>[<a href="/misc/goto?guid=4958991507736093212"><code>27ed7fc56c</code></a>] - <strong>benchmark</strong>: fix child-process-exec-stdout on win (Bartosz Sosnowski) <a href="/misc/goto?guid=4958991507826202121">#7178</a></li>     <li>[<a href="/misc/goto?guid=4958991507924096531"><code>5e5af8b4bb</code></a>] - <strong>benchmark</strong>: fix child-process-read on Windows (Bartosz Sosnowski) <a href="/misc/goto?guid=4958991508016357970">#6971</a></li>     <li>[<a href="/misc/goto?guid=4958991508107174815"><code>d24e4095bf</code></a>] - <strong>benchmark</strong>: add benchmark for Buffer.concat (Anna Henningsen) <a href="/misc/goto?guid=4958991508195981141">#7054</a></li>     <li>[<a href="/misc/goto?guid=4958991508295703815"><code>666b6f9302</code></a>] - <strong>build</strong>: add REPLACEME tag for version info in docs (Ben Noordhuis) <a href="/misc/goto?guid=4958991508392154167">#6864</a></li>     <li>[<a href="/misc/goto?guid=4958991508485006136"><code>6d3d2d1ae4</code></a>] - <strong>cluster</strong>: don't send messages if no IPC channel (Santiago Gimeno) <a href="/misc/goto?guid=4958991508575630036">#7132</a></li>     <li>[<a href="/misc/goto?guid=4958991508666845398"><code>068718c91c</code></a>] - <strong>debugger</strong>: remove obsolete setTimeout (Rich Trott) <a href="/misc/goto?guid=4958991508755380453">#7154</a></li>     <li>[<a href="/misc/goto?guid=4958991508847261053"><code>2961f06f6f</code></a>] - <strong>debugger</strong>: fix --debug-brk interaction with -e (Rich Trott) <a href="/misc/goto?guid=4958991508946399435">#7089</a></li>     <li>[<a href="/misc/goto?guid=4958991509031871502"><code>701e699d4f</code></a>] - <strong>deps</strong>: upgrade npm to 3.9.5 (Kat Marchán) <a href="/misc/goto?guid=4958991507161504307">#7139</a></li>     <li>[<a href="/misc/goto?guid=4958991509134970092"><code>1095ae1ac5</code></a>] - <strong>doc</strong>: Add CII Best Practices badge to README.md (David A. Wheeler) <a href="/misc/goto?guid=4958991509230672234">#6819</a></li>     <li>[<a href="/misc/goto?guid=4958991509322476794"><code>0198987b0d</code></a>] - <strong>doc</strong>: add internal link in GOVERNANCE.md (Rich Trott) <a href="/misc/goto?guid=4958991509412196988">#7279</a></li>     <li>[<a href="/misc/goto?guid=4958991509513872979"><code>8e14f761bb</code></a>] - <strong>doc</strong>: use <code>Buffer.byteLength</code> for Content-Length (kimown) <a href="/misc/goto?guid=4958991509602609649">#7274</a></li>     <li>[<a href="/misc/goto?guid=4958991509697508608"><code>5d03bdd94f</code></a>] - <strong>doc</strong>: add information for IncomingMessage.destroy() (Rich Trott) <a href="/misc/goto?guid=4958991509790551527">#7237</a></li>     <li>[<a href="/misc/goto?guid=4958991509878981576"><code>a113734099</code></a>] - <strong>doc</strong>: general improvements to path.md copy (James M Snell) <a href="/misc/goto?guid=4958991509977412843">#7122</a></li>     <li>[<a href="/misc/goto?guid=4958991510066887777"><code>b5e44df9a3</code></a>] - <strong>doc</strong>: make pull request template more concise (Rich Trott) <a href="/misc/goto?guid=4958991510159369580">#7239</a></li>     <li>[<a href="/misc/goto?guid=4958991510254759513"><code>40a5974a0e</code></a>] - <strong>doc</strong>: <code>url.format()</code> parameter may be a string (Rich Trott) <a href="/misc/goto?guid=4958991510341809882">#7235</a></li>     <li>[<a href="/misc/goto?guid=4958991510433895858"><code>a7d813915e</code></a>] - <strong>doc</strong>: clarify use of <code></code> port value (Rich Trott) <a href="/misc/goto?guid=4958991510530303248">#7206</a></li>     <li>[<a href="/misc/goto?guid=4958991510618217827"><code>0fc8012b65</code></a>] - <strong>doc</strong>: remove cluster.setupMaster() myth (cjihrig) <a href="/misc/goto?guid=4958991510740764891">#7179</a></li>     <li>[<a href="/misc/goto?guid=4958991510833818114"><code>70167fd1d4</code></a>] - <strong>doc</strong>: fix IRC link (Ilkka Myller) <a href="/misc/goto?guid=4958991510926935032">#7210</a></li>     <li>[<a href="/misc/goto?guid=4958991511013411623"><code>4f2215fd98</code></a>] - <strong>doc</strong>: fix minor nit introduced in readline.md (James M Snell) <a href="/misc/goto?guid=4958991511110508154">#7198</a></li>     <li>[<a href="/misc/goto?guid=4958991511197279273"><code>d31f728e09</code></a>] - <strong>doc</strong>: clarify rl.question callback args (James M Snell) <a href="/misc/goto?guid=4958991511301325044">#7022</a></li>     <li>[<a href="/misc/goto?guid=4958991511393895209"><code>70f2f357be</code></a>] - <strong>doc</strong>: general improvements to readline.md copy (James M Snell) <a href="/misc/goto?guid=4958991511301325044">#7022</a></li>     <li>[<a href="/misc/goto?guid=4958991511492641048"><code>c2aba5ba27</code></a>] - <strong>doc</strong>: consolidate test/lint text in GH PR template (Rich Trott) <a href="/misc/goto?guid=4958991511587958998">#7155</a></li>     <li>[<a href="/misc/goto?guid=4958991511681119370"><code>712120112f</code></a>] - <strong>doc</strong>: use consistent typography in streams.md (Rich Trott) <a href="/misc/goto?guid=4958991511773334469">#6986</a></li>     <li>[<a href="/misc/goto?guid=4958991511861727659"><code>e2f6f8061b</code></a>] - <strong>doc</strong>: general improvements to process.md copy (James M Snell) <a href="/misc/goto?guid=4958991511961237774">#7029</a></li>     <li>[<a href="/misc/goto?guid=4958991512055586617"><code>84ea6fc57c</code></a>] - <strong>doc</strong>: general improvements to repl.md copy (James M Snell) <a href="/misc/goto?guid=4958991512149806718">#7002</a></li>     <li>[<a href="/misc/goto?guid=4958991512239894776"><code>bfb7e3cc6e</code></a>] - <strong>doc</strong>: add <code>added:</code> information for readline (Julian Duque) <a href="/misc/goto?guid=4958991512329203508">#6996</a></li>     <li>[<a href="/misc/goto?guid=4958991512420780741"><code>632b411cd0</code></a>] - <strong>doc</strong>: improved syntax consistency in console.md (Jonathan Montane) <a href="/misc/goto?guid=4958991512527258601">#7062</a></li>     <li>[<a href="/misc/goto?guid=4958991512607642565"><code>826bd99486</code></a>] - <strong>doc</strong>: specify how to link issues in commit log (Luigi Pinca) <a href="/misc/goto?guid=4958991512698606192">#7161</a></li>     <li>[<a href="/misc/goto?guid=4958991512789855125"><code>865644a604</code></a>] - <strong>doc</strong>: general improvements to querystring.md copy (James M Snell) <a href="/misc/goto?guid=4958991512885214000">#7023</a></li>     <li>[<a href="/misc/goto?guid=4958991512979007071"><code>dd4c607267</code></a>] - <strong>doc</strong>: fix header depth of util.isSymbol (James M Snell) <a href="/misc/goto?guid=4958991513071680640">#7138</a></li>     <li>[<a href="/misc/goto?guid=4958991513167287291"><code>5086e5f3ee</code></a>] - <strong>doc</strong>: general improvements to stream.md copy (James M Snell) <a href="/misc/goto?guid=4958991513266091088">#6947</a></li>     <li>[<a href="/misc/goto?guid=4958991513345438665"><code>75d6875034</code></a>] - <strong>doc</strong>: update licenses (Myles Borins) <a href="/misc/goto?guid=4958991513441391864">#7121</a></li>     <li>[<a href="/misc/goto?guid=4958991513534146265"><code>dc8cb93c4f</code></a>] - <strong>doc</strong>: add <code>added:</code> information for dns (Julian Duque) <a href="/misc/goto?guid=4958991513625662044">#7021</a></li>     <li>[<a href="/misc/goto?guid=4958991513723169153"><code>a7c85e6fd5</code></a>] - <strong>doc</strong>: add <code>added:</code> information for path (Julian Duque) <a href="/misc/goto?guid=4958991513816755001">#6985</a></li>     <li>[<a href="/misc/goto?guid=4958991513912752688"><code>026bf17378</code></a>] - <strong>doc</strong>: add <code>added</code> information for net (Italo A. Casas) <a href="/misc/goto?guid=4958991514002242356">#7038</a></li>     <li>[<a href="/misc/goto?guid=4958991514085288678"><code>d4a2c82f5f</code></a>] - <strong>doc</strong>: general improvements to punycode.md copy (James M Snell) <a href="/misc/goto?guid=4958991514175255851">#7025</a></li>     <li>[<a href="/misc/goto?guid=4958991514279770784"><code>51d295efe6</code></a>] - <strong>doc</strong>: add links to platform specific mechanisms (Michael Dawson) <a href="/misc/goto?guid=4958991514373075025">#7071</a></li>     <li>[<a href="/misc/goto?guid=4958991514460230542"><code>1600966f59</code></a>] - <strong>fs</strong>: execute mkdtemp's callback with no context (Sakthipriyan Vairamani) <a href="/misc/goto?guid=4958991514550796067">#7068</a></li>     <li>[<a href="/misc/goto?guid=4958991514635365435"><code>ad1045c829</code></a>] - <strong>http</strong>: fix no dumping after <code>maybeReadMore</code> (Fedor Indutny) <a href="/misc/goto?guid=4958991506970417163">#7211</a></li>     <li>[<a href="/misc/goto?guid=4958991514743587517"><code>2a462ba1e2</code></a>] - <strong>http</strong>: optimize checkInvalidHeaderChar() (Brian White) <a href="/misc/goto?guid=4958991507350653027">#6570</a></li>     <li>[<a href="/misc/goto?guid=4958991514856096180"><code>4a63be031f</code></a>] - <strong>http</strong>: optimize checkIsHttpToken() (Brian White) <a href="/misc/goto?guid=4958991507350653027">#6570</a></li>     <li>[<a href="/misc/goto?guid=4958991514956625437"><code>40e49dee82</code></a>] - <strong>http</strong>: wait for both prefinish/end to keepalive (Fedor Indutny) <a href="/misc/goto?guid=4958991507066480250">#7149</a></li>     <li>[<a href="/misc/goto?guid=4958991515060350842"><code>e8c91e7557</code></a>] - <strong>repl</strong>: refine handling of illegal tokens (Rich Trott) <a href="/misc/goto?guid=4958991515148313562">#7104</a></li>     <li>[<a href="/misc/goto?guid=4958991515240991655"><code>cf0928ccb7</code></a>] - <strong>src</strong>: clean up string_search (Brian White) <a href="/misc/goto?guid=4958991515334573155">#7174</a></li>     <li>[<a href="/misc/goto?guid=4958991515424075207"><code>b0225e5926</code></a>] - <strong>stream</strong>: ensure awaitDrain is increased once (David Halls) <a href="/misc/goto?guid=4958991515532199392">#7292</a></li>     <li>[<a href="/misc/goto?guid=4958991515620241146"><code>9c6b69ec1b</code></a>] - <strong>stream</strong>: reset awaitDrain after manual .resume() (Anna Henningsen) <a href="/misc/goto?guid=4958991515710106423">#7160</a></li>     <li>[<a href="/misc/goto?guid=4958991515806971876"><code>caa6718a01</code></a>] - <strong>test</strong>: fix test-net-* error code check for getaddrinfo(3) (Natanael Copa) <a href="/misc/goto?guid=4958991515901097856">#5099</a></li>     <li>[<a href="/misc/goto?guid=4958991515987086268"><code>535c8dd554</code></a>] - <strong>test</strong>: add more http token/value checking tests (Brian White) <a href="/misc/goto?guid=4958991507350653027">#6570</a></li>     <li>[<a href="/misc/goto?guid=4958991516093170955"><code>257f4e6202</code></a>] - <strong>test</strong>: add note about duration_ms in TAP reporter (Rod Vagg) <a href="/misc/goto?guid=4958991516185345947">#7216</a></li>     <li>[<a href="/misc/goto?guid=4958991516284758226"><code>798a737f45</code></a>] - <strong><em>Revert</em></strong> "<strong>test</strong>: change duration_ms to duration" (Rod Vagg) <a href="/misc/goto?guid=4958991516185345947">#7216</a></li>     <li>[<a href="/misc/goto?guid=4958991516379931930"><code>72e4e43b91</code></a>] - <strong>test</strong>: rebuild add-ons when their sources change (Ben Noordhuis) <a href="/misc/goto?guid=4958991516477080330">#7262</a></li>     <li>[<a href="/misc/goto?guid=4958991516572774474"><code>eded11705b</code></a>] - <strong>test</strong>: use random ports where possible (Brian White) <a href="/misc/goto?guid=4958991516670618154">#7045</a></li>     <li>[<a href="/misc/goto?guid=4958991516761489723"><code>d54c7c19a6</code></a>] - <strong>test</strong>: fix spawn on windows (Brian White) <a href="/misc/goto?guid=4958991516856571226">#7049</a></li>     <li>[<a href="/misc/goto?guid=4958991516945147088"><code>e873063a3c</code></a>] - <strong>test</strong>: enable test-debug-brk-no-arg (Rich Trott) <a href="/misc/goto?guid=4958991517041619710">#7143</a></li>     <li>[<a href="/misc/goto?guid=4958991517129312722"><code>d6091c8194</code></a>] - <strong>test</strong>: use common.fixturesDir almost everywhere (Bryan English) <a href="/misc/goto?guid=4958991517220974615">#6997</a></li>     <li>[<a href="/misc/goto?guid=4958991517310866528"><code>e8b1456d8b</code></a>] - <strong>test</strong>: change duration_ms to duration (Gibson Fahnestock) <a href="/misc/goto?guid=4958991517396832008">#7133</a></li>     <li>[<a href="/misc/goto?guid=4958991517488028515"><code>6ce26c8c8b</code></a>] - <strong>test</strong>: add test for uid/gid setting in spawn (Rich Trott) <a href="/misc/goto?guid=4958991517578985961">#7084</a></li>     <li>[<a href="/misc/goto?guid=4958991517663391600"><code>40604b54d4</code></a>] - <strong>test</strong>: remove disabled eio race test (Rich Trott) <a href="/misc/goto?guid=4958991517748447223">#7083</a></li>     <li>[<a href="/misc/goto?guid=4958991517841246742"><code>9545c41cba</code></a>] - <strong>tools</strong>: fix license builder to work with icu-small (Myles Borins) <a href="/misc/goto?guid=4958991517934567653">#7119</a></li>     <li>[<a href="/misc/goto?guid=4958991518016272766"><code>6562c9fc75</code></a>] - <strong>tools,doc</strong>: add example usage for REPLACEME tag (Anna Henningsen) <a href="/misc/goto?guid=4958991508392154167">#6864</a></li>    </ul>    <h2>下载</h2>    <ul>     <li><a href="/misc/goto?guid=4958991518119905092" rel="nofollow"><strong>Source code</strong> (zip)</a></li>     <li><a href="/misc/goto?guid=4958991518204169287" rel="nofollow"><strong>Source code</strong> (tar.gz)</a></li>    </ul>    <p> </p>