Spec-Zone.ru › Node.js 10 LTS

Устаревшие API

Node.js может устаревать API, когда: (a) использование API считается небезопасным, (b) доступен улучшенный альтернативный API или (c) ожидаются изменения в API в будущей основной версии.

Node.js использует три типа устаревания:

  • Только документация
  • Выполнение
  • Конец жизненного цикла

Устаревание только документации выражается только в документации API Node.js. При выполнении Node.js оно не приводит к побочным эффектам. Некоторые устаревания только документации вызывают предупреждение во время выполнения при запуске с флагом --pending-deprecation (или его альтернативой, переменной среды NODE_PENDING_DEPRECATION=1), аналогично устареваниям во время выполнения ниже. Устаревания только документации, которые поддерживают этот флаг, явно помечены как таковые в списке устаревших API.

Устаревание во время выполнения по умолчанию генерирует предупреждение процесса, которое будет выведено в stderr при первом использовании устаревшего API. При использовании флага --throw-deprecation команда вызовет ошибку.

Устаревание «конец жизненного цикла» используется, когда функциональность удалена или будет вскоре удалена из Node.js.

Отмена устаревания

Иногда устаревание API может быть отменено. В таких ситуациях этот документ будет обновлен с информацией, относящейся к этому решению. Однако идентификатор устаревания не будет изменён.

Список устаревших API

DEP0001: http.OutgoingMessage.prototype.flush

История
Версия Изменения
v4.8.6, v6.12.0

Был назначен код устаревания.

v1.6.0

Устаревание во время выполнения.

Тип: Выполнение

Метод OutgoingMessage.prototype.flush() устарел. Используйте OutgoingMessage.prototype.flushHeaders() вместо него.

DEP0002: require('_linklist')

История
Версия Изменения
v8.0.0

Конец жизненного цикла.

v6.12.0

Был назначен код устаревания.

v5.0.0

Устаревание во время выполнения.

Тип: Конец жизненного цикла

Модуль _linklist устарел. Пожалуйста, используйте альтернативу на пользовательском уровне.

DEP0003: _writableState.buffer

История
Версия Изменения
v4.8.6, v6.12.0

Был назначен код устаревания.

v0.11.15

Устаревание во время выполнения.

Тип: Выполнение

Свойство _writableState.buffer устарело. Используйте метод _writableState.getBuffer() вместо него.

DEP0004: CryptoStream.prototype.readyState

История
Версия Изменения
v10.0.0

Конец жизненного цикла.

v4.8.6, v6.12.0

Был назначен код устаревания.

0.4.0

Устаревание только документации.

Тип: Конец жизненного цикла

Свойство CryptoStream.prototype.readyState было удалено.

DEP0005: Конструктор Buffer()

История
Версия Изменения
v10.0.0

Устаревание во время выполнения.

v6.12.0

Был назначен код устаревания.

v6.0.0

Устаревание только документации.

Тип: Выполнение (поддерживает --pending-deprecation)

Функция Buffer() и конструктор new Buffer() устарели из-за проблем с удобством использования API, которые могут привести к случайным проблемам безопасности.

В качестве альтернативы настоятельно рекомендуется использовать следующие методы создания объектов Buffer:

  • Buffer.alloc(size[, fill[, encoding]]) — создать Buffer с инициализированной памятью.
  • Buffer.allocUnsafe(size) — создать Buffer с неинициализированной памятью.
  • Buffer.allocUnsafeSlow(size) — создать Buffer с неинициализированной памятью.
  • Buffer.from(array) — создать Buffer с копией array
  • Buffer.from(arrayBuffer[, byteOffset[, length]]) — создать Buffer, который оборачивает заданный arrayBuffer.
  • Buffer.from(buffer) — создать Buffer, который копирует buffer.
  • Buffer.from(string[, encoding]) — создать Buffer, который копирует string.

Начиная с версии v10.0.0, при использовании --pending-deprecation или когда вызывающий код находится вне node_modules, во время выполнения выводится предупреждение об устаревании для лучшей нацеленности на разработчиков, а не на пользователей.

DEP0006: child_process options.customFds

История
Версия Изменения
v4.8.6, v6.12.0

Был назначен код устаревания.

v0.11.14

Устаревание во время выполнения.

v0.5.11

Устаревание только документации.

Тип: Выполнение

В модуле child_process методы spawn(), fork(), и exec() параметр options.customFds устарел. Следует использовать параметр options.stdio.

DEP0007: Замените cluster worker.suicide на worker.exitedAfterDisconnect

История
Версия Изменения
v9.0.0

Конец жизненного цикла.

v7.0.0

Устаревание во время выполнения.

v6.12.0

Был назначен код устаревания.

v6.0.0

Устаревание только документации.

Тип: Конец жизненного цикла

В более ранней версии Node.js cluster, объекту Worker было добавлено булево свойство с именем suicide. Целью этого свойства было указать, как и почему экземпляр Worker завершил работу. В Node.js 6.0.0 старое свойство было устаревшим и заменено новым свойством worker.exitedAfterDisconnect. Старое имя свойства не точно описывало фактические семантику и было излишне эмоционально нагружено.

DEP0008: require('constants')

История
Версия Изменения
v6.12.0

Был назначен код устаревания.

v6.3.0

Устаревание только документации.

Тип: Только документация

Модуль constants устарел. При необходимости доступа к константам, относящимся к конкретным встроенным модулям Node.js, разработчики должны вместо этого обратиться к свойству constants, предоставляемому соответствующим модулем. Например, require('fs').constants и require('os').constants.

DEP0009: crypto.pbkdf2 без digest

История
Версия Изменения
v8.0.0

Конец жизненного цикла.

v6.12.0

Был назначен код устаревания.

v6.0.0

Устаревание во время выполнения.

Тип: Конец жизненного цикла

Использование API crypto.pbkdf2() без указания digest устарело в Node.js 6.0, поскольку метод по умолчанию использовал нерекомендуемый digest 'SHA1'. Ранее выдавалось предупреждение об устаревании. Начиная с Node.js 8.0.0, вызов crypto.pbkdf2() или crypto.pbkdf2Sync() с неопределённым digest приведет к броску исключения TypeError.

DEP0010: crypto.createCredentials

История
Версия Изменения
v4.8.6, v6.12.0

Был назначен код устаревания.

v0.11.13

Устаревание во время выполнения.

Тип: Выполнение

API crypto.createCredentials() устарел. Используйте tls.createSecureContext() вместо него.

DEP0011: crypto.Credentials

История
Версия Изменения
v4.8.6, v6.12.0

Был назначен код устаревания.

v0.11.13

Устаревание во время выполнения.

Тип: Выполнение

Класс crypto.Credentials устарел. Используйте tls.SecureContext вместо него.

DEP0012: Domain.dispose

История
Версия Изменения
v9.0.0

Конец жизненного цикла.

v4.8.6, v6.12.0

Был назначен код устаревания.

v0.11.7

Устаревание во время выполнения.

Тип: Конец жизненного цикла

END_OF_DOCUMENT_MARKER

Domain.dispose() был удален. Восстановление от неудачных операций ввода-вывода должно осуществляться явно через обработчики событий ошибок, заданных в области.

DEP0013: асинхронная функция fs без обратного вызова

История
Версия Изменения
v10.0.0

Достиг конец жизненного цикла.

v7.0.0

Отслужила своё.

Тип: Достиг конец жизненного цикла

Вызов асинхронной функции без обратного вызова сбрасывает TypeError в Node.js 10.0.0 и новее. (См. https://github.com/nodejs/node/pull/12562.)

DEP0014: fs.read устаревшего интерфейса String

История
Версия Изменения
v8.0.0

Достиг конец жизненного цикла.

v6.0.0

Отслужила своё.

v4.8.6, v6.12.0

Присвоен код устаревания.

v0.1.96

Устаревание только в документации.

Тип: Достиг конец жизненного цикла

Устаревший интерфейс fs.read() String устарел. Используйте вместо этого API Buffer, как указано в документации.

DEP0015: fs.readSync устаревшего интерфейса String

История
Версия Изменения
v8.0.0

Достиг конец жизненного цикла.

v6.0.0

Отслужила своё.

v4.8.6, v6.12.0

Присвоен код устаревания.

v0.1.96

Устаревание только в документации.

Тип: Достиг конец жизненного цикла

Устарел устаревший интерфейс fs.readSync() String. Используйте вместо этого API Buffer, как указано в документации.

DEP0016: GLOBAL/root

История
Версия Изменения
v6.12.0

Присвоен код устаревания.

v6.0.0

Отслужила своё.

Тип: Отслужила своё

Псевдонимы GLOBAL и root для свойства global устарели и больше не должны использоваться.

DEP0017: Intl.v8BreakIterator

История
Версия Изменения
v9.0.0

Достиг конец жизненного цикла.

v7.0.0

Отслужила своё.

Тип: Достиг конец жизненного цикла

Intl.v8BreakIterator было нестандартным расширением и было удалено. См. Intl.Segmenter.

DEP0018: Необработанные отклонения обещаний

История
Версия Изменения
v7.0.0

Отслужила своё.

Тип: Отслужила своё

Необработанные отклонения обещаний устарели. В будущем отклонения обещаний, которые не обрабатываются, приведут к завершению процесса Node.js с ненулевым кодом выхода.

DEP0019: require('.') разрешено вне каталога

История
Версия Изменения
v4.8.6, v6.12.0

Присвоен код устаревания.

v1.8.1

Отслужила своё.

Тип: Отслужила своё

В определенных случаях require('.') может разрешаться за пределами каталога пакета. Это поведение устарело и будет удалено в будущей основной версии Node.js.

DEP0020: Server.connections

История
Версия Изменения
v4.8.6, v6.12.0

Присвоен код устаревания.

v0.9.7

Отслужила своё.

Тип: Отслужила своё

Свойство Server.connections устарело. Используйте вместо этого метод Server.getConnections().

DEP0021: Server.listenFD

История
Версия Изменения
v4.8.6, v6.12.0

Присвоен код устаревания.

v0.7.12

Отслужила своё.

Тип: Отслужила своё

Метод Server.listenFD() устарел. Используйте вместо этого Server.listen({fd: <number>}).

DEP0022: os.tmpDir()

История
Версия Изменения
v7.0.0

Отслужила своё.

Тип: Отслужила своё

API os.tmpDir() устарел. Используйте вместо этого os.tmpdir().

DEP0023: os.getNetworkInterfaces()

История
Версия Изменения
v4.8.6, v6.12.0

Присвоен код устаревания.

v0.6.0

Отслужила своё.

Тип: Отслужила своё

Метод os.getNetworkInterfaces() устарел. Используйте вместо этого свойство os.networkInterfaces.

DEP0024: REPLServer.prototype.convertToContext()

История
Версия Изменения
v9.0.0

Достиг конец жизненного цикла.

v7.0.0

Отслужила своё.

Тип: Достиг конец жизненного цикла

API REPLServer.prototype.convertToContext() был удален.

DEP0025: require('sys')

История
Версия Изменения
v4.8.6, v6.12.0

Присвоен код устаревания.

v1.0.0

Отслужила своё.

Тип: Отслужила своё

Модуль sys устарел. Используйте вместо него модуль util.

DEP0026: util.print()

История
Версия Изменения
v4.8.6, v6.12.0

Присвоен код устаревания.

v0.11.3

Отслужила своё.

Тип: Отслужила своё

API util.print() устарел. Используйте вместо него console.log().

DEP0027: util.puts()

История
Версия Изменения
v4.8.6, v6.12.0

Присвоен код устаревания.

v0.11.3

Отслужила своё.

Тип: Отслужила своё

API util.puts() устарел. Используйте вместо него console.log().

DEP0028: util.debug()

История
Версия Изменения
v4.8.6, v6.12.0

Присвоен код устаревания.

v0.11.3

Отслужила своё.

Тип: Отслужила своё

API util.debug() устарел. Используйте вместо него console.error().

DEP0029: util.error()

История
Версия Изменения
v4.8.6, v6.12.0

Присвоен код устаревания.

v0.11.3

Отслужила своё.

Тип: Отслужила своё

API util.error() устарел. Используйте вместо него console.error().

DEP0030: SlowBuffer

История
Версия Изменения
v6.12.0

Присвоен код устаревания.

v6.0.0

Устаревание только в документации.

Тип: Устаревание только в документации

Класс SlowBuffer устарел. Используйте вместо него Buffer.allocUnsafeSlow(size).

DEP0031: ecdh.setPublicKey()

История
Версия Изменения
v6.12.0

Присвоен код устаревания.

v5.2.0

Устаревание только в документации.

Тип: Устаревание только в документации

Метод ecdh.setPublicKey() теперь устарел, так как его включение в API бесполезно.

DEP0032: модуль domain

История
Версия Изменения
v4.8.6, v6.12.0

Присвоено код устаревания.

v1.4.2

Устаревание только в документации.

Тип: Устаревание только в документации

Модуль domain устарел и не должен использоваться.

DEP0033: EventEmitter.listenerCount()

История
Версия Изменения
v4.8.6, v6.12.0

Присвоено код устаревания.

v3.2.0

Устаревание только в документации.

Тип: Устаревание только в документации

API EventEmitter.listenerCount(emitter, eventName) устарело. Используйте вместо него emitter.listenerCount(eventName).

DEP0034: fs.exists(path, callback)[src]

История
Версия Изменения
v4.8.6, v6.12.0

Присвоено код устаревания.

v1.0.0

Устаревание только в документации.

Тип: Устаревание только в документации

API fs.exists(path, callback) устарело. Используйте вместо него fs.stat() или fs.access().

DEP0035: fs.lchmod(path, mode, callback)

История
Версия Изменения
v4.8.6, v6.12.0

Присвоено код устаревания.

v0.4.7

Устаревание только в документации.

Тип: Устаревание только в документации

API fs.lchmod(path, mode, callback) устарело.

DEP0036: fs.lchmodSync(path, mode)

История
Версия Изменения
v4.8.6, v6.12.0

Присвоено код устаревания.

v0.4.7

Устаревание только в документации.

Тип: Устаревание только в документации

API fs.lchmodSync(path, mode) устарело.

DEP0037: fs.lchown(path, uid, gid, callback)[src]

История
Версия Изменения
v10.6.0

Устаревание отменено.

v4.8.6, v6.12.0

Присвоено код устаревания.

v0.4.7

Устаревание только в документации.

Тип: Устаревание отменено

API fs.lchown(path, uid, gid, callback) устарело.

DEP0038: fs.lchownSync(path, uid, gid)[src]

История
Версия Изменения
v10.6.0

Устаревание отменено.

v4.8.6, v6.12.0

Присвоено код устаревания.

v0.4.7

Устаревание только в документации.

Тип: Устаревание отменено

API fs.lchownSync(path, uid, gid) устарело.

DEP0039: require.extensions

История
Версия Изменения
v4.8.6, v6.12.0

Присвоено код устаревания.

v0.10.6

Устаревание только в документации.

Тип: Устаревание только в документации

Свойство require.extensions устарело.

DEP0040: punycode module

История
Версия Изменения
v7.0.0

Устаревание только в документации.

Тип: Устаревание только в документации

Модуль punycode устарел. Используйте альтернативный вариант с пользовательским кодом.

DEP0041: NODE_REPL_HISTORY_FILE environment variable

История
Версия Изменения
v10.0.0

Конец жизненного цикла.

v4.8.6, v6.12.0

Присвоено код устаревания.

v3.0.0

Устаревание только в документации.

Тип: Конец жизненного цикла

Переменная среды NODE_REPL_HISTORY_FILE была удалена. Используйте вместо неё NODE_REPL_HISTORY.

DEP0042: tls.CryptoStream

История
Версия Изменения
v10.0.0

Конец жизненного цикла.

v4.8.6, v6.12.0

Присвоено код устаревания.

v0.11.3

Устаревание только в документации.

Тип: Конец жизненного цикла

Класс tls.CryptoStream был удалён. Используйте вместо него tls.TLSSocket.

DEP0043: tls.SecurePair

История
Версия Изменения
v8.0.0

Устаревание во время выполнения.

v6.12.0

Присвоено код устаревания.

v6.0.0

Устаревание только в документации.

v0.11.15

Устаревание отменено.

v0.11.3

Устаревание во время выполнения.

Тип: Устаревание только в документации

Класс tls.SecurePair устарел. Используйте вместо него tls.TLSSocket.

DEP0044: util.isArray()

История
Версия Изменения
v4.8.6, v6.12.0

Присвоено код устаревания.

v3.3.1, v4.0.0

Устаревание только в документации.

Тип: Устаревание только в документации

API util.isArray() устарело. Используйте Array.isArray() вместо него.

DEP0045: util.isBoolean()[src]

История
Версия Изменения
v4.8.6, v6.12.0

Присвоено код устаревания.

v3.3.1, v4.0.0

Устаревание только в документации.

Тип: Устаревание только в документации

API util.isBoolean() устарело.

DEP0046: util.isBuffer()

История
Версия Изменения
v4.8.6, v6.12.0

Присвоено код устаревания.

v3.3.1, v4.0.0

Устаревание только в документации.

Тип: Устаревание только в документации

API util.isBuffer() устарело. Используйте Buffer.isBuffer() вместо него.

DEP0047: util.isDate()

История
Версия Изменения
v4.8.6, v6.12.0

Присвоено код устаревания.

v3.3.1, v4.0.0

Устаревание только в документации.

Тип: Устаревание только в документации

API util.isDate() устарело.

DEP0048: util.isError()

История
Версия Изменения
v4.8.6, v6.12.0

Присвоено код устаревания.

v3.3.1, v4.0.0

Устаревание только в документации.

Тип: Устаревание только в документации

API util.isError() устарело.

DEP0049: util.isFunction()[src]

История
Версия Изменения
v4.8.6, v6.12.0

Присвоено код устаревания.

v3.3.1, v4.0.0

Устаревание только в документации.

Тип: Устаревание только в документации

API util.isFunction() устарело.

DEP0050: util.isNull()[src]

История
Версия Изменения
v4.8.6, v6.12.0

Был назначен код устаревания.

v3.3.1, v4.0.0

Устаревание только документации.

Тип: Только документация

API util.isNull() устарел.

DEP0051: util.isNullOrUndefined()[src]

История
Версия Изменения
v4.8.6, v6.12.0

Был назначен код устаревания.

v3.3.1, v4.0.0

Устаревание только документации.

Тип: Только документация

API util.isNullOrUndefined() устарел.

DEP0052: util.isNumber()[src]

История
Версия Изменения
v4.8.6, v6.12.0

Был назначен код устаревания.

v3.3.1, v4.0.0

Устаревание только документации.

Тип: Только документация

API util.isNumber() устарел.

DEP0053 util.isObject()

История
Версия Изменения
v4.8.6, v6.12.0

Был назначен код устаревания.

v3.3.1, v4.0.0

Устаревание только документации.

Тип: Только документация

API util.isObject() устарел.

DEP0054: util.isPrimitive()[src]

История
Версия Изменения
v4.8.6, v6.12.0

Был назначен код устаревания.

v3.3.1, v4.0.0

Устаревание только документации.

Тип: Только документация

API util.isPrimitive() устарел.

DEP0055: util.isRegExp()

История
Версия Изменения
v4.8.6, v6.12.0

Был назначен код устаревания.

v3.3.1, v4.0.0

Устаревание только документации.

Тип: Только документация

API util.isRegExp() устарел.

DEP0056: util.isString()[src]

История
Версия Изменения
v4.8.6, v6.12.0

Был назначен код устаревания.

v3.3.1, v4.0.0

Устаревание только документации.

Тип: Только документация

API util.isString() устарел.

DEP0057: util.isSymbol()[src]

История
Версия Изменения
v4.8.6, v6.12.0

Был назначен код устаревания.

v3.3.1, v4.0.0

Устаревание только документации.

Тип: Только документация

API util.isSymbol() устарел.

DEP0058: util.isUndefined()[src]

История
Версия Изменения
v4.8.6, v6.12.0

Был назначен код устаревания.

v3.3.1, v4.0.0

Устаревание только документации.

Тип: Только документация

API util.isUndefined() устарел.

DEP0059: util.log()[src]

История
Версия Изменения
v6.12.0

Был назначен код устаревания.

v6.0.0

Устаревание только документации.

Тип: Только документация

API util.log() устарел.

DEP0060: util._extend()

История
Версия Изменения
v6.12.0

Был назначен код устаревания.

v6.0.0

Устаревание только документации.

Тип: Только документация

API util._extend() устарел.

DEP0061: fs.SyncWriteStream

История
Версия Изменения
v8.0.0

Устаревание во время выполнения.

v7.0.0

Устаревание только документации.

Тип: Время выполнения

Класс fs.SyncWriteStream никогда не предназначался для использования в качестве публичного API. Альтернативный API недоступен. Используйте альтернативу пользовательского уровня.

DEP0062: node --debug

История
Версия Изменения
v8.0.0

Устаревание во время выполнения.

Тип: Время выполнения

--debug активирует устаревший интерфейс отладчика V8, который был удален начиная с V8 5.8. Он заменён на Inspector, который активируется с помощью --inspect.

DEP0063: ServerResponse.prototype.writeHeader()

История
Версия Изменения
v8.0.0

Устаревание только документации.

Тип: Только документация

API модуля http ServerResponse.prototype.writeHeader() устарел. Используйте ServerResponse.prototype.writeHead() вместо него.

Метод ServerResponse.prototype.writeHeader() никогда не документировался как официально поддерживаемый API.

DEP0064: tls.createSecurePair()

История
Версия Изменения
v8.0.0

Устаревание во время выполнения.

v6.12.0

Был назначен код устаревания.

v6.0.0

Устаревание только документации.

v0.11.15

Устаревание отменено.

v0.11.3

Устаревание во время выполнения.

Тип: Время выполнения

API tls.createSecurePair() был устарел в документации в Node.js 0.11.3. Пользователи должны использовать tls.Socket вместо него.

DEP0065: repl.REPL_MODE_MAGIC and NODE_REPL_MODE=magic

История
Версия Изменения
v10.0.0

Конец жизненного цикла.

v8.0.0

Устаревание только документации.

Тип: Конец жизненного цикла

Постоянная repl модуля REPL_MODE_MAGIC, используемая для опции replMode, была удалена. Её поведение было функционально идентично поведению REPL_MODE_SLOPPY с Node.js 6.0.0, когда был импортирован V8 5.0. Используйте REPL_MODE_SLOPPY вместо этого.

Переменная среды NODE_REPL_MODE используется для установки базового replMode интерактивной сессии node. Её значение magic также удалено. Используйте sloppy вместо этого.

DEP0066: outgoingMessage._headers, outgoingMessage._headerNames

История
Версия Изменения
v8.0.0

Устаревание только документации.

Тип: Только документация

Свойства http модуля outgoingMessage._headers и outgoingMessage._headerNames устарели. Используйте один из публичных методов (например, outgoingMessage.getHeader(), outgoingMessage.getHeaders(), outgoingMessage.getHeaderNames(), outgoingMessage.hasHeader(), outgoingMessage.removeHeader(), outgoingMessage.setHeader()) для работы с исходящими заголовками.

Свойства outgoingMessage._headers и outgoingMessage._headerNames никогда не документировались как официально поддерживаемые.

DEP0067: OutgoingMessage.prototype._renderHeaders

История
Версия Изменения
v8.0.0

Устаревание только документации.

Тип: Только документация

API модуля http OutgoingMessage.prototype._renderHeaders() устарел.

END_OF_DOCUMENT_MARKER

Свойство OutgoingMessage.prototype._renderHeaders никогда не документировалось как официально поддерживаемый API.

DEP0068: node debug

История
Версия Изменения
v8.0.0

Отмена поддержки в среде выполнения.

Тип: Среда выполнения

node debug соответствует устаревшему дебаггеру командной строки, который был заменён дебаггером командной строки на основе V8-инспектора, доступным через node inspect.

DEP0069: vm.runInDebugContext(string)

История
Версия Изменения
v10.0.0

Конец жизненного цикла.

v9.0.0

Отмена поддержки в среде выполнения.

v8.0.0

Отмена поддержки только в документации.

Тип: Конец жизненного цикла

DebugContext был удалён в V8 и не доступен в Node.js 10+.

DebugContext был экспериментальным API.

DEP0070: async_hooks.currentId()

История
Версия Изменения
v9.0.0

Конец жизненного цикла.

v8.2.0

Отмена поддержки в среде выполнения.

Тип: Конец жизненного цикла

async_hooks.currentId() было переименовано в async_hooks.executionAsyncId() для ясности.

Это изменение было сделано, пока async_hooks был экспериментальным API.

DEP0071: async_hooks.triggerId()

История
Версия Изменения
v9.0.0

Конец жизненного цикла.

v8.2.0

Отмена поддержки в среде выполнения.

Тип: Конец жизненного цикла

async_hooks.triggerId() было переименовано в async_hooks.triggerAsyncId() для ясности.

Это изменение было сделано, пока async_hooks был экспериментальным API.

DEP0072: async_hooks.AsyncResource.triggerId()

История
Версия Изменения
v9.0.0

Конец жизненного цикла.

v8.2.0

Отмена поддержки в среде выполнения.

Тип: Конец жизненного цикла

async_hooks.AsyncResource.triggerId() было переименовано в async_hooks.AsyncResource.triggerAsyncId() для ясности.

Это изменение было сделано, пока async_hooks был экспериментальным API.

DEP0073: Несколько внутренних свойств net.Server

История
Версия Изменения
v10.0.0

Конец жизненного цикла.

v9.0.0

Отмена поддержки в среде выполнения.

Тип: Конец жизненного цикла

Доступ к нескольким внутренним, не документированным свойствам экземпляров net.Server с неподходящими именами устарел.

Поскольку оригинальный API не был документирован и не был в целом полезен для кода, не относящегося к внутренним частям, заменяющий API не предоставляется.

DEP0074: REPLServer.bufferedCommand

История
Версия Изменения
v9.0.0

Отмена поддержки в среде выполнения.

Тип: Среда выполнения

Свойство REPLServer.bufferedCommand устарело в пользу REPLServer.clearBufferedCommand().

DEP0075: REPLServer.parseREPLKeyword()

История
Версия Изменения
v9.0.0

Отмена поддержки в среде выполнения.

Тип: Среда выполнения

REPLServer.parseREPLKeyword() был удалён из видимости пользовательского кода.

DEP0076: tls.parseCertString()

История
Версия Изменения
v9.0.0

Отмена поддержки в среде выполнения.

v8.6.0

Отмена поддержки только в документации.

Тип: Среда выполнения

tls.parseCertString() — это тривиальная функция-помощник для парсинга, которая была случайно сделана общедоступной. Эту функцию обычно можно заменить на:

const querystring = require('querystring');
querystring.parse(str, '\n', '=');

Эта функция не полностью эквивалентна querystring.parse(). Одно из отличий заключается в том, что querystring.parse() выполняет декодирование URL:

> querystring.parse('%E5%A5%BD=1', '\n', '=');
{ '好': '1' }
> tls.parseCertString('%E5%A5%BD=1');
{ '%E5%A5%BD': '1' }

DEP0077: Module._debug()

История
Версия Изменения
v9.0.0

Отмена поддержки в среде выполнения.

Тип: Среда выполнения

Module._debug() устарел.

Функция Module._debug() никогда не документировалась как официально поддерживаемый API.

DEP0078: REPLServer.turnOffEditorMode()

История
Версия Изменения
v9.0.0

Отмена поддержки в среде выполнения.

Тип: Среда выполнения

REPLServer.turnOffEditorMode() был удалён из видимости пользовательского кода.

DEP0079: Настройка функции проверки объектов с помощью .inspect()

История
Версия Изменения
v10.0.0

Отмена поддержки в среде выполнения.

v8.7.0

Отмена поддержки только в документации.

Тип: Среда выполнения

Использование свойства с именем inspect в объекте для указания пользовательской функции проверки для util.inspect() устарело. Используйте util.inspect.custom вместо этого. Для обратной совместимости с Node.js до версии 6.4.0 оба могут быть указаны.

DEP0080: path._makeLong()

История
Версия Изменения
v9.0.0

Отмена поддержки только в документации.

Тип: Отмена поддержки только в документации

Внутренняя функция path._makeLong() не предназначалась для использования в пользовательском коде. Тем не менее, модули пользовательского кода нашли ей полезное применение. Внутренний API устарел и заменён идентичной, общедоступной функцией path.toNamespacedPath().

DEP0081: fs.truncate() с использованием дескриптора файла[src]

История
Версия Изменения
v9.0.0

Отмена поддержки в среде выполнения.

Тип: Среда выполнения

fs.truncate() fs.truncateSync() использование с дескриптором файла устарело. Пожалуйста, используйте fs.ftruncate() или fs.ftruncateSync() для работы с дескрипторами файлов.

DEP0082: REPLServer.prototype.memory()

История
Версия Изменения
v9.0.0

Отмена поддержки в среде выполнения.

Тип: Среда выполнения

REPLServer.prototype.memory() необходима только для внутренних механизмов самого REPLServer. Не используйте эту функцию.

DEP0083: Отключение ECDH путём установки ecdhCurve в false

История
Версия Изменения
v10.0.0

Конец жизненного цикла.

v9.2.0

Отмена поддержки в среде выполнения.

Тип: Конец жизненного цикла.

Параметр ecdhCurve для tls.createSecureContext() и tls.TLSSocket можно было установить в false для полного отключения ECDH на сервере. Этот режим устарел в ожидании миграции к OpenSSL 1.1.0 и согласованности с клиентом и теперь не поддерживается. Используйте параметр ciphers вместо этого.

DEP0084: требование зависимостей, входящих в состав пакета

История
Версия Изменения
v10.0.0

Отмена поддержки в среде выполнения.

Тип: Среда выполнения

С версий Node.js 4.4.0 и 5.2.0 несколько модулей, предназначенных только для внутреннего использования, ошибочно были доступны для пользовательского кода через require(). Эти модули:

  • v8/tools/codemap
  • v8/tools/consarray
  • v8/tools/csvparser
  • v8/tools/logreader
  • v8/tools/profile_view
  • v8/tools/profile
  • v8/tools/SourceMap
  • v8/tools/splaytree
  • v8/tools/tickprocessor-driver
  • v8/tools/tickprocessor
  • node-inspect/lib/_inspect (с версии 7.6.0)
  • node-inspect/lib/internal/inspect_client (с версии 7.6.0)
  • node-inspect/lib/internal/inspect_repl (с версии 7.6.0)

Модули v8/* не имеют экспортов и, если их не импортировать в определённом порядке, будут вызывать ошибки. В связи с этим, практически нет обоснованных случаев для их импорта через require().

С другой стороны, node-inspect можно установить локально через менеджер пакетов, поскольку он опубликован в реестре npm под тем же именем. При этом не требуется модификация исходного кода.

DEP0085: Чутко чувствительный API AsyncHooks

История
Версия Изменения
10.0.0

Конец жизненного цикла.

v8.10.0, v9.4.0

Отмена поддержки в среде выполнения.

Тип: Конец жизненного цикла

API AsyncHooks Sensitive никогда не документировался и имел различные незначительные проблемы. (См. https://github.com/nodejs/node/issues/15572.) Используйте API AsyncResource вместо него.

DEP0086: Удалить runInAsyncIdScope

История
Версия Изменения
10.0.0

Конец жизненного цикла.

v8.10.0, v9.4.0

Отложенное использование в исполняемой среде.

Тип: Конец жизненного цикла

runInAsyncIdScope не излучает событие 'before' или 'after' и может, таким образом, вызвать множество проблем. Для получения более подробной информации см. https://github.com/nodejs/node/issues/14328.

DEP0089: require('assert')

История
Версия Изменения
v9.9.0, v10.0.0

Отложенное использование только в документации.

Тип: Только для документации

Прямой импорт assert не рекомендуется, так как открытые функции будут использовать проверку на слабое равенство. Используйте require('assert').strict вместо него. API такой же, как у устаревшего assert, но он всегда будет использовать проверку на строгое равенство.

DEP0090: Неверные длины аутентификационных тегов GCM

История
Версия Изменения
v10.0.0

Отложенное использование в исполняемой среде.

Тип: Исполняемая среда

Node.js поддерживает все длины аутентификационных тегов GCM, которые принимаются OpenSSL при вызове decipher.setAuthTag(). Это поведение изменится в будущей версии, в которой будут разрешены только длины аутентификационных тегов 128, 120, 112, 104, 96, 64 и 32 бита. Аутентификационные теги, длина которых не включена в этот список, будут считаться недействительными в соответствии со спецификацией NIST SP 800-38D.

DEP0091: crypto.DEFAULT_ENCODING

История
Версия Изменения
v10.0.0

Отложенное использование в исполняемой среде.

Тип: Исполняемая среда

Свойство crypto.DEFAULT_ENCODING устарело.

DEP0092: Глобальный this привязан к module.exports

История
Версия Изменения
v10.0.0

Отложенное использование только в документации.

Тип: Только для документации

Присвоение свойств глобальному this в качестве альтернативы module.exports устарело. Разработчики должны использовать exports или module.exports вместо него.

DEP0093: crypto.fips устарело и заменено.

История
Версия Изменения
v10.0.0

Отложенное использование только в документации.

Тип: Только для документации

Свойство crypto.fips устарело. Пожалуйста, используйте crypto.setFips() и crypto.getFips() вместо него.

DEP0094: Использование assert.fail() с более чем одним аргументом.

История
Версия Изменения
v10.0.0

Отложенное использование в исполняемой среде.

Тип: Исполняемая среда

Использование assert.fail() с более чем одним аргументом устарело. Используйте assert.fail() только с одним аргументом или другой метод модуля assert.

DEP0095: timers.enroll()[src]

История
Версия Изменения
v10.0.0

Отложенное использование в исполняемой среде.

Тип: Исполняемая среда

timers.enroll() устарело. Пожалуйста, используйте публично документированные setTimeout() или setInterval() вместо него.

DEP0096: timers.unenroll()[src]

История
Версия Изменения
v10.0.0

Отложенное использование в исполняемой среде.

Тип: Исполняемая среда

timers.unenroll() устарело. Пожалуйста, используйте публично документированные clearTimeout() или clearInterval() вместо него.

DEP0097: MakeCallback со свойством domain

История
Версия Изменения
v10.0.0

Отложенное использование в исполняемой среде.

Тип: Исполняемая среда

Пользователям MakeCallback , которые добавляют свойство domain для переноса контекста, следует начать использовать вариант async_context MakeCallback или CallbackScope, или высокоуровневый класс AsyncResource.

DEP0098: AsyncHooks Embedder AsyncResource.emitBefore и AsyncResource.emitAfter API

История
Версия Изменения
v8.12.0, v9.6.0, v10.0.0

Отложенное использование в исполняемой среде.

Тип: Исполняемая среда

Встроенный API AsyncHooks предоставляет методы .emitBefore() и .emitAfter(), которые очень легко использовать неправильно, что может привести к необратимым ошибкам.

Используйте asyncResource.runInAsyncScope() API вместо него, который предоставляет гораздо более безопасную и удобную альтернативу. Для получения более подробной информации см. https://github.com/nodejs/node/pull/18513.

DEP0099: async контекстно-независимые node::MakeCallback C++ API

История
Версия Изменения
v10.0.0

Отложенное использование на этапе компиляции.

Тип: Отложенное использование на этапе компиляции

Некоторые версии API node::MakeCallback , доступные для модулей с нативным кодом, устарели. Пожалуйста, используйте версии API, которые принимают параметр async_context.

DEP0100: process.assert()

История
Версия Изменения
v10.0.0

Отложенное использование в исполняемой среде.

v0.3.7

Отложенное использование только в документации.

Тип: Исполняемая среда

process.assert() устарело. Пожалуйста, используйте модуль assert вместо него.

Эта функция никогда не была документирована.

DEP0101: --with-lttng

История
Версия Изменения
v10.0.0

Конец жизненного цикла.

Тип: Конец жизненного цикла

Опция компиляции --with-lttng была удалена.

DEP0102: Использование noAssert в операциях Buffer#(read|write).

История
Версия Изменения
v10.0.0

Конец жизненного цикла.

Тип: Конец жизненного цикла

Использование аргумента noAssert больше не имеет функциональности. Все вводные данные будут проверены независимо от того, установлено ли оно в true или нет. Пропуск проверки может привести к трудно обнаруживаемым ошибкам и сбоям.

DEP0103: process.binding('util').is[...] типы проверок

История
Версия Изменения
v10.9.0

Заменено на DEP0111.

v10.0.0

Отложенное использование только в документации.

Тип: Только для документации (поддерживает --pending-deprecation)

Использование process.binding() в целом следует избегать. Методы проверки типов, в частности, можно заменить использованием util.types.

Данное устаревание заменено устареванием API process.binding() (DEP0111).

DEP0104: Приведение строк process.env к строковому типу

История
Версия Изменения
v10.0.0

Отложенное использование только в документации.

Тип: Только для документации (поддерживает --pending-deprecation)

При присваивании нестрокового свойства к process.env, присваиваемое значение неявно преобразуется в строку. Это поведение устарело, если присваиваемое значение не является строкой, булевым значением или числом. В будущем такое присвоение может вызвать ошибку. Преобразуйте свойство в строку перед его присвоением к process.env.

DEP0105: decipher.finaltol

История
Версия Изменения
v10.0.0

Запрещение во время выполнения.

Тип: Во время выполнения

decipher.finaltol() никогда не документировался и в настоящее время является псевдонимом для decipher.final(). В будущем эта API, скорее всего, будет удалена, и рекомендуется использовать decipher.final() вместо неё.

DEP0106: crypto.createCipher и crypto.createDecipher

История
Версия Изменения
v10.0.0

Запрещение только в документации.

Тип: Запрещение только в документации

Следует избегать использования crypto.createCipher() и crypto.createDecipher(), так как они используют слабое функцию вывода ключа (MD5 без соли) и статические векторы инициализации. Рекомендуется выводить ключ с помощью crypto.pbkdf2() или crypto.scrypt() и использовать crypto.createCipheriv() и crypto.createDecipheriv() для получения объектов Cipher и Decipher соответственно.

DEP0107: tls.convertNPNProtocols()

История
Версия Изменения
v10.0.0

Запрещение во время выполнения.

Тип: Во время выполнения

Это была недокументированная вспомогательная функция, не предназначенная для использования за пределами ядра Node.js, и устарела из-за удаления поддержки NPN (Next Protocol Negotiation).

DEP0108: zlib.bytesRead

История
Версия Изменения
v10.0.0

Запрещение только в документации.

Тип: Запрещение только в документации

Устаревший псевдоним для zlib.bytesWritten. Это оригинальное имя было выбрано, потому что оно также имело смысл для интерпретации значения как числа байтов, прочитанных движком, но несовместимо с другими потоками в Node.js, которые раскрывают значения под этими именами.

DEP0110: vm.Script кэшированные данные

История
Версия Изменения
v10.6.0

Запрещение только в документации.

Тип: Запрещение только в документации

Опция produceCachedData устарела. Используйте script.createCachedData() вместо неё.

DEP0111: process.binding()

История
Версия Изменения
v10.9.0

Запрещение только в документации.

Тип: Запрещение только в документации

process.binding() предназначен только для использования кодом Node.js.

© Joyent, Inc. and other Node contributors
Licensed under the MIT License.
Node.js is a trademark of Joyent, Inc. and is used with its permission.
We are not endorsed by or affiliated with Joyent.
https://nodejs.org/dist/latest-v10.x/docs/api/deprecations.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API