---
layout: post
title: io.js 本周播报 - 2015.03.20
author: iojs
reference: https://medium.com/node-js-javascript/io-js-1-6-release-1df38cf64e6c
---

# io.js 1.6 发布

io.js 1.6.1, openssl 升级, 社区活动等。

本周我们有两个 io.js 版本发布，[v1.6.1](https://iojs.org/dist/v1.6.1/) 和 [v1.6.0](https://iojs.org/dist/v1.6.0/), 完整的变更参见 [on GitHub](https://github.com/iojs/io.js/blob/v1.x/CHANGELOG.md)。

### 主要更新

#### 1.6.1

* **path**: `path.resolve()` 使用了新的类型检查, [#1153](https://github.com/iojs/io.js/pull/1153) 发现了一些边缘案例依赖它，最显著的是 `path.dirname(undefined)`。放宽了对 `path.dirname()`，`path.basename()`，`path.extname()` 的类型检查。(Colin Ihrig) [#1216](https://github.com/iojs/io.js/pull/1216)
* **querystring**: `querystring.parse()` 和 `querystring.stringify()` 方法进行了内部优化，查看 [#847](https://github.com/iojs/io.js/pull/847)，`querystring.escape()` 阻止了数字字面量被正确的转化，查看 [#1208](https://github.com/iojs/io.js/issues/1208)，暴露了一个测试盲点。这个 bug 和测试现在已被修复。(Jeremiah Senkpiel) [#1213](https://github.com/iojs/io.js/pull/1213)

#### 1.6.0

* **node**: 新增一个命令行参数 `-r` 或者 `--require`，可以用来在启动的时候预加载模块。(Ali Ijaz Sheikh) [#881](https://github.com/iojs/io.js/pull/881)
* **querystring**: `parse()` and `stringify()` 现在更快了。(Brian White) [#847](https://github.com/iojs/io.js/pull/847)
* **http**: `http.ClientRequest#flush()` 方法已经被弃用并且替换为 `http.ClientRequest#flushHeaders()`，为了匹配 [joyent/node#9048](https://github.com/joyent/node/pull/9048) 中相同的改变。(Yosuke Furukawa) [#1156](https://github.com/iojs/io.js/pull/1156)
* **net**: 允许 `server.listen()` 的 `port` 参数接受 `String` 类型的选项，例如：`{ port: "1234" }`，为了匹配 [joyent/node#9268](https://github.com/joyent/node/pull/9268) 中 `net.connect()` 可以接受相同的选项。(Ben Noordhuis) [#1116](https://github.com/iojs/io.js/pull/1116)
* **tls**: 已报告的内存泄露有了进展，虽然在一些尚未明确的使用情况下还有轻微的泄露，在 [#1075](https://github.com/iojs/io.js/issues/1075) 跟踪进度。
* **v8**: Backport 了一个补丁，当 `--max_old_space_size` 超过 `4096` 时会发生整数溢出。(Ben Noordhuis) [#1166](https://github.com/iojs/io.js/pull/1166)
* **platforms**: io.js CI 系统在 **FreeBSD** 和 **SmartOS** (Solaris) 报告通过。
* **npm**: 升级 npm 到 2.7.1。查看详情 [npm CHANGELOG.md](https://github.com/npm/npm/blob/master/CHANGELOG.md#v270-2015-02-26)。

### 已知问题

* 可能依然存在与 TLS 相关内存泄露问题，查看 [#1075](https://github.com/iojs/io.js/issues/1075)
* 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)
* 当 DNS 查询正在进行中时调用 `dns.setServers()` 会造成 process 崩溃，原因是断言错误 [#894](https://github.com/iojs/io.js/issues/894)

# 社区动态

* browserify 支持 io.js, 你可以在[这里](https://twitter.com/yosuke_furukawa/status/577150547850969088)查看公告。
* express.js 增加了 io.js [支持](https://github.com/strongloop/express/commit/165660811aa9ba5f3733a7b033894f3d9a9c5e60)
* 在过去的两个星期里，我们能够访问来自 Joyent 的硬件，并且引入了一个 V8 的补丁，所以可以成功构建 io.js。在那之后我们致力通过 [SmartOS](https://github.com/iojs/build/pull/64) and [FreeBSD](https://github.com/iojs/io.js/pull/1167) 上的测试，经过这两天测试通过了，这要归功于构建团队和 [Johan Bergström](https://github.com/jbergstroem) 出色的工作。
* [Petka Antonov](https://github.com/petkaantonov) 提议在 io.js 中增加 worker，可通过 --experimental-workers 标志使用，你可以在[这里](https://github.com/iojs/io.js/pull/1159)加入讨论。
* io.js [升级](https://github.com/iojs/io.js/pull/1206) openssl 到 `1.0.1m`。

# 即将举行的活动

* [NodeConf](http://nodeconf.com/) 门票正在出售中，将于 6 月 8 号和 9 号在加利福尼亚州奥克兰市举办，另外，NodeConf Adventure 也将于 6 月 11 号至 14 号在加利福尼亚州的 Walker Creek Ranch 举办。
* [CascadiaJS](http://2015.cascadiajs.com/) 门票正在出售中，将于 7 月 8 号至 10 号在华盛顿举办。
* [NodeConf EU](http://nodeconf.eu/) 门票正在出售中，将于 9 月 6 号至 9 号在爱尔兰的沃特福德市举办。
