Node.js v0.2.4 и ожидаемые улучшения в ветке v0.3.x

    Прошедшие выходные могут похвастаться двумя релизами Node.js: очередной минорной версией в ветке v0.2.x и официальным релизом ветки v0.3.x.
    И пусть разрабатываемая ветка всё ещё отмечена как «нестабильная», в ней ожидаются существенные улучшения производительности, переносимости и добавление новых возможностей, о которых стоит знать уже сейчас. Тем более, что эта версия уже вполне работоспособная.
    Также в конце топика бонус в виде ссылок на репозитории пакетов Node.js v0.2.x и NPM (Node.js package manager).

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

    • Добавлена опция --eval, позволяющая выполнять передаваемый в виде строки JavaScript код (аналог perl -e или php -r).
    • Исправления в модуле работы с сетью:
      • Добавлена возможность начинать запись в очередь до завершения соединения.
      • В случае неудачной попытки закрытия соединения очередь записи теперь не очищается.
      • Исправлен баг с частой проверкой освободившихся дескрипторов в случае достижения лимита соединений (Do not spin on accept() with 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 (unstable):

    • Все описанные выше исправления для версии 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[].
    • Изменёно форматирование запятых в выводе in sys.inspect(), добавлен вывод имён функций.
    • Константы выделены из process в отдельный модуль 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 и NPM (Node.js package manager). Пользуйтесь на здоровье ;-)
    Поделиться публикацией
    Похожие публикации
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 12
    • 0
      Люди, подскажите plz. Давно хочу поковырять node.js, но ставить из-за него виртуалку не хочется. Под виндой до сих пор нет способа поставить иначе?
    • +4
      node.js очень перспектиная штука. Чем больше копаю – тем больше нравится.
      • 0
        Если не сложно, напишите пару слов, что вам нравится
      • 0
        почему future is here? :)
        • 0
          Намёк про v0.3.x, ничего личного :-)
        • +1
          Я вот честно тоже заинтересовался этим ПО.

          Только есть вопрос. А на нём можно писать веб приложения, к примеру простые CMS или же как Project Management?

          Спасибо за ответ

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.