Node.js - это фактически выпущенная библиотека ввода-вывода для механизма JavaScript V8 Google.
Эксперты рекомендуют это для создания и развертывания для приложений с интенсивным потоком трафика и данных, работающих в реальном времени, которые должны работать одинаково на разных платформах и устройствах.
Node.js в настоящее время считается верхней платформой для запуска кода JavaScript на стороне сервера, который используется в производстве в таких крупных компаниях, как Google, eBay, Yahoo, LinkedIn, Microsoft, Cloud9 и многие другие.
Платформа очень хорошо документирована и пользуется очень большим модульным репозиторием, управляемым с помощью утилиты npm (Node.js Package Manager).
Версия 6.x рекомендуется для стабильных производственных сред, в то время как версия 7.x стабильна, но включает экспериментальные функции.
& NBSP;
Что нового в этой версии:
- события: убедитесь, что существуют функции консоли.
- fs: добавьте параметр autoClose в fs.createWriteStream
- http: улучшает обработку заголовков заголовков
- узел: разрешить предварительные модули с -i
- v8, src: вывести статистику о кучевых пространствах (v8.getHeapSpaceStatistics ())
Что нового в версии 6.7.0 / 4.6.0:
- события: убедитесь, что существуют функции консоли.
- fs: добавьте параметр autoClose в fs.createWriteStream
- http: улучшает обработку заголовков заголовков
- узел: разрешить предварительные модули с -i
- v8, src: вывести статистику о кучевых пространствах (v8.getHeapSpaceStatistics ())
Что нового в версии 6.5.0 / 4.5.0:
- события: убедитесь, что существуют функции консоли.
- fs: добавьте параметр autoClose в fs.createWriteStream
- http: улучшает обработку заголовков заголовков
- узел: разрешить предварительные модули с -i
- v8, src: вывести статистику о кучевых пространствах (v8.getHeapSpaceStatistics ())
Что нового в версии 6.3.0 / 4.4.7:
- события: убедитесь, что существуют функции консоли.
- fs: добавьте параметр autoClose в fs.createWriteStream
- http: улучшает обработку заголовков заголовков
- узел: разрешить предварительные модули с -i
- v8, src: вывести статистику о кучевых пространствах (v8.getHeapSpaceStatistics ())
Что нового в версии 6.2.0 / 4.4.5:
Новое в Node.js 5.0.0 (30 октября 2015 г.)
Что нового в версии 6.0.0 / 4.4.3:
- события: убедитесь, что существуют функции консоли.
- fs: добавьте параметр autoClose в fs.createWriteStream
- http: улучшает обработку заголовков заголовков
- узел: разрешить предварительные модули с -i
- v8, src: вывести статистику о кучевых пространствах (v8.getHeapSpaceStatistics ())
Что нового в версии 4.4.3 / 5.10.1:
- события: убедитесь, что существуют функции консоли.
- fs: добавьте параметр autoClose в fs.createWriteStream
- http: улучшает обработку заголовков заголовков
- узел: разрешить предварительные модули с -i
- v8, src: вывести статистику о кучевых пространствах (v8.getHeapSpaceStatistics ())
Что нового в версии 4.4.0 / 5.8.0:
- события: убедитесь, что существуют функции консоли.
- fs: добавьте параметр autoClose в fs.createWriteStream
- http: улучшает обработку заголовков заголовков
- узел: разрешить предварительные модули с -i
- v8, src: вывести статистику о кучевых пространствах (v8.getHeapSpaceStatistics ())
Что нового в версии 4.2.6 / 5.5.0:
- события: убедитесь, что существуют функции консоли.
- fs: добавьте параметр autoClose в fs.createWriteStream
- http: улучшает обработку заголовков заголовков
- узел: разрешить предварительные модули с -i
- v8, src: вывести статистику о кучевых пространствах (v8.getHeapSpaceStatistics ())
Что нового в версии 4.2.2 / 5.2.0:
- fs.readFile * (), fs.writeFile * () и fs.appendFile * () теперь также принимают файловый дескриптор в качестве своего первого аргумента
- Исправлена ошибка, при которой конвейерные HTTP-запросы останавливались
- npm: обновлено до версии 3.3.6 из 2.14.7
- Попытка повторного использования дескриптора таймера для setTimeout (). unref ().
- Добавлена поддержка ALPN
- Параметры TLS теперь могут передаваться в объекте createSecurePair ()
- zlib: Декомпрессия теперь бросает на усеченный вход
Что нового в версии 4.1.1:
- child_process: ChildProcess.prototype.send () и process.send () работают асинхронно на всех платформах, поэтому был добавлен необязательный параметр обратного вызова, который будет вызываться после отправки сообщения, то есть .send (message [, sendHandle ] [, обратный вызов]).
- node: переименуйте код «io.js» в «Node.js».
- node-gyp: этот выпуск содержит обновленную версию node-gyp, которая работает со всеми версиями Node.js и io.js, включая ночные и выпускные сборки кандидатов. Начиная с io.js v3 и Node.js v4, он будет загружать только архив заголовков при создании аддонов, а не весь источник.
- npm: обновить до версии 2.14.2 из 2.13.3, включает обновление для системы безопасности, см. https://github.com/npm/npm/releases/tag/v2.14.2 для более подробной информации.
- таймеры: улучшена производительность таймера от портирования реализации 0.12, а также незначительные исправления.
- util: функции util.is * () устарели, начиная с предупреждений об устаревании в документации для этой версии, пользователям рекомендуется искать более надежные альтернативы в реестре npm.
- v8: перейти к версии 4.5.103.30 из 4.4.63.30.
Что нового в версии 0.12.7:
- openssl: обновление до 1.0.1p
- npm: обновление до 2.11.3
- V8: патч JitCodeEvent с вишневым рисунком вверх по течению
- win, msi: создать папку npm в каталоге AppData li>
Что нового в версии 0.12.4:
- npm: обновление до 2.10.1
- V8: вернуть v8 удаление Array.prototype.values ()
- win: вернуть поддержку xp / 2k3
Что нового в версии 0.12.2:
- openssl: обновление до 1.0.1m (адресация нескольких CVES)
Что нового в версии 0.12.0:
- Потоки 3:
- Реализация Streams теперь работает так, как вы думали, она уже должна, не внося никаких изменений в API. В основном это означает, что больше не застревает в «старом режиме», есть только потоки, которые текут или нет.
- Потоки теперь поддерживают использование механизмов пробки и откупоривания, чтобы предотвратить промывку в систему, если приложение будет выполнять много записей в строке. Существует неявный откат, выполняемый, когда вы заканчиваете записываемый поток.
- HTTP:
- maxSockets больше не ограничены 5. Теперь по умолчанию установлено значение Infinity с разработчиком, а операционная система получает контроль над количеством одновременных подключений, которые приложение может открывать для данного хоста.
- Надлежащая поддержка KeepAlive означает, что сокеты будут оставаться открытыми до тех пор, пока они не перейдут в заданное время, не будут закрыты удаленной стороной или процесс завершится. Разработчику больше не нужно проверять, чтобы запросы были конвейерными, чтобы открыть сокет или использовать альтернативный модуль для получения этой поддержки.
- Разработчики также могут теперь явно flushHeaders, чтобы гарантировать, что время до первого байта невелико, а проксированные соединения остаются открытыми.
- Кластер:
- Теперь есть два режима работы, новый по умолчанию - механизм распределения циклического распределения, в котором мастер принимает новые соединения и распределяет их своим работникам. Если вы хотите, вы все равно можете вернуться к старому методу, когда ваши работники несут ответственность за присоединение к подключению.
- TLS
- У нас есть новый механизм TLSWrap под капотом, это устраняет довольно много переходов между JavaScript и нашими реализациями на C ++.
- Добавлены API для асинхронных обратных вызовов SNI, сшивки OCSP и событий хранения.
- Буфер:
- Мы используем более точный механизм распределения памяти для буферов, что означает, что вы увидите меньше накладных расходов и влияние на небольшие кусочки буферов. Это уменьшает количество давления памяти в системе, что означает, что GC работает быстрее, что означает, что Node.js меньше на CPU и, следовательно, более низкая латентность для ваших приложений.
- child_process:
- spawnSync / execSync были добавлены для облегчения синхронных дочерних процессов, предупреждая, что процесс узла не будет продвигаться вперед, ожидая выхода ребенка, caveat emptor!
- Crypto:
- Добавлены API для загрузки пользовательских движков для использования с компилированными в OpenSSL.
- Поддержка дополнительных API-интерфейсов, обеспечивающих передачу паролей.
- Добавлены API для шифрования / дешифрования общедоступного / закрытого ключа RSA.
- VM:
- Модуль теперь основан на модуле Contextify, который разделяет значения из песочницы, чтобы избежать отсутствующих изменений внутри выполнения из появляющегося в родительском контексте.
- Первоначальная поддержка ECMAScript Internationalization API 1.0 (ECMA-402)
- По умолчанию двоичные файлы Node.js v0.12.0 поставляются с поддержкой ECMA-402, но только для английского языка. Другими словами, API ECMA-402 работает так, как вы ожидали, но включены только данные для английского языка.
Что нового в версии 0.10.36:
- openssl: обновление до 1.0.1l
- v8: Исправить отладчик и регрессию строгого режима
- v8: не заняться циклом в потоке профилей процессора
Что нового в версии 0.10.34:
- uv: обновление до v0.10.30
- zlib: обновление до версии 1.2.8
- child_process: проверить execFile args - это массив
- child_process: проверка fork args - это массив
- crypto: обновить корневые сертификаты
- domains: исправлять проблемы с прерыванием при неотображении
- таймеры: избегайте линейного сканирования в _unrefActive
- таймеры: исправить утечку памяти unref ()
- v8: добавить api для прерывания на неперехваченное исключение
- отладчик: исправить при использовании "use strict"
Что нового в версии 0.10.33:
- openssl: обновление до 1.0.1j
- uv: обновление до версии 10.29
- child_process: правильно поддерживать необязательные аргументы
- crypto: по умолчанию отключить автосогласование для SSLv2 / 3.
Что нового в версии 0.10.32:
- npm: обновление до 1.4.28
- v8: исправление сбоя, внесенного предыдущей версией
- configure: добавить флаг --openssl-no-asm
- crypto: использование доменов для любого метода обратного вызова
- http: не отправлять 0rnrn в ответах TE HEAD
- querystring: исправление unescape override
- url: Добавить поддержку сепараторов RFC 3490
Что нового в версии 0.10.31:
- v8: backport CVE-2013-6668.
- openssl: обновить до версии 1.0.1i.
- npm: обновление до версии 1.4.23.
- cluster: disconnect не должен быть синхронным.
- fs: исправить fs.readFileSync fd утечки при получении RangeError.
- stream: fix Readable.wrap objectMode значения ложных данных.
- таймеры: фиксировать таймеры с нецелыми задержками.
Что нового в версии 0.10.30:
- uv: переход на v0.11.14
- v8: upgrade 3.21.18.3
- assert: указывает, генерируется ли сообщение об ошибке
- buffer: добавить API buf.toArrayBuffer ()
- cluster: исправить преждевременное событие «отключение»
- crypto: добавьте поддержку SPKAC
- отладчик: правильно подсчитайте количество строк.
- отладчик: сделать петли заняты SIGUSR1-прерыватель
- отладчик: повторить последнюю команду
- отладчик: показать текущую строку
- dgram: send () может принимать строки
- dns: переименовать домен в имя хоста
- dns: установить свойство hostname на объект ошибки
- dtrace, mdb_v8: поддержка большего количества строк, типов фреймов
- http: add statusMessage
- http: выставить поддерживаемые методы
Что нового в версии 0.10.29:
- child_process: не устанавливайте args перед бросанием
- child_process: spawn () не бросает TypeError
- константы: экспорт O_NONBLOCK
- crypto: улучшение использования памяти
- fs: закрыть файл, если fstat () не работает в readFile ()
- lib: имя метода прототипа EventEmitter
- tls: проблема с производительностью
Что нового в версии 0.10.27:
- child_process: исправить тупик при отправке дескрипторов
- child_process: исправление отправки дескриптора дважды
- crypto: не содержать строчные имена шифрования / хэша
- dtrace: ошибка обходного ссылки на FreeBSD
- http: не выдавать не читаемый сокет EOF
- http: invoke createConnection, когда агент отсутствует
- поток: удалите ненужную проверку.
- таймер: не перегружать ведро таймера в домене
- url: обрабатывать то же, что и /
- util: format as Error if instanceof Error
Что нового в версии 0.10.25:
- uv: переход на v0.10.23
- npm: обновить до версии 1.3.24
- v8: перечислить перечисление объектов с большим количеством свойств.
- child_process: исправить spwn () необязательные аргументы
- : сообщайте больше об ошибках рабочим
- domains: exit () влияет только на активные домены
- src: обработчик OnFatalError должен прервать ()
- поток: записи могут возвращать false, но забывают испускать утечку
кластер
Что нового в версии 0.10.24:
- uv: переход на v0.10.21
- npm: обновление до 1.3.21
- v8: исправление резервного копирования для CVE-2013- {6639 | 6640}
- build: unix install node и dep library headers
- cluster, v8: fix --logfile =% p.log
- модуль: только основной пакет кеша
Что нового в версии 0.10.22:
- npm: переход на 1.3.14
- uv: перейти на v0.10.19
- child_process: не сообщать о событиях файлового дескриптора
- darwin: исправить «Не реагировать» в мониторе активности Mavericks.
- отладчик: исправить ошибку в sb () с неназванным скриптом
- repl: не вставлять дубликаты в завершение
- src: исправить утечку памяти на закрытых ручках
Что нового в версии 0.10.19:
- uv: перейти на v0.10.17
- npm: обновление до 1.3.11
- readline: ввод ввода, начинающийся с символов управления
- configure: добавьте опцию mips-float-abi (soft, hard)
- stream: objectMode transforms allow falsey
- tls: предотвратить дублирование значений, возвращаемых с чтения
Что нового в версии 0.10.17:
- uv: Обновление v0.10.14
- http_parser: Не принимайте методы PUN / GEM как PUT / GET
- tls: исправить утверждение, когда ssl уничтожается при чтении
- поток: введите «ошибка», если удаленные пользователи
- dgram: исправить утверждение о неудачных аргументах send ()
- readline: приостановить stdin перед отключением режима raw raw.
Что нового в версии 0.10.16:
- npm: обновить до 1.3.8
- crypto: исправить assert () на некорректном шестнадцатеричном входе
- crypto: исправить утечку памяти в пути randomBytes () ошибки
- события: исправить утечку памяти, не просачивать имена событий
- http: правильно обрабатывать кодировки hex / base64
- http: улучшена производительность работы с записью res.write (buf)
- поток: исправить ошибку двойного канала исправить
Что нового в версии 0.11.2:
- Обновление до 0.11.2
- Обновление до версии 3.19.0
- Обновление до 1.2.21
- build: Makefile должен уважать configure --prefix
- : используйте балансировку нагрузки по кругу.
- отладчик, кластер: каждый рабочий имеет новый порт отладки
- отладчик: `restart` с настраиваемым портом отладки
- отладчик: точки останова в незагруженных сценариях
- событие: EventEmitter # setMaxListeners () возвращает это
- события: добавить EventEmitter.defaultMaxListeners
кластер
Что нового в версии 0.10.10:
- uv: обновить до 0.10.10
- npm: переход на 1.2.25
- url: правильно разобрать определенные нечетко сформированные URL-адреса.
- поток: unshift ('') - это noop
Что нового в версии 0.10.9:
- npm: переход на 1.2.24
- uv: переход на v0.10.9
- repl: исправить ошибку проверки JSON.parse
- tls: правильный .destroySoon
- tls: вызывать запись cb только после противоположного конца чтения
- tls: игнорировать ошибку .shutdown () syscall
Что нового в версии 0.10.7:
- npm: обновить до 1.2.21
- crypto: не игнорировать проверку аргумента кодирования
- buffer, crypto: исправить регрессию кодирования по умолчанию
- таймеры: fix setInterval () assert
Что нового в версии 0.10.6:
- поток: make Readable.wrap поддерживает objectMode, пустые потоки
- child_process: исправление доставки дескриптора
- crypto: регрессия производительности Fix
- src: кодирование / декодирование строки DRY
Что нового в версии 0.10.5:
- build: добавлена поддержка Visual Studio 2012.
- http: Не пытайтесь уничтожить несуществующие сокеты.
- crypto: LazyTransform по свойствам, а не методам.
- assert: поместите информацию в err.message, а не в err.name.
- dgram: исправить отсутствие привязки адреса ().
- handle_wrap: устранить разыменование указателя NULL.
- os: исправить недопустимое переполнение буфера в os.type ().
- stream: Исправить условия раскола ().
Что нового в версии 0.10.4:
- http: Поддержка write (data, 'hex').
- crypto: секрет dh должен быть оставлен.
- : выведите NODE_MODULE_VERSION в process.versions.
- crypto: вызов конструктора fix в криптовых потоках.
- net: учет для кодирования в .byteLength.
- net: исправить повторение итерации буфера в байтах.
- crypto: ноль не является ошибкой при записи 0 байтов.
Что нового в версии 0.10.2:
- tls: удалить опасную ненужную проверку границ.
- crypto: make getCiphers () возвращает не SSL-шифры.
- crypto: проверьте аргумент размера randomBytes ().
- таймеры: не вычисляйте свойство Timeout._when.
- таймеры: исправить ошибку за один мс.
- таймеры: дескриптор переполнения int32 в enroll ().
- stream: Fix stall в Transform при очень специфических условиях.
- stream: обрабатывать поздние «читаемые» прослушиватели событий.
- stream: исправить ранний конец в Writables при записи нулевой длины.
- домен: исправить запрос домена из MakeCallback.
- child_process: не выделяйте один и тот же дескриптор дважды.
Комментарии не найдены