Node.js V0.2.4 И Ожидаемые Улучшения В Ветке V0.3.X

На прошлых выходных было представлено два релиза Node.js: еще одна минорная версия в ветке v0.2.x и официальный релиз ветки v0.3.x. Хотя ветка разработки по-прежнему отмечена как «нестабильная», ожидается, что она будет иметь значительные улучшения в производительности, переносимости и добавление новых функций, о которых стоит знать уже сейчас.

Более того, эта версия уже вполне функциональна.

Также в конце темы есть бонус в виде ссылок на репозитории пакетов Node.js v0.2.x и NPM (менеджер пакетов Node.js).



Изменения в версии 0.2.4:

  • Добавлен параметр --eval, который позволяет выполнять код JavaScript, переданный в виде строки (аналогично perl -e или php -r).

  • Исправления в сетевом модуле:
    • Добавлена возможность начать запись в очередь до завершения соединения.

    • Если попытка закрыть соединение не удалась, очередь записи больше не очищается.

    • Исправлена ошибка с частой проверкой свободных дескрипторов при достижении лимита подключений ( Не запускайте функцию Accept() с помощью EMFILE. ).

  • Добавлен параметр --max-stack-size для ограничения максимального размера стека V8 (сам V8 также поддерживает параметры ограничения размера памяти, используемой движком).

  • Исправлены ошибки в функции child_process.exec(), связанные с завершением порожденного процесса (теперь это происходит по сигналу SIGTERM, а не SIGKILL).

  • Исправлены ошибки, из-за которых ресурсы не освобождались правильно при использовании Node.
Скачать дистрибутив: nodejs.org/dist/node-v0.2.4.tar.gz Документация: nodejs.org/docs/v0.2.4/api.html

Изменения в версии 0.3.0 (нестабильной):

  • Все описанные выше исправления относятся к версии 0.2.4.
  • Множественные улучшения модуля readline.
  • Исправлена ошибка с повреждением памяти при неправильном вызове конструкторов.

  • Исправлена функцияprocess.nextTick(), чтобы исключения в функции обратного вызова не влияли на ее работу.

    Node.

  • Переписаны буферы, достигнуто существенное ускорение работы с ними.

  • При компиляции модулей по умолчанию добавлены флаги -D_FILE_OFFSET_BITS=64 и -D_LARGEFILE_SOURCE.
  • Упрощен анализ строк HTTP-запроса.

  • Добавлена поддержка ответа сервера HTTP 100.
  • Упрощенная модульная система:
    • Методы require.async() и require.registerExtension() были удалены, а свойство require.extensions[] было добавлено.

    • Добавлен общедоступный API для require.resolve() и require.cache[].

  • Изменено форматирование запятых при выводе в sys.inspect(), добавлен вывод имен функций.

  • Константы выделены из процесса в отдельный модуль require('constants').

  • Исправлен анализ объема используемой памяти в Linux для программ с пробелами в названии.

  • Модуль sys был переименован в util.
  • Исправлена ошибка, из-за которой поток stdio не возвращал неблокирующий статус, когда программа завершалась сигналами SIGTERM и SIGINT.
  • Улучшено декодирование строк base64 с дополнительными символами (например, пробелами и символами новой строки).

  • Добавлена возможность переопределять и добавлять команды в REPL.
  • V8 обновлен до версии 2.5.1, Libev до версии 4.00, также обновлены libeio и http-parser.
  • Другие исправления и улучшения в модулях crypto, fs, http и net.
Скачать дистрибутив: nodejs.org/dist/node-v0.3.0.tar.gz Документация: nodejs.org/docs/v0.3.0/api.html Для тех, кто любит *nix еще и за удобную работу с ПО за счет пакетных менеджеров, у меня небольшое дополнение: Я построил на openSUSE BuildService. пакеты для ветки Node.js v0.2.x И НПМ (Менеджер пакетов Node.js).

Наслаждайся этим ;-) Теги: #node.js #JavaScript #ssjs #release #будущее уже здесь #пакеты #node.js

Вместе с данным постом часто просматривают: