Как стать автором
Обновить

Вышла в свет новая версия Node.js v4.0.0

Время на прочтение 5 мин
Количество просмотров 30K
Автор оригинала: Node.js Foundation
Сотрудники Node.js и члены Node.js Foundation с гордостью представляют 4.0.0 версию продукта. В этот релиз включены бесчисленные часы совместной работы проектов Node.js и io.js, которые были успешно объедены в одну кодовую базу. Проект Node.js управляется командой из 44 человек, 15 из которых формируют Technical Steering Committee (TSC). Кроме того, более 100 участников были добавлены в список людей, способных влиять на развитие ядра, по сравнению с числом участников версии v0.12.7.

Node.js v4.0.0 содержит V8 v4.5, это та же версия V8, которая поставляется вместе с веб браузером Chrome сегодня. Это привносит с собой множество бонусов для пользователей Node.js, наиболее важные из которых, это поддержка ES6 стандарта, который включен по умолчанию, включая блочную область видимости, классы, типизированные массивы (Node's Buffer теперь работает поверх Uint8Array), генераторы, Promises, Symbols, строковые шаблоны, коллекции (Map, Set, и так далее) и, новая возможность для V8 v4.5 — стрелочные функции.

За прошлый год, благодаря пожертвованиям от таких компаний, как Rackspace, DigitalOcean, Scaleway, miniNodes, Voxer, Joyent, CloudFlare, ARM Holdings, а так же отдельных личностей из сообщества, мы создали замечательный тестовый кластер, который включает в себя впечатляющую линейку Linux систем, OS X, Windows, FreeBSD и SmartOS. В качестве нововведения в Node.js, мы добавили поддержку первого поколения процессоров на ARM архитектуре.

Node.js v4 так же привносит планы по долгосрочной (LTS) поддержке и регулярным релизам. Система именования версий теперь будет придерживаться SemVer рекомендаций, что ожидаемо привнесет увеличение числа минорных версий и патчей в ближайшие недели для исправления ошибок и добавления новых возможностей. Чего мы не будем делать в ветви разработки 4.x, так это добавление несовместимых изменений.

Тем не менее, мы будем стремиться выпустить версию с долгосрочной поддержкой в Октябре 2015 года. В это же самое время, мы начинаем разработку 5.х ветви, которая должна быть нацелена на выпуск стабильных релизов новой версии Node.js Эта ветвь, скорее всего будет содержать последние версии V8 и наборы критических изменений, без которых можно было бы обойтись в 4й версии. Поддержка 4.x ветки в рамках LTS будет осуществляться в течении 18 месяцев, с акцентом на стабильность и безопасность, без добавления ненужного функционала. Кроме того, по окончании этого срока, 4.x ветка будет поддерживаться еще в течении 12 месяцев, во время которых будут исправляться критические ошибки и проблемы безопасности.

Параллельно, мы будем выпускать новые стабильные релизы с периодичностью в 6 месяцев, один в Октябре и один в Апреле, каждого года. Стабильные ветви будут выпускаться регулярно и продолжат развиваться. Для них будут выпускаться минорные изменения и патчи каждую одну-две недели. Каждый второй стабильный релиз будет продолжать существовать в рамках LTS, до завершения следующего октября. Это означает, что мы будем обслуживать несколько версий LST одновременно, с общим сроком поддержки каждой до 30 месяцев (LTS + обслуживание). Мы считаем, что стабильность и долгосрочная поддержка LTS релизов, обеспечат возможность оставаться на острие JavaScript технологий и одновременно обеспечивать стабильность и безопасность, которая является основой для Enterprise пользователей, что с гордостью могут говорить о Node.js как об основной технологии. Некоторые из них уже входят в число участников Node.js Foundation.

Как всегда, с вводом в строй нового мажорного релиза, мы не ожидаем безболезненного перехода на Node.js четвертой версии. Потребуется время для адаптации, особенно в области скомпилированных дополнений с учетом новой версии V8 (намек на NAN для нашего официального решения обратной совместимости). К счастью, серия релизов io.js версии 3.х дала возможность, с большего, подготовить свой код для релиза Node.js 4.x версии.

Первоначальный список исключений обратно совместимости между версиями 0.12 и 4 можно найти на Wiki странице LTS релиза. В ближайшее время мы продолжим наполнение нашей Wiki для отображения наиболее полной документации и списка изменений, о которых вы должны знать.

Пожалуйста, сообщайте о всех найденных проблемах в нашем новом доме на GitHub https://github.com/nodejs/node и присоединяйтесь к растущему числу людей, что помогают нам развивать ядро!

Заметные изменения


Это список изменений, по сравнению с последней версией io.js v3.3.0. Пожалуйста, ознакомьтесь со списком заметных изменений для версий v3.x, v2.x и v1.x собранных в полном списке изменений, для понимания полного списка изменений, по сравнению с версий 0.12.x Обратите внимание, что это только некоторые изменения в ветке v3.x, а также изучите список всех несовместимых особенностей, для того, чтобы не испытывать проблем совместимости Node.js и io.js проектов.

  • Child_process: ChildProcess.prototype.send() и process.send() работают асинхронно на всех платформах, так необязательный параметр обратного вызова был введен, который будет вызван после отправки сообщения, т.е. .send(message[, sendHandle][, callback]) (Ben Noordhuis) #2620.
  • node: Переименование «io.js» кода в «Node.js» (cjihrig) #2367.
  • node-gyp: Этот релиз включает в себя обновленную версию node-gyp которая работает со всеми версиями Node.js и io.js включая nightly и сборки релиз кандидатов. Начиная с io.js v3 и Node.js v4 и далее, необходимо будет скачивать только заголовки, а не весь код, как было ранее (Rod Vagg) #2700
  • npm: Обновление версии до 2.14.2 с 2.13.3, включая обновления безопасности, смотрите https://github.com/npm/npm/releases/tag/v2.14.2 для более подробного описания, (Kat Marchán) #2696.
  • timers: Улучшена производительность таймеров после портирования с 0.12 версии, плюс минорные исправления (Jeremiah Senkpiel) #2540, (Julien Gilli) nodejs/node-v0.x-archive#8751 nodejs/node-v0.x-archive#8905
  • util: util.is*() помечен устаревшим, начиная с сообщения об устаревании в документации к этому релизу, пользователям рекомендуется искать более надежные альтернативы в npm репозитории, (Sakthipriyan Vairamani) #2447.
  • v8: Обновлена версия до 4.5.103.30 с 4.4.63.30 (Ali Ijaz Sheikh) #2632.

Теги:
Хабы:
+36
Комментарии 33
Комментарии Комментарии 33

Публикации

Истории

Работа

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн