---
layout: post
title: io.js 本周播报 - 2015.03.06
author: iojs
reference: https://medium.com/node-js-javascript/io-js-week-of-march-6th-2f9344688277
---

概要：Buffer.indexOf(), Tessel 2 等。

# io.js 1.5.0 发布

3 月 6 日，星期五，[@rvagg](https://github.com/rvagg) 发布了 [**v1.5.0**](https://iojs.org/dist/latest/). 完整的变更日志参见 [github](https://github.com/iojs/iojs-cn/blob/gh-pages/CHANGELOG.md#2015-03-06-%E7%89%88%E6%9C%AC-150-rvagg).

### 主要更新

* **buffer**: 新增 `Buffer#indexOf()` 方法, 模仿 [`Array#indexOf()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf)。接受一个字符串，Buffer 或数值。字符串会使用 UTF8 解析。(Trevor Norris) [#561](https://github.com/iojs/io.js/pull/561)
* **fs**: `’fs’` 方法中的 `options` 对象属性将不会做 `hasOwnProperty()` 检测，因此 options 对象允许原型链上的属性。(Jonathan Ong) [#635](https://github.com/iojs/io.js/pull/635)
* **tls**: PayPal 上报了一个疑似 TLS 内存溢出的问题，可能问题在最近 **stream_wrap** 中的一些修改上。最初修复在 [#1078](https://github.com/iojs/io.js/pull/1078), 你可以关注整个关闭溢出的过程 [#1075](https://github.com/iojs/io.js/issues/1075) (Fedor Indutny).
* **npm**: 升级 npm 到 2.7.0，查看详情 [npm CHANGELOG.md](https://github.com/npm/npm/blob/master/CHANGELOG.md#v270-2015-02-26)，从中可以看出为什么这只升级了 minor 而不是 major。
* **TC**: Colin Ihrig (@cjihrig) 离开 TC，因为想更多的贡献代码，而少参加会议。

### 已知的问题

* 可能与 TLS 相关的内存溢出问题，查看详情 [#1075](https://github.com/iojs/io.js/issues/1075).
* Windows 支持有一些明显的错误并未被 io.js 持续集成系统识别，由人为、程序和 Jenkins 错误等一系列原因造成。查看 [#1005](https://github.com/iojs/io.js/issues/1005) 的详情和讨论，希望这些错误能被尽快解决。
* REPL 中的 Surrogate pair 会导致终端僵死 [#690](https://github.com/iojs/io.js/issues/690)
* 无法将 io.js 编译成静态库 [#686](https://github.com/iojs/io.js/issues/686)
* `process.send()` 并非如文档所述是同步的，1.0.2 引入的问题，查看 [#760](https://github.com/iojs/io.js/issues/760)，解决 [#774](https://github.com/iojs/io.js/issues/774)

# 社区新鲜事

* 你可以轻松地了解到 [FREAK Attack](https://freakattack.com/) [**没有影响到**](https://strongloop.com/strongblog/are-node-and-io-js-affected-by-the-freak-attack-openssl-vulnerability/) io.js 和最新版的 node.js. 你正在使用 io.js 或者最新版的 node.js, 对吗？
* Walmart 为 io.js 的持续集成系统赞助了一台构建机器。@iojs/build 团队正在致力于创建运行在 SunOS 上的二进制包（正如你可以在 nodejs.org 上获取的一样）。要想获得更多的进展，首先需要修复 V8 的这个问题 ([iojs/io.js#1079](https://github.com/iojs/io.js/pull/1079))
* 我们还要感谢以下公司为 io.js 的构建贡献硬件以及相关的技术、支持、工程师：
  * **Digital Ocean** (mainly Linux)
  * **Rackspace** (mainly Windows)
  * **Voxer** (OS X and FreeBSD)
  * **NodeSource** (ARMv6 & ARMv7)
  * **Linaro** (ARMv8)
  * **Walmart** (SmartOS / Solaris)
* io.js 社区一直致力于所有内容的国际化，现在有 20 多种语言在 [iojs.org](http://iojs.org) 和国际化社区网站上发布。此外，为了方便访问，国际化社区的链接 ([iojs/website#258](https://github.com/iojs/website/pull/258)) 已经添加在官网的页脚。我们是否错过了你的语言？[帮助我们添加！](https://github.com/iojs/website/blob/master/TRANSLATION.md)
* 说到翻译，[io.js 路线图展示](http://roadmap.iojs.org/)已经更新了其他语言的链接。
* 看起来 **PayPal** 正在进行一个对比实验，他们将 [Kappa](https://www.npmjs.com/package/kappa) 运行在 io.js, node.js 0.12 和 node.js v0.10 上。PayPal 团队发现了一个疑似 TLS 模块的内存泄露问题。初步的修复参见 [#1078](https://github.com/iojs/io.js/pull/1078), 你可以关注整个关闭溢出的过程 [#1075](https://github.com/iojs/io.js/issues/1075).
* [**NodeSource**](http://nodesource.com) 已经支持将 io.js [Linux 二进制包](https://nodesource.com/blog/nodejs-v012-iojs-and-the-nodesource-linux-repositories)分发到 Ubuntu/Debian 以及 RHEL/Fedora.
* io.js 的 [Docker 构建库](https://registry.hub.docker.com/u/library/iojs/) 是 1 月和 2 月新增的 13 个[官方 Docker 库](http://blog.docker.com/2015/03/thirteen-new-official-repositories-added-in-january-and-february/)之一。
* 声明称 [**Tessel2**](http://blog.technical.io/post/112787427217/tessel-2-new-hardware-for-the-tessel-ecosystem) 运行在 [io.js natively](http://blog.technical.io/post/112888410737/moving-faster-with-io-js) 上，NodeBots 和 IoT 的人们听到这个消息应该会很高兴。
* [**@maxbeatty**](https://twitter.com/maxbeatty) 正忙于 [jsperf.com](http://jsperf.com/) 后端的新版本开发，新版本将运行在 io.js 上并且是完全[开源的](https://github.com/jsperf/jsperf.com)，欢迎贡献！
* [@eranhammer](https://twitter.com/eranhammer) 发表了一篇新的博客 [Node 版本的困境](http://hueniverse.com/2015/03/02/the-node-version-dilemma/)。这篇文章讨论了 node.js 和 io.js 版本号的不同点，同时对于在不同的情况下使用哪个提出了建议。


# 以下项目增加对 io.js 的支持

* **[scrypt](https://npmjs.com/scrypt)** 增加了对 io.js 的支持，了解更多参见 [GitHub issue](https://github.com/barrysteyn/node-scrypt/issues/39).
* **[proxyquire](https://github.com/thlorenz/proxyquire)** v1.3.2 增加了对 io.js 的支持。

