原文:https://nodejs.org/en/blog/release/v5.0.0/
你好Node.js v5!没错,我们刚刚才发布了Node.js v4,但这次的新版本并不意味着v4版本要离我们而去。事实上,v4版本比v5版本将继续保持活跃更长的时间。
按照我们新的LTS计划,Node.js v4 Argon将继续被支持30个月,直到2018年4月。随着新的主要版本(v6)的在2016年4月的发布,这个新的Node.js版本(v5)将仅被支持8个月。Node.js v6将最终成为新的LTS版本,有着和v4一样的支持时间。通过这种方式,我们每6个月就有一个新的稳定版本,
如果你对我们的LTS计划较陌生,请阅读以了解它将怎样工作,以令你可以做出该使用哪个版本的正确决定。
决定采用哪个版本的通用规则是:
- 如果你需要稳定并且有复杂的产品环境,保持当前,或升级到Node.js v4.2.x。
- 如果你不用分发你的环境,能快速,轻松地升级版本,想玩转最新的特性,那么升级到Node.js v5.x。
下面的发布说明中标注了跳跃性升级到v5版本的主要破坏性改动。注意的是因为这个Node.js的新版本搭载了一个V8的新版本,你将需要重新编译所有已经安装的原生模块,否则加载原生模块时你将收到一个运行时错误。使用npm rebuild
或者简单的删除你的node_modules
目录然后执行npm install
即可。
主要改动
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.
Commits
-
[
6a04cc0a43
] - buffer: fix value check for writeUInt{B,L}E (Trevor Norris) #3500
-
[
1a41feb559
] - buffer: don't CHECK on zero-sized realloc (Ben Noordhuis) #3499
-
[
5f6579d366
] - (SEMVER-MAJOR) buffer: remove raw & raws encoding (Sakthipriyan Vairamani) #2859
-
[
70fca2a81e
] - build: Updates for AIX npm support - part 1 (Michael Dawson) #3114
-
[
b36b4f385a
] - build: rectify --link-module help text (P.S.V.R) #3379
-
[
a89eeca590
] - console: rename argument of time and timeEnd (Michaël Zasso) #3166
-
[
870108aaa8
] - (SEMVER-MAJOR) console: sub-millisecond accuracy for console.time (Michaël Zasso) #3166
-
[
0a43697ce8
] - deps: backport 010897c from V8 upstream (Ali Ijaz Sheikh) #3520
-
[
8c0318ce8d
] - deps: backport 8d6a228 from the v8's upstream (Fedor Indutny) #3549
-
[
2974debc6e
] - deps: update V8 to 4.6.85.28 (Michaël Zasso) #3484
-
[
f76af49b13
] - deps: fix upgrade to npm 3.3.6 (Rebecca Turner) #3494
-
[
32b51c97ec
] - deps: upgrade npm to 3.3.6 (Rebecca Turner) #3310
-
[
770cd229f9
] - deps: upgrade V8 to 4.6.85.25 (Ali Ijaz Sheikh) #3351
-
[
972a0c8515
] - deps: backport 0d01728 from v8's upstream (Fedor Indutny) #3351
-
[
1fdec65203
] - deps: improve ArrayBuffer performance in v8 (Fedor Indutny) #3351
-
[
5cd1fd836a
] - deps: backport 56a0a79 from V8 upstream (Julien Gilli) #3351
-
[
7fb128d8df
] - deps: cherry-pick backports to V8 (Michaël Zasso) #3351
-
[
d8011d1683
] - (SEMVER-MAJOR) deps: upgrade V8 to 4.6.85.23 (Michaël Zasso) #3351
-
[
a334ddc467
] - Revert "deps: backport 03ef3cd from V8 upstream" (Ali Ijaz Sheikh) #3237
-
[
6fff47ffac
] - deps: backport 03ef3cd from V8 upstream (Ali Ijaz Sheikh) #3165
-
[
680dda8023
] - dns: remove nonexistant exports.ADNAME (Roman Reiss) #3051
-
[
239ad899a3
] - doc: add LTS info to COLLABORATOR_GUIDE.md (Myles Borins) #3442
-
[
5e76587fdf
] - doc: createServer's key option can be an array (Sakthipriyan Vairamani) #3123
-
[
0317c880da
] - doc: add TSC meeting minutes 2015-10-21 (Rod Vagg) #3480
-
[
cd245b12e0
] - doc: clarify API buffer.concat (Martii) #3255
-
[
ff9ef893fd
] - doc: add TSC meeting minutes 2015-10-14 (Rod Vagg) #3463
-
[
605c5a7754
] - doc: clarify the use of option.detached
(Kyle Smith) #3250
-
[
cf75a175e5
] - doc: more use-cases for promise events (Domenic Denicola) #3438
-
[
1b75d4bda3
] - doc: update WORKING_GROUPS.md - add missing groups (Michael Dawson) #3450
-
[
c658de2f99
] - doc: add TSC meeting minutes 2015-09-30 (Rod Vagg) #3235
-
[
d0b8c5d3a4
] - doc: add TSC meeting minutes 2015-10-07 (Rod Vagg) #3364
-
[
b483afcb20
] - doc: binary encoding is not deprecated (Trevor Norris) #3441
-
[
b607366a1c
] - doc: add information about Assert behavior and maintenance (Rich Trott) #3330
-
[
086103b32e
] - doc: show keylen in pbkdf2 as a byte length (calebboyd) #3334
-
[
f6ebc8277b
] - doc: reword description of console.time (Michaël Zasso) #3166
-
[
503f279527
] - doc: fix indent in tls resumption example (Roman Reiss) #3372
-
[
dae9fae0fe
] - doc: label v4.2.1 as LTS in changelog heading (Phillip Johnsen) #3360
-
[
4fc638804c
] - doc: update V8 options in man page (Michaël Zasso) #3351
-
[
a441aa6e1d
] - doc: update WORKING_GROUPS.md to include Intl (Steven R. Loomis) #3251
-
[
81503e597b
] - doc: fix typo in changelog (Timothy Gu) #3353
-
[
3ef2e4acf3
] - doc: fix typos in changelog (reggi) #3291
-
[
b9279aa193
] - doc: remove old note, 'cluster' is marked stable (Balázs Galambosi) #3314
-
[
cdfa271164
] - doc: update AUTHORS list (Rod Vagg)
-
[
47b06f6bb1
] - docs: add missing shell option to execSync (fansworld-claudio) #3440
-
[
4c9abbd1bb
] - fs: reduced duplicate code in fs.write() (ronkorving) #2947
-
[
2bb147535e
] - (SEMVER-MAJOR) fs: don't throw in read if buffer too big (Evan Lucas) #3503
-
[
7added3b39
] - (SEMVER-MAJOR) fs: pass err to callback if buffer is too big (Evan Lucas) #3485
-
[
5e0759f6fd
] - (SEMVER-MINOR) fs: add file descriptor support to *File() funcs (Johannes Wüller) #3163
-
[
d1a2e5357e
] - gitignore: don't ignore debug source directory in V8 (Michaël Zasso) #3351
-
[
ab03635fb1
] - http: fix stalled pipeline bug (Fedor Indutny) #3342
-
[
e655a437b3
] - (SEMVER-MAJOR) http: do not allow multiple instances of certain response headers (James M Snell) #3090
-
[
0094a8dad7
] - (SEMVER-MAJOR) http: add callback is function check (James M Snell) #3090
-
[
6192c9892f
] - (SEMVER-MAJOR) http: add checkIsHttpToken check for header fields (James M Snell) #2526
-
[
c9786bb680
] - (SEMVER-MAJOR) http{s}: don't connect to localhost on invalid URL (Sakthipriyan Vairamani) #2967
-
[
1929d5be73
] - lib: fix cluster handle leak (Rich Trott) #3510
-
[
97d081709e
] - lib: avoid REPL exit on completion error (Rich Trott) #3358
-
[
f236b3a904
] - (SEMVER-MINOR) lib,doc: return boolean from child.send() (Rich Trott) #3516
-
[
6e887cc630
] - lib,test: update let to const where applicable (Sakthipriyan Vairamani) #3152
-
[
47befffc53
] - (SEMVER-MAJOR) lib,test: deprecate _linklist (Rich Trott) #3078
-
[
d5ce53458e
] - lttng: update flags for gc tracing (Glen Keane) #3388
-
[
6ad458b752
] - (SEMVER-MAJOR) module: remove unnecessary property and method (Sakthipriyan Vairamani) #2922
-
[
ae196175f4
] - node: improve GetActiveRequests performance (Trevor Norris) #3375
-
[
bd4311bc9c
] - repl: handle comments properly (Sakthipriyan Vairamani) #3515
-
[
ce391ed849
] - (SEMVER-MAJOR) repl: event ordering: delay 'close' until 'flushHistory' (Jeremiah Senkpiel) #3435
-
[
4c80c02ac7
] - repl: limit persistent history correctly on load (Jeremiah Senkpiel) #2356
-
[
134a60c785
] - src: fix race condition in debug signal on exit (Ben Noordhuis) #3528
-
[
bf7c3dabb4
] - (SEMVER-MAJOR) src: bump NODE_MODULE_VERSION To 47 (Rod Vagg) #3400
-
[
2d3560767e
] - src: fix exception message encoding on Windows (Brian White) #3288
-
[
ff877e93e1
] - src: fix stuck debugger process (Liang-Chi Hsieh) #2778
-
[
8854183fe5
] - stream: avoid unnecessary concat of a single buffer. (Calvin Metcalf) #3300
-
[
85b74de9de
] - stream: fix signature of _write() in a comment (Fábio Santos) #3248
-
[
b8cea49c88
] - test: fix heap-profiler link error LNK1194 on win (Junliang Yan) #3572
-
[
4a5dbeab43
] - test: fix missing unistd.h on windows (Junliang Yan) #3532
-
[
74e2328b3a
] - test: split independent tests into separate files (Rich Trott) #3548
-
[
8c6c0f915a
] - test: use port number from env in tls socket test (Stefan Budeanu) #3557
-
[
1a968e67a5
] - test: improve tests for util.inherits (Michaël Zasso) #3507
-
[
9d8d752456
] - test: print helpful err msg on test-dns-ipv6.js (Junliang Yan) #3501
-
[
60de9f8d7b
] - test: wrap assert.fail when passed to callback (Myles Borins) #3453
-
[
cd83f7ed7f
] - test: add node::MakeCallback() test coverage (Ben Noordhuis) #3478
-
[
08da5c2a06
] - test: disable test-tick-processor - aix and be ppc (Michael Dawson) #3491
-
[
7c35fbcb14
] - test: harden test-child-process-fork-regr-gh-2847 (Michael Dawson) #3459
-
[
ad2b272417
] - test: fix test-net-keepalive for AIX (Imran Iqbal) #3458
-
[
04fb14cc35
] - test: fix flaky test-child-process-emfile (Rich Trott) #3430
-
[
eef0f0cd63
] - test: remove flaky status from eval_messages test (Rich Trott) #3420
-
[
bbbd81eab2
] - test: skip test-dns-ipv6.js if ipv6 is unavailable (Junliang Yan) #3444
-
[
f78c8e7426
] - test: fix flaky test for symlinks (Rich Trott) #3418
-
[
28e9a4f41b
] - test: repl-persistent-history is no longer flaky (Jeremiah Senkpiel) #3437
-
[
9e981556e5
] - test: cleanup, improve repl-persistent-history (Jeremiah Senkpiel) #2356
-
[
ee2e641e0a
] - test: add Symbol test for assert.deepEqual() (Rich Trott) #3327
-
[
e2b8393ee8
] - test: port domains regression test from v0.10 (Jonas Dohse) #3356
-
[
676e61872f
] - test: apply correct assert.fail() arguments (Rich Trott) #3378
-
[
bbdbef9274
] - test: fix tests after V8 upgrade (Michaël Zasso) #3351
-
[
6c032a8333
] - test: replace util with backtick strings (Myles Borins) #3359
-
[
f45c315763
] - test: fix domain with abort-on-uncaught on PPC (Julien Gilli) #3354
-
[
e3d9d25083
] - test: add test-child-process-emfile fail message (Rich Trott) #3335
-
[
6f14b3a7db
] - test: remove util from common (Rich Trott) #3324
-
[
7d94611ac9
] - test: split up buffer tests for reliability (Rich Trott) #3323
-
[
3202456baa
] - test: remove util properties from common (Rich Trott) #3304
-
[
31c971d641
] - test: parallelize long-running test (Rich Trott) #3287
-
[
5bbc6df7de
] - test: change call to deprecated util.isError() (Rich Trott) #3084
-
[
522e3d3cd3
] - timers: reuse timer in setTimeout().unref()
(Fedor Indutny) #3407
-
[
b64ce5960f
] - tls: remove util and calls to util.format (Myles Borins) #3456
-
[
c64af7d99e
] - tls: TLSSocket options default isServer false (Yuval Brik) #2614
-
[
2296a4fc0f
] - (SEMVER-MINOR) tls: add options
argument to createSecurePair (Коренберг Марк) #2441
-
[
0140e1b5e3
] - tls: output warning of setDHParam to console.trace (Shigeki Ohtsu) #1831
-
[
f72e178a78
] - (SEMVER-MAJOR) tls: add minDHSize option to tls.connect() (Shigeki Ohtsu) #1831
-
[
6d92ebac11
] - tls: add TLSSocket.getEphemeralKeyInfo() (Shigeki Ohtsu) #1831
-
[
62ad1d0113
] - (SEMVER-MINOR) tls, crypto: add ALPN Support (Shigeki Ohtsu) #2564
-
[
5029f41b2f
] - (SEMVER-MINOR) tls,crypto: move NPN protcol data to hidden value (Shigeki Ohtsu) #2564
-
[
701e38c25f
] - tools: enable prefer-const eslint rule (Sakthipriyan Vairamani) #3152
-
[
6e78382605
] - tools: ensure npm always uses the local node (Jeremiah Senkpiel) #3489
-
[
3c3435d017
] - tools: update test-npm to work with npm 3 (Rebecca Turner) #3489
-
[
b4f4c24539
] - tools: use absolute paths in test-npm (Rebecca Turner) #3309
-
[
80573153b8
] - (SEMVER-MAJOR) util: make inherits work with classes (Michaël Zasso) #3455
-
[
412252ca04
] - (SEMVER-MAJOR) util: Remove p, has been deprecated for years (Wyatt Preul) #3432
-
[
718c304a4f
] - v8: pull fix for builtin code size on PPC (Michael Dawson) #3474
-
[
6936468de2
] - vm: remove Watchdog dependency on Environment (Ido Ben-Yair) #3274
-
[
80169b1f0a
] - (SEMVER-MAJOR) zlib: decompression throw on truncated input (Yuval Brik) #2595
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/
Shasums (GPG signing hash: SHA512, file hash: SHA256):
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
26f3e42df814b9b42f0b0045901c84eb79233d8196d0dcdf77a6a3c975c6f25d node-v5.0.0-darwin-x64.tar.gz
060d4bdf5872047ef74f3b1f3daaa466c2506e34ad916128f4b9279d005bc205 node-v5.0.0-darwin-x64.tar.xz
5133b6145df7083133e272e1b8c96b59c58a19d004d5aacdec80ea78e58c7e46 node-v5.0.0-headers.tar.gz
47dc88a17c416285de6c517ea6107322b65920618e8f59e1c49a83c6dd423f31 node-v5.0.0-headers.tar.xz
2c4517d3fdefc29b5c61aa6ea3386a0dafca831357d3bcd30fc14e97b49139d1 node-v5.0.0-linux-arm64.tar.gz
5fd1939b15406d537bf17828a707898f2d710c3c9ddf243b6070353fd13f5880 node-v5.0.0-linux-arm64.tar.xz
96629e271e34d14bdb7be93067a8770cb5326977b9168cf2344c80a721040784 node-v5.0.0-linux-armv6l.tar.gz
82178863010dba66076fdda215e5ad505c1b83571df1d018dce2060d24f260d7 node-v5.0.0-linux-armv6l.tar.xz
6bf5f19cac9f01cb31b7088685d9d6df6d24c9c2a4531ace839387763b8a28ec node-v5.0.0-linux-armv7l.tar.gz
97575c7ec3f042acf85f9b6de3ec6db027b0ef4a828eaa5e0f66504c72884bd9 node-v5.0.0-linux-armv7l.tar.xz
ef73b59048a0ed11d01633f0061627b7a9879257deb9add2255e4d0808f8b671 node-v5.0.0-linux-x64.tar.gz
1c3e8e7df3320e648f748d721115e6018e0701a206232a6a7332970d211e3706 node-v5.0.0-linux-x64.tar.xz
6484c4cac1724f2818354e3f2a8ede66308617b648cd3db624596b8cd58b5f6b node-v5.0.0-linux-x86.tar.gz
46a56d8c00a791f46666dd9d2401b7c26ee7ac8455762fbb106c1497867c9c4b node-v5.0.0-linux-x86.tar.xz
f23ca05d3d7e642ab9b0c8090b0b88fb29dec987b07d67f307bf3aef81e95b14 node-v5.0.0.pkg
7cfbed6e6658d8304f8593eae9dd28f8f83b57e7a6345b32f4d5e9830b80203f node-v5.0.0-sunos-x64.tar.gz
047bd9fbb25fc6a3349781bddf5210966943b06fa62c6e275d1221613c9f3423 node-v5.0.0-sunos-x64.tar.xz
2e9d65dff65843ebfa5c9d623c5b930bd0af7252101cc9c69c55aa8c880fa9eb node-v5.0.0-sunos-x86.tar.gz
c7038764010eba883b5fa638123b7b94e82b86960a0792a7b10123451d978e9a node-v5.0.0-sunos-x86.tar.xz
698d9662067ae6a20a2586e5c09659735fc0050769a0d8f76f979189ceaccdf4 node-v5.0.0.tar.gz
cf4f261618e19517c8cbf2fdde00d0b5160e271760abee00f387b11a0b3ca834 node-v5.0.0.tar.xz
8a066f8cf38f4dd979366c223d90d6242076d2446f48856abb091b2becc939ef node-v5.0.0-x64.msi
07826a6b60702a0ce9a77240103bf20091a06ee740e646e9f7d6ca760c64e45a node-v5.0.0-x86.msi
27c819be0958fdb4b63be29fb032525965e997da8e0f6b4a6e9123350b7b22e0 win-x64/node.exe
27992ac24ab67099d243e76fc52382b42caf4bf75b4b792d647359221dfa5d0f win-x64/node.lib
b2a5caab041d6e0a3fefc3a0b557df71ce9174c9ca344e5a690b9accb9f76d84 win-x86/node.exe
f79d9545ad99221d090c30e415af74431eae15c729e820a96385b051be3837f2 win-x86/node.lib
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQEcBAEBAgAGBQJWMom1AAoJEMJzeS99g1RdsxAIAKcA3B14sgCa6qZ1LZfXN5Qj
hogNS6r1L6Mb15E4Gvknjej2n2At2PpdSmxPKIex2uhwGJHcidyakn3NzPwzhdJQ
VtgQKL7G7ZhsXYrKD78kS6GdGql1u4MroTbHSACthmZv+OdDhGEmL1UIN8+PU45V
gBDwg+JPRPYeSGzXcqOwmUHkqgvCaFvyGZfu0j18GT8TjaXkj5M8J9emtmtRBX15
Sp9jbOMRrt9gGHmIqcx/AzCIfqGyi4Lb/CwdyD5hXWfHFfeWspsOx+RFFh965JLy
F6Z13Zr5Oph2fdobiuXYN1WSmrHX2kfy1B2WAt80vwwVzEiIQcSUhEU9qu8z9Qg=
=v3xU
-----END PGP SIGNATURE-----