参考资料:
Node.js在近两天发布了Node.js自合并io.js之后的第一个LTS版本。其代号为Argon,即元素周期表的第18号元素。
LTS版本的发布计划是Node.js与io.js的合并计划中的一个要点,其目标是提供长期支持的稳定版本。支持周期为从发布之日起的30个月。这对Node.js的使用者来说,无论是个人还是商业组织,将有一个赖以成长的稳定支持平台。
更多关于LTS的细节,参见Rod Vagg的博文.
代号规则
LTS版本代号的规则是取自元素周期表,将所有元素按字母排序之后,按次序选区。第一个LTS版本的代号既是排在第一位的:Ar元素。
LTS版本与普通的版本发行上有一点区别,开发者可以通过以下代码来进行区分当前Node.js是LTS版本还是普通版本:
$ node -v
v4.2.0
$ node -pe process.release.lts
Argon
如果是普通的版本,process.release.lts
属性将会是undefined
;而LTS版本则会是当前的版本代号。
重要改动
这是第一次Node.js LTS发布。LTS流程的细节请查看https://github.com/nodejs/LTS/。
v4.2.0
- icu: 更新到版本56,获得显著的性能提升。 (Steven R. Loomis) #3281
-
node:
- npm: 从npm 2.14.4升级至npm 2.14.7,全部细节参见release notes (Kat Marchán) #3299
v4.2.1
已知问题
当前的所有已知问题列表参见https://github.com/nodejs/node/labels/confirmed-bug
- When a server queues a large amount of data to send to a client over a pipelined HTTP connection, the underlying socket may be destroyed. See #3332 and #3342.
- Some problems with unreferenced timers running during
beforeExit
are still to be resolved. See #1264. - 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.
提交
v4.2.0
- [
8383c4fe00
] - assert: support arrow functions in .throws() (Ben Noordhuis) #3276 - [
3eaa593a32
] - async_wrap: correctly pass parent to init callback (Trevor Norris) #3216 - [
54795620f6
] - buffer: don't abort on prototype getters (Trevor Norris) #3302 - [
660f7591c8
] - buffer: FreeCallback should be tied to ArrayBuffer (Fedor Indutny) #3198 - [
651a5b51eb
] - buffer: only check if instance is Uint8Array (Trevor Norris) #3080 - [
d5a1b1ad7c
] - buffer: clean up usage of proto (Trevor Norris) #3080 - [
af24376e18
] - build: Intl: deps: bump ICU to 56.1 (GA) (Steven R. Loomis) #3281 - [
9136359d57
] - build: make icu download path customizable (Johan Bergström) #3200 - [
b3c5ad10a8
] - build: add --with-arm-fpu option (Jérémy Lal) #3228 - [
f00f3268e4
] - build: intl: avoid 'duplicate main()' on ICU 56 (Steven R. Loomis) #3066 - [
071c72a6a3
] - deps: upgrade to npm 2.14.7 (Kat Marchán) #3299 - [
8b50e95f06
] - (SEMVER-MINOR) deps: backport 1ee712a from V8 upstream (Julien Gilli) #3036 - [
747271372f
] - doc: update the assert module summary (David Boivin) #2799 - [
0d506556b0
] - doc: replace node-gyp link with nodejs/node-gyp (Roman Klauke) #3320 - [
40a159e4f4
] - doc: Amend capitalization of word JavaScript (Dave Hodder) #3285 - [
6dd34761fd
] - doc: add method links in dns.markdown (Alejandro Oviedo) #3196 - [
333e8336be
] - doc: add method links in child_process.markdown (Alejandro Oviedo) #3186 - [
0cfc6d39ca
] - doc: recommend Infinity on emitter.setMaxListeners (Jason Karns) #2559 - [
d4fc6d93ef
] - doc: add help repo link to CONTRIBUTING.md (Doug Shamoo) #3233 - [
28aac7f19d
] - doc: add TLS session resumption example (Roman Reiss) #3147 - [
365cf22cce
] - doc: update AUTHORS list (Rod Vagg) #3211 - [
d4399613b7
] - doc: standardize references to userland (Martial) #3192 - [
75de258376
] - doc: fix spelling in Buffer documentation (Rod Machen) #3226 - [
725c7276dd
] - doc: fix README.md link to joyent/node intl wiki (Steven R. Loomis) #3067 - [
4a35ba4966
] - (SEMVER-MINOR) fs: include filename in watch errors (charlierudolph) #2748 - [
2ddbbfd164
] - http: cork/uncork before flushing pipelined res (Fedor Indutny) #3172 - [
f638402e2f
] - http: add comment aboutoutputSize
in res/server (Fedor Indutny) #3128 - [
1850879b0e
] - js_stream: prevent abort if isalive doesn't exist (Trevor Norris) #3282 - [
63644dd1cd
] - lib: remove redundant code, add tests in timers.js (Rich Trott) #3143 - [
74f443583c
] - module: use UNC paths when loading native addons (Justin Chase) #2965 - [
01cb3fc36b
] - net: don't throw on bytesWritten access (Trevor Norris) #3305 - [
9d65528b01
] - (SEMVER-MINOR) node: add -c|--check CLI arg to syntax check script (Dave Eddy) #2411 - [
42b936e78d
] - (SEMVER-MINOR) src: add process.release.lts property (Rod Vagg) #3212 - [
589287b2e3
] - src: convert BE-utf16-string to LE before search (Karl Skomski) #3295 - [
2314378f06
] - src: fix u-a-free if uv returns err in ASYNC_CALL (Karl Skomski) #3049 - [
d99336a391
] - (SEMVER-MINOR) src: replace naive search in Buffer::IndexOf (Karl Skomski) #2539 - [
546e8333ba
] - (SEMVER-MINOR) src: fix --abort-on-uncaught-exception (Jeremy Whitlock) #3036 - [
7271cb047c
] - (SEMVER-MINOR) src: add process.versions.icu (Evan Lucas) #3102 - [
7b9f78acb2
] - stream: avoid pause with unpipe in buffered write (Brian White) #2325 - [
f0f8afd879
] - test: remove common.inspect() (Rich Trott) #3257 - [
5ca4f6f8bd
] - test: testutil
rather thancommon
(Rich Trott) #3256 - [
7a5ae34345
] - test: refresh temp directory when using pipe (Rich Trott) #3231 - [
7c85557ef0
] - test: Fix test-fs-read-stream-fd-leak race cond (Junliang Yan) #3218 - [
26a7ec6960
] - test: fix losing original env vars issue (Junliang Yan) #3190 - [
e922716192
] - test: remove deprecated error logging (Rich Trott) #3079 - [
8f29d95a8c
] - test: report timeout in TapReporter (Karl Skomski) #2647 - [
2d0fe4c657
] - test: linting for buffer-free-callback test (Rich Trott) #3230 - [
70c9e4337e
] - test: make common.js mandatory via linting rule (Rich Trott) #3157 - [
b7179562aa
] - test: load common.js in all tests (Rich Trott) #3157 - [
bab555a1c1
] - test: speed up stringbytes-external test (Evan Lucas) #3005 - [
ddf258376d
] - test: use normalize() for unicode paths (Roman Reiss) #3007 - [
46876d519c
] - test: remove arguments.callee usage (Roman Reiss) #3167 - [
af10df6108
] - tls: use parent handle's close callback (Fedor Indutny) #2991 - [
9c2748bad1
] - tools: remove leftover license boilerplate (Nathan Rajlich) #3225 - [
5d9f83ff2a
] - tools: apply linting to custom rules code (Rich Trott) #3195 - [
18a8b2ec73
] - tools: remove unused gflags module (Ben Noordhuis) #3220 - [
e0fffca836
] - util: fix for inspecting promises (Evan Lucas) #3221 - [
8dfdee3733
] - util: correctly inspect Map/Set Iterators (Evan Lucas) #3119 - [
b5c51fdba0
] - util: fix check for Array constructor (Evan Lucas) #3119
v4.2.1
- [
b3cbd13340
] - buffer: fix assertion error in WeakCallback (Fedor Indutny) #3329 - [
102cb7288c
] - doc: label v4.2.0 as LTS in changelog heading (Rod Vagg) #3343 - [
c245a199a7
] - lib: fix undefined timeout regression (Ryan Graham) [#3331](https://github.com/nodejs/node/pull/3331
下载
非常遗憾v4.2.0版本带有一个导致timer失败的bug,所以官方紧急发布了Argon的第二个版本:v4.2.1。
Windows 32-bit Installer: https://nodejs.org/dist/v4.2.1/node-v4.2.1-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v4.2.1/node-v4.2.1-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v4.2.1/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v4.2.1/win-x64/node.exe
Mac OS X 64-bit Installer: https://nodejs.org/dist/v4.2.1/node-v4.2.1.pkg
Mac OS X 64-bit Binary: https://nodejs.org/dist/v4.2.1/node-v4.2.1-darwin-x64.tar.gz
Linux 32-bit Binary: https://nodejs.org/dist/v4.2.1/node-v4.2.1-linux-x86.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v4.2.1/node-v4.2.1-linux-x64.tar.gz
SunOS 32-bit Binary: https://nodejs.org/dist/v4.2.1/node-v4.2.1-sunos-x86.tar.gz
SunOS 64-bit Binary: https://nodejs.org/dist/v4.2.1/node-v4.2.1-sunos-x64.tar.gz
ARMv6 32-bit Binary: Coming soon
ARMv7 32-bit Binary: https://nodejs.org/dist/v4.2.1/node-v4.2.1-linux-armv7l.tar.gz
ARMv8 64-bit Binary: https://nodejs.org/dist/v4.2.1/node-v4.2.1-linux-arm64.tar.gz
Source Code: https://nodejs.org/dist/v4.2.1/node-v4.2.1.tar.gz
Other release files: https://nodejs.org/dist/v4.2.1/
Documentation: https://nodejs.org/docs/v4.2.1/api/
Shasums (GPG signing hash: SHA512, file hash: SHA256):
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
658686795fac9669d411ac5c5be2da8159058e386767322d8d8151dcdb4810b9 node-v4.2.1-darwin-x64.tar.gz
d2c1ffb5c9f1d24f1f49652600bb2056b13afe068ba7d80bfd1009423ead8941 node-v4.2.1-darwin-x64.tar.xz
b242fd0fa83748d95cc3e68d14579b629960b0436d65da9d86907eef27b96fc1 node-v4.2.1-headers.tar.gz
b1416eca3f1c56e049d924d31b343d57a735d4e422c4288bf4c2ca453cb6bcf2 node-v4.2.1-headers.tar.xz
05df4aeb8a53798f8b10074600518040fc317f2919f9755aeab57b0aaf7227b0 node-v4.2.1-linux-arm64.tar.gz
ba5c0705f0d69306d978faac14ed37725b71b4e2c41192019e8e4aae239b2683 node-v4.2.1-linux-arm64.tar.xz
fb4fbef9306962e800804ab5ba615c06bba28deb4e7a3e945a291dba986ef816 node-v4.2.1-linux-armv7l.tar.gz
7699ee39c9bc92208ef38ab6d61ddee46cad2978b06095b2ca54a7a116c47d9a node-v4.2.1-linux-armv7l.tar.xz
e766e387934e17daaad92d0460ed76f756655da62b627a5c9cc07faea4a0b824 node-v4.2.1-linux-x64.tar.gz
346f6c1b96bd5fc0a2a100e78deceff9e1045f5ccf0ba66401cd8d37d78d1b23 node-v4.2.1-linux-x64.tar.xz
97b5ccea7044073c87a21bcc4b0762f4a6bd77db9cc958206f684ecdfeb89b1f node-v4.2.1-linux-x86.tar.gz
2a7a16e6066ddd724400634ba80266d6994036d0772545bcedc81c80d2e84e2b node-v4.2.1-linux-x86.tar.xz
688df0a12461f378b296f69e8ae2c1cbb974b0216278624815bce7dcfea080c2 node-v4.2.1.pkg
acec44790ff0069620c0fd03945d14b9f97c7ccb0a0450f766a5cbe4a906510b node-v4.2.1-sunos-x64.tar.gz
72d1cb21347af731f594f85fa177140b2c3e015b8c1cb65a63a082999cd390e8 node-v4.2.1-sunos-x64.tar.xz
d7bf8dcf353115b5e55bf64d25c2c34fa2d237e201e46dab97ae3d8e3f051583 node-v4.2.1-sunos-x86.tar.gz
fb047d9b3db08fba2c3021d574a3ffd6f0f3e0208735035ed245926f0977ab8a node-v4.2.1-sunos-x86.tar.xz
8861b9f4c3b4db380fcda19a710c0430c3d62d03ee176c64db63eef95a672663 node-v4.2.1.tar.gz
0528c60cf75371314ad0e7b19f9fd586d98a220d307d03e163b323b67458b7be node-v4.2.1.tar.xz
e460a71ea9aa4d743387a20319042de203de837cb613be0737b6ca368480302d node-v4.2.1-x64.msi
df70335dc34d48cf03c9074d84ff330f4d1fa0eb12b5225da91ad4f7c1835318 node-v4.2.1-x86.msi
92744bfa525cd51ea3bf5ac810a9e3e9306f6fe4ac44847a8aefdd674701e8e6 win-x64/node.exe
d5369e749dc6181226f8a91c6c7d590596175943301fd92455dbea5de7c6b6f6 win-x64/node.lib
c22fcbf2f1db7ff3cd71b4c771f277fe8d75caff8689a3be50aeee1a7682820e win-x86/node.exe
98f0b03cae561cb59fd602c51a35b326e561fe9bc8ad6cc9d5ec32aa2fe2acbd win-x86/node.lib
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org
iQEcBAEBCgAGBQJWHUJBAAoJEHNBsVwHCHesDDsH/RsDEpIXiVagPEyTsp0xPDyx
QWYzXHY//HqLXWYazhdArCu3uehQZL/nQfa80Mmy79fZV6vP574AUjNGocqnL5Tc
w0rXKkLyix55yevLLhlVyDIvWD7bbIeLA6+5TdlDLlUU6or+yEu7nuPh8pC4WGvE
qQbaJPIx3xj9oHotSlw3m6FVtB2JBGEskXinjzw337395XSc5HS+UzcIxt4mOT4W
F+0whk1tnc1eshVvFzzfIDnH753KTjU1eBtniflJLRAUiPPLymOnwqclZCTlHMol
ERSaOkTF98eD873XoGQd7hh/N9qyHPIFY2gOLcGfUG3WHBbyo1/gz2F8P1PdtNc=
=daVB
-----END PGP SIGNATURE-----