Skip to content

APIs Obsoletas

Las APIs de Node.js pueden quedar obsoletas por cualquiera de las siguientes razones:

  • El uso de la API no es seguro.
  • Existe una API alternativa mejorada.
  • Se esperan cambios importantes en la API en una versión principal futura.

Node.js utiliza cuatro tipos de obsolecencias:

  • Solo documentación
  • Aplicación (solo código que no sea de node_modules)
  • Tiempo de ejecución (todo el código)
  • Fin de la vida útil

Una obsolecencia de solo documentación es aquella que se expresa únicamente en la documentación de la API de Node.js. Estas no generan efectos secundarios mientras se ejecuta Node.js. Algunas obsolecencias de solo documentación desencadenan una advertencia en tiempo de ejecución cuando se inicia con la marca --pending-deprecation (o su alternativa, la variable de entorno NODE_PENDING_DEPRECATION=1), de manera similar a las obsolecencias en tiempo de ejecución que se describen a continuación. Las obsolecencias de solo documentación que admiten esa marca están etiquetadas explícitamente como tales en la lista de APIs obsoletas.

Una obsolecencia de aplicación solo para código que no sea de node_modules generará, de forma predeterminada, una advertencia de proceso que se imprimirá en stderr la primera vez que se utilice la API obsoleta en código que no se carga desde node_modules. Cuando se utiliza la marca de línea de comandos --throw-deprecation, una obsolecencia en tiempo de ejecución provocará que se lance un error. Cuando se utiliza --pending-deprecation, también se emitirán advertencias para el código cargado desde node_modules.

Una obsolecencia en tiempo de ejecución para todo el código es similar a la obsolecencia en tiempo de ejecución para el código que no es de node_modules, excepto que también emite una advertencia para el código cargado desde node_modules.

Una obsolecencia de fin de la vida útil se utiliza cuando la funcionalidad se ha eliminado o se eliminará pronto de Node.js.

Revocación de deprecaciones

Ocasionalmente, la deprecación de una API puede revertirse. En tales situaciones, este documento se actualizará con información relevante a la decisión. Sin embargo, el identificador de deprecación no se modificará.

Lista de APIs deprecadas

DEP0001: http.OutgoingMessage.prototype.flush

[Historial]

VersiónCambios
v14.0.0Fin de la vida útil.
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v1.6.0Deprecación en tiempo de ejecución.

Tipo: Fin de la vida útil

OutgoingMessage.prototype.flush() ha sido eliminado. Use OutgoingMessage.prototype.flushHeaders() en su lugar.

[Historial]

VersiónCambios
v8.0.0Fin de la vida útil.
v6.12.0Se ha asignado un código de deprecación.
v5.0.0Deprecación en tiempo de ejecución.

Tipo: Fin de la vida útil

El módulo _linklist está deprecado. Por favor, use una alternativa de usuario.

DEP0003: _writableState.buffer

[Historial]

VersiónCambios
v14.0.0Fin de la vida útil.
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v0.11.15Deprecación en tiempo de ejecución.

Tipo: Fin de la vida útil

_writableState.buffer ha sido eliminado. Use _writableState.getBuffer() en su lugar.

DEP0004: CryptoStream.prototype.readyState

[Historial]

VersiónCambios
v10.0.0Fin de la vida útil.
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v0.4.0Deprecación solo de documentación.

Tipo: Fin de la vida útil

Se eliminó la propiedad CryptoStream.prototype.readyState.

DEP0005: Constructor Buffer()

[Historial]

VersiónCambios
v10.0.0Deprecación en tiempo de ejecución.
v6.12.0Se ha asignado un código de deprecación.
v6.0.0Deprecación solo de documentación.

Tipo: Aplicación (solo código que no sea de node_modules)

La función Buffer() y el constructor new Buffer() están en desuso debido a problemas de usabilidad de la API que pueden provocar problemas de seguridad accidentales.

Como alternativa, utilice uno de los siguientes métodos para construir objetos Buffer:

Sin --pending-deprecation, las advertencias en tiempo de ejecución solo se producen para el código que no está en node_modules. Esto significa que no habrá advertencias de deprecación para el uso de Buffer() en las dependencias. Con --pending-deprecation, se genera una advertencia en tiempo de ejecución independientemente de dónde se produzca el uso de Buffer().

DEP0006: child_process options.customFds

[Historial]

VersiónCambios
v12.0.0Fin de la vida útil.
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v0.11.14Deprecación en tiempo de ejecución.
v0.5.10Deprecación solo en la documentación.

Tipo: Fin de la vida útil

Dentro de los métodos spawn(), fork() y exec() del módulo child_process, la opción options.customFds está en desuso. Se debe usar la opción options.stdio en su lugar.

DEP0007: Reemplace cluster worker.suicide con worker.exitedAfterDisconnect

[Historial]

VersiónCambios
v9.0.0Fin de la vida útil.
v7.0.0Deprecación en tiempo de ejecución.
v6.12.0Se ha asignado un código de deprecación.
v6.0.0Deprecación solo en la documentación.

Tipo: Fin de la vida útil

En una versión anterior de Node.js cluster, se agregó una propiedad booleana con el nombre suicide al objeto Worker. La intención de esta propiedad era proporcionar una indicación de cómo y por qué salió la instancia Worker. En Node.js 6.0.0, la propiedad anterior quedó en desuso y se reemplazó con una nueva propiedad worker.exitedAfterDisconnect. El antiguo nombre de propiedad no describía con precisión la semántica real y era innecesariamente cargado de emociones.

DEP0008: require('node:constants')

[Historial]

VersiónCambios
v6.12.0Se ha asignado un código de deprecación.
v6.3.0Deprecación solo de documentación.

Tipo: Solo documentación

El módulo node:constants está en desuso. Cuando se necesite acceder a constantes relevantes para módulos integrados específicos de Node.js, los desarrolladores deben referirse a la propiedad constants expuesta por el módulo relevante. Por ejemplo, require('node:fs').constants y require('node:os').constants.

DEP0009: crypto.pbkdf2 sin digest

[Historial]

VersiónCambios
v14.0.0Fin de la vida útil (para digest === null).
v11.0.0Deprecación en tiempo de ejecución (para digest === null).
v8.0.0Fin de la vida útil (para digest === undefined).
v6.12.0Se ha asignado un código de deprecación.
v6.0.0Deprecación en tiempo de ejecución (para digest === undefined).

Tipo: Fin de la vida útil

El uso de la API crypto.pbkdf2() sin especificar un digest quedó en desuso en Node.js 6.0 porque el método usaba por defecto el digest 'SHA1', no recomendado. Anteriormente, se mostraba una advertencia de deprecación. A partir de Node.js 8.0.0, llamar a crypto.pbkdf2() o crypto.pbkdf2Sync() con digest establecido en undefined lanzará un TypeError.

A partir de Node.js v11.0.0, llamar a estas funciones con digest establecido en null mostraría una advertencia de deprecación para alinearse con el comportamiento cuando digest es undefined.

Sin embargo, ahora, pasar undefined o null lanzará un TypeError.

DEP0010: crypto.createCredentials

[Historial]

VersiónCambios
v11.0.0Fin de la vida útil.
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v0.11.13Deprecación en tiempo de ejecución.

Tipo: Fin de la vida útil

Se eliminó la API crypto.createCredentials(). Use tls.createSecureContext() en su lugar.

DEP0011: crypto.Credentials

[Historial]

VersiónCambios
v11.0.0Fin de la vida útil.
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v0.11.13Deprecación en tiempo de ejecución.

Tipo: Fin de la vida útil

Se eliminó la clase crypto.Credentials. Use tls.SecureContext en su lugar.

DEP0012: Domain.dispose

[Historial]

VersiónCambios
v9.0.0Fin de la vida útil.
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v0.11.7Deprecación en tiempo de ejecución.

Tipo: Fin de la vida útil

Se eliminó Domain.dispose(). Recupérese de las acciones de E/S fallidas explícitamente a través de los manejadores de eventos de error establecidos en el dominio.

DEP0013: Función asincrónica fs sin devolución de llamada

[Historial]

VersiónCambios
v10.0.0Fin de la vida útil.
v7.0.0Deprecación en tiempo de ejecución.

Tipo: Fin de la vida útil

Llamar a una función asincrónica sin una devolución de llamada lanza un TypeError en Node.js 10.0.0 en adelante. Ver https://github.com/nodejs/node/pull/12562.

DEP0014: Interfaz de cadena heredada fs.read

[Historial]

VersiónCambios
v8.0.0Fin de la vida útil.
v6.0.0Deprecación en tiempo de ejecución.
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v0.1.96Deprecación solo en la documentación.

Tipo: Fin de la vida útil

La interfaz de cadena heredada fs.read() está en desuso. Utilice la API de Buffer como se menciona en la documentación.

DEP0015: Interfaz de cadena heredada fs.readSync

[Historial]

VersiónCambios
v8.0.0Fin de la vida útil.
v6.0.0Deprecación en tiempo de ejecución.
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v0.1.96Deprecación solo en la documentación.

Tipo: Fin de la vida útil

La interfaz de cadena heredada fs.readSync() está en desuso. Utilice la API de Buffer como se menciona en la documentación.

DEP0016: GLOBAL/root

[Historial]

VersiónCambios
v14.0.0Fin de la vida útil.
v6.12.0Se ha asignado un código de deprecación.
v6.0.0Deprecación en tiempo de ejecución.

Tipo: Fin de la vida útil

Los alias GLOBAL y root para la propiedad global quedaron en desuso en Node.js 6.0.0 y desde entonces se han eliminado.

DEP0017: Intl.v8BreakIterator

[Historial]

VersiónCambios
v9.0.0Fin de la vida útil.
v7.0.0Deprecación en tiempo de ejecución.

Tipo: Fin de la vida útil

Intl.v8BreakIterator era una extensión no estándar y se ha eliminado. Consulte Intl.Segmenter.

DEP0018: Rechazos de promesas no controlados

[Historial]

VersiónCambios
v15.0.0Fin de la vida útil.
v7.0.0Deprecación en tiempo de ejecución.

Tipo: Fin de la vida útil

Los rechazos de promesas no controlados están en desuso. De forma predeterminada, los rechazos de promesas que no se controlan terminan el proceso Node.js con un código de salida distinto de cero. Para cambiar la forma en que Node.js trata los rechazos no controlados, utilice la opción de línea de comandos --unhandled-rejections.

DEP0019: require('.') resuelto fuera del directorio

[Historial]

VersiónCambios
v12.0.0Funcionalidad eliminada.
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v1.8.1Deprecación en tiempo de ejecución.

Tipo: Fin de la vida útil

En ciertos casos, require('.') podría resolverse fuera del directorio del paquete. Este comportamiento se ha eliminado.

DEP0020: Server.connections

[Historial]

VersiónCambios
v15.0.0Server.connections ha sido eliminado.
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v0.9.7Deprecación en tiempo de ejecución.

Tipo: Fin de la vida útil

La propiedad Server.connections quedó en desuso en Node.js v0.9.7 y se ha eliminado. Por favor, use el método Server.getConnections() en su lugar.

DEP0021: Server.listenFD

[Historial]

VersiónCambios
v12.0.0Fin de la vida útil.
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v0.7.12Deprecación en tiempo de ejecución.

Tipo: Fin de la vida útil

El método Server.listenFD() quedó en desuso y se eliminó. Por favor, use Server.listen({fd: \<number\>}) en su lugar.

DEP0022: os.tmpDir()

[Historial]

VersiónCambios
v14.0.0Fin de la vida útil.
v7.0.0Obsoleto en tiempo de ejecución.

Tipo: Fin de la vida útil

La API os.tmpDir() quedó obsoleta en Node.js 7.0.0 y desde entonces se ha eliminado. Por favor, utilice os.tmpdir() en su lugar.

DEP0023: os.getNetworkInterfaces()

[Historial]

VersiónCambios
v12.0.0Fin de la vida útil.
v6.12.0, v4.8.6Se ha asignado un código de obsolescencia.
v0.6.0Obsoleto en tiempo de ejecución.

Tipo: Fin de la vida útil

El método os.getNetworkInterfaces() está obsoleto. Por favor, utilice el método os.networkInterfaces() en su lugar.

DEP0024: REPLServer.prototype.convertToContext()

[Historial]

VersiónCambios
v9.0.0Fin de la vida útil.
v7.0.0Obsoleto en tiempo de ejecución.

Tipo: Fin de la vida útil

La API REPLServer.prototype.convertToContext() ha sido eliminada.

DEP0025: require('node:sys')

[Historial]

VersiónCambios
v6.12.0, v4.8.6Se ha asignado un código de obsolescencia.
v1.0.0Obsoleto en tiempo de ejecución.

Tipo: Tiempo de ejecución

El módulo node:sys está obsoleto. Por favor, utilice el módulo util en su lugar.

DEP0026: util.print()

[Historial]

VersiónCambios
v12.0.0Fin de la vida útil.
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v0.11.3Deprecación en tiempo de ejecución.

Tipo: Fin de la vida útil

util.print() ha sido eliminado. Por favor, use console.log() en su lugar.

DEP0027: util.puts()

[Historial]

VersiónCambios
v12.0.0Fin de la vida útil.
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v0.11.3Deprecación en tiempo de ejecución.

Tipo: Fin de la vida útil

util.puts() ha sido eliminado. Por favor, use console.log() en su lugar.

DEP0028: util.debug()

[Historial]

VersiónCambios
v12.0.0Fin de la vida útil.
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v0.11.3Deprecación en tiempo de ejecución.

Tipo: Fin de la vida útil

util.debug() ha sido eliminado. Por favor, use console.error() en su lugar.

DEP0029: util.error()

[Historial]

VersiónCambios
v12.0.0Fin de la vida útil.
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v0.11.3Deprecación en tiempo de ejecución.

Tipo: Fin de la vida útil

util.error() ha sido eliminado. Por favor, utilice console.error() en su lugar.

DEP0030: SlowBuffer

[Historial]

VersiónCambios
v6.12.0Se ha asignado un código de deprecación.
v6.0.0Deprecación solo en la documentación.

Tipo: Solo documentación

La clase SlowBuffer está en desuso. Por favor, utilice Buffer.allocUnsafeSlow(size) en su lugar.

DEP0031: ecdh.setPublicKey()

[Historial]

VersiónCambios
v6.12.0Se ha asignado un código de deprecación.
v5.2.0Deprecación solo en la documentación.

Tipo: Solo documentación

El método ecdh.setPublicKey() está ahora en desuso, ya que su inclusión en la API no es útil.

DEP0032: Módulo node:domain

[Historial]

VersiónCambios
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v1.4.2Deprecación solo en la documentación.

Tipo: Solo documentación

El módulo domain está en desuso y no debe utilizarse.

DEP0033: EventEmitter.listenerCount()

[Historial]

VersiónCambios
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v3.2.0Deprecación solo en la documentación.

Tipo: Solo documentación

La API events.listenerCount(emitter, eventName) está en desuso. Por favor, utilice emitter.listenerCount(eventName) en su lugar.

DEP0034: fs.exists(path, callback)

[Historial]

VersiónCambios
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v1.0.0Deprecación solo en la documentación.

Tipo: Solo documentación

La API fs.exists(path, callback) está en desuso. Por favor, utilice fs.stat() o fs.access() en su lugar.

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

[Historial]

VersiónCambios
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v0.4.7Deprecación solo de documentación.

Tipo: Solo documentación

La API fs.lchmod(path, mode, callback) está en desuso.

DEP0036: fs.lchmodSync(path, mode)

[Historial]

VersiónCambios
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v0.4.7Deprecación solo de documentación.

Tipo: Solo documentación

La API fs.lchmodSync(path, mode) está en desuso.

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

[Historial]

VersiónCambios
v10.6.0Deprecación revocada.
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v0.4.7Deprecación solo de documentación.

Tipo: Deprecación revocada

La API fs.lchown(path, uid, gid, callback) estaba en desuso. La deprecación se revocó porque las API de soporte necesarias se agregaron en libuv.

DEP0038: fs.lchownSync(path, uid, gid)

[Historial]

VersiónCambios
v10.6.0Se revocó la deprecación.
v6.12.0, v4.8.6Se asignó un código de deprecación.
v0.4.7Deprecación solo en la documentación.

Tipo: Deprecación revocada

La API fs.lchownSync(path, uid, gid) estaba en desuso. La deprecación se revocó porque se agregaron las API de soporte necesarias en libuv.

DEP0039: require.extensions

[Historial]

VersiónCambios
v6.12.0, v4.8.6Se asignó un código de deprecación.
v0.10.6Deprecación solo en la documentación.

Tipo: Solo documentación

La propiedad require.extensions está en desuso.

DEP0040: Módulo node:punycode

[Historial]

VersiónCambios
v21.0.0Deprecación en tiempo de ejecución.
v16.6.0Se agregó compatibilidad con --pending-deprecation.
v7.0.0Deprecación solo en la documentación.

Tipo: Tiempo de ejecución

El módulo punycode está en desuso. Por favor, utilice una alternativa de usuario en su lugar.

DEP0041: Variable de entorno NODE_REPL_HISTORY_FILE

[Historial]

VersiónCambios
v10.0.0Fin de la vida útil.
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v3.0.0Deprecación solo en la documentación.

Tipo: Fin de la vida útil

Se eliminó la variable de entorno NODE_REPL_HISTORY_FILE. Utilice NODE_REPL_HISTORY en su lugar.

DEP0042: tls.CryptoStream

[Historial]

VersiónCambios
v10.0.0Fin de la vida útil.
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v0.11.3Deprecación solo en la documentación.

Tipo: Fin de la vida útil

Se eliminó la clase tls.CryptoStream. Utilice tls.TLSSocket en su lugar.

DEP0043: tls.SecurePair

[Historial]

VersiónCambios
v8.0.0Deprecación en tiempo de ejecución.
v6.12.0Se ha asignado un código de deprecación.
v6.0.0Deprecación solo en la documentación.
v0.11.15Deprecación revocada.
v0.11.3Deprecación en tiempo de ejecución.

Tipo: Solo documentación

La clase tls.SecurePair está en desuso. Utilice tls.TLSSocket en su lugar.

DEP0044: util.isArray()

[Historial]

VersiónCambios
v22.0.0Desuso en tiempo de ejecución.
v6.12.0, v4.8.6Se ha asignado un código de desuso.
v4.0.0, v3.3.1Desuso solo en la documentación.

Tipo: Tiempo de ejecución

La API util.isArray() está en desuso. Por favor, utilice Array.isArray() en su lugar.

DEP0045: util.isBoolean()

[Historial]

VersiónCambios
v23.0.0Desuso al final de su vida útil.
v22.0.0Desuso en tiempo de ejecución.
v6.12.0, v4.8.6Se ha asignado un código de desuso.
v4.0.0, v3.3.1Desuso solo en la documentación.

Tipo: Fin de la vida útil

La API util.isBoolean() ha sido eliminada. Por favor, utilice typeof arg === 'boolean' en su lugar.

DEP0046: util.isBuffer()

[Historial]

VersiónCambios
v23.0.0Desuso al final de su vida útil.
v22.0.0Desuso en tiempo de ejecución.
v6.12.0, v4.8.6Se ha asignado un código de desuso.
v4.0.0, v3.3.1Desuso solo en la documentación.

Tipo: Fin de la vida útil

La API util.isBuffer() ha sido eliminada. Por favor, utilice Buffer.isBuffer() en su lugar.

DEP0047: util.isDate()

[Historial]

VersiónCambios
v23.0.0Deprecación de fin de vida.
v22.0.0Deprecación en tiempo de ejecución.
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v4.0.0, v3.3.1Deprecación solo en la documentación.

Tipo: Fin de vida

Se ha eliminado la API util.isDate(). Por favor, utilice arg instanceof Date en su lugar.

DEP0048: util.isError()

[Historial]

VersiónCambios
v23.0.0Deprecación de fin de vida.
v22.0.0Deprecación en tiempo de ejecución.
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v4.0.0, v3.3.1Deprecación solo en la documentación.

Tipo: Fin de vida

Se ha eliminado la API util.isError(). Por favor, utilice Object.prototype.toString(arg) === '[object Error]' || arg instanceof Error en su lugar.

DEP0049: util.isFunction()

[Historial]

VersiónCambios
v23.0.0Deprecación de fin de vida.
v22.0.0Deprecación en tiempo de ejecución.
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v4.0.0, v3.3.1Deprecación solo en la documentación.

Tipo: Fin de vida

Se ha eliminado la API util.isFunction(). Por favor, utilice typeof arg === 'function' en su lugar.

DEP0050: util.isNull()

[Historial]

VersiónCambios
v23.0.0Deprecación de fin de vida.
v22.0.0Deprecación en tiempo de ejecución.
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v4.0.0, v3.3.1Deprecación solo en la documentación.

Tipo: Fin de vida

Se ha eliminado la API util.isNull(). Por favor, utilice arg === null en su lugar.

DEP0051: util.isNullOrUndefined()

[Historial]

VersiónCambios
v23.0.0Deprecación de fin de vida.
v22.0.0Deprecación en tiempo de ejecución.
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v4.0.0, v3.3.1Deprecación solo en la documentación.

Tipo: Fin de vida

Se ha eliminado la API util.isNullOrUndefined(). Por favor, utilice arg === null || arg === undefined en su lugar.

DEP0052: util.isNumber()

[Historial]

VersiónCambios
v23.0.0Deprecación de fin de vida.
v22.0.0Deprecación en tiempo de ejecución.
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v4.0.0, v3.3.1Deprecación solo en la documentación.

Tipo: Fin de vida

Se ha eliminado la API util.isNumber(). Por favor, utilice typeof arg === 'number' en su lugar.

DEP0053: util.isObject()

[Historial]

VersiónCambios
v23.0.0Deprecación de fin de vida.
v22.0.0Deprecación en tiempo de ejecución.
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v4.0.0, v3.3.1Deprecación solo en la documentación.

Tipo: Fin de vida

Se ha eliminado la API util.isObject(). Por favor, use arg && typeof arg === 'object' en su lugar.

DEP0054: util.isPrimitive()

[Historial]

VersiónCambios
v23.0.0Deprecación de fin de vida.
v22.0.0Deprecación en tiempo de ejecución.
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v4.0.0, v3.3.1Deprecación solo en la documentación.

Tipo: Fin de vida

Se ha eliminado la API util.isPrimitive(). Por favor, use arg === null || (typeof arg !=='object' && typeof arg !== 'function') en su lugar.

DEP0055: util.isRegExp()

[Historial]

VersiónCambios
v23.0.0Deprecación de fin de vida.
v22.0.0Deprecación en tiempo de ejecución.
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v4.0.0, v3.3.1Deprecación solo en la documentación.

Tipo: Fin de vida

Se ha eliminado la API util.isRegExp(). Por favor, use arg instanceof RegExp en su lugar.

DEP0056: util.isString()

[Historial]

VersiónCambios
v23.0.0Deprecación de fin de vida.
v22.0.0Deprecación en tiempo de ejecución.
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v4.0.0, v3.3.1Deprecación solo en la documentación.

Tipo: Fin de vida

Se ha eliminado la API util.isString(). Por favor, utilice typeof arg === 'string' en su lugar.

DEP0057: util.isSymbol()

[Historial]

VersiónCambios
v23.0.0Deprecación de fin de vida.
v22.0.0Deprecación en tiempo de ejecución.
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v4.0.0, v3.3.1Deprecación solo en la documentación.

Tipo: Fin de vida

Se ha eliminado la API util.isSymbol(). Por favor, utilice typeof arg === 'symbol' en su lugar.

DEP0058: util.isUndefined()

[Historial]

VersiónCambios
v23.0.0Deprecación de fin de vida.
v22.0.0Deprecación en tiempo de ejecución.
v6.12.0, v4.8.6Se ha asignado un código de deprecación.
v4.0.0, v3.3.1Deprecación solo en la documentación.

Tipo: Fin de vida

Se ha eliminado la API util.isUndefined(). Por favor, utilice arg === undefined en su lugar.

DEP0059: util.log()

[Historial]

VersiónCambios
v23.0.0Deprecación de fin de vida.
v22.0.0Deprecación en tiempo de ejecución.
v6.12.0Se ha asignado un código de deprecación.
v6.0.0Deprecación solo en la documentación.

Tipo: Fin de vida

La API util.log() se ha eliminado porque es una API heredada sin mantenimiento que se expuso accidentalmente al espacio de usuario. En su lugar, considere las siguientes alternativas en función de sus necesidades específicas:

  • Bibliotecas de registro de terceros
  • Use console.log(new Date().toLocaleString(), message)

Al adoptar una de estas alternativas, puede dejar de usar util.log() y elegir una estrategia de registro que se alinee con los requisitos y la complejidad específicos de su aplicación.

DEP0060: util._extend()

[Historial]

VersiónCambios
v22.0.0Deprecación en tiempo de ejecución.
v6.12.0Se ha asignado un código de deprecación.
v6.0.0Deprecación solo en la documentación.

Tipo: Tiempo de ejecución

La API util._extend() está en desuso porque es una API heredada sin mantenimiento que se expuso accidentalmente al espacio de usuario. Utilice target = Object.assign(target, source) en su lugar.

DEP0061: fs.SyncWriteStream

[Historial]

VersiónCambios
v11.0.0Fin de la vida útil.
v8.0.0Deprecación en tiempo de ejecución.
v7.0.0Deprecación solo en la documentación.

Tipo: Fin de la vida útil

La clase fs.SyncWriteStream nunca tuvo la intención de ser una API públicamente accesible y se ha eliminado. No hay ninguna API alternativa disponible. Por favor, utilice una alternativa de usuario.

DEP0062: node --debug

[Historial]

VersiónCambios
v12.0.0Fin de la vida útil.
v8.0.0Deprecación en tiempo de ejecución.

Tipo: Fin de la vida útil

--debug activa la interfaz del depurador V8 heredada, que se eliminó a partir de V8 5.8. Se reemplaza por Inspector, que se activa con --inspect.

DEP0063: ServerResponse.prototype.writeHeader()

[Historial]

VersiónCambios
v8.0.0Deprecación solo en la documentación.

Tipo: Solo documentación

La API node:http ServerResponse.prototype.writeHeader() está en desuso. Por favor, utilice ServerResponse.prototype.writeHead() en su lugar.

El método ServerResponse.prototype.writeHeader() nunca se documentó como una API oficialmente admitida.

DEP0064: tls.createSecurePair()

[Historial]

VersiónCambios
v8.0.0Obsoleto en tiempo de ejecución.
v6.12.0Se ha asignado un código de obsoleto.
v6.0.0Obsoleto solo en la documentación.
v0.11.15Se revoca la obsolescencia.
v0.11.3Obsoleto en tiempo de ejecución.

Tipo: Tiempo de ejecución

La API tls.createSecurePair() quedó obsoleta en la documentación en Node.js 0.11.3. Los usuarios deberían usar tls.Socket en su lugar.

DEP0065: repl.REPL_MODE_MAGIC y NODE_REPL_MODE=magic

[Historial]

VersiónCambios
v10.0.0Fin de la vida útil.
v8.0.0Obsoleto solo en la documentación.

Tipo: Fin de la vida útil

La constante REPL_MODE_MAGIC del módulo node:repl, usada para la opción replMode, ha sido eliminada. Su comportamiento ha sido funcionalmente idéntico al de REPL_MODE_SLOPPY desde Node.js 6.0.0, cuando se importó V8 5.0. Por favor, use REPL_MODE_SLOPPY en su lugar.

La variable de entorno NODE_REPL_MODE se utiliza para establecer el replMode subyacente de una sesión interactiva de node. Su valor, magic, también se elimina. Por favor, use sloppy en su lugar.

DEP0066: OutgoingMessage.prototype._headers, OutgoingMessage.prototype._headerNames

[Historial]

VersiónCambios
v12.0.0Deprecación en tiempo de ejecución.
v8.0.0Deprecación solo en la documentación.

Tipo: Tiempo de ejecución

Las propiedades node:http del módulo OutgoingMessage.prototype._headers y OutgoingMessage.prototype._headerNames están en desuso. Utilice uno de los métodos públicos (por ejemplo, OutgoingMessage.prototype.getHeader(), OutgoingMessage.prototype.getHeaders(), OutgoingMessage.prototype.getHeaderNames(), OutgoingMessage.prototype.getRawHeaderNames(), OutgoingMessage.prototype.hasHeader(), OutgoingMessage.prototype.removeHeader(), OutgoingMessage.prototype.setHeader()) para trabajar con encabezados salientes.

Las propiedades OutgoingMessage.prototype._headers y OutgoingMessage.prototype._headerNames nunca se documentaron como propiedades oficialmente compatibles.

DEP0067: OutgoingMessage.prototype._renderHeaders

[Historial]

VersiónCambios
v8.0.0Deprecación solo en la documentación.

Tipo: Solo documentación

La API node:http del módulo OutgoingMessage.prototype._renderHeaders() está en desuso.

La propiedad OutgoingMessage.prototype._renderHeaders nunca se documentó como una API oficialmente compatible.

DEP0068: node debug

[Historial]

VersiónCambios
v15.0.0Se eliminó el comando node debug heredado.
v8.0.0Desaprobación en tiempo de ejecución.

Tipo: Fin de la vida útil

node debug corresponde al depurador CLI heredado que ha sido reemplazado por un depurador CLI basado en V8-inspector disponible a través de node inspect.

DEP0069: vm.runInDebugContext(string)

[Historial]

VersiónCambios
v10.0.0Fin de la vida útil.
v9.0.0Desaprobación en tiempo de ejecución.
v8.0.0Desaprobación solo en la documentación.

Tipo: Fin de la vida útil

DebugContext se ha eliminado en V8 y no está disponible en Node.js 10+.

DebugContext era una API experimental.

DEP0070: async_hooks.currentId()

[Historial]

VersiónCambios
v9.0.0Fin de la vida útil.
v8.2.0Desaprobación en tiempo de ejecución.

Tipo: Fin de la vida útil

async_hooks.currentId() se renombró a async_hooks.executionAsyncId() para mayor claridad.

Este cambio se realizó mientras async_hooks era una API experimental.

DEP0071: async_hooks.triggerId()

[Historial]

VersiónCambios
v9.0.0Fin de la vida útil.
v8.2.0Deprecación en tiempo de ejecución.

Tipo: Fin de la vida útil

async_hooks.triggerId() se cambió el nombre a async_hooks.triggerAsyncId() para mayor claridad.

Este cambio se realizó mientras async_hooks era una API experimental.

DEP0072: async_hooks.AsyncResource.triggerId()

[Historial]

VersiónCambios
v9.0.0Fin de la vida útil.
v8.2.0Deprecación en tiempo de ejecución.

Tipo: Fin de la vida útil

async_hooks.AsyncResource.triggerId() se cambió el nombre a async_hooks.AsyncResource.triggerAsyncId() para mayor claridad.

Este cambio se realizó mientras async_hooks era una API experimental.

DEP0073: Varias propiedades internas de net.Server

[Historial]

VersiónCambios
v10.0.0Fin de la vida útil.
v9.0.0Deprecación en tiempo de ejecución.

Tipo: Fin de la vida útil

Se ha deprecado el acceso a varias propiedades internas y no documentadas de las instancias de net.Server con nombres inapropiados.

Como la API original no estaba documentada y no era generalmente útil para código no interno, no se proporciona ninguna API de reemplazo.

DEP0074: REPLServer.bufferedCommand

[Historial]

VersiónCambios
v15.0.0Fin de la vida útil.
v9.0.0Obsoleto en tiempo de ejecución.

Tipo: Fin de la vida útil

La propiedad REPLServer.bufferedCommand se declaró obsoleta en favor de REPLServer.clearBufferedCommand().

DEP0075: REPLServer.parseREPLKeyword()

[Historial]

VersiónCambios
v15.0.0Fin de la vida útil.
v9.0.0Obsoleto en tiempo de ejecución.

Tipo: Fin de la vida útil

REPLServer.parseREPLKeyword() se eliminó de la visibilidad del usuario.

DEP0076: tls.parseCertString()

[Historial]

VersiónCambios
v18.0.0Fin de la vida útil.
v9.0.0Obsoleto en tiempo de ejecución.
v8.6.0Obsoleto solo en la documentación.

Tipo: Fin de la vida útil

tls.parseCertString() era un ayudante de análisis trivial que se hizo público por error. Si bien se suponía que analizaba las cadenas de sujeto y emisor del certificado, nunca manejó correctamente los nombres distinguidos relativos con valores múltiples.

Versiones anteriores de este documento sugerían usar querystring.parse() como alternativa a tls.parseCertString(). Sin embargo, querystring.parse() tampoco maneja correctamente todos los sujetos de certificado y no debe utilizarse.

DEP0077: Module._debug()

[Historial]

VersiónCambios
v9.0.0Deprecación en tiempo de ejecución.

Tipo: Tiempo de ejecución

Module._debug() está en desuso.

La función Module._debug() nunca se documentó como una API oficialmente compatible.

DEP0078: REPLServer.turnOffEditorMode()

[Historial]

VersiónCambios
v15.0.0Fin de la vida útil.
v9.0.0Deprecación en tiempo de ejecución.

Tipo: Fin de la vida útil

REPLServer.turnOffEditorMode() se eliminó de la visibilidad del usuario.

DEP0079: Función de inspección personalizada en objetos a través de .inspect()

[Historial]

VersiónCambios
v11.0.0Fin de la vida útil.
v10.0.0Deprecación en tiempo de ejecución.
v8.7.0Deprecación solo de documentación.

Tipo: Fin de la vida útil

El uso de una propiedad llamada inspect en un objeto para especificar una función de inspección personalizada para util.inspect() está en desuso. Use util.inspect.custom en su lugar. Para compatibilidad con versiones anteriores de Node.js anteriores a la versión 6.4.0, ambos se pueden especificar.

DEP0080: path._makeLong()

[Historial]

VersiónCambios
v9.0.0Deprecación solo de documentación.

Tipo: Solo documentación

La función interna path._makeLong() no estaba destinada al uso público. Sin embargo, los módulos de usuario la han encontrado útil. La API interna está en desuso y se reemplaza con un método público idéntico, path.toNamespacedPath().

DEP0081: fs.truncate() usando un descriptor de archivo

[Historial]

VersiónCambios
v9.0.0Deprecación en tiempo de ejecución.

Tipo: Tiempo de ejecución

El uso de fs.truncate() y fs.truncateSync() con un descriptor de archivo está en desuso. Por favor, use fs.ftruncate() o fs.ftruncateSync() para trabajar con descriptores de archivo.

DEP0082: REPLServer.prototype.memory()

[Historial]

VersiónCambios
v15.0.0Fin de la vida útil.
v9.0.0Deprecación en tiempo de ejecución.

Tipo: Fin de la vida útil

REPLServer.prototype.memory() solo es necesario para la mecánica interna del propio REPLServer. No utilice esta función.

DEP0083: Desactivación de ECDH estableciendo ecdhCurve en false

[Historial]

VersiónCambios
v10.0.0Fin de la vida útil.
v9.2.0Deprecación en tiempo de ejecución.

Tipo: Fin de la vida útil.

La opción ecdhCurve para tls.createSecureContext() y tls.TLSSocket podía establecerse en false para desactivar ECDH completamente solo en el servidor. Este modo se deprecó en preparación para la migración a OpenSSL 1.1.0 y la coherencia con el cliente, y ahora no es compatible. Utilice el parámetro ciphers en su lugar.

DEP0084: Requerir dependencias internas incluidas

[Historial]

VersiónCambios
v12.0.0Esta funcionalidad se ha eliminado.
v10.0.0Deprecación en tiempo de ejecución.

Tipo: Fin de la vida útil

Desde las versiones 4.4.0 y 5.2.0 de Node.js, varios módulos destinados únicamente al uso interno se expusieron erróneamente al código del usuario a través de require(). Estos módulos fueron:

  • 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 (desde 7.6.0)
  • node-inspect/lib/internal/inspect_client (desde 7.6.0)
  • node-inspect/lib/internal/inspect_repl (desde 7.6.0)

Los módulos v8/* no tienen ninguna exportación, y si no se importan en un orden específico, de hecho, arrojarán errores. Como tal, prácticamente no hay casos de uso legítimos para importarlos a través de require().

Por otro lado, node-inspect se puede instalar localmente a través de un gestor de paquetes, ya que se publica en el registro npm con el mismo nombre. No es necesaria ninguna modificación del código fuente si se hace eso.

DEP0085: API sensible de AsyncHooks

[Historial]

VersiónCambios
v10.0.0Fin de la vida útil.
v9.4.0, v8.10.0Desaprobación en tiempo de ejecución.

Tipo: Fin de la vida útil

La API sensible de AsyncHooks nunca se documentó y tenía varios problemas menores. Use la API AsyncResource en su lugar. Consulte https://github.com/nodejs/node/issues/15572.

DEP0086: Eliminar runInAsyncIdScope

[Historial]

VersiónCambios
v10.0.0Fin de la vida útil.
v9.4.0, v8.10.0Desaprobación en tiempo de ejecución.

Tipo: Fin de la vida útil

runInAsyncIdScope no emite el evento 'before' o 'after' y, por lo tanto, puede causar muchos problemas. Consulte https://github.com/nodejs/node/issues/14328.

DEP0089: require('node:assert')

[Historial]

VersiónCambios
v12.8.0Desaprobación revocada.
v9.9.0, v8.13.0Desaprobación solo en la documentación.

Tipo: Desaprobación revocada

No se recomendaba importar assert directamente, ya que las funciones expuestas usan comprobaciones de igualdad flexible. La desaprobación se revocó porque el uso del módulo node:assert no se desaconseja, y la desaprobación causó confusión entre los desarrolladores.

DEP0090: Longitudes de etiquetas de autenticación GCM no válidas

[Historial]

VersiónCambios
v11.0.0Fin de la vida útil.
v10.0.0Obsoleta en tiempo de ejecución.

Tipo: Fin de la vida útil

Node.js solía admitir todas las longitudes de etiquetas de autenticación GCM aceptadas por OpenSSL al llamar a decipher.setAuthTag(). A partir de Node.js v11.0.0, solo se permiten longitudes de etiquetas de autenticación de 128, 120, 112, 104, 96, 64 y 32 bits. Las etiquetas de autenticación de otras longitudes no son válidas según NIST SP 800-38D.

DEP0091: crypto.DEFAULT_ENCODING

[Historial]

VersiónCambios
v20.0.0Fin de la vida útil.
v10.0.0Obsoleta en tiempo de ejecución.

Tipo: Fin de la vida útil

La propiedad crypto.DEFAULT_ENCODING solo existía para compatibilidad con versiones de Node.js anteriores a la 0.9.3 y se ha eliminado.

DEP0092: this de nivel superior enlazado a module.exports

[Historial]

VersiónCambios
v10.0.0Obsoleta solo en la documentación.

Tipo: Solo documentación

Asignar propiedades al this de nivel superior como alternativa a module.exports está en desuso. Los desarrolladores deben usar exports o module.exports en su lugar.

DEP0093: crypto.fips está en desuso y reemplazado

[Historial]

VersiónCambios
v23.0.0Deprecación en tiempo de ejecución.
v10.0.0Deprecación solo en la documentación.

Tipo: Tiempo de ejecución

La propiedad crypto.fips está en desuso. Por favor, utilice crypto.setFips() y crypto.getFips() en su lugar.

DEP0094: Usar assert.fail() con más de un argumento

[Historial]

VersiónCambios
v10.0.0Deprecación en tiempo de ejecución.

Tipo: Tiempo de ejecución

Usar assert.fail() con más de un argumento está en desuso. Use assert.fail() con solo un argumento o use un método diferente del módulo node:assert.

DEP0095: timers.enroll()

[Historial]

VersiónCambios
v10.0.0Deprecación en tiempo de ejecución.

Tipo: Tiempo de ejecución

timers.enroll() está en desuso. Por favor, utilice la función públicamente documentada setTimeout() o setInterval() en su lugar.

DEP0096: timers.unenroll()

[Historial]

VersiónCambios
v10.0.0Obsoleto en tiempo de ejecución.

Tipo: Tiempo de ejecución

timers.unenroll() está obsoleto. Por favor, use clearTimeout() o clearInterval() públicamente documentados en su lugar.

DEP0097: MakeCallback con propiedad domain

[Historial]

VersiónCambios
v10.0.0Obsoleto en tiempo de ejecución.

Tipo: Tiempo de ejecución

Los usuarios de MakeCallback que añaden la propiedad domain para transportar contexto, deberían empezar a usar la variante async_context de MakeCallback o CallbackScope, o la clase de alto nivel AsyncResource.

DEP0098: APIs AsyncHooks integradas AsyncResource.emitBefore y AsyncResource.emitAfter

[Historial]

VersiónCambios
v12.0.0Fin de la vida útil.
v10.0.0, v9.6.0, v8.12.0Obsoleto en tiempo de ejecución.

Tipo: Fin de la vida útil

La API integrada proporcionada por AsyncHooks expone los métodos .emitBefore() y .emitAfter() que son muy fáciles de usar incorrectamente, lo que puede llevar a errores irrecuperables.

Use la API asyncResource.runInAsyncScope() en su lugar, que proporciona una alternativa mucho más segura y conveniente. Ver https://github.com/nodejs/node/pull/18513.

DEP0099: APIs C++ node::MakeCallback que no son conscientes del contexto asincrónico

[Historial]

VersiónCambios
v10.0.0Deprecación en tiempo de compilación.

Tipo: Tiempo de compilación

Ciertas versiones de las APIs node::MakeCallback disponibles para complementos nativos están deprecadas. Por favor, use las versiones de la API que aceptan un parámetro async_context.

DEP0100: process.assert()

[Historial]

VersiónCambios
v23.0.0Fin de la vida útil.
v10.0.0Deprecación en tiempo de ejecución.
v0.3.7Deprecación solo en la documentación.

Tipo: Fin de la vida útil

process.assert() está deprecado. Por favor, use el módulo assert en su lugar.

Esta nunca fue una característica documentada.

DEP0101: --with-lttng

[Historial]

VersiónCambios
v10.0.0Fin de la vida útil.

Tipo: Fin de la vida útil

Se ha eliminado la opción de compilación --with-lttng.

DEP0102: Usar noAssert en operaciones Buffer#(read|write)

[Historial]

VersiónCambios
v10.0.0Fin de la vida útil.

Tipo: Fin de la vida útil

El argumento noAssert ya no tiene ninguna funcionalidad. Toda la entrada se verifica independientemente del valor de noAssert. Omitir la verificación podría provocar errores y fallos difíciles de encontrar.

DEP0103: Verificaciones de tipo process.binding('util').is[...]

[Historial]

VersiónCambios
v10.9.0Sustituido por DEP0111.
v10.0.0Deprecación solo de documentación.

Tipo: Solo documentación (soporta --pending-deprecation)

Se debe evitar el uso de process.binding() en general. Los métodos de verificación de tipo en particular se pueden reemplazar usando util.types.

Esta deprecación ha sido sustituida por la deprecación de la API process.binding() (DEP0111).

DEP0104: Coerción de cadena de process.env

[Historial]

VersiónCambios
v10.0.0Deprecación solo de documentación.

Tipo: Solo documentación (soporta --pending-deprecation)

Al asignar una propiedad que no sea una cadena a process.env, el valor asignado se convierte implícitamente en una cadena. Este comportamiento está en desuso si el valor asignado no es una cadena, un booleano o un número. En el futuro, dicha asignación podría provocar un error. Convierta la propiedad a una cadena antes de asignarla a process.env.

DEP0105: decipher.finaltol

[Historial]

VersiónCambios
v11.0.0Fin de la vida útil.
v10.0.0Obsoleto en tiempo de ejecución.

Tipo: Fin de la vida útil

decipher.finaltol() nunca se documentó y era un alias de decipher.final(). Esta API se ha eliminado, y se recomienda usar decipher.final() en su lugar.

DEP0106: crypto.createCipher y crypto.createDecipher

[Historial]

VersiónCambios
v22.0.0Fin de la vida útil.
v11.0.0Obsoleto en tiempo de ejecución.
v10.0.0Obsoleto solo en la documentación.

Tipo: Fin de la vida útil

crypto.createCipher() y crypto.createDecipher() se han eliminado porque utilizan una función de derivación de claves débil (MD5 sin sal) y vectores de inicialización estáticos. Se recomienda derivar una clave usando crypto.pbkdf2() o crypto.scrypt() con sales aleatorias y usar crypto.createCipheriv() y crypto.createDecipheriv() para obtener los objetos Cipher y Decipher respectivamente.

DEP0107: tls.convertNPNProtocols()

[Historial]

VersiónCambios
v11.0.0Fin de la vida útil.
v10.0.0Obsoleto en tiempo de ejecución.

Tipo: Fin de la vida útil

Esta era una función auxiliar no documentada que no estaba destinada para su uso fuera del núcleo de Node.js y se volvió obsoleta con la eliminación de la compatibilidad con NPN (Next Protocol Negotiation).

DEP0108: zlib.bytesRead

[Historial]

VersiónCambios
v23.0.0Fin de la vida útil.
v11.0.0Obsoleto en tiempo de ejecución.
v10.0.0Obsoleto solo en la documentación.

Tipo: Fin de la vida útil

Alias obsoleto para zlib.bytesWritten. Este nombre original se eligió porque también tenía sentido interpretar el valor como el número de bytes leídos por el motor, pero es inconsistente con otras secuencias en Node.js que exponen valores con estos nombres.

DEP0109: Compatibilidad de http, https y tls con URL no válidas

[Historial]

VersiónCambios
v16.0.0Fin de la vida útil.
v11.0.0Obsoleto en tiempo de ejecución.

Tipo: Fin de la vida útil

Algunas URL previamente compatibles (pero estrictamente inválidas) fueron aceptadas a través de las API http.request(), http.get(), https.request(), https.get() y tls.checkServerIdentity() porque fueron aceptadas por la API heredada url.parse(). Las API mencionadas ahora utilizan el analizador de URL WHATWG que requiere URLs estrictamente válidas. Pasar una URL inválida está obsoleto y la compatibilidad se eliminará en el futuro.

DEP0110: Datos en caché de vm.Script

[Historial]

VersiónCambios
v10.6.0Deprecación solo de documentación.

Tipo: Solo documentación

La opción produceCachedData está deprecada. Use script.createCachedData() en su lugar.

DEP0111: process.binding()

[Historial]

VersiónCambios
v11.12.0Se agregó soporte para --pending-deprecation.
v10.9.0Deprecación solo de documentación.

Tipo: Solo documentación (soporta --pending-deprecation)

process.binding() es solo para uso interno del código de Node.js.

Si bien process.binding() no ha llegado al fin de su vida útil en general, no está disponible cuando está habilitado el modelo de permisos.

DEP0112: APIs privadas de dgram

[Historial]

VersiónCambios
v11.0.0Deprecación en tiempo de ejecución.

Tipo: Tiempo de ejecución

El módulo node:dgram contenía anteriormente varias API que nunca estuvieron destinadas a accederse fuera del núcleo de Node.js: Socket.prototype._handle, Socket.prototype._receiving, Socket.prototype._bindState, Socket.prototype._queue, Socket.prototype._reuseAddr, Socket.prototype._healthCheck(), Socket.prototype._stopReceiving(), y dgram._createSocketHandle().

DEP0113: Cipher.setAuthTag(), Decipher.getAuthTag()

[Historial]

VersiónCambios
v12.0.0Fin de la vida útil.
v11.0.0Obsoleto en tiempo de ejecución.

Tipo: Fin de la vida útil

Cipher.setAuthTag() y Decipher.getAuthTag() ya no están disponibles. Nunca se documentaron y lanzaban una excepción cuando se llamaban.

DEP0114: crypto._toBuf()

[Historial]

VersiónCambios
v12.0.0Fin de la vida útil.
v11.0.0Obsoleto en tiempo de ejecución.

Tipo: Fin de la vida útil

La función crypto._toBuf() no estaba diseñada para ser utilizada por módulos fuera del núcleo de Node.js y se eliminó.

DEP0115: crypto.prng(), crypto.pseudoRandomBytes(), crypto.rng()

[Historial]

VersiónCambios
v11.0.0Se agregó la deprecación solo en la documentación con soporte para --pending-deprecation.

Tipo: Solo documentación (soporta --pending-deprecation)

En versiones recientes de Node.js, no hay diferencia entre crypto.randomBytes() y crypto.pseudoRandomBytes(). Este último está en desuso junto con los alias no documentados crypto.prng() y crypto.rng() en favor de crypto.randomBytes() y podría eliminarse en una versión futura.

DEP0116: API de URL heredada

[Historial]

VersiónCambios
v19.0.0, v18.13.0url.parse() se depreca de nuevo en DEP0169.
v15.13.0, v14.17.0Deprecación revocada. Estado cambiado a "Heredado".
v11.0.0Deprecación solo en la documentación.

Tipo: Deprecación revocada

La API de URL heredada está en desuso. Esto incluye url.format(), url.parse(), url.resolve(), y el objeto urlObject heredado. Por favor, use la API de URL WHATWG en su lugar.

DEP0117: Controladores criptográficos nativos

[Historial]

VersiónCambios
v12.0.0Fin de la vida útil.
v11.0.0Deprecación en tiempo de ejecución.

Tipo: Fin de la vida útil

Versiones anteriores de Node.js exponían controladores a objetos nativos internos a través de la propiedad _handle de las clases Cipher, Decipher, DiffieHellman, DiffieHellmanGroup, ECDH, Hash, Hmac, Sign y Verify. La propiedad _handle se ha eliminado porque el uso incorrecto del objeto nativo puede provocar el bloqueo de la aplicación.

DEP0118: Soporte de dns.lookup() para un nombre de host falso

[Historial]

VersiónCambios
v11.0.0Deprecación en tiempo de ejecución.

Tipo: Tiempo de ejecución

Las versiones anteriores de Node.js admitían dns.lookup() con un nombre de host falso como dns.lookup(false) debido a la compatibilidad con versiones anteriores. Este comportamiento no está documentado y se cree que no se utiliza en aplicaciones del mundo real. Se convertirá en un error en futuras versiones de Node.js.

DEP0119: API privada process.binding('uv').errname()

[Historial]

VersiónCambios
v11.0.0Deprecación solo en la documentación.

Tipo: Solo documentación (soporta --pending-deprecation)

process.binding('uv').errname() está en desuso. Por favor, utilice util.getSystemErrorName() en su lugar.

DEP0120: Soporte de contador de rendimiento de Windows

[Historial]

VersiónCambios
v12.0.0Fin de la vida útil.
v11.0.0Deprecación en tiempo de ejecución.

Tipo: Fin de la vida útil

El soporte de contador de rendimiento de Windows se ha eliminado de Node.js. Las funciones no documentadas COUNTER_NET_SERVER_CONNECTION(), COUNTER_NET_SERVER_CONNECTION_CLOSE(), COUNTER_HTTP_SERVER_REQUEST(), COUNTER_HTTP_SERVER_RESPONSE(), COUNTER_HTTP_CLIENT_REQUEST(), y COUNTER_HTTP_CLIENT_RESPONSE() han sido deprecadas.

DEP0121: net._setSimultaneousAccepts()

[Historial]

VersiónCambios
v12.0.0Deprecación en tiempo de ejecución.

Tipo: Tiempo de ejecución

La función net._setSimultaneousAccepts(), no documentada, estaba originalmente destinada a la depuración y ajuste del rendimiento al usar los módulos node:child_process y node:cluster en Windows. La función no es generalmente útil y se eliminará. Ver discusión aquí: https://github.com/nodejs/node/issues/18391

DEP0122: tls Server.prototype.setOptions()

[Historial]

VersiónCambios
v12.0.0Deprecación en tiempo de ejecución.

Tipo: Tiempo de ejecución

Por favor, use Server.prototype.setSecureContext() en su lugar.

DEP0123: establecer el nombre del servidor TLS en una dirección IP

[Historial]

VersiónCambios
v12.0.0Deprecación en tiempo de ejecución.

Tipo: Tiempo de ejecución

Establecer el nombre del servidor TLS en una dirección IP no está permitido por RFC 6066. Esto se ignorará en una versión futura.

DEP0124: uso de REPLServer.rli

[Historial]

VersiónCambios
v15.0.0Fin de la vida útil.
v12.0.0Obsoleto en tiempo de ejecución.

Tipo: Fin de la vida útil

Esta propiedad es una referencia a la instancia misma.

DEP0125: require('node:_stream_wrap')

[Historial]

VersiónCambios
v12.0.0Obsoleto en tiempo de ejecución.

Tipo: Tiempo de ejecución

El módulo node:_stream_wrap está en desuso.

DEP0126: timers.active()

[Historial]

VersiónCambios
v11.14.0Obsoleto en tiempo de ejecución.

Tipo: Tiempo de ejecución

La función timers.active(), previamente indocumentada, está en desuso. Por favor, utilice la función públicamente documentada timeout.refresh() en su lugar. Si es necesario volver a referenciar el temporizador, se puede usar timeout.ref() sin impacto en el rendimiento desde Node.js 10.

DEP0127: timers._unrefActive()

[Historial]

VersiónCambios
v11.14.0Obsoleto en tiempo de ejecución.

Tipo: Tiempo de ejecución

La función timers._unrefActive(), previamente indocumentada y "privada", está en desuso. Por favor, utilice la función públicamente documentada timeout.refresh() en su lugar. Si es necesario desreferenciar el temporizador, se puede usar timeout.unref() sin impacto en el rendimiento desde Node.js 10.

DEP0128: módulos con una entrada main no válida y un archivo index.js

[Historial]

VersiónCambios
v16.0.0Deprecación en tiempo de ejecución.
v12.0.0Solo documentación.

Tipo: Tiempo de ejecución

Los módulos que tienen una entrada main no válida (por ejemplo, ./does-not-exist.js) y también tienen un archivo index.js en el directorio de nivel superior resolverán el archivo index.js. Eso está en desuso y generará un error en futuras versiones de Node.js.

DEP0129: ChildProcess._channel

[Historial]

VersiónCambios
v13.0.0Deprecación en tiempo de ejecución.
v11.14.0Solo documentación.

Tipo: Tiempo de ejecución

La propiedad _channel de los objetos de procesos secundarios devueltos por spawn() y funciones similares no está destinada para uso público. Use ChildProcess.channel en su lugar.

DEP0130: Module.createRequireFromPath()

[Historial]

VersiónCambios
v16.0.0Fin de la vida útil.
v13.0.0Deprecación en tiempo de ejecución.
v12.2.0Solo documentación.

Tipo: Fin de la vida útil

Use module.createRequire() en su lugar.

DEP0131: Analizador HTTP heredado

[Historial]

VersiónCambios
v13.0.0Esta característica ha sido eliminada.
v12.22.0Obsoleto en tiempo de ejecución.
v12.3.0Solo documentación.

Tipo: Fin de la vida útil

El analizador HTTP heredado, usado por defecto en versiones de Node.js anteriores a la 12.0.0, está obsoleto y ha sido eliminado en la v13.0.0. Antes de la v13.0.0, el flag de línea de comandos --http-parser=legacy podía usarse para volver al analizador heredado.

DEP0132: worker.terminate() con callback

[Historial]

VersiónCambios
v12.5.0Obsoleto en tiempo de ejecución.

Tipo: Tiempo de ejecución

Pasar un callback a worker.terminate() está obsoleto. Usa la promesa devuelta en su lugar, o un listener al evento 'exit' del worker.

DEP0133: http connection

[Historial]

VersiónCambios
v12.12.0Obsoleto solo en la documentación.

Tipo: Solo documentación

Prefiere response.socket sobre response.connection y request.socket sobre request.connection.

DEP0134: process._tickCallback

[Historia]

VersiónCambios
v12.12.0Deprecación solo de documentación.

Tipo: Solo documentación (soporta --pending-deprecation)

La propiedad process._tickCallback nunca se documentó como una API oficialmente soportada.

DEP0135: WriteStream.open() y ReadStream.open() son internas

[Historia]

VersiónCambios
v13.0.0Deprecación en tiempo de ejecución.

Tipo: Tiempo de ejecución

WriteStream.open() y ReadStream.open() son APIs internas no documentadas que no tienen sentido usar en el espacio de usuario. Los flujos de archivos siempre deben abrirse a través de sus métodos de fábrica correspondientes fs.createWriteStream() y fs.createReadStream()) o pasando un descriptor de archivo en las opciones.

DEP0136: http finished

[Historia]

VersiónCambios
v13.4.0, v12.16.0Deprecación solo de documentación.

Tipo: Solo documentación

response.finished indica si se ha llamado a response.end(), no si se ha emitido 'finish' y se han vaciado los datos subyacentes.

Use response.writableFinished o response.writableEnded en su lugar para evitar la ambigüedad.

Para mantener el comportamiento existente, response.finished debe reemplazarse con response.writableEnded.

DEP0137: Cierre de fs.FileHandle en la recolección de basura

[Historial]

VersiónCambios
v14.0.0Deprecación en tiempo de ejecución.

Tipo: Tiempo de ejecución

Se ha deprecado permitir que un objeto fs.FileHandle se cierre en la recolección de basura. En el futuro, hacerlo podría resultar en un error que terminará el proceso.

Asegúrese de que todos los objetos fs.FileHandle se cierren explícitamente usando FileHandle.prototype.close() cuando el fs.FileHandle ya no sea necesario:

js
const fsPromises = require('node:fs').promises
async function openAndClose() {
  let filehandle
  try {
    filehandle = await fsPromises.open('thefile.txt', 'r')
  } finally {
    if (filehandle !== undefined) await filehandle.close()
  }
}

DEP0138: process.mainModule

[Historial]

VersiónCambios
v14.0.0Deprecación solo en la documentación.

Tipo: Solo documentación

process.mainModule es una característica exclusiva de CommonJS, mientras que el objeto global process se comparte con entornos que no son CommonJS. Su uso dentro de los módulos ECMAScript no es compatible.

Está en desuso en favor de require.main, porque sirve para el mismo propósito y solo está disponible en el entorno CommonJS.

DEP0139: process.umask() sin argumentos

[Historial]

VersiónCambios
v14.0.0, v12.19.0Deprecación solo de documentación.

Tipo: Solo documentación

Llamar a process.umask() sin argumentos hace que la máscara de proceso se escriba dos veces. Esto introduce una condición de carrera entre hilos y es una posible vulnerabilidad de seguridad. No hay una API alternativa segura y multiplataforma.

DEP0140: Usar request.destroy() en lugar de request.abort()

[Historial]

VersiónCambios
v14.1.0, v13.14.0Deprecación solo de documentación.

Tipo: Solo documentación

Use request.destroy() en lugar de request.abort().

DEP0141: repl.inputStream y repl.outputStream

[Historial]

VersiónCambios
v14.3.0Solo documentación (soporta [--pending-deprecation][]).

Tipo: Solo documentación (soporta --pending-deprecation)

El módulo node:repl exportaba la entrada y la salida dos veces. Use .input en lugar de .inputStream y .output en lugar de .outputStream.

DEP0142: repl._builtinLibs

[Historial]

VersiónCambios
v14.3.0Solo documentación (soporta [--pending-deprecation][]).

Tipo: Solo documentación

El módulo node:repl exporta una propiedad _builtinLibs que contiene un array de módulos integrados. Hasta ahora estaba incompleta, y es mejor confiar en require('node:module').builtinModules.

DEP0143: Transform._transformState

[Historial]

VersiónCambios
v14.5.0Desaprobación en tiempo de ejecución.

Tipo: En tiempo de ejecución Transform._transformState se eliminará en futuras versiones donde ya no sea necesario debido a la simplificación de la implementación.

DEP0144: module.parent

[Historial]

VersiónCambios
v14.6.0, v12.19.0Desaprobación solo de documentación.

Tipo: Solo documentación (soporta --pending-deprecation)

Un módulo CommonJS puede acceder al primer módulo que lo requirió usando module.parent. Esta característica está desaprobada porque no funciona de manera consistente en presencia de módulos ECMAScript y porque proporciona una representación inexacta del grafo de módulos CommonJS.

Algunos módulos lo usan para verificar si son el punto de entrada del proceso actual. En su lugar, se recomienda comparar require.main y module:

js
if (require.main === module) {
  // Sección de código que se ejecutará solo si el archivo actual es el punto de entrada.
}

Cuando se buscan los módulos CommonJS que han requerido el actual, se pueden usar require.cache y module.children:

js
const moduleParents = Object.values(require.cache).filter(m => m.children.includes(module))

DEP0145: socket.bufferSize

[Historial]

VersiónCambios
v14.6.0Deprecación solo de documentación.

Tipo: Solo documentación

socket.bufferSize es solo un alias para writable.writableLength.

DEP0146: new crypto.Certificate()

[Historial]

VersiónCambios
v14.9.0Deprecación solo de documentación.

Tipo: Solo documentación

El constructor crypto.Certificate() está en desuso. Use los métodos estáticos de crypto.Certificate() en su lugar.

DEP0147: fs.rmdir(path, { recursive: true }) {#dep0147-fsrmdirpath-{-recursive-true-}}

[Historial]

VersiónCambios
v16.0.0Deprecación en tiempo de ejecución.
v15.0.0Deprecación en tiempo de ejecución para comportamiento permisivo.
v14.14.0Deprecación solo de documentación.

Tipo: Tiempo de ejecución

En futuras versiones de Node.js, la opción recursive se ignorará para fs.rmdir, fs.rmdirSync y fs.promises.rmdir.

Use fs.rm(path, { recursive: true, force: true }), fs.rmSync(path, { recursive: true, force: true }) o fs.promises.rm(path, { recursive: true, force: true }) en su lugar.

DEP0148: Asignaciones de carpetas en "exports" (barra inclinada al final "/")

[Historial]

VersiónCambios
v17.0.0Fin de la vida útil.
v16.0.0Obsoleto en tiempo de ejecución.
v15.1.0Obsoleto en tiempo de ejecución para importaciones autoreferenciadas.
v14.13.0Obsoleto solo en la documentación.

Tipo: Tiempo de ejecución

El uso de una barra inclinada al final "/" para definir asignaciones de carpetas de subruta en los campos exportaciones de subruta o importaciones de subruta está obsoleto. Use patrones de subruta en su lugar.

DEP0149: http.IncomingMessage#connection

[Historial]

VersiónCambios
v16.0.0Obsoleto solo en la documentación.

Tipo: Solo documentación.

Prefiera message.socket sobre message.connection.

DEP0150: Cambio del valor de process.config

[Historial]

VersiónCambios
v19.0.0Fin de la vida útil.
v16.0.0Obsoleto en tiempo de ejecución.

Tipo: Fin de la vida útil

La propiedad process.config proporciona acceso a la configuración de compilación de Node.js. Sin embargo, la propiedad es mutable y, por lo tanto, susceptible de manipulación. La capacidad de cambiar el valor se eliminará en una versión futura de Node.js.

DEP0151: Búsqueda principal de índice y búsqueda de extensiones

[Historial]

VersiónCambios
v16.0.0Deprecación en tiempo de ejecución.
v15.8.0, v14.18.0Deprecación solo en la documentación con soporte --pending-deprecation.

Tipo: Tiempo de ejecución

Anteriormente, las búsquedas de index.js y de extensiones se aplicaban a la resolución del punto de entrada principal import 'pkg', incluso al resolver módulos ES.

Con esta deprecación, todas las resoluciones del punto de entrada principal del módulo ES requieren una entrada explícita "exports" o "main" con la extensión de archivo exacta.

DEP0152: Propiedades PerformanceEntry de extensión

[Historial]

VersiónCambios
v16.0.0Deprecación en tiempo de ejecución.

Tipo: Tiempo de ejecución

Los tipos de objetos 'gc', 'http2' y 'http' <PerformanceEntry> tienen propiedades adicionales asignadas que proporcionan información adicional. Estas propiedades ahora están disponibles dentro de la propiedad estándar detail del objeto PerformanceEntry. Los accesores existentes han quedado obsoletos y ya no deben utilizarse.

DEP0153: Coerción de tipo de opciones en dns.lookup y dnsPromises.lookup

[Historial]

VersiónCambios
v18.0.0Fin de la vida útil.
v17.0.0Deprecación en tiempo de ejecución.
v16.8.0Deprecación solo en la documentación.

Tipo: Fin de la vida útil

El uso de un valor no nulo y no entero para la opción family, un valor no nulo y no numérico para la opción hints, un valor no nulo y no booleano para la opción all, o un valor no nulo y no booleano para la opción verbatim en dns.lookup() y dnsPromises.lookup() lanza un error ERR_INVALID_ARG_TYPE.

DEP0154: Opciones de generación de pares de claves RSA-PSS

[Historial]

VersiónCambios
v20.0.0Deprecación en tiempo de ejecución.
v16.10.0Deprecación solo en la documentación.

Tipo: Tiempo de ejecución

Las opciones 'hash' y 'mgf1Hash' se reemplazan con 'hashAlgorithm' y 'mgf1HashAlgorithm'.

DEP0155: Barras diagonales al final en las resoluciones de especificadores de patrones

[Historial]

VersiónCambios
v17.0.0Deprecación en tiempo de ejecución.
v16.10.0Deprecación solo en la documentación con soporte --pending-deprecation.

Tipo: Tiempo de ejecución

El redireccionamiento de especificadores que terminan en "/" como import 'pkg/x/' está en desuso para las resoluciones de patrones de paquete "exports" e "imports".

DEP0156: Propiedad .aborted y evento 'abort', 'aborted' en http

[Historial]

VersiónCambios
v17.0.0, v16.12.0Deprecación solo de documentación.

Tipo: Solo documentación

Migrar a la API <Stream> en su lugar, ya que http.ClientRequest, http.ServerResponse y http.IncomingMessage están todos basados en streams. Verificar stream.destroyed en lugar de la propiedad .aborted, y escuchar 'close' en lugar del evento 'abort', 'aborted'.

La propiedad .aborted y el evento 'abort' solo son útiles para detectar llamadas .abort(). Para cerrar una solicitud anticipadamente, usar el método .destroy([error]) de Stream, luego verificar la propiedad .destroyed y el evento 'close' debería tener el mismo efecto. El extremo receptor también debe verificar el valor readable.readableEnded en http.IncomingMessage para saber si fue una destrucción abortada o una destrucción normal.

DEP0157: Soporte de Thenable en streams

[Historial]

VersiónCambios
v18.0.0Fin de vida.
v17.2.0, v16.14.0Deprecación solo en la documentación.

Tipo: Fin de vida

Una característica no documentada de los streams de Node.js era el soporte de thenables en los métodos de implementación. Esto ahora está en desuso, utilice callbacks en su lugar y evite el uso de funciones async para los métodos de implementación de streams.

Esta característica hacía que los usuarios encontraran problemas inesperados donde el usuario implementa la función en estilo callback pero usa, por ejemplo, un método async, lo que causaría un error ya que mezclar la semántica de promesas y callbacks no es válido.

js
const w = new Writable({
  async final(callback) {
    await someOp()
    callback()
  },
})

DEP0158: buffer.slice(start, end)

[Historial]

VersiónCambios
v17.5.0, v16.15.0Deprecación solo en la documentación.

Tipo: Solo documentación

Este método fue deprecado porque no es compatible con Uint8Array.prototype.slice(), que es una superclase de Buffer.

Utilice buffer.subarray que hace lo mismo en su lugar.

DEP0159: ERR_INVALID_CALLBACK

[Historial]

VersiónCambios
v18.0.0Fin de la vida útil.

Tipo: Fin de la vida útil

Este código de error se eliminó debido a que añadía más confusión a los errores utilizados para la validación del tipo de valor.

DEP0160: process.on('multipleResolves', handler)

[Historial]

VersiónCambios
v18.0.0Obsoleto en tiempo de ejecución.
v17.6.0, v16.15.0Obsoleto solo en la documentación.

Tipo: Tiempo de ejecución.

Este evento quedó obsoleto porque no funcionaba con los combinadores de promesas de V8, lo que disminuyó su utilidad.

DEP0161: process._getActiveRequests() y process._getActiveHandles()

[Historial]

VersiónCambios
v17.6.0, v16.15.0Obsoleto solo en la documentación.

Tipo: Solo documentación

Las funciones process._getActiveHandles() y process._getActiveRequests() no están destinadas al uso público y pueden eliminarse en futuras versiones.

Utilice process.getActiveResourcesInfo() para obtener una lista de tipos de recursos activos y no las referencias reales.

DEP0162: Coerción de fs.write(), fs.writeFileSync() a cadena

[Historial]

VersiónCambios
v19.0.0Fin de la vida útil.
v18.0.0Deprecación en tiempo de ejecución.
v17.8.0, v16.15.0Deprecación solo en la documentación.

Tipo: Fin de la vida útil

La coerción implícita de objetos con propiedad toString propia, pasada como segundo parámetro en fs.write(), fs.writeFile(), fs.appendFile(), fs.writeFileSync(), y fs.appendFileSync() está en desuso. Conviértalos a cadenas primitivas.

DEP0163: channel.subscribe(onMessage), channel.unsubscribe(onMessage)

[Historial]

VersiónCambios
v18.7.0, v16.17.0Deprecación solo en la documentación.

Tipo: Solo documentación

Estos métodos fueron deprecados porque pueden usarse de una manera que no mantiene la referencia del canal activa el tiempo suficiente para recibir los eventos.

Use diagnostics_channel.subscribe(name, onMessage) o diagnostics_channel.unsubscribe(name, onMessage) que hacen lo mismo en su lugar.

DEP0164: Coerción a entero de process.exit(code) y process.exitCode

[Historial]

VersiónCambios
v20.0.0Fin de la vida útil.
v19.0.0Obsoleto en tiempo de ejecución.
v18.10.0, v16.18.0Obsoleto solo en la documentación de la coerción a entero de process.exitCode.
v18.7.0, v16.17.0Obsoleto solo en la documentación de la coerción a entero de process.exit(code).

Tipo: Fin de la vida útil

Los valores distintos de undefined, null, números enteros y cadenas de enteros (por ejemplo, '1') están obsoletos como valor para el parámetro code en process.exit() y como valor para asignar a process.exitCode.

DEP0165: --trace-atomics-wait

[Historial]

VersiónCambios
v23.0.0Fin de la vida útil.
v22.0.0Obsoleto en tiempo de ejecución.
v18.8.0, v16.18.0Obsoleto solo en la documentación.

Tipo: Fin de la vida útil

Se ha eliminado el indicador --trace-atomics-wait porque utiliza el gancho de V8 SetAtomicsWaitCallback, que se eliminará en una versión futura de V8.

DEP0166: Barras dobles en los destinos de importación y exportación

[Historial]

VersiónCambios
v19.0.0Deprecación en tiempo de ejecución.
v18.10.0Deprecación solo en la documentación con soporte --pending-deprecation.

Tipo: Tiempo de ejecución

Las asignaciones de destinos de importación y exportación de paquetes a rutas que incluyen una barra doble (de "/" o "") están en desuso y fallarán con un error de validación de resolución en una versión futura. Esta misma deprecación también se aplica a las coincidencias de patrones que comienzan o terminan con una barra.

DEP0167: Instancias débiles de DiffieHellmanGroup (modp1, modp2, modp5)

[Historial]

VersiónCambios
v18.10.0, v16.18.0Deprecación solo en la documentación.

Tipo: Solo documentación

Los grupos MODP conocidos modp1, modp2 y modp5 están en desuso porque no son seguros contra ataques prácticos. Consulte RFC 8247 Sección 2.4 para obtener más detalles.

Estos grupos podrían eliminarse en futuras versiones de Node.js. Las aplicaciones que dependen de estos grupos deben evaluar el uso de grupos MODP más fuertes en su lugar.

DEP0168: Excepción no controlada en las devoluciones de llamada de Node-API

[Historial]

VersiónCambios
v18.3.0, v16.17.0Desaprobación en tiempo de ejecución.

Tipo: Tiempo de ejecución

La supresión implícita de excepciones no capturadas en las devoluciones de llamada de Node-API ahora está en desuso.

Establezca la bandera --force-node-api-uncaught-exceptions-policy para forzar que Node.js emita un evento 'uncaughtException' si la excepción no se maneja en las devoluciones de llamada de Node-API.

DEP0169: url.parse() inseguro

[Historial]

VersiónCambios
v19.9.0, v18.17.0Se agregó soporte para --pending-deprecation.
v19.0.0, v18.13.0Desaprobación solo de documentación.

Tipo: Solo documentación (admite --pending-deprecation)

El comportamiento de url.parse() no está estandarizado y es propenso a errores que tienen implicaciones de seguridad. Use la API URL WHATWG en su lugar. No se emiten CVE para las vulnerabilidades de url.parse().

DEP0170: Puerto no válido al usar url.parse()

[Historial]

VersiónCambios
v20.0.0Deprecación en tiempo de ejecución.
v19.2.0, v18.13.0Deprecación solo en la documentación.

Tipo: Tiempo de ejecución

url.parse() acepta URLs con puertos que no son números. Este comportamiento puede resultar en suplantación de nombre de host con entradas inesperadas. Estas URLs arrojarán un error en futuras versiones de Node.js, como ya lo hace la API WHATWG URL.

DEP0171: Métodos setter para encabezados y trailers de http.IncomingMessage

[Historial]

VersiónCambios
v19.3.0, v18.13.0Deprecación solo en la documentación.

Tipo: Solo documentación

En una futura versión de Node.js, message.headers, message.headersDistinct, message.trailers, y message.trailersDistinct serán de solo lectura.

DEP0172: La propiedad asyncResource de las funciones enlazadas a AsyncResource

[Historial]

VersiónCambios
v20.0.0Deprecación en tiempo de ejecución.

Tipo: Tiempo de ejecución

En una futura versión de Node.js, la propiedad asyncResource ya no se agregará cuando una función esté enlazada a un AsyncResource.

DEP0173: La clase assert.CallTracker

[Historial]

VersiónCambios
v20.1.0Deprecación solo en la documentación.

Tipo: Solo documentación

En una futura versión de Node.js, assert.CallTracker se eliminará. Considere usar alternativas como la función auxiliar mock.

DEP0174: Llamar a promisify en una función que devuelve una Promise

[Historial]

VersiónCambios
v21.0.0Deprecación en tiempo de ejecución.
v20.8.0Deprecación solo en la documentación.

Tipo: Tiempo de ejecución

Llamar a util.promisify en una función que devuelve una

DEP0175: util.toUSVString

[Historial]

VersiónCambios
v20.8.0Deprecación solo de documentación.

Tipo: Solo documentación

La API util.toUSVString() está deprecada. Por favor, use String.prototype.toWellFormed en su lugar.

DEP0176: fs.F_OK, fs.R_OK, fs.W_OK, fs.X_OK

[Historial]

VersiónCambios
v20.8.0Deprecación solo de documentación.

Tipo: Solo documentación

Los métodos F_OK, R_OK, W_OK y X_OK expuestos directamente en node:fs están deprecados. Obtenga estos desde fs.constants o fs.promises.constants en su lugar.

DEP0177: util.types.isWebAssemblyCompiledModule

[Historial]

VersiónCambios
v21.7.0, v20.12.0Fin de la vida útil.
v21.3.0, v20.11.0Se ha asignado un código de deprecación.
v14.0.0Deprecación solo de documentación.

Tipo: Fin de la vida útil

La API util.types.isWebAssemblyCompiledModule ha sido eliminada. Por favor, use value instanceof WebAssembly.Module en su lugar.

DEP0178: dirent.path

[Historia]

VersiónCambios
v23.0.0Obsoleta en tiempo de ejecución.
v21.5.0, v20.12.0, v18.20.0Obsoleta solo en la documentación.

Tipo: Tiempo de ejecución

dirent.path está obsoleta debido a su falta de consistencia entre las líneas de lanzamiento. Por favor, use dirent.parentPath en su lugar.

DEP0179: Constructor Hash

[Historia]

VersiónCambios
v22.0.0Obsoleta en tiempo de ejecución.
v21.5.0, v20.12.0Obsoleta solo en la documentación.

Tipo: Tiempo de ejecución

Llamar a la clase Hash directamente con Hash() o new Hash() está obsoleto por ser interno, no destinado al uso público. Por favor, use el método crypto.createHash() para crear instancias de Hash.

DEP0180: Constructor fs.Stats

[Historia]

VersiónCambios
v22.0.0Obsoleta en tiempo de ejecución.
v20.13.0Obsoleta solo en la documentación.

Tipo: Tiempo de ejecución

Llamar a la clase fs.Stats directamente con Stats() o new Stats() está obsoleto por ser interno, no destinado al uso público.

DEP0181: Constructor Hmac

[Historial]

VersiónCambios
v22.0.0Deprecación en tiempo de ejecución.
v20.13.0Deprecación solo en la documentación.

Tipo: Tiempo de ejecución

Llamar a la clase Hmac directamente con Hmac() o new Hmac() está en desuso debido a que son elementos internos, no destinados al uso público. Por favor, utilice el método crypto.createHmac() para crear instancias de Hmac.

DEP0182: Etiquetas de autenticación GCM cortas sin authTagLength explícito

[Historial]

VersiónCambios
v23.0.0Deprecación en tiempo de ejecución.
v20.13.0Deprecación solo en la documentación.

Tipo: Tiempo de ejecución

Las aplicaciones que pretenden utilizar etiquetas de autenticación más cortas que la longitud predeterminada de la etiqueta de autenticación deben establecer la opción authTagLength de la función crypto.createDecipheriv() en la longitud adecuada.

Para los cifrados en modo GCM, la función decipher.setAuthTag() acepta etiquetas de autenticación de cualquier longitud válida (ver DEP0090). Este comportamiento está en desuso para alinearse mejor con las recomendaciones de NIST SP 800-38D.

DEP0183: APIs basadas en el motor OpenSSL

[Historial]

VersiónCambios
v22.4.0, v20.16.0Deprecación solo de documentación.

Tipo: Solo documentación

OpenSSL 3 ha deprecado el soporte para motores personalizados con una recomendación para cambiar a su nuevo modelo de proveedor. La opción clientCertEngine para https.request(), tls.createSecureContext(), y tls.createServer(); privateKeyEngine y privateKeyIdentifier para tls.createSecureContext(); y crypto.setEngine() dependen de esta funcionalidad de OpenSSL.

DEP0184: Instanciar clases node:zlib sin new

[Historial]

VersiónCambios
v22.9.0, v20.18.0Deprecación solo de documentación.

Tipo: Solo documentación

Instanciar clases sin el calificador new exportado por el módulo node:zlib está deprecado. Se recomienda usar el calificador new en su lugar. Esto se aplica a todas las clases Zlib, como Deflate, DeflateRaw, Gunzip, Inflate, InflateRaw, Unzip, y Zlib.

DEP0185: Instanciar clases node:repl sin new

[Historial]

VersiónCambios
v22.9.0, v20.18.0Deprecación solo de documentación.

Tipo: Solo documentación

Instanciar clases sin el calificador new exportado por el módulo node:repl está en desuso. Se recomienda usar el calificador new en su lugar. Esto se aplica a todas las clases REPL, incluyendo REPLServer y Recoverable.

DEP0187: Pasar tipos de argumentos inválidos a fs.existsSync

[Historial]

VersiónCambios
v23.4.0Solo documentación.

Tipo: Solo documentación

Pasar tipos de argumentos no soportados está en desuso y, en lugar de devolver false, lanzará un error en una versión futura.

DEP0188: process.features.ipv6 y process.features.uv

[Historial]

VersiónCambios
v23.4.0Deprecación solo de documentación.

Tipo: Solo documentación

Estas propiedades son incondicionalmente true. Cualquier comprobación basada en estas propiedades es redundante.

DEP0189: process.features.tls_*

[Historia]

VersiónCambios
v23.4.0Deprecación solo de documentación.

Tipo: Solo documentación

process.features.tls_alpn, process.features.tls_ocsp, y process.features.tls_sni están en desuso, ya que sus valores están garantizados para ser idénticos a los de process.features.tls.