Доступен (https://github.com/iojs/io.js/releases/tag/v1.0.0-release) первый выпуск серверной JavaScript-платформы io.js 1.0 (https://iojs.org), которая может быть использована как для серверного сопровождения работы Web-приложений, так и для создания обычных клиентских и серверных сетевых программ. Проект io.js был основан (https://github.com/iojs/io.js) семью активными разработчиками Node.js и является ответвлением от кодовой базы Node.js 0.11.
Из особенностей (https://github.com/iojs/io.js/blob/v1.x/CHANGELOG.md) io.js 1.0 можно отметить переход на новую версию JavaScript-движка V8 3.31.71.4 (https://code.google.com/p/v8/) (в node.js 0.10 используется V8 3.14, а в node.js 0.12 будет использован выпуск 3.26) и обеспечение (https://iojs.org/es6.html) поддержки новых возможностей, представленных в спецификации ECMAScript 6. Уже проверенные стабильные возможности ECMAScript 6, такие как генераторы, шаблоны, новые строковые методы, оператор let и коллекции, доступны в io.js по умолчанию, без необходимости указания флага "--harmony", требуемого в node.js 0.12. Для включения в io.js ещё не до конца протестированных возможностей, таких как классы, предложен новый флаг "--es_staging", а для активации средств, разработка которых не завершена, потребуется индивидуальное включение каждой возможности (например, "--harmony_arrow_functions").
По сравнению с Node.js v0.10.35 в состав io.js v1.0 добавлены новые версии модулей c-ares 1.10.0-DEV, http_parser 2.3, libuv 1.2.0, npm 2.1.18, openssl 1.0.1k и punycode 1.3.2. Включены дополнительные наработки по оптимизации производительности. Добавлены новые методы в класс Buffer (https://iojs.org/api/buffer.html), такие как buf.writeUIntLE, Buffer.compare() и buffer.equals(), представлен конструктор "new Buffer(otherBuffer)". Значительно расширены возможности модулей crypto и tls, в том числе появились средства шифрования по открытым ключам RSA, возможность шифрования ключей паролем, поддержка хэша pbkdf2 и алгоритма ECDH (Elliptic Curve Diffie Hellman).
Кроме того, добавлен новый модуль smalloc (https://iojs.org/api/smalloc.html) с реализацией внешней системы распределения памяти. Переписан и расширен модуль vm (https://iojs.org/api/vm.html). Добавлены новые методы (https://github.com/iojs/io.js/blob/v1.x/CHANGELOG.md) в модули streams, zlib (zlib.flush, zlib.param), util (util.debuglog), process (beforeExit), path (path.parse и path.isAbsolute), http (response.write, response.end), fs (fs.access), dns (dns.resolveSoa, dns.getServers, dns.setServers).
Мотивом создания форка является (http://www.opennet.me/opennews/art.shtml?num=41144) недовольство политикой компании Joyent, курирующей разработку проекта Node.js. В частности, основное недовольство связано с игнорированием мнения сообщества и затягиванием процесса разработки новых выпусков. С точки зрения организации процесса разработки, io.js отличается привлечением для координации развития проекта управляющего совета (https://github.com/iojs/io.js/blob/v1.x/GOVERNANCE.md), сформированного из активных представителей сообщества и не зависящего от отдельных компаний. Io.js также примечателен более коротким циклом разработки новых выпусков, что позволит оперативно доводить новшества до пользователей.
URL: https://news.ycombinator.com/item?id=8884128
Новость: http://www.opennet.me/opennews/art.shtml?num=41452