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ón | Cambios |
---|---|
v14.0.0 | Fin de la vida útil. |
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v1.6.0 | Deprecació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.
DEP0002: require('_linklist')
[Historial]
Versión | Cambios |
---|---|
v8.0.0 | Fin de la vida útil. |
v6.12.0 | Se ha asignado un código de deprecación. |
v5.0.0 | Deprecació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ón | Cambios |
---|---|
v14.0.0 | Fin de la vida útil. |
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v0.11.15 | Deprecació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ón | Cambios |
---|---|
v10.0.0 | Fin de la vida útil. |
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v0.4.0 | Deprecación solo de documentación. |
Tipo: Fin de la vida útil
Se eliminó la propiedad CryptoStream.prototype.readyState
.
DEP0005: Constructor Buffer()
[Historial]
Versión | Cambios |
---|---|
v10.0.0 | Deprecación en tiempo de ejecución. |
v6.12.0 | Se ha asignado un código de deprecación. |
v6.0.0 | Deprecació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
:
Buffer.alloc(size[, fill[, encoding]])
: Crea unBuffer
con memoria inicializada.Buffer.allocUnsafe(size)
: Crea unBuffer
con memoria no inicializada.Buffer.allocUnsafeSlow(size)
: Crea unBuffer
con memoria no inicializada.Buffer.from(array)
: Crea unBuffer
con una copia dearray
.Buffer.from(arrayBuffer[, byteOffset[, length]])
: Crea unBuffer
que envuelve elarrayBuffer
dado.Buffer.from(buffer)
: Crea unBuffer
que copiabuffer
.Buffer.from(string[, encoding])
: Crea unBuffer
que copiastring
.
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ón | Cambios |
---|---|
v12.0.0 | Fin de la vida útil. |
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v0.11.14 | Deprecación en tiempo de ejecución. |
v0.5.10 | Deprecació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ón | Cambios |
---|---|
v9.0.0 | Fin de la vida útil. |
v7.0.0 | Deprecación en tiempo de ejecución. |
v6.12.0 | Se ha asignado un código de deprecación. |
v6.0.0 | Deprecació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ón | Cambios |
---|---|
v6.12.0 | Se ha asignado un código de deprecación. |
v6.3.0 | Deprecació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ón | Cambios |
---|---|
v14.0.0 | Fin de la vida útil (para digest === null ). |
v11.0.0 | Deprecación en tiempo de ejecución (para digest === null ). |
v8.0.0 | Fin de la vida útil (para digest === undefined ). |
v6.12.0 | Se ha asignado un código de deprecación. |
v6.0.0 | Deprecació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ón | Cambios |
---|---|
v11.0.0 | Fin de la vida útil. |
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v0.11.13 | Deprecació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ón | Cambios |
---|---|
v11.0.0 | Fin de la vida útil. |
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v0.11.13 | Deprecació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ón | Cambios |
---|---|
v9.0.0 | Fin de la vida útil. |
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v0.11.7 | Deprecació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ón | Cambios |
---|---|
v10.0.0 | Fin de la vida útil. |
v7.0.0 | Deprecació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ón | Cambios |
---|---|
v8.0.0 | Fin de la vida útil. |
v6.0.0 | Deprecación en tiempo de ejecución. |
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v0.1.96 | Deprecació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ón | Cambios |
---|---|
v8.0.0 | Fin de la vida útil. |
v6.0.0 | Deprecación en tiempo de ejecución. |
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v0.1.96 | Deprecació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ón | Cambios |
---|---|
v14.0.0 | Fin de la vida útil. |
v6.12.0 | Se ha asignado un código de deprecación. |
v6.0.0 | Deprecació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ón | Cambios |
---|---|
v9.0.0 | Fin de la vida útil. |
v7.0.0 | Deprecació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ón | Cambios |
---|---|
v15.0.0 | Fin de la vida útil. |
v7.0.0 | Deprecació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ón | Cambios |
---|---|
v12.0.0 | Funcionalidad eliminada. |
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v1.8.1 | Deprecació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ón | Cambios |
---|---|
v15.0.0 | Server.connections ha sido eliminado. |
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v0.9.7 | Deprecació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ón | Cambios |
---|---|
v12.0.0 | Fin de la vida útil. |
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v0.7.12 | Deprecació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ón | Cambios |
---|---|
v14.0.0 | Fin de la vida útil. |
v7.0.0 | Obsoleto 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ón | Cambios |
---|---|
v12.0.0 | Fin de la vida útil. |
v6.12.0, v4.8.6 | Se ha asignado un código de obsolescencia. |
v0.6.0 | Obsoleto 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ón | Cambios |
---|---|
v9.0.0 | Fin de la vida útil. |
v7.0.0 | Obsoleto 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ón | Cambios |
---|---|
v6.12.0, v4.8.6 | Se ha asignado un código de obsolescencia. |
v1.0.0 | Obsoleto 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ón | Cambios |
---|---|
v12.0.0 | Fin de la vida útil. |
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v0.11.3 | Deprecació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ón | Cambios |
---|---|
v12.0.0 | Fin de la vida útil. |
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v0.11.3 | Deprecació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ón | Cambios |
---|---|
v12.0.0 | Fin de la vida útil. |
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v0.11.3 | Deprecació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ón | Cambios |
---|---|
v12.0.0 | Fin de la vida útil. |
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v0.11.3 | Deprecació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ón | Cambios |
---|---|
v6.12.0 | Se ha asignado un código de deprecación. |
v6.0.0 | Deprecació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ón | Cambios |
---|---|
v6.12.0 | Se ha asignado un código de deprecación. |
v5.2.0 | Deprecació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ón | Cambios |
---|---|
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v1.4.2 | Deprecació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ón | Cambios |
---|---|
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v3.2.0 | Deprecació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ón | Cambios |
---|---|
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v1.0.0 | Deprecació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ón | Cambios |
---|---|
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v0.4.7 | Deprecació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ón | Cambios |
---|---|
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v0.4.7 | Deprecació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ón | Cambios |
---|---|
v10.6.0 | Deprecación revocada. |
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v0.4.7 | Deprecació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ón | Cambios |
---|---|
v10.6.0 | Se revocó la deprecación. |
v6.12.0, v4.8.6 | Se asignó un código de deprecación. |
v0.4.7 | Deprecació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ón | Cambios |
---|---|
v6.12.0, v4.8.6 | Se asignó un código de deprecación. |
v0.10.6 | Deprecación solo en la documentación. |
Tipo: Solo documentación
La propiedad require.extensions
está en desuso.
DEP0040: Módulo node:punycode
[Historial]
Versión | Cambios |
---|---|
v21.0.0 | Deprecación en tiempo de ejecución. |
v16.6.0 | Se agregó compatibilidad con --pending-deprecation . |
v7.0.0 | Deprecació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ón | Cambios |
---|---|
v10.0.0 | Fin de la vida útil. |
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v3.0.0 | Deprecació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ón | Cambios |
---|---|
v10.0.0 | Fin de la vida útil. |
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v0.11.3 | Deprecació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ón | Cambios |
---|---|
v8.0.0 | Deprecación en tiempo de ejecución. |
v6.12.0 | Se ha asignado un código de deprecación. |
v6.0.0 | Deprecación solo en la documentación. |
v0.11.15 | Deprecación revocada. |
v0.11.3 | Deprecació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ón | Cambios |
---|---|
v22.0.0 | Desuso en tiempo de ejecución. |
v6.12.0, v4.8.6 | Se ha asignado un código de desuso. |
v4.0.0, v3.3.1 | Desuso 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ón | Cambios |
---|---|
v23.0.0 | Desuso al final de su vida útil. |
v22.0.0 | Desuso en tiempo de ejecución. |
v6.12.0, v4.8.6 | Se ha asignado un código de desuso. |
v4.0.0, v3.3.1 | Desuso 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ón | Cambios |
---|---|
v23.0.0 | Desuso al final de su vida útil. |
v22.0.0 | Desuso en tiempo de ejecución. |
v6.12.0, v4.8.6 | Se ha asignado un código de desuso. |
v4.0.0, v3.3.1 | Desuso 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ón | Cambios |
---|---|
v23.0.0 | Deprecación de fin de vida. |
v22.0.0 | Deprecación en tiempo de ejecución. |
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v4.0.0, v3.3.1 | Deprecació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ón | Cambios |
---|---|
v23.0.0 | Deprecación de fin de vida. |
v22.0.0 | Deprecación en tiempo de ejecución. |
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v4.0.0, v3.3.1 | Deprecació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ón | Cambios |
---|---|
v23.0.0 | Deprecación de fin de vida. |
v22.0.0 | Deprecación en tiempo de ejecución. |
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v4.0.0, v3.3.1 | Deprecació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ón | Cambios |
---|---|
v23.0.0 | Deprecación de fin de vida. |
v22.0.0 | Deprecación en tiempo de ejecución. |
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v4.0.0, v3.3.1 | Deprecació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ón | Cambios |
---|---|
v23.0.0 | Deprecación de fin de vida. |
v22.0.0 | Deprecación en tiempo de ejecución. |
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v4.0.0, v3.3.1 | Deprecació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ón | Cambios |
---|---|
v23.0.0 | Deprecación de fin de vida. |
v22.0.0 | Deprecación en tiempo de ejecución. |
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v4.0.0, v3.3.1 | Deprecació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ón | Cambios |
---|---|
v23.0.0 | Deprecación de fin de vida. |
v22.0.0 | Deprecación en tiempo de ejecución. |
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v4.0.0, v3.3.1 | Deprecació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ón | Cambios |
---|---|
v23.0.0 | Deprecación de fin de vida. |
v22.0.0 | Deprecación en tiempo de ejecución. |
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v4.0.0, v3.3.1 | Deprecació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ón | Cambios |
---|---|
v23.0.0 | Deprecación de fin de vida. |
v22.0.0 | Deprecación en tiempo de ejecución. |
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v4.0.0, v3.3.1 | Deprecació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ón | Cambios |
---|---|
v23.0.0 | Deprecación de fin de vida. |
v22.0.0 | Deprecación en tiempo de ejecución. |
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v4.0.0, v3.3.1 | Deprecació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ón | Cambios |
---|---|
v23.0.0 | Deprecación de fin de vida. |
v22.0.0 | Deprecación en tiempo de ejecución. |
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v4.0.0, v3.3.1 | Deprecació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ón | Cambios |
---|---|
v23.0.0 | Deprecación de fin de vida. |
v22.0.0 | Deprecación en tiempo de ejecución. |
v6.12.0, v4.8.6 | Se ha asignado un código de deprecación. |
v4.0.0, v3.3.1 | Deprecació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ón | Cambios |
---|---|
v23.0.0 | Deprecación de fin de vida. |
v22.0.0 | Deprecación en tiempo de ejecución. |
v6.12.0 | Se ha asignado un código de deprecación. |
v6.0.0 | Deprecació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ón | Cambios |
---|---|
v22.0.0 | Deprecación en tiempo de ejecución. |
v6.12.0 | Se ha asignado un código de deprecación. |
v6.0.0 | Deprecació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ón | Cambios |
---|---|
v11.0.0 | Fin de la vida útil. |
v8.0.0 | Deprecación en tiempo de ejecución. |
v7.0.0 | Deprecació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ón | Cambios |
---|---|
v12.0.0 | Fin de la vida útil. |
v8.0.0 | Deprecació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ón | Cambios |
---|---|
v8.0.0 | Deprecació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ón | Cambios |
---|---|
v8.0.0 | Obsoleto en tiempo de ejecución. |
v6.12.0 | Se ha asignado un código de obsoleto. |
v6.0.0 | Obsoleto solo en la documentación. |
v0.11.15 | Se revoca la obsolescencia. |
v0.11.3 | Obsoleto 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ón | Cambios |
---|---|
v10.0.0 | Fin de la vida útil. |
v8.0.0 | Obsoleto 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ón | Cambios |
---|---|
v12.0.0 | Deprecación en tiempo de ejecución. |
v8.0.0 | Deprecació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ón | Cambios |
---|---|
v8.0.0 | Deprecació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ón | Cambios |
---|---|
v15.0.0 | Se eliminó el comando node debug heredado. |
v8.0.0 | Desaprobació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ón | Cambios |
---|---|
v10.0.0 | Fin de la vida útil. |
v9.0.0 | Desaprobación en tiempo de ejecución. |
v8.0.0 | Desaprobació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ón | Cambios |
---|---|
v9.0.0 | Fin de la vida útil. |
v8.2.0 | Desaprobació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ón | Cambios |
---|---|
v9.0.0 | Fin de la vida útil. |
v8.2.0 | Deprecació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ón | Cambios |
---|---|
v9.0.0 | Fin de la vida útil. |
v8.2.0 | Deprecació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ón | Cambios |
---|---|
v10.0.0 | Fin de la vida útil. |
v9.0.0 | Deprecació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ón | Cambios |
---|---|
v15.0.0 | Fin de la vida útil. |
v9.0.0 | Obsoleto 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ón | Cambios |
---|---|
v15.0.0 | Fin de la vida útil. |
v9.0.0 | Obsoleto 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ón | Cambios |
---|---|
v18.0.0 | Fin de la vida útil. |
v9.0.0 | Obsoleto en tiempo de ejecución. |
v8.6.0 | Obsoleto 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ón | Cambios |
---|---|
v9.0.0 | Deprecació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ón | Cambios |
---|---|
v15.0.0 | Fin de la vida útil. |
v9.0.0 | Deprecació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ón | Cambios |
---|---|
v11.0.0 | Fin de la vida útil. |
v10.0.0 | Deprecación en tiempo de ejecución. |
v8.7.0 | Deprecació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ón | Cambios |
---|---|
v9.0.0 | Deprecació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ón | Cambios |
---|---|
v9.0.0 | Deprecació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ón | Cambios |
---|---|
v15.0.0 | Fin de la vida útil. |
v9.0.0 | Deprecació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ón | Cambios |
---|---|
v10.0.0 | Fin de la vida útil. |
v9.2.0 | Deprecació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ón | Cambios |
---|---|
v12.0.0 | Esta funcionalidad se ha eliminado. |
v10.0.0 | Deprecació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ón | Cambios |
---|---|
v10.0.0 | Fin de la vida útil. |
v9.4.0, v8.10.0 | Desaprobació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ón | Cambios |
---|---|
v10.0.0 | Fin de la vida útil. |
v9.4.0, v8.10.0 | Desaprobació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ón | Cambios |
---|---|
v12.8.0 | Desaprobación revocada. |
v9.9.0, v8.13.0 | Desaprobació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ón | Cambios |
---|---|
v11.0.0 | Fin de la vida útil. |
v10.0.0 | Obsoleta 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ón | Cambios |
---|---|
v20.0.0 | Fin de la vida útil. |
v10.0.0 | Obsoleta 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ón | Cambios |
---|---|
v10.0.0 | Obsoleta 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ón | Cambios |
---|---|
v23.0.0 | Deprecación en tiempo de ejecución. |
v10.0.0 | Deprecació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ón | Cambios |
---|---|
v10.0.0 | Deprecació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ón | Cambios |
---|---|
v10.0.0 | Deprecació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ón | Cambios |
---|---|
v10.0.0 | Obsoleto 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ón | Cambios |
---|---|
v10.0.0 | Obsoleto 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ón | Cambios |
---|---|
v12.0.0 | Fin de la vida útil. |
v10.0.0, v9.6.0, v8.12.0 | Obsoleto 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ón | Cambios |
---|---|
v10.0.0 | Deprecació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ón | Cambios |
---|---|
v23.0.0 | Fin de la vida útil. |
v10.0.0 | Deprecación en tiempo de ejecución. |
v0.3.7 | Deprecació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ón | Cambios |
---|---|
v10.0.0 | Fin 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ón | Cambios |
---|---|
v10.0.0 | Fin 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ón | Cambios |
---|---|
v10.9.0 | Sustituido por DEP0111. |
v10.0.0 | Deprecació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ón | Cambios |
---|---|
v10.0.0 | Deprecació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ón | Cambios |
---|---|
v11.0.0 | Fin de la vida útil. |
v10.0.0 | Obsoleto 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ón | Cambios |
---|---|
v22.0.0 | Fin de la vida útil. |
v11.0.0 | Obsoleto en tiempo de ejecución. |
v10.0.0 | Obsoleto 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ón | Cambios |
---|---|
v11.0.0 | Fin de la vida útil. |
v10.0.0 | Obsoleto 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ón | Cambios |
---|---|
v23.0.0 | Fin de la vida útil. |
v11.0.0 | Obsoleto en tiempo de ejecución. |
v10.0.0 | Obsoleto 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ón | Cambios |
---|---|
v16.0.0 | Fin de la vida útil. |
v11.0.0 | Obsoleto 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ón | Cambios |
---|---|
v10.6.0 | Deprecació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ón | Cambios |
---|---|
v11.12.0 | Se agregó soporte para --pending-deprecation . |
v10.9.0 | Deprecació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ón | Cambios |
---|---|
v11.0.0 | Deprecació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ón | Cambios |
---|---|
v12.0.0 | Fin de la vida útil. |
v11.0.0 | Obsoleto 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ón | Cambios |
---|---|
v12.0.0 | Fin de la vida útil. |
v11.0.0 | Obsoleto 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ón | Cambios |
---|---|
v11.0.0 | Se 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ón | Cambios |
---|---|
v19.0.0, v18.13.0 | url.parse() se depreca de nuevo en DEP0169. |
v15.13.0, v14.17.0 | Deprecación revocada. Estado cambiado a "Heredado". |
v11.0.0 | Deprecació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ón | Cambios |
---|---|
v12.0.0 | Fin de la vida útil. |
v11.0.0 | Deprecació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ón | Cambios |
---|---|
v11.0.0 | Deprecació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ón | Cambios |
---|---|
v11.0.0 | Deprecació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ón | Cambios |
---|---|
v12.0.0 | Fin de la vida útil. |
v11.0.0 | Deprecació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ón | Cambios |
---|---|
v12.0.0 | Deprecació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ón | Cambios |
---|---|
v12.0.0 | Deprecació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ón | Cambios |
---|---|
v12.0.0 | Deprecació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ón | Cambios |
---|---|
v15.0.0 | Fin de la vida útil. |
v12.0.0 | Obsoleto 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ón | Cambios |
---|---|
v12.0.0 | Obsoleto en tiempo de ejecución. |
Tipo: Tiempo de ejecución
El módulo node:_stream_wrap
está en desuso.
DEP0126: timers.active()
[Historial]
Versión | Cambios |
---|---|
v11.14.0 | Obsoleto 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ón | Cambios |
---|---|
v11.14.0 | Obsoleto 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ón | Cambios |
---|---|
v16.0.0 | Deprecación en tiempo de ejecución. |
v12.0.0 | Solo 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ón | Cambios |
---|---|
v13.0.0 | Deprecación en tiempo de ejecución. |
v11.14.0 | Solo 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ón | Cambios |
---|---|
v16.0.0 | Fin de la vida útil. |
v13.0.0 | Deprecación en tiempo de ejecución. |
v12.2.0 | Solo documentación. |
Tipo: Fin de la vida útil
Use module.createRequire()
en su lugar.
DEP0131: Analizador HTTP heredado
[Historial]
Versión | Cambios |
---|---|
v13.0.0 | Esta característica ha sido eliminada. |
v12.22.0 | Obsoleto en tiempo de ejecución. |
v12.3.0 | Solo 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ón | Cambios |
---|---|
v12.5.0 | Obsoleto 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ón | Cambios |
---|---|
v12.12.0 | Obsoleto 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ón | Cambios |
---|---|
v12.12.0 | Deprecació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ón | Cambios |
---|---|
v13.0.0 | Deprecació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ón | Cambios |
---|---|
v13.4.0, v12.16.0 | Deprecació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ón | Cambios |
---|---|
v14.0.0 | Deprecació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:
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ón | Cambios |
---|---|
v14.0.0 | Deprecació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ón | Cambios |
---|---|
v14.0.0, v12.19.0 | Deprecació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ón | Cambios |
---|---|
v14.1.0, v13.14.0 | Deprecació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ón | Cambios |
---|---|
v14.3.0 | Solo 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ón | Cambios |
---|---|
v14.3.0 | Solo 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ón | Cambios |
---|---|
v14.5.0 | Desaprobació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ón | Cambios |
---|---|
v14.6.0, v12.19.0 | Desaprobació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
:
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
:
const moduleParents = Object.values(require.cache).filter(m => m.children.includes(module))
DEP0145: socket.bufferSize
[Historial]
Versión | Cambios |
---|---|
v14.6.0 | Deprecación solo de documentación. |
Tipo: Solo documentación
socket.bufferSize
es solo un alias para writable.writableLength
.
DEP0146: new crypto.Certificate()
[Historial]
Versión | Cambios |
---|---|
v14.9.0 | Deprecació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ón | Cambios |
---|---|
v16.0.0 | Deprecación en tiempo de ejecución. |
v15.0.0 | Deprecación en tiempo de ejecución para comportamiento permisivo. |
v14.14.0 | Deprecació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ón | Cambios |
---|---|
v17.0.0 | Fin de la vida útil. |
v16.0.0 | Obsoleto en tiempo de ejecución. |
v15.1.0 | Obsoleto en tiempo de ejecución para importaciones autoreferenciadas. |
v14.13.0 | Obsoleto 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ón | Cambios |
---|---|
v16.0.0 | Obsoleto solo en la documentación. |
Tipo: Solo documentación.
Prefiera message.socket
sobre message.connection
.
DEP0150: Cambio del valor de process.config
[Historial]
Versión | Cambios |
---|---|
v19.0.0 | Fin de la vida útil. |
v16.0.0 | Obsoleto 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ón | Cambios |
---|---|
v16.0.0 | Deprecación en tiempo de ejecución. |
v15.8.0, v14.18.0 | Deprecació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ón | Cambios |
---|---|
v16.0.0 | Deprecació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ón | Cambios |
---|---|
v18.0.0 | Fin de la vida útil. |
v17.0.0 | Deprecación en tiempo de ejecución. |
v16.8.0 | Deprecació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ón | Cambios |
---|---|
v20.0.0 | Deprecación en tiempo de ejecución. |
v16.10.0 | Deprecació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ón | Cambios |
---|---|
v17.0.0 | Deprecación en tiempo de ejecución. |
v16.10.0 | Deprecació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ón | Cambios |
---|---|
v17.0.0, v16.12.0 | Deprecació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ón | Cambios |
---|---|
v18.0.0 | Fin de vida. |
v17.2.0, v16.14.0 | Deprecació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.
const w = new Writable({
async final(callback) {
await someOp()
callback()
},
})
DEP0158: buffer.slice(start, end)
[Historial]
Versión | Cambios |
---|---|
v17.5.0, v16.15.0 | Deprecació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ón | Cambios |
---|---|
v18.0.0 | Fin 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ón | Cambios |
---|---|
v18.0.0 | Obsoleto en tiempo de ejecución. |
v17.6.0, v16.15.0 | Obsoleto 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ón | Cambios |
---|---|
v17.6.0, v16.15.0 | Obsoleto 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ón | Cambios |
---|---|
v19.0.0 | Fin de la vida útil. |
v18.0.0 | Deprecación en tiempo de ejecución. |
v17.8.0, v16.15.0 | Deprecació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ón | Cambios |
---|---|
v18.7.0, v16.17.0 | Deprecació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ón | Cambios |
---|---|
v20.0.0 | Fin de la vida útil. |
v19.0.0 | Obsoleto en tiempo de ejecución. |
v18.10.0, v16.18.0 | Obsoleto solo en la documentación de la coerción a entero de process.exitCode . |
v18.7.0, v16.17.0 | Obsoleto 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ón | Cambios |
---|---|
v23.0.0 | Fin de la vida útil. |
v22.0.0 | Obsoleto en tiempo de ejecución. |
v18.8.0, v16.18.0 | Obsoleto 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ón | Cambios |
---|---|
v19.0.0 | Deprecación en tiempo de ejecución. |
v18.10.0 | Deprecació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ón | Cambios |
---|---|
v18.10.0, v16.18.0 | Deprecació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ón | Cambios |
---|---|
v18.3.0, v16.17.0 | Desaprobació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ón | Cambios |
---|---|
v19.9.0, v18.17.0 | Se agregó soporte para --pending-deprecation . |
v19.0.0, v18.13.0 | Desaprobació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ón | Cambios |
---|---|
v20.0.0 | Deprecación en tiempo de ejecución. |
v19.2.0, v18.13.0 | Deprecació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ón | Cambios |
---|---|
v19.3.0, v18.13.0 | Deprecació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ón | Cambios |
---|---|
v20.0.0 | Deprecació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ón | Cambios |
---|---|
v20.1.0 | Deprecació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ón | Cambios |
---|---|
v21.0.0 | Deprecación en tiempo de ejecución. |
v20.8.0 | Deprecació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ón | Cambios |
---|---|
v20.8.0 | Deprecació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ón | Cambios |
---|---|
v20.8.0 | Deprecació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ón | Cambios |
---|---|
v21.7.0, v20.12.0 | Fin de la vida útil. |
v21.3.0, v20.11.0 | Se ha asignado un código de deprecación. |
v14.0.0 | Deprecació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ón | Cambios |
---|---|
v23.0.0 | Obsoleta en tiempo de ejecución. |
v21.5.0, v20.12.0, v18.20.0 | Obsoleta 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ón | Cambios |
---|---|
v22.0.0 | Obsoleta en tiempo de ejecución. |
v21.5.0, v20.12.0 | Obsoleta 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ón | Cambios |
---|---|
v22.0.0 | Obsoleta en tiempo de ejecución. |
v20.13.0 | Obsoleta 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ón | Cambios |
---|---|
v22.0.0 | Deprecación en tiempo de ejecución. |
v20.13.0 | Deprecació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ón | Cambios |
---|---|
v23.0.0 | Deprecación en tiempo de ejecución. |
v20.13.0 | Deprecació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ón | Cambios |
---|---|
v22.4.0, v20.16.0 | Deprecació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ón | Cambios |
---|---|
v22.9.0, v20.18.0 | Deprecació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ón | Cambios |
---|---|
v22.9.0, v20.18.0 | Deprecació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ón | Cambios |
---|---|
v23.4.0 | Solo 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ón | Cambios |
---|---|
v23.4.0 | Deprecació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ón | Cambios |
---|---|
v23.4.0 | Deprecació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
.