首个诞生于长期支持计划的版本 Node.js 4.2 “Argon”正式发布

  • James Chesters
  • 刘振涛

2015 年 10 月 25 日

话题:JavaScriptNode.js语言 & 开发

Node.js 基金会发布首个诞生于工作组LTS(长期支持)计划的版本Argon

Argon,也就是 Node.js 4.2,为我们带来多项改进并进行了重大更新。此次发布的 Node.js 更新了第 56 版 ICU(Unicode 国际化组件),在这一版中增加了Unicode 8.0的数据集,减少了 ICU 的数据尺寸并改为基于排序的字符串搜索 (StringSearch)。

与此同时,在 4.2 中也将 npm 升级为2.14.7,并提供一个新的 npm 组织用户指南,这意味着json请求的 MIME 类型不再默认为application/json了。

新版 Argon 的发布固然是好事,不过也伴随着一些小问题,例如:在 DNS 查询时调用dns.setServers()会导致进程崩溃并抛出 fail 断言;在beforeExit期间未引用计时器运行的 bug。

核心团队成员 Trevor Norris 在评论未引用计时器问题时说道:“我与 Jeremy Whitlock、Jeremiah Senkpiel 和 Fedor Indutny 一起检查过这个问题,它就像是爱丽丝梦游仙境里的兔子洞一样奇幻,”他们最终决定重新定义beforeExit的行为使其变得更好。

在 Reddit 的讨论《Node.js v4.2.0 will be first LTS release》中,大家尚未对于“长期发布支持的意义”这一议题统一意见。

用户runvc评论道

‘LTS’到底能给 Node 带来哪些改变呢?我只能说只有当我有时间升级或开始一个新项目的时候才会升级到最新的稳定版。大部分人是不是根本不知道 Node 的运行原理?或者说他们打算去使用一些老版本 Node 不支持的功能?

在博客文章《Essential Steps: Long Term Support for Node.js》中,Node.js 基金会技术指导委员会主席 Rod Vagg 说:

你可能认为这些做法与开源领域传统格言“早发布,常发布”格格不入,并且违背了企业应用开发与运营团队的基本要求。为 Node 打造 LTS 计划的意义在于,可以在现有的稳定发布周期的基础之上,根据一个可预测的时间表来发布比新版本更新的版本,而且这个时间表需要有一个明确定义支持扩展的生命周期。

LTS 的第一个版本以惰性气体命名,预示着未来的命名都将基于元素周期表中的元素进行命名,以此来与 Node.js 的常规发布进行区分。命名不按照气体化学反应的强烈排序,而是根据元素首字母在字母表中的顺序决定命名顺序。

查看英文原文Node.js 4.2 "Argon" Released Under Long Term Support Plan

JavaScriptNode.js语言 & 开发