Node LTS版本:Argon发布始末

参考资料:

  • v4.2.0发布
  • v4.2.1发布

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:

    • 添加新的-c (or --check) 命令行参数来检查脚本语法但不执行代码 (Dave Eddy) #2411
    • 添加 process.versions.icu 来持有当前ICU库的版本号 (Evan Lucas) #3102
    • 当二进制文件是来自于活跃的LTS版本线,添加 process.release.lts 来持有当前LTS代号, (Rod Vagg) #3212
  • npm: 从npm 2.14.4升级至npm 2.14.7,全部细节参见release notes (Kat Marchán) #3299
v4.2.1
  • 包含两个回归问题的修复

    • WeakCallback的断言错误 #3329
    • timeout未定义的退化 #3331

已知问题

当前的所有已知问题列表参见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 about outputSize 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: test util rather than common (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: SHA512658686795fac9669d411ac5c5be2da8159058e386767322d8d8151dcdb4810b9  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.orgiQEcBAEBCgAGBQJWHUJBAAoJEHNBsVwHCHesDDsH/RsDEpIXiVagPEyTsp0xPDyx
QWYzXHY//HqLXWYazhdArCu3uehQZL/nQfa80Mmy79fZV6vP574AUjNGocqnL5Tc
w0rXKkLyix55yevLLhlVyDIvWD7bbIeLA6+5TdlDLlUU6or+yEu7nuPh8pC4WGvE
qQbaJPIx3xj9oHotSlw3m6FVtB2JBGEskXinjzw337395XSc5HS+UzcIxt4mOT4W
F+0whk1tnc1eshVvFzzfIDnH753KTjU1eBtniflJLRAUiPPLymOnwqclZCTlHMol
ERSaOkTF98eD873XoGQd7hh/N9qyHPIFY2gOLcGfUG3WHBbyo1/gz2F8P1PdtNc=
=daVB
-----END PGP SIGNATURE-----


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部