转载

Node.js v5.0.0 稳定版发布

Node v5.0.0 稳定版发布,主要更新如下:

bug 修复

  • buffer : (Breaking) Removed both 'raw' and 'raws' encoding types from Buffer , these have been deprecated for a long time (Sakthipriyan Vairamani) #2859 .

  • console : (Breaking) Values reported by console.time() now have 3 decimals of accuracy added (Michaël Zasso) #3166 .

  • fs:

    • fs.readFile*() , fs.writeFile*() , and fs.appendFile*() now also accept a file descriptor as their first argument (Johannes Wüller) #3163 .

    • (Breaking) In fs.readFile() , if an encoding is specified and the internal toString() fails the error is no longer thrown but is passed to the callback (Evan Lucas) #3485 .

    • (Breaking) In fs.read() (using the fs.read(fd, length, position, encoding, callback) form), if the internal toString() fails the error is no longer thrown but is passed to the callback (Evan Lucas) #3503 .

  • http:

    • Fixed a bug where pipelined http requests would stall (Fedor Indutny) #3342 .

    • (Breaking) When parsing HTTP, don't add duplicates of the following headers: Retry-After , ETag , Last-Modified , Server , Age , Expires . This is in addition to the following headers which already block duplicates: Content-Type , Content-Length , User-Agent , Referer , Host , Authorization , Proxy-Authorization , If-Modified-Since , If-Unmodified-Since , From , Location , Max-Forwards (James M Snell) #3090 .

    • (Breaking) The callback argument to OutgoingMessage#setTimeout() must be a function or a TypeError is thrown (James M Snell) #3090 .

    • (Breaking) HTTP methods and header names must now conform to the RFC 2616 "token" rule, a list of allowed characters that excludes control characters and a number of separator characters. Specifically, methods and header names must now match /^[a-zA-Z0-9_!#$%&'*+.^`|~-]+$/ or a TypeError will be thrown (James M Snell) #2526 .

  • node:

    • (Breaking) Deprecated the _linklist module (Rich Trott) #3078 .

    • (Breaking) Removed require.paths and require.registerExtension() , both had been previously set to throw Error when accessed (Sakthipriyan Vairamani) #2922 .

  • npm : Upgraded to version 3.3.6 from 2.14.7, see https://github.com/npm/npm/releases/tag/v3.3.6 for more details. This is a major version bump for npm and it has seen a significant amount of change. Please see the original npm v3.0.0 release notes for a list of major changes (Rebecca Turner) #3310 .

  • src : (Breaking) Bumped NODE_MODULE_VERSION to 47 from 46 , this is necessary due to the V8 upgrade. Native add-ons will need to be recompiled (Rod Vagg) #3400 .

  • timers : Attempt to reuse the timer handle for setTimeout().unref() . This fixes a long-standing known issue where unrefed timers would perviously hold beforeExit open (Fedor Indutny) #3407 .

  • tls:

    • Added ALPN Support (Shigeki Ohtsu) #2564 .

    • TLS options can now be passed in an object to createSecurePair() (Коренберг Марк) #2441 .

    • (Breaking) The default minimum DH key size for tls.connect() is now 1024 bits and a warning is shown when DH key size is less than 2048 bits. This a security consideration to prevent "logjam" attacks. A new minDHSize TLS option can be used to override the default. (Shigeki Ohtsu) #1831 .

  • util:

    • (Breaking) util.p() was deprecated for years, and has now been removed (Wyatt Preul) #3432 .

    • (Breaking) util.inherits() can now work with ES6 classes. This is considered a breaking change because of potential subtle side-effects caused by a change from directly reassigning the prototype of the constructor using ctor.prototype = Object.create(superCtor.prototype, { constructor: { ... } }) to using Object.setPrototypeOf(ctor.prototype, superCtor.prototype) (Michaël Zasso) #3455 .

  • v8 : (Breaking) Upgraded to 4.6.85.25 from 4.5.103.35  (Ali Ijaz Sheikh) #3351 .

    • Implements the spread operator, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator for further information.

    • Implements new.target , see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/new.target for further information.

  • zlib : Decompression now throws on truncated input (e.g. unexpected end of file) (Yuval Brik) #2595 .

Known issues

  • Surrogate pair in REPL can freeze terminal. #690

  • Calling dns.setServers() while a DNS query is in progress can cause the process to crash on a failed assertion. #894

  • url.resolve may transfer the auth portion of the url when resolving between two full hosts, see #1435 .

  • Unicode characters in filesystem paths are not handled consistently across platforms or Node.js APIs. See #2088 , #3401 and #3519 .

更多内容请看: 发行说明

下载地址:

Windows 32-bit Installer: https://nodejs.org/dist/v5.0.0/node-v5.0.0-x86.msi Windows 64-bit Installer: https://nodejs.org/dist/v5.0.0/node-v5.0.0-x64.msi Windows 32-bit Binary: https://nodejs.org/dist/v5.0.0/win-x86/node.exe Windows 64-bit Binary: https://nodejs.org/dist/v5.0.0/win-x64/node.exe Mac OS X 64-bit Installer: https://nodejs.org/dist/v5.0.0/node-v5.0.0.pkg Mac OS X 64-bit Binary: https://nodejs.org/dist/v5.0.0/node-v5.0.0-darwin-x64.tar.gz Linux 32-bit Binary: https://nodejs.org/dist/v5.0.0/node-v5.0.0-linux-x86.tar.gz Linux 64-bit Binary: https://nodejs.org/dist/v5.0.0/node-v5.0.0-linux-x64.tar.gz SunOS 32-bit Binary: https://nodejs.org/dist/v5.0.0/node-v5.0.0-sunos-x86.tar.gz SunOS 64-bit Binary: https://nodejs.org/dist/v5.0.0/node-v5.0.0-sunos-x64.tar.gz ARMv6 32-bit Binary: https://nodejs.org/dist/v5.0.0/node-v5.0.0-linux-armv6l.tar.gz ARMv7 32-bit Binary: https://nodejs.org/dist/v5.0.0/node-v5.0.0-linux-armv7l.tar.gz ARMv8 64-bit Binary: https://nodejs.org/dist/v5.0.0/node-v5.0.0-linux-arm64.tar.gz Source Code: https://nodejs.org/dist/v5.0.0/node-v5.0.0.tar.gz Other release files: https://nodejs.org/dist/v5.0.0/ Documentation: https://nodejs.org/docs/v5.0.0/api/

正文到此结束
Loading...