Node.js v5.0.0-rc.1 发布,主要更新如下:
buffer: (Breaking) Remove 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() will now have 3 decimals of accuracy added (Michaël Zasso) #3166.
crypto: Add ALPN Support (Shigeki Ohtsu) #2564.
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 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 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 aTypeError` will be thrown (James M Snell) #2526.
node:
(Breaking) Deprecate the _linklist module (Rich Trott) #3078.
(Breaking) Remove require.paths and require.registerExtension(), both have been previously set to throw Error when accessed (Sakthipriyan Vairamani) #2922.
npm: Upgrade 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) Bump NODE_MODULE_VERSION To 47, this is necessary due to the V8 upgrade. Native add-ons will need to be recompiled (Rod Vagg) #3400.
timers: Now attempts 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:
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. 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.
v8: (Breaking) Upgrade 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.
软件详情:https://github.com/nodejs/node/pull/3466
下载地址:https://github.com/nodejs/node/archive/v5.0.0-rc.1.tar.gz
来自:开源中国社区