Релиз node.js 0.6.0
Вышла новая стабильная версия node.js — 0.6.0 .
Скачать (tar.gz, linux) Скачать (exe, windows)
Сайт
Документация
Поскольку это major-release, в API были внесены изменения без обратной совместимости. Если в вашем приложении/модуле перестало что-то работать — эта страница wiki поможет вам в миграции:
https://github.com/joyent/node/wiki/API-changes-between-v0.4-and-v0.6
Основные изменения, по сравнению с веткой 0.5.x:
- Переход с libev на libuv (в основном, благодаря этому, node.js теперь работает под windows))
- Обновление v8 с 3.1.8.25 до 3.6.6.6
- Встроенный модуль zlib
- Встроенный load-balancer (cluster)
- Улучшен IPC (Inter-Process Communication): child_process.fork
- Улучшен встроенный debugger
v0.4.12 (linux) | v0.6.0 (linux) | |
---|---|---|
http_simple.js /bytes/1024 | 5461 r/s | 6263 r/s |
io.js read | 19.75 mB/s | 26.63 mB/s |
io.js write | 21.60 mB/s | 17.40 mB/s |
startup.js | 74.7 ms | 49.6 ms |
В предыдущей версии 0.4 мы могли запустить Node на Windows только под Cygwin. Благодаря переходу на libuv и native Windows API мы можем наблюдать значительные улучшения в скорости работы под Windows:
v0.4.12 (windows) | v0.6.0 (windows) | |
---|---|---|
http_simple.js /bytes/1024 | 3858 r/s | 5823 r/s |
io.js read | 12.41 mB/s | 26.51 mB/s |
io.js write | 12.61 mB/s | 33.58 mB/s |
startup.js | 152.81 ms | 52.04 ms |
Так же мы планируем значительно сократить интервалы между релизами. Следующая стабильная ветка будет ориентировочно в Январе. Со временем, мы собираемся делать релизы в соответствии с 6 недельным интервалом Google Chrome.
Спасибо всем контрибьюторам за код, тесты, документацию и bug-репорты!
Вот список изменений в v0.6.0, по сравнению с v0.5.12:
2011.11.04, Version 0.6.0 (stable)
- print undefined on undefined values in REPL (Nathan Rajlich)
- doc improvements (koichik, seebees, bnoordhuis, Maciej Małecki, Jacob Kragh)
- support native addon loading in windows (Bert Belder)
- rename getNetworkInterfaces() to networkInterfaces() (bnoordhuis)
- add pending accepts knob for windows (igorzi)
- http.request(url.parse(x)) (seebees)
- #1929 zlib Respond to 'resume' events properly (isaacs)
- stream.pipe: Remove resume and pause events
- test fixes for windows (igorzi)
- build system improvements (bnoordhuis)
- #1936 tls: does not emit 'end' from EncryptedStream (koichik)
- #758 tls: add address(), remoteAddress/remotePort
- #1399 http: emit Error object after .abort() (bnoordhuis)
- #1999 fs: make mkdir() default to 0777 permissions (bnoordhuis)
- #2001 fix pipe error codes
- #2002 Socket.write should reset timeout timer
- stdout and stderr are blocking when associated with file too.
- remote debugger support on windows (Bert Belder)
- convenience methods for zlib (Matt Robenolt)
- process.kill support on windows (igorzi)
- process.uptime() support on windows (igorzi)
- Return IPv4 addresses before IPv6 addresses from getaddrinfo
- util.inspect improvements (Nathan Rajlich)
- cluster module api changes
- Downgrade V8 to 3.6.6.6