APIs Obsoletas
As APIs do Node.js podem ser descontinuadas por qualquer um dos seguintes motivos:
- O uso da API não é seguro.
- Uma API alternativa aprimorada está disponível.
- Mudanças significativas na API são esperadas em uma versão principal futura.
O Node.js usa quatro tipos de descontinuações:
- Somente documentação
- Aplicação (somente código não
node_modules
) - Tempo de execução (todo o código)
- Fim da vida útil
Uma descontinuação Somente documentação é aquela que é expressa apenas na documentação da API do Node.js. Estes não geram efeitos colaterais durante a execução do Node.js. Algumas descontinuações Somente documentação acionam um aviso de tempo de execução quando lançadas com a flag --pending-deprecation
(ou sua alternativa, variável de ambiente NODE_PENDING_DEPRECATION=1
), semelhante às descontinuações de Tempo de execução abaixo. As descontinuações Somente documentação que suportam essa flag são explicitamente rotuladas como tal na lista de APIs descontinuadas.
Uma descontinuação de Aplicação apenas para código não node_modules
irá, por padrão, gerar um aviso de processo que será impresso em stderr
na primeira vez que a API descontinuada for usada em código que não foi carregado de node_modules
. Quando a flag de linha de comando --throw-deprecation
é usada, uma descontinuação de Tempo de execução causará o lançamento de um erro. Quando --pending-deprecation
é usado, os avisos também serão emitidos para o código carregado de node_modules
.
Uma descontinuação de tempo de execução para todo o código é semelhante à descontinuação de tempo de execução para código não node_modules
, exceto que também emite um aviso para o código carregado de node_modules
.
Uma descontinuação de Fim da vida útil é usada quando a funcionalidade está ou será em breve removida do Node.js.
Revogando descontinuações
Ocasionalmente, a descontinuação de uma API pode ser revertida. Nessas situações, este documento será atualizado com informações relevantes para a decisão. No entanto, o identificador de descontinuação não será modificado.
Lista de APIs descontinuadas
DEP0001: http.OutgoingMessage.prototype.flush
[Histórico]
Versão | Mudanças |
---|---|
v14.0.0 | Fim da vida útil. |
v6.12.0, v4.8.6 | Um código de descontinuação foi atribuído. |
v1.6.0 | Descontinuação de tempo de execução. |
Tipo: Fim da vida útil
OutgoingMessage.prototype.flush()
foi removido. Use OutgoingMessage.prototype.flushHeaders()
em vez disso.
DEP0002: require('_linklist')
[Histórico]
Versão | Mudanças |
---|---|
v8.0.0 | Fim da Vida. |
v6.12.0 | Um código de depreciação foi atribuído. |
v5.0.0 | Depreciação em tempo de execução. |
Tipo: Fim da Vida
O módulo _linklist
está obsoleto. Por favor, use uma alternativa de userland.
DEP0003: _writableState.buffer
[Histórico]
Versão | Mudanças |
---|---|
v14.0.0 | Fim da Vida. |
v6.12.0, v4.8.6 | Um código de depreciação foi atribuído. |
v0.11.15 | Depreciação em tempo de execução. |
Tipo: Fim da Vida
O _writableState.buffer
foi removido. Use _writableState.getBuffer()
em vez disso.
DEP0004: CryptoStream.prototype.readyState
[Histórico]
Versão | Mudanças |
---|---|
v10.0.0 | Fim da Vida. |
v6.12.0, v4.8.6 | Um código de depreciação foi atribuído. |
v0.4.0 | Depreciação apenas na documentação. |
Tipo: Fim da Vida
A propriedade CryptoStream.prototype.readyState
foi removida.
DEP0005: Construtor Buffer()
[Histórico]
Versão | Mudanças |
---|---|
v10.0.0 | Depreciação em tempo de execução. |
v6.12.0 | Um código de depreciação foi atribuído. |
v6.0.0 | Depreciação apenas na documentação. |
Tipo: Aplicação (código não-node_modules
apenas)
A função Buffer()
e o construtor new Buffer()
estão obsoletos devido a problemas de usabilidade da API que podem levar a problemas de segurança acidentais.
Como alternativa, use um dos seguintes métodos para construir objetos Buffer
:
Buffer.alloc(size[, fill[, encoding]])
: Crie umBuffer
com memória inicializada.Buffer.allocUnsafe(size)
: Crie umBuffer
com memória não inicializada.Buffer.allocUnsafeSlow(size)
: Crie umBuffer
com memória não inicializada.Buffer.from(array)
: Crie umBuffer
com uma cópia dearray
.Buffer.from(arrayBuffer[, byteOffset[, length]])
- Crie umBuffer
que envolve oarrayBuffer
fornecido.Buffer.from(buffer)
: Crie umBuffer
que copiabuffer
.Buffer.from(string[, encoding])
: Crie umBuffer
que copiastring
.
Sem --pending-deprecation
, avisos em tempo de execução ocorrem apenas para código não em node_modules
. Isso significa que não haverá avisos de depreciação para o uso de Buffer()
em dependências. Com --pending-deprecation
, um aviso em tempo de execução resulta, não importa onde o uso de Buffer()
ocorra.
DEP0006: child_process
options.customFds
[Histórico]
Versão | Mudanças |
---|---|
v12.0.0 | Fim da Vida útil. |
v6.12.0, v4.8.6 | Um código de depreciação foi atribuído. |
v0.11.14 | Depreciação em tempo de execução. |
v0.5.10 | Depreciação apenas na documentação. |
Tipo: Fim da Vida Útil
Dentro dos métodos spawn()
, fork()
e exec()
do módulo child_process
, a opção options.customFds
está obsoleta. A opção options.stdio
deve ser usada em vez disso.
DEP0007: Substituir cluster
worker.suicide
por worker.exitedAfterDisconnect
[Histórico]
Versão | Mudanças |
---|---|
v9.0.0 | Fim da Vida útil. |
v7.0.0 | Depreciação em tempo de execução. |
v6.12.0 | Um código de depreciação foi atribuído. |
v6.0.0 | Depreciação apenas na documentação. |
Tipo: Fim da Vida Útil
Em uma versão anterior do cluster
do Node.js, uma propriedade booleana com o nome suicide
foi adicionada ao objeto Worker
. A intenção desta propriedade era fornecer uma indicação de como e por que a instância Worker
foi encerrada. No Node.js 6.0.0, a propriedade antiga foi descontinuada e substituída por uma nova propriedade worker.exitedAfterDisconnect
. O nome da propriedade antiga não descrevia precisamente a semântica real e era desnecessariamente carregado de emoção.
DEP0008: require('node:constants')
[Histórico]
Versão | Mudanças |
---|---|
v6.12.0 | Um código de depreciação foi atribuído. |
v6.3.0 | Depreciação apenas na documentação. |
Tipo: Apenas na Documentação
O módulo node:constants
está obsoleto. Ao exigir acesso a constantes relevantes para módulos integrados específicos do Node.js, os desenvolvedores devem, em vez disso, consultar a propriedade constants
exposta pelo módulo relevante. Por exemplo, require('node:fs').constants
e require('node:os').constants
.
DEP0009: crypto.pbkdf2
sem digest
[Histórico]
Versão | Mudanças |
---|---|
v14.0.0 | Fim da Vida útil (para digest === null ). |
v11.0.0 | Depreciação em tempo de execução (para digest === null ). |
v8.0.0 | Fim da Vida útil (para digest === undefined ). |
v6.12.0 | Um código de depreciação foi atribuído. |
v6.0.0 | Depreciação em tempo de execução (para digest === undefined ). |
Tipo: Fim da Vida Útil
O uso da API crypto.pbkdf2()
sem especificar um digest foi descontinuado no Node.js 6.0 porque o método usava por padrão o digest 'SHA1'
não recomendado. Anteriormente, um aviso de depreciação era impresso. A partir do Node.js 8.0.0, chamar crypto.pbkdf2()
ou crypto.pbkdf2Sync()
com digest
definido como undefined
lançará um TypeError
.
A partir do Node.js v11.0.0, chamar essas funções com digest
definido como null
imprimiria um aviso de depreciação para se alinhar ao comportamento quando digest
é undefined
.
Agora, no entanto, passar undefined
ou null
lançará um TypeError
.
DEP0010: crypto.createCredentials
[Histórico]
Versão | Mudanças |
---|---|
v11.0.0 | Fim da vida útil. |
v6.12.0, v4.8.6 | Um código de depreciação foi atribuído. |
v0.11.13 | Depreciação em tempo de execução. |
Tipo: Fim da vida útil
A API crypto.createCredentials()
foi removida. Use tls.createSecureContext()
em vez disso.
DEP0011: crypto.Credentials
[Histórico]
Versão | Mudanças |
---|---|
v11.0.0 | Fim da vida útil. |
v6.12.0, v4.8.6 | Um código de depreciação foi atribuído. |
v0.11.13 | Depreciação em tempo de execução. |
Tipo: Fim da vida útil
A classe crypto.Credentials
foi removida. Use tls.SecureContext
em vez disso.
DEP0012: Domain.dispose
[Histórico]
Versão | Mudanças |
---|---|
v9.0.0 | Fim da vida útil. |
v6.12.0, v4.8.6 | Um código de depreciação foi atribuído. |
v0.11.7 | Depreciação em tempo de execução. |
Tipo: Fim da vida útil
Domain.dispose()
foi removido. Recupere-se de ações de E/S com falha explicitamente por meio de manipuladores de eventos de erro definidos no domínio.
DEP0013: Função assíncrona fs
sem callback
[Histórico]
Versão | Mudanças |
---|---|
v10.0.0 | Fim da vida útil. |
v7.0.0 | Depreciação em tempo de execução. |
Tipo: Fim da vida útil
Chamar uma função assíncrona sem um callback lança um TypeError
no Node.js 10.0.0 em diante. Veja https://github.com/nodejs/node/pull/12562.
DEP0014: Interface String
legada de fs.read
[Histórico]
Versão | Mudanças |
---|---|
v8.0.0 | Fim da vida útil. |
v6.0.0 | Depreciação em tempo de execução. |
v6.12.0, v4.8.6 | Um código de depreciação foi atribuído. |
v0.1.96 | Depreciação apenas na documentação. |
Tipo: Fim da vida útil
A interface String
legada de fs.read()
está obsoleta. Use a API Buffer
conforme mencionado na documentação.
DEP0015: Interface String
legada de fs.readSync
[Histórico]
Versão | Mudanças |
---|---|
v8.0.0 | Fim da vida útil. |
v6.0.0 | Depreciação em tempo de execução. |
v6.12.0, v4.8.6 | Um código de depreciação foi atribuído. |
v0.1.96 | Depreciação apenas na documentação. |
Tipo: Fim da vida útil
A interface String
legada de fs.readSync()
está obsoleta. Use a API Buffer
conforme mencionado na documentação.
DEP0016: GLOBAL
/root
[Histórico]
Versão | Mudanças |
---|---|
v14.0.0 | Fim da Vida Útil. |
v6.12.0 | Um código de depreciação foi atribuído. |
v6.0.0 | Depreciação em tempo de execução. |
Tipo: Fim da Vida Útil
Os aliases GLOBAL
e root
para a propriedade global
foram descontinuados no Node.js 6.0.0 e foram removidos desde então.
DEP0017: Intl.v8BreakIterator
[Histórico]
Versão | Mudanças |
---|---|
v9.0.0 | Fim da Vida Útil. |
v7.0.0 | Depreciação em tempo de execução. |
Tipo: Fim da Vida Útil
Intl.v8BreakIterator
era uma extensão não padrão e foi removida. Veja Intl.Segmenter
.
DEP0018: Rejeições de promessas não tratadas
[Histórico]
Versão | Mudanças |
---|---|
v15.0.0 | Fim da Vida Útil. |
v7.0.0 | Depreciação em tempo de execução. |
Tipo: Fim da Vida Útil
Rejeições de promessas não tratadas são obsoletas. Por padrão, rejeições de promessas que não são tratadas terminam o processo do Node.js com um código de saída diferente de zero. Para alterar a forma como o Node.js trata as rejeições não tratadas, use a opção de linha de comando --unhandled-rejections
.
DEP0019: require('.')
resolvido fora do diretório
[Histórico]
Versão | Mudanças |
---|---|
v12.0.0 | Funcionalidade removida. |
v6.12.0, v4.8.6 | Um código de depreciação foi atribuído. |
v1.8.1 | Depreciação em tempo de execução. |
Tipo: Fim da Vida Útil
Em certos casos, require('.')
poderia resolver fora do diretório do pacote. Este comportamento foi removido.
DEP0020: Server.connections
[Histórico]
Versão | Mudanças |
---|---|
v15.0.0 | Server.connections foi removido. |
v6.12.0, v4.8.6 | Um código de depreciação foi atribuído. |
v0.9.7 | Depreciação em tempo de execução. |
Tipo: Fim da Vida Útil
A propriedade Server.connections
foi descontinuada no Node.js v0.9.7 e foi removida. Por favor, use o método Server.getConnections()
em vez disso.
DEP0021: Server.listenFD
[Histórico]
Versão | Mudanças |
---|---|
v12.0.0 | Fim da Vida Útil. |
v6.12.0, v4.8.6 | Um código de depreciação foi atribuído. |
v0.7.12 | Depreciação em tempo de execução. |
Tipo: Fim da Vida Útil
O método Server.listenFD()
foi descontinuado e removido. Por favor, use Server.listen({fd: \<number\>})
em vez disso.
DEP0022: os.tmpDir()
[Histórico]
Versão | Alterações |
---|---|
v14.0.0 | Fim da vida útil. |
v7.0.0 | Descontinuação em tempo de execução. |
Tipo: Fim da vida útil
A API os.tmpDir()
foi descontinuada no Node.js 7.0.0 e foi removida desde então. Use os.tmpdir()
em vez disso.
DEP0023: os.getNetworkInterfaces()
[Histórico]
Versão | Alterações |
---|---|
v12.0.0 | Fim da vida útil. |
v6.12.0, v4.8.6 | Um código de descontinuação foi atribuído. |
v0.6.0 | Descontinuação em tempo de execução. |
Tipo: Fim da vida útil
O método os.getNetworkInterfaces()
está descontinuado. Use o método os.networkInterfaces()
em vez disso.
DEP0024: REPLServer.prototype.convertToContext()
[Histórico]
Versão | Alterações |
---|---|
v9.0.0 | Fim da vida útil. |
v7.0.0 | Descontinuação em tempo de execução. |
Tipo: Fim da vida útil
A API REPLServer.prototype.convertToContext()
foi removida.
DEP0025: require('node:sys')
[Histórico]
Versão | Alterações |
---|---|
v6.12.0, v4.8.6 | Um código de descontinuação foi atribuído. |
v1.0.0 | Descontinuação em tempo de execução. |
Tipo: Tempo de execução
O módulo node:sys
está descontinuado. Use o módulo util
em vez disso.
DEP0026: util.print()
[Histórico]
Versão | Alterações |
---|---|
v12.0.0 | Fim da vida útil. |
v6.12.0, v4.8.6 | Um código de descontinuação foi atribuído. |
v0.11.3 | Descontinuação em tempo de execução. |
Tipo: Fim da vida útil
util.print()
foi removido. Use console.log()
em vez disso.
DEP0027: util.puts()
[Histórico]
Versão | Alterações |
---|---|
v12.0.0 | Fim da vida útil. |
v6.12.0, v4.8.6 | Um código de descontinuação foi atribuído. |
v0.11.3 | Descontinuação em tempo de execução. |
Tipo: Fim da vida útil
util.puts()
foi removido. Use console.log()
em vez disso.
DEP0028: util.debug()
[Histórico]
Versão | Alterações |
---|---|
v12.0.0 | Fim da vida útil. |
v6.12.0, v4.8.6 | Um código de descontinuação foi atribuído. |
v0.11.3 | Descontinuação em tempo de execução. |
Tipo: Fim da vida útil
util.debug()
foi removido. Use console.error()
em vez disso.
DEP0029: util.error()
[Histórico]
Versão | Mudanças |
---|---|
v12.0.0 | Fim da vida útil. |
v6.12.0, v4.8.6 | Um código de depreciação foi atribuído. |
v0.11.3 | Depreciação em tempo de execução. |
Tipo: Fim da vida útil
util.error()
foi removido. Utilize console.error()
em vez disso.
DEP0030: SlowBuffer
[Histórico]
Versão | Mudanças |
---|---|
v6.12.0 | Um código de depreciação foi atribuído. |
v6.0.0 | Depreciação somente na documentação. |
Tipo: Somente na documentação
A classe SlowBuffer
está obsoleta. Utilize Buffer.allocUnsafeSlow(size)
em vez disso.
DEP0031: ecdh.setPublicKey()
[Histórico]
Versão | Mudanças |
---|---|
v6.12.0 | Um código de depreciação foi atribuído. |
v5.2.0 | Depreciação somente na documentação. |
Tipo: Somente na documentação
O método ecdh.setPublicKey()
agora está obsoleto, pois sua inclusão na API não é útil.
DEP0032: módulo node:domain
[Histórico]
Versão | Mudanças |
---|---|
v6.12.0, v4.8.6 | Um código de depreciação foi atribuído. |
v1.4.2 | Depreciação somente na documentação. |
Tipo: Somente na documentação
O módulo domain
está obsoleto e não deve ser usado.
DEP0033: EventEmitter.listenerCount()
[Histórico]
Versão | Mudanças |
---|---|
v6.12.0, v4.8.6 | Um código de depreciação foi atribuído. |
v3.2.0 | Depreciação somente na documentação. |
Tipo: Somente na documentação
A API events.listenerCount(emitter, eventName)
está obsoleta. Utilize emitter.listenerCount(eventName)
em vez disso.
DEP0034: fs.exists(path, callback)
[Histórico]
Versão | Mudanças |
---|---|
v6.12.0, v4.8.6 | Um código de depreciação foi atribuído. |
v1.0.0 | Depreciação somente na documentação. |
Tipo: Somente na documentação
A API fs.exists(path, callback)
está obsoleta. Utilize fs.stat()
ou fs.access()
em vez disso.
DEP0035: fs.lchmod(path, mode, callback)
[Histórico]
Versão | Mudanças |
---|---|
v6.12.0, v4.8.6 | Um código de obsolescência foi atribuído. |
v0.4.7 | Obsolescência apenas na documentação. |
Tipo: Apenas na documentação
A API fs.lchmod(path, mode, callback)
está obsoleta.
DEP0036: fs.lchmodSync(path, mode)
[Histórico]
Versão | Mudanças |
---|---|
v6.12.0, v4.8.6 | Um código de obsolescência foi atribuído. |
v0.4.7 | Obsolescência apenas na documentação. |
Tipo: Apenas na documentação
A API fs.lchmodSync(path, mode)
está obsoleta.
DEP0037: fs.lchown(path, uid, gid, callback)
[Histórico]
Versão | Mudanças |
---|---|
v10.6.0 | Obsolescência revogada. |
v6.12.0, v4.8.6 | Um código de obsolescência foi atribuído. |
v0.4.7 | Obsolescência apenas na documentação. |
Tipo: Obsolescência revogada
A API fs.lchown(path, uid, gid, callback)
estava obsoleta. A obsolescência foi revogada porque as APIs de suporte necessárias foram adicionadas em libuv.
DEP0038: fs.lchownSync(path, uid, gid)
[Histórico]
Versão | Mudanças |
---|---|
v10.6.0 | Obsolescência revogada. |
v6.12.0, v4.8.6 | Um código de obsolescência foi atribuído. |
v0.4.7 | Obsolescência apenas na documentação. |
Tipo: Obsolescência revogada
A API fs.lchownSync(path, uid, gid)
estava obsoleta. A obsolescência foi revogada porque as APIs de suporte necessárias foram adicionadas em libuv.
DEP0039: require.extensions
[Histórico]
Versão | Mudanças |
---|---|
v6.12.0, v4.8.6 | Um código de obsolescência foi atribuído. |
v0.10.6 | Obsolescência apenas na documentação. |
Tipo: Apenas na documentação
A propriedade require.extensions
está obsoleta.
DEP0040: módulo node:punycode
[Histórico]
Versão | Mudanças |
---|---|
v21.0.0 | Obsolescência em tempo de execução. |
v16.6.0 | Adicionado suporte para --pending-deprecation . |
v7.0.0 | Obsolescência apenas na documentação. |
Tipo: Tempo de execução
O módulo punycode
está obsoleto. Por favor, use uma alternativa userland em vez disso.
DEP0041: Variável de ambiente NODE_REPL_HISTORY_FILE
[Histórico]
Versão | Mudanças |
---|---|
v10.0.0 | Fim da Vida Útil. |
v6.12.0, v4.8.6 | Um código de depreciação foi atribuído. |
v3.0.0 | Depreciação apenas na documentação. |
Tipo: Fim da Vida Útil
A variável de ambiente NODE_REPL_HISTORY_FILE
foi removida. Use NODE_REPL_HISTORY
em vez disso.
DEP0042: tls.CryptoStream
[Histórico]
Versão | Mudanças |
---|---|
v10.0.0 | Fim da Vida Útil. |
v6.12.0, v4.8.6 | Um código de depreciação foi atribuído. |
v0.11.3 | Depreciação apenas na documentação. |
Tipo: Fim da Vida Útil
A classe tls.CryptoStream
foi removida. Use tls.TLSSocket
em vez disso.
DEP0043: tls.SecurePair
[Histórico]
Versão | Mudanças |
---|---|
v8.0.0 | Depreciação em tempo de execução. |
v6.12.0 | Um código de depreciação foi atribuído. |
v6.0.0 | Depreciação apenas na documentação. |
v0.11.15 | Depreciação revogada. |
v0.11.3 | Depreciação em tempo de execução. |
Tipo: Apenas na documentação
A classe tls.SecurePair
está obsoleta. Use tls.TLSSocket
em vez disso.
DEP0044: util.isArray()
[Histórico]
Versão | Mudanças |
---|---|
v22.0.0 | Depreciação em tempo de execução. |
v6.12.0, v4.8.6 | Um código de depreciação foi atribuído. |
v4.0.0, v3.3.1 | Depreciação apenas na documentação. |
Tipo: Tempo de Execução
A API util.isArray()
está obsoleta. Use Array.isArray()
em vez disso.
DEP0045: util.isBoolean()
[Histórico]
Versão | Mudanças |
---|---|
v23.0.0 | Depreciação de Fim de Vida Útil. |
v22.0.0 | Depreciação em tempo de execução. |
v6.12.0, v4.8.6 | Um código de depreciação foi atribuído. |
v4.0.0, v3.3.1 | Depreciação apenas na documentação. |
Tipo: Fim da Vida Útil
A API util.isBoolean()
foi removida. Use typeof arg === 'boolean'
em vez disso.
DEP0046: util.isBuffer()
[Histórico]
Versão | Mudanças |
---|---|
v23.0.0 | Depreciação de Fim de Vida Útil. |
v22.0.0 | Depreciação em tempo de execução. |
v6.12.0, v4.8.6 | Um código de depreciação foi atribuído. |
v4.0.0, v3.3.1 | Depreciação apenas na documentação. |
Tipo: Fim da Vida Útil
A API util.isBuffer()
foi removida. Use Buffer.isBuffer()
em vez disso.
DEP0047: util.isDate()
[Histórico]
Versão | Alterações |
---|---|
v23.0.0 | Descontinuação de Fim de Vida. |
v22.0.0 | Descontinuação em Tempo de Execução. |
v6.12.0, v4.8.6 | Um código de descontinuação foi atribuído. |
v4.0.0, v3.3.1 | Descontinuação apenas na documentação. |
Tipo: Fim de Vida
A API util.isDate()
foi removida. Use arg instanceof Date
em vez disso.
DEP0048: util.isError()
[Histórico]
Versão | Alterações |
---|---|
v23.0.0 | Descontinuação de Fim de Vida. |
v22.0.0 | Descontinuação em Tempo de Execução. |
v6.12.0, v4.8.6 | Um código de descontinuação foi atribuído. |
v4.0.0, v3.3.1 | Descontinuação apenas na documentação. |
Tipo: Fim de Vida
A API util.isError()
foi removida. Use Object.prototype.toString(arg) === '[object Error]' || arg instanceof Error
em vez disso.
DEP0049: util.isFunction()
[Histórico]
Versão | Alterações |
---|---|
v23.0.0 | Descontinuação de Fim de Vida. |
v22.0.0 | Descontinuação em Tempo de Execução. |
v6.12.0, v4.8.6 | Um código de descontinuação foi atribuído. |
v4.0.0, v3.3.1 | Descontinuação apenas na documentação. |
Tipo: Fim de Vida
A API util.isFunction()
foi removida. Use typeof arg === 'function'
em vez disso.
DEP0050: util.isNull()
[Histórico]
Versão | Alterações |
---|---|
v23.0.0 | Descontinuação de Fim de Vida. |
v22.0.0 | Descontinuação em Tempo de Execução. |
v6.12.0, v4.8.6 | Um código de descontinuação foi atribuído. |
v4.0.0, v3.3.1 | Descontinuação apenas na documentação. |
Tipo: Fim de Vida
A API util.isNull()
foi removida. Use arg === null
em vez disso.
DEP0051: util.isNullOrUndefined()
[Histórico]
Versão | Alterações |
---|---|
v23.0.0 | Descontinuação de Fim de Vida. |
v22.0.0 | Descontinuação em Tempo de Execução. |
v6.12.0, v4.8.6 | Um código de descontinuação foi atribuído. |
v4.0.0, v3.3.1 | Descontinuação apenas na documentação. |
Tipo: Fim de Vida
A API util.isNullOrUndefined()
foi removida. Use arg === null || arg === undefined
em vez disso.
DEP0052: util.isNumber()
[Histórico]
Versão | Alterações |
---|---|
v23.0.0 | Descontinuação de fim de vida. |
v22.0.0 | Descontinuação em tempo de execução. |
v6.12.0, v4.8.6 | Um código de descontinuação foi atribuído. |
v4.0.0, v3.3.1 | Descontinuação apenas na documentação. |
Tipo: Fim de vida
A API util.isNumber()
foi removida. Por favor, use typeof arg === 'number'
em vez disso.
DEP0053: util.isObject()
[Histórico]
Versão | Alterações |
---|---|
v23.0.0 | Descontinuação de fim de vida. |
v22.0.0 | Descontinuação em tempo de execução. |
v6.12.0, v4.8.6 | Um código de descontinuação foi atribuído. |
v4.0.0, v3.3.1 | Descontinuação apenas na documentação. |
Tipo: Fim de vida
A API util.isObject()
foi removida. Por favor, use arg && typeof arg === 'object'
em vez disso.
DEP0054: util.isPrimitive()
[Histórico]
Versão | Alterações |
---|---|
v23.0.0 | Descontinuação de fim de vida. |
v22.0.0 | Descontinuação em tempo de execução. |
v6.12.0, v4.8.6 | Um código de descontinuação foi atribuído. |
v4.0.0, v3.3.1 | Descontinuação apenas na documentação. |
Tipo: Fim de vida
A API util.isPrimitive()
foi removida. Por favor, use arg === null || (typeof arg !=='object' && typeof arg !== 'function')
em vez disso.
DEP0055: util.isRegExp()
[Histórico]
Versão | Alterações |
---|---|
v23.0.0 | Descontinuação de fim de vida. |
v22.0.0 | Descontinuação em tempo de execução. |
v6.12.0, v4.8.6 | Um código de descontinuação foi atribuído. |
v4.0.0, v3.3.1 | Descontinuação apenas na documentação. |
Tipo: Fim de vida
A API util.isRegExp()
foi removida. Por favor, use arg instanceof RegExp
em vez disso.
DEP0056: util.isString()
[Histórico]
Versão | Alterações |
---|---|
v23.0.0 | Descontinuação de fim de vida. |
v22.0.0 | Descontinuação em tempo de execução. |
v6.12.0, v4.8.6 | Um código de descontinuação foi atribuído. |
v4.0.0, v3.3.1 | Descontinuação apenas na documentação. |
Tipo: Fim de vida
A API util.isString()
foi removida. Por favor, use typeof arg === 'string'
em vez disso.
DEP0057: util.isSymbol()
[Histórico]
Versão | Mudanças |
---|---|
v23.0.0 | Descontinuação no fim da vida útil. |
v22.0.0 | Descontinuação em tempo de execução. |
v6.12.0, v4.8.6 | Um código de descontinuação foi atribuído. |
v4.0.0, v3.3.1 | Descontinuação apenas na documentação. |
Tipo: Fim da Vida Útil
A API util.isSymbol()
foi removida. Use typeof arg === 'symbol'
em vez disso.
DEP0058: util.isUndefined()
[Histórico]
Versão | Mudanças |
---|---|
v23.0.0 | Descontinuação no fim da vida útil. |
v22.0.0 | Descontinuação em tempo de execução. |
v6.12.0, v4.8.6 | Um código de descontinuação foi atribuído. |
v4.0.0, v3.3.1 | Descontinuação apenas na documentação. |
Tipo: Fim da Vida Útil
A API util.isUndefined()
foi removida. Use arg === undefined
em vez disso.
DEP0059: util.log()
[Histórico]
Versão | Mudanças |
---|---|
v23.0.0 | Descontinuação no fim da vida útil. |
v22.0.0 | Descontinuação em tempo de execução. |
v6.12.0 | Um código de descontinuação foi atribuído. |
v6.0.0 | Descontinuação apenas na documentação. |
Tipo: Fim da Vida Útil
A API util.log()
foi removida porque é uma API legada não mantida que foi exposta ao espaço do usuário por acidente. Em vez disso, considere as seguintes alternativas com base nas suas necessidades específicas:
- Bibliotecas de Registro de Terceiros
- Use
console.log(new Date().toLocaleString(), message)
Ao adotar uma dessas alternativas, você pode fazer a transição de util.log()
e escolher uma estratégia de registro que se alinhe aos requisitos específicos e à complexidade de sua aplicação.
DEP0060: util._extend()
[Histórico]
Versão | Mudanças |
---|---|
v22.0.0 | Descontinuação em tempo de execução. |
v6.12.0 | Um código de descontinuação foi atribuído. |
v6.0.0 | Descontinuação apenas na documentação. |
Tipo: Tempo de Execução
A API util._extend()
está obsoleta porque é uma API legada não mantida que foi exposta ao espaço do usuário por acidente. Use target = Object.assign(target, source)
em vez disso.
DEP0061: fs.SyncWriteStream
[Histórico]
Versão | Alterações |
---|---|
v11.0.0 | Fim da vida útil. |
v8.0.0 | Desaprovação em tempo de execução. |
v7.0.0 | Desaprovação apenas na documentação. |
Tipo: Fim da vida útil
A classe fs.SyncWriteStream
nunca foi destinada a ser uma API acessível publicamente e foi removida. Nenhuma API alternativa está disponível. Por favor, use uma alternativa de espaço de usuário.
DEP0062: node --debug
[Histórico]
Versão | Alterações |
---|---|
v12.0.0 | Fim da vida útil. |
v8.0.0 | Desaprovação em tempo de execução. |
Tipo: Fim da vida útil
--debug
ativa a interface do depurador V8 legada, que foi removida a partir do V8 5.8. Ela é substituída pelo Inspector, que é ativado com --inspect
.
DEP0063: ServerResponse.prototype.writeHeader()
[Histórico]
Versão | Alterações |
---|---|
v8.0.0 | Desaprovação apenas na documentação. |
Tipo: Apenas documentação
A API ServerResponse.prototype.writeHeader()
do módulo node:http
está obsoleta. Por favor, use ServerResponse.prototype.writeHead()
em vez disso.
O método ServerResponse.prototype.writeHeader()
nunca foi documentado como uma API oficialmente suportada.
DEP0064: tls.createSecurePair()
[Histórico]
Versão | Alterações |
---|---|
v8.0.0 | Desaprovação em tempo de execução. |
v6.12.0 | Um código de desaprovação foi atribuído. |
v6.0.0 | Desaprovação apenas na documentação. |
v0.11.15 | Desaprovação revogada. |
v0.11.3 | Desaprovação em tempo de execução. |
Tipo: Tempo de execução
A API tls.createSecurePair()
foi descontinuada na documentação no Node.js 0.11.3. Os usuários devem usar tls.Socket
em vez disso.
DEP0065: repl.REPL_MODE_MAGIC
e NODE_REPL_MODE=magic
[Histórico]
Versão | Alterações |
---|---|
v10.0.0 | Fim da vida útil. |
v8.0.0 | Desaprovação apenas na documentação. |
Tipo: Fim da vida útil
A constante REPL_MODE_MAGIC
do módulo node:repl
, usada para a opção replMode
, foi removida. Seu comportamento tem sido funcionalmente idêntico ao de REPL_MODE_SLOPPY
desde o Node.js 6.0.0, quando o V8 5.0 foi importado. Por favor, use REPL_MODE_SLOPPY
em vez disso.
A variável de ambiente NODE_REPL_MODE
é usada para definir o replMode
subjacente de uma sessão node
interativa. Seu valor, magic
, também foi removido. Por favor, use sloppy
em vez disso.
DEP0066: OutgoingMessage.prototype._headers, OutgoingMessage.prototype._headerNames
[Histórico]
Versão | Mudanças |
---|---|
v12.0.0 | Descontinuação em tempo de execução. |
v8.0.0 | Descontinuação apenas na documentação. |
Tipo: Tempo de execução
As propriedades OutgoingMessage.prototype._headers
e OutgoingMessage.prototype._headerNames
do módulo node:http
estão descontinuadas. Use um dos métodos públicos (por exemplo, OutgoingMessage.prototype.getHeader()
, OutgoingMessage.prototype.getHeaders()
, OutgoingMessage.prototype.getHeaderNames()
, OutgoingMessage.prototype.getRawHeaderNames()
, OutgoingMessage.prototype.hasHeader()
, OutgoingMessage.prototype.removeHeader()
, OutgoingMessage.prototype.setHeader()
) para trabalhar com cabeçalhos de saída.
As propriedades OutgoingMessage.prototype._headers
e OutgoingMessage.prototype._headerNames
nunca foram documentadas como propriedades oficialmente suportadas.
DEP0067: OutgoingMessage.prototype._renderHeaders
[Histórico]
Versão | Mudanças |
---|---|
v8.0.0 | Descontinuação apenas na documentação. |
Tipo: Apenas documentação
A API OutgoingMessage.prototype._renderHeaders()
do módulo node:http
está descontinuada.
A propriedade OutgoingMessage.prototype._renderHeaders
nunca foi documentada como uma API oficialmente suportada.
DEP0068: node debug
[Histórico]
Versão | Mudanças |
---|---|
v15.0.0 | O comando legado node debug foi removido. |
v8.0.0 | Descontinuação em tempo de execução. |
Tipo: Fim da vida útil
node debug
corresponde ao depurador de CLI legado que foi substituído por um depurador de CLI baseado no V8-inspector disponível através de node inspect
.
DEP0069: vm.runInDebugContext(string)
[Histórico]
Versão | Mudanças |
---|---|
v10.0.0 | Fim da vida útil. |
v9.0.0 | Descontinuação em tempo de execução. |
v8.0.0 | Descontinuação apenas na documentação. |
Tipo: Fim da vida útil
DebugContext foi removido no V8 e não está disponível no Node.js 10+.
DebugContext era uma API experimental.
DEP0070: async_hooks.currentId()
[Histórico]
Versão | Mudanças |
---|---|
v9.0.0 | Fim da vida útil. |
v8.2.0 | Descontinuação em tempo de execução. |
Tipo: Fim da vida útil
async_hooks.currentId()
foi renomeado para async_hooks.executionAsyncId()
para maior clareza.
Esta mudança foi feita enquanto async_hooks
era uma API experimental.
DEP0071: async_hooks.triggerId()
[Histórico]
Versão | Mudanças |
---|---|
v9.0.0 | Fim da vida útil. |
v8.2.0 | Descontinuação em tempo de execução. |
Tipo: Fim da vida útil
async_hooks.triggerId()
foi renomeado para async_hooks.triggerAsyncId()
para maior clareza.
Essa alteração foi feita enquanto async_hooks
era uma API experimental.
DEP0072: async_hooks.AsyncResource.triggerId()
[Histórico]
Versão | Mudanças |
---|---|
v9.0.0 | Fim da vida útil. |
v8.2.0 | Descontinuação em tempo de execução. |
Tipo: Fim da vida útil
async_hooks.AsyncResource.triggerId()
foi renomeado para async_hooks.AsyncResource.triggerAsyncId()
para maior clareza.
Essa alteração foi feita enquanto async_hooks
era uma API experimental.
DEP0073: Várias propriedades internas de net.Server
[Histórico]
Versão | Mudanças |
---|---|
v10.0.0 | Fim da vida útil. |
v9.0.0 | Descontinuação em tempo de execução. |
Tipo: Fim da vida útil
O acesso a várias propriedades internas não documentadas de instâncias de net.Server
com nomes inadequados está obsoleto.
Como a API original não era documentada e geralmente não era útil para código não interno, nenhuma API de substituição é fornecida.
DEP0074: REPLServer.bufferedCommand
[Histórico]
Versão | Mudanças |
---|---|
v15.0.0 | Fim da vida útil. |
v9.0.0 | Descontinuação em tempo de execução. |
Tipo: Fim da vida útil
A propriedade REPLServer.bufferedCommand
foi descontinuada em favor de REPLServer.clearBufferedCommand()
.
DEP0075: REPLServer.parseREPLKeyword()
[Histórico]
Versão | Mudanças |
---|---|
v15.0.0 | Fim da vida útil. |
v9.0.0 | Descontinuação em tempo de execução. |
Tipo: Fim da vida útil
REPLServer.parseREPLKeyword()
foi removido da visibilidade do userland.
DEP0076: tls.parseCertString()
[Histórico]
Versão | Mudanças |
---|---|
v18.0.0 | Fim da vida útil. |
v9.0.0 | Descontinuação em tempo de execução. |
v8.6.0 | Descontinuação apenas na documentação. |
Tipo: Fim da vida útil
tls.parseCertString()
era um auxiliar de análise trivial que foi tornado público por engano. Embora devesse analisar strings de assunto e emissor de certificado, nunca lidou corretamente com Nomes Distintos Relativos de vários valores.
Versões anteriores deste documento sugeriam usar querystring.parse()
como uma alternativa para tls.parseCertString()
. No entanto, querystring.parse()
também não lida corretamente com todos os assuntos de certificado e não deve ser usado.
DEP0077: Module._debug()
[Histórico]
Versão | Mudanças |
---|---|
v9.0.0 | Descontinuação em tempo de execução. |
Tipo: Tempo de execução
Module._debug()
está obsoleto.
A função Module._debug()
nunca foi documentada como uma API oficialmente suportada.
DEP0078: REPLServer.turnOffEditorMode()
[Histórico]
Versão | Mudanças |
---|---|
v15.0.0 | Fim da vida útil. |
v9.0.0 | Descontinuação em tempo de execução. |
Tipo: Fim da vida útil
REPLServer.turnOffEditorMode()
foi removido da visibilidade do espaço do usuário.
DEP0079: Função de inspeção personalizada em objetos via .inspect()
[Histórico]
Versão | Mudanças |
---|---|
v11.0.0 | Fim da vida útil. |
v10.0.0 | Descontinuação em tempo de execução. |
v8.7.0 | Descontinuação apenas na documentação. |
Tipo: Fim da vida útil
Usar uma propriedade chamada inspect
em um objeto para especificar uma função de inspeção personalizada para util.inspect()
está obsoleto. Use util.inspect.custom
em vez disso. Para compatibilidade com versões anteriores do Node.js anteriores à versão 6.4.0, ambos podem ser especificados.
DEP0080: path._makeLong()
[Histórico]
Versão | Mudanças |
---|---|
v9.0.0 | Descontinuação apenas na documentação. |
Tipo: Apenas documentação
O path._makeLong()
interno não se destinava ao uso público. No entanto, os módulos do espaço do usuário o consideraram útil. A API interna está obsoleta e substituída por um método path.toNamespacedPath()
público idêntico.
DEP0081: fs.truncate()
usando um descritor de arquivo
[Histórico]
Versão | Mudanças |
---|---|
v9.0.0 | Descontinuação em tempo de execução. |
Tipo: Tempo de execução
O uso de fs.truncate()
fs.truncateSync()
com um descritor de arquivo está obsoleto. Use fs.ftruncate()
ou fs.ftruncateSync()
para trabalhar com descritores de arquivo.
DEP0082: REPLServer.prototype.memory()
[Histórico]
Versão | Mudanças |
---|---|
v15.0.0 | Fim da vida útil. |
v9.0.0 | Descontinuação em tempo de execução. |
Tipo: Fim da vida útil
REPLServer.prototype.memory()
é necessário apenas para a mecânica interna do próprio REPLServer
. Não use esta função.
DEP0083: Desativando o ECDH definindo ecdhCurve
como false
[Histórico]
Versão | Alterações |
---|---|
v10.0.0 | Fim da vida útil. |
v9.2.0 | Obsolecência em tempo de execução. |
Tipo: Fim da vida útil.
A opção ecdhCurve
para tls.createSecureContext()
e tls.TLSSocket
podia ser definida como false
para desativar o ECDH completamente apenas no servidor. Este modo foi depreciado em preparação para a migração para o OpenSSL 1.1.0 e consistência com o cliente e agora não é suportado. Use o parâmetro ciphers
em vez disso.
DEP0084: requerendo dependências internas agrupadas
[Histórico]
Versão | Alterações |
---|---|
v12.0.0 | Esta funcionalidade foi removida. |
v10.0.0 | Obsolecência em tempo de execução. |
Tipo: Fim da vida útil
Desde as versões 4.4.0 e 5.2.0 do Node.js, vários módulos destinados apenas para uso interno foram expostos erroneamente ao código do usuário através de require()
. Esses módulos eram:
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
(a partir de 7.6.0)node-inspect/lib/internal/inspect_client
(a partir de 7.6.0)node-inspect/lib/internal/inspect_repl
(a partir de 7.6.0)
Os módulos v8/*
não têm nenhuma exportação e, se não forem importados em uma ordem específica, lançariam erros. Como tal, praticamente não existem casos de uso legítimos para importá-los através de require()
.
Por outro lado, o node-inspect
pode ser instalado localmente através de um gerenciador de pacotes, pois é publicado no registro npm com o mesmo nome. Nenhuma modificação do código fonte é necessária se isso for feito.
DEP0085: API sensível do AsyncHooks
[Histórico]
Versão | Alterações |
---|---|
v10.0.0 | Fim da vida útil. |
v9.4.0, v8.10.0 | Obsolecência em tempo de execução. |
Tipo: Fim da vida útil
A API sensível do AsyncHooks nunca foi documentada e teve vários pequenos problemas. Use a API AsyncResource
em vez disso. Veja https://github.com/nodejs/node/issues/15572.
DEP0086: Remover runInAsyncIdScope
[Histórico]
Versão | Alterações |
---|---|
v10.0.0 | Fim da vida útil. |
v9.4.0, v8.10.0 | Obsolecência em tempo de execução. |
Tipo: Fim da vida útil
runInAsyncIdScope
não emite o evento 'before'
ou 'after'
e, portanto, pode causar muitos problemas. Veja https://github.com/nodejs/node/issues/14328.
DEP0089: require('node:assert')
[Histórico]
Versão | Alterações |
---|---|
v12.8.0 | Obsolecência revogada. |
v9.9.0, v8.13.0 | Obsolecência apenas na documentação. |
Tipo: Obsolecência revogada
Importar assert diretamente não era recomendado, pois as funções expostas usam verificações de igualdade soltas. A obsolecência foi revogada porque o uso do módulo node:assert
não é desencorajado, e a obsolecência causou confusão aos desenvolvedores.
DEP0090: Comprimentos de tag de autenticação GCM inválidos
[Histórico]
Versão | Alterações |
---|---|
v11.0.0 | Fim da vida útil. |
v10.0.0 | Obsolecência em tempo de execução. |
Tipo: Fim da vida útil
O Node.js costumava suportar todos os comprimentos de tag de autenticação GCM que são aceitos pelo OpenSSL ao chamar decipher.setAuthTag()
. A partir do Node.js v11.0.0, apenas os comprimentos de tag de autenticação de 128, 120, 112, 104, 96, 64 e 32 bits são permitidos. Tags de autenticação de outros comprimentos são inválidas de acordo com NIST SP 800-38D.
DEP0091: crypto.DEFAULT_ENCODING
[Histórico]
Versão | Alterações |
---|---|
v20.0.0 | Fim da vida útil. |
v10.0.0 | Obsolecência em tempo de execução. |
Tipo: Fim da vida útil
A propriedade crypto.DEFAULT_ENCODING
existia apenas para compatibilidade com versões do Node.js anteriores às versões 0.9.3 e foi removida.
DEP0092: this
de nível superior associado a module.exports
[Histórico]
Versão | Alterações |
---|---|
v10.0.0 | Obsolecência apenas na documentação. |
Tipo: Apenas documentação
Atribuir propriedades ao this
de nível superior como uma alternativa a module.exports
está obsoleto. Os desenvolvedores devem usar exports
ou module.exports
em vez disso.
DEP0093: crypto.fips
está obsoleto e substituído
[Histórico]
Versão | Mudanças |
---|---|
v23.0.0 | Obsolecência em tempo de execução. |
v10.0.0 | Obsolecência apenas na documentação. |
Tipo: Tempo de Execução
A propriedade crypto.fips
está obsoleta. Por favor, use crypto.setFips()
e crypto.getFips()
em vez disso.
DEP0094: Usando assert.fail()
com mais de um argumento
[Histórico]
Versão | Mudanças |
---|---|
v10.0.0 | Obsolecência em tempo de execução. |
Tipo: Tempo de Execução
Usar assert.fail()
com mais de um argumento está obsoleto. Use assert.fail()
com apenas um argumento ou use um método diferente do módulo node:assert
.
DEP0095: timers.enroll()
[Histórico]
Versão | Mudanças |
---|---|
v10.0.0 | Obsolecência em tempo de execução. |
Tipo: Tempo de Execução
timers.enroll()
está obsoleto. Por favor, use os setTimeout()
ou setInterval()
publicamente documentados.
DEP0096: timers.unenroll()
[Histórico]
Versão | Mudanças |
---|---|
v10.0.0 | Obsolecência em tempo de execução. |
Tipo: Tempo de Execução
timers.unenroll()
está obsoleto. Por favor, use os clearTimeout()
ou clearInterval()
publicamente documentados.
DEP0097: MakeCallback
com a propriedade domain
[Histórico]
Versão | Mudanças |
---|---|
v10.0.0 | Obsolecência em tempo de execução. |
Tipo: Tempo de Execução
Usuários de MakeCallback
que adicionam a propriedade domain
para carregar o contexto, devem começar a usar a variante async_context
de MakeCallback
ou CallbackScope
, ou a classe AsyncResource
de alto nível.
DEP0098: APIs AsyncResource.emitBefore
e AsyncResource.emitAfter
do incorporador AsyncHooks
[Histórico]
Versão | Mudanças |
---|---|
v12.0.0 | Fim da vida útil. |
v10.0.0, v9.6.0, v8.12.0 | Obsolecência em tempo de execução. |
Tipo: Fim da Vida Útil
A API incorporada fornecida pelo AsyncHooks expõe os métodos .emitBefore()
e .emitAfter()
que são muito fáceis de usar incorretamente, o que pode levar a erros irrecuperáveis.
Use a API asyncResource.runInAsyncScope()
em vez disso, que fornece uma alternativa muito mais segura e conveniente. Veja https://github.com/nodejs/node/pull/18513.
DEP0099: APIs C++ node::MakeCallback
sem reconhecimento de contexto assíncrono
[Histórico]
Versão | Alterações |
---|---|
v10.0.0 | Descontinuação no tempo de compilação. |
Tipo: Tempo de compilação
Certas versões das APIs node::MakeCallback
disponíveis para complementos nativos estão obsoletas. Use as versões da API que aceitam um parâmetro async_context
.
DEP0100: process.assert()
[Histórico]
Versão | Alterações |
---|---|
v23.0.0 | Fim da vida útil. |
v10.0.0 | Descontinuação de tempo de execução. |
v0.3.7 | Descontinuação somente de documentação. |
Tipo: Fim da vida útil
process.assert()
está obsoleto. Use o módulo assert
em vez disso.
Este nunca foi um recurso documentado.
DEP0101: --with-lttng
[Histórico]
Versão | Alterações |
---|---|
v10.0.0 | Fim da vida útil. |
Tipo: Fim da vida útil
A opção de tempo de compilação --with-lttng
foi removida.
DEP0102: Usando noAssert
em operações Buffer#(read|write)
[Histórico]
Versão | Alterações |
---|---|
v10.0.0 | Fim da vida útil. |
Tipo: Fim da vida útil
Usar o argumento noAssert
não tem mais funcionalidade. Todas as entradas são verificadas independentemente do valor de noAssert
. Ignorar a verificação pode levar a erros e falhas difíceis de encontrar.
DEP0103: Verificações de tipo process.binding('util').is[...]
[Histórico]
Versão | Alterações |
---|---|
v10.9.0 | Substituído por DEP0111. |
v10.0.0 | Descontinuação somente de documentação. |
Tipo: Somente documentação (suporta --pending-deprecation
)
O uso de process.binding()
em geral deve ser evitado. Os métodos de verificação de tipo em particular podem ser substituídos pelo uso de util.types
.
Esta descontinuação foi substituída pela descontinuação da API process.binding()
(DEP0111).
DEP0104: Coerção de string process.env
[Histórico]
Versão | Alterações |
---|---|
v10.0.0 | Descontinuação somente de documentação. |
Tipo: Somente documentação (suporta --pending-deprecation
)
Ao atribuir uma propriedade não string a process.env
, o valor atribuído é implicitamente convertido em uma string. Este comportamento é obsoleto se o valor atribuído não for uma string, booleano ou número. No futuro, essa atribuição pode resultar em um erro lançado. Converta a propriedade em uma string antes de atribuí-la a process.env
.
DEP0105: decipher.finaltol
[Histórico]
Versão | Alterações |
---|---|
v11.0.0 | Fim da vida útil. |
v10.0.0 | Depreciação em tempo de execução. |
Tipo: Fim da vida útil
decipher.finaltol()
nunca foi documentado e era um alias para decipher.final()
. Esta API foi removida, e é recomendado usar decipher.final()
em vez disso.
DEP0106: crypto.createCipher
e crypto.createDecipher
[Histórico]
Versão | Alterações |
---|---|
v22.0.0 | Fim da vida útil. |
v11.0.0 | Depreciação em tempo de execução. |
v10.0.0 | Depreciação apenas na documentação. |
Tipo: Fim da vida útil
crypto.createCipher()
e crypto.createDecipher()
foram removidos pois eles usam uma função de derivação de chave fraca (MD5 sem salt) e vetores de inicialização estáticos. É recomendado derivar uma chave usando crypto.pbkdf2()
ou crypto.scrypt()
com salts aleatórios e usar crypto.createCipheriv()
e crypto.createDecipheriv()
para obter os objetos Cipher
e Decipher
respectivamente.
DEP0107: tls.convertNPNProtocols()
[Histórico]
Versão | Alterações |
---|---|
v11.0.0 | Fim da vida útil. |
v10.0.0 | Depreciação em tempo de execução. |
Tipo: Fim da vida útil
Esta era uma função auxiliar não documentada, não destinada ao uso fora do núcleo do Node.js e obsoleta pela remoção do suporte a NPN (Next Protocol Negotiation).
DEP0108: zlib.bytesRead
[Histórico]
Versão | Alterações |
---|---|
v23.0.0 | Fim da vida útil. |
v11.0.0 | Depreciação em tempo de execução. |
v10.0.0 | Depreciação apenas na documentação. |
Tipo: Fim da vida útil
Alias obsoleto para zlib.bytesWritten
. Este nome original foi escolhido porque também fazia sentido interpretar o valor como o número de bytes lidos pelo mecanismo, mas é inconsistente com outros streams no Node.js que expõem valores sob esses nomes.
DEP0109: Suporte http
, https
e tls
para URLs inválidas
[Histórico]
Versão | Mudanças |
---|---|
v16.0.0 | Fim da Vida útil. |
v11.0.0 | Obsoleto em tempo de execução. |
Tipo: Fim da Vida Útil
Algumas URLs previamente suportadas (mas estritamente inválidas) foram aceitas através das APIs http.request()
, http.get()
, https.request()
, https.get()
e tls.checkServerIdentity()
porque essas eram aceitas pela API url.parse()
legada. As APIs mencionadas agora usam o analisador de URL WHATWG que requer URLs estritamente válidas. Passar uma URL inválida é considerado obsoleto e o suporte será removido no futuro.
DEP0110: Dados em cache de vm.Script
[Histórico]
Versão | Mudanças |
---|---|
v10.6.0 | Obsoleto apenas na documentação. |
Tipo: Apenas Documentação
A opção produceCachedData
está obsoleta. Use script.createCachedData()
em vez disso.
DEP0111: process.binding()
[Histórico]
Versão | Mudanças |
---|---|
v11.12.0 | Adicionado suporte para --pending-deprecation . |
v10.9.0 | Obsoleto apenas na documentação. |
Tipo: Apenas Documentação (suporta --pending-deprecation
)
process.binding()
destina-se ao uso apenas pelo código interno do Node.js.
Embora process.binding()
não tenha atingido o status de Fim da Vida Útil em geral, ele não está disponível quando o modelo de permissão está habilitado.
DEP0112: APIs privadas dgram
[Histórico]
Versão | Mudanças |
---|---|
v11.0.0 | Obsoleto em tempo de execução. |
Tipo: Tempo de Execução
O módulo node:dgram
anteriormente continha várias APIs que nunca foram destinadas a serem acessadas fora do núcleo do Node.js: Socket.prototype._handle
, Socket.prototype._receiving
, Socket.prototype._bindState
, Socket.prototype._queue
, Socket.prototype._reuseAddr
, Socket.prototype._healthCheck()
, Socket.prototype._stopReceiving()
e dgram._createSocketHandle()
.
DEP0113: Cipher.setAuthTag()
, Decipher.getAuthTag()
[Histórico]
Versão | Mudanças |
---|---|
v12.0.0 | Fim da vida útil. |
v11.0.0 | Obsoleto em tempo de execução. |
Tipo: Fim da vida útil
Cipher.setAuthTag()
e Decipher.getAuthTag()
não estão mais disponíveis. Eles nunca foram documentados e lançariam uma exceção quando chamados.
DEP0114: crypto._toBuf()
[Histórico]
Versão | Mudanças |
---|---|
v12.0.0 | Fim da vida útil. |
v11.0.0 | Obsoleto em tempo de execução. |
Tipo: Fim da vida útil
A função crypto._toBuf()
não foi projetada para ser usada por módulos fora do núcleo do Node.js e foi removida.
DEP0115: crypto.prng()
, crypto.pseudoRandomBytes()
, crypto.rng()
[Histórico]
Versão | Mudanças |
---|---|
v11.0.0 | Adicionada obsolescência apenas na documentação com suporte a --pending-deprecation . |
Tipo: Apenas documentação (suporta --pending-deprecation
)
Nas versões recentes do Node.js, não há diferença entre crypto.randomBytes()
e crypto.pseudoRandomBytes()
. O último está obsoleto junto com os aliases não documentados crypto.prng()
e crypto.rng()
em favor de crypto.randomBytes()
e pode ser removido em uma versão futura.
DEP0116: API URL Legada
[Histórico]
Versão | Mudanças |
---|---|
v19.0.0, v18.13.0 | url.parse() está obsoleto novamente em DEP0169. |
v15.13.0, v14.17.0 | Obsolecência revogada. Status alterado para "Legado". |
v11.0.0 | Obsolecência apenas na documentação. |
Tipo: Obsolecência revogada
A API URL legada está obsoleta. Isso inclui url.format()
, url.parse()
, url.resolve()
e o urlObject
legado. Use a API URL WHATWG em vez disso.
DEP0117: Manipuladores nativos de criptografia
[Histórico]
Versão | Alterações |
---|---|
v12.0.0 | Fim da vida útil. |
v11.0.0 | Depreciação de tempo de execução. |
Tipo: Fim da vida útil
Versões anteriores do Node.js expunham manipuladores para objetos nativos internos através da propriedade _handle
das classes Cipher
, Decipher
, DiffieHellman
, DiffieHellmanGroup
, ECDH
, Hash
, Hmac
, Sign
e Verify
. A propriedade _handle
foi removida porque o uso inadequado do objeto nativo pode levar à falha do aplicativo.
DEP0118: Suporte dns.lookup()
para um nome de host falsy
[Histórico]
Versão | Alterações |
---|---|
v11.0.0 | Depreciação de tempo de execução. |
Tipo: Tempo de execução
Versões anteriores do Node.js suportavam dns.lookup()
com um nome de host falsy como dns.lookup(false)
devido à compatibilidade com versões anteriores. Este comportamento não está documentado e acredita-se que não seja utilizado em aplicações do mundo real. Tornar-se-á um erro em versões futuras do Node.js.
DEP0119: API privada process.binding('uv').errname()
[Histórico]
Versão | Alterações |
---|---|
v11.0.0 | Depreciação apenas de documentação. |
Tipo: Apenas documentação (suporta --pending-deprecation
)
process.binding('uv').errname()
está depreciado. Utilize util.getSystemErrorName()
em vez disso.
DEP0120: Suporte para contador de desempenho do Windows
[Histórico]
Versão | Alterações |
---|---|
v12.0.0 | Fim da vida útil. |
v11.0.0 | Depreciação de tempo de execução. |
Tipo: Fim da vida útil
O suporte ao contador de desempenho do Windows foi removido do Node.js. As funções não documentadas COUNTER_NET_SERVER_CONNECTION()
, COUNTER_NET_SERVER_CONNECTION_CLOSE()
, COUNTER_HTTP_SERVER_REQUEST()
, COUNTER_HTTP_SERVER_RESPONSE()
, COUNTER_HTTP_CLIENT_REQUEST()
e COUNTER_HTTP_CLIENT_RESPONSE()
foram depreciadas.
DEP0121: net._setSimultaneousAccepts()
[Histórico]
Versão | Alterações |
---|---|
v12.0.0 | Depreciação de tempo de execução. |
Tipo: Tempo de execução
A função não documentada net._setSimultaneousAccepts()
foi originalmente concebida para depuração e ajuste de desempenho ao utilizar os módulos node:child_process
e node:cluster
no Windows. A função não é geralmente útil e está a ser removida. Veja a discussão aqui: https://github.com/nodejs/node/issues/18391
DEP0122: tls
Server.prototype.setOptions()
[Histórico]
Versão | Mudanças |
---|---|
v12.0.0 | Descontinuação em tempo de execução. |
Tipo: Tempo de execução
Por favor, use Server.prototype.setSecureContext()
em vez disso.
DEP0123: definir o ServerName TLS para um endereço IP
[Histórico]
Versão | Mudanças |
---|---|
v12.0.0 | Descontinuação em tempo de execução. |
Tipo: Tempo de execução
Definir o ServerName TLS para um endereço IP não é permitido por RFC 6066. Isso será ignorado em uma versão futura.
DEP0124: usando REPLServer.rli
[Histórico]
Versão | Mudanças |
---|---|
v15.0.0 | Fim da vida útil. |
v12.0.0 | Descontinuação em tempo de execução. |
Tipo: Fim da vida útil
Esta propriedade é uma referência à própria instância.
DEP0125: require('node:_stream_wrap')
[Histórico]
Versão | Mudanças |
---|---|
v12.0.0 | Descontinuação em tempo de execução. |
Tipo: Tempo de execução
O módulo node:_stream_wrap
está obsoleto.
DEP0126: timers.active()
[Histórico]
Versão | Mudanças |
---|---|
v11.14.0 | Descontinuação em tempo de execução. |
Tipo: Tempo de execução
O timers.active()
previamente não documentado está obsoleto. Por favor, use o timeout.refresh()
documentado publicamente em vez disso. Se for necessário fazer referência ao timeout novamente, timeout.ref()
pode ser usado sem impacto no desempenho desde o Node.js 10.
DEP0127: timers._unrefActive()
[Histórico]
Versão | Mudanças |
---|---|
v11.14.0 | Descontinuação em tempo de execução. |
Tipo: Tempo de execução
O timers._unrefActive()
"privado" e não documentado anteriormente está obsoleto. Por favor, use o timeout.refresh()
documentado publicamente em vez disso. Se for necessário remover a referência ao timeout, timeout.unref()
pode ser usado sem impacto no desempenho desde o Node.js 10.
DEP0128: módulos com uma entrada main
inválida e um arquivo index.js
[Histórico]
Versão | Mudanças |
---|---|
v16.0.0 | Descontinuação em tempo de execução. |
v12.0.0 | Apenas documentação. |
Tipo: Tempo de execução
Módulos que têm uma entrada main
inválida (por exemplo, ./does-not-exist.js
) e também têm um arquivo index.js
no diretório de nível superior resolverão o arquivo index.js
. Isso está obsoleto e lançará um erro em versões futuras do Node.js.
DEP0129: ChildProcess._channel
[Histórico]
Versão | Mudanças |
---|---|
v13.0.0 | Desaprovação em tempo de execução. |
v11.14.0 | Apenas documentação. |
Tipo: Tempo de execução
A propriedade _channel
de objetos de processo filho retornados por spawn()
e funções semelhantes não se destina ao uso público. Use ChildProcess.channel
em vez disso.
DEP0130: Module.createRequireFromPath()
[Histórico]
Versão | Mudanças |
---|---|
v16.0.0 | Fim da vida útil. |
v13.0.0 | Desaprovação em tempo de execução. |
v12.2.0 | Apenas documentação. |
Tipo: Fim da vida útil
Use module.createRequire()
em vez disso.
DEP0131: Analisador HTTP legado
[Histórico]
Versão | Mudanças |
---|---|
v13.0.0 | Este recurso foi removido. |
v12.22.0 | Desaprovação em tempo de execução. |
v12.3.0 | Apenas documentação. |
Tipo: Fim da vida útil
O analisador HTTP legado, usado por padrão em versões do Node.js anteriores à 12.0.0, está obsoleto e foi removido na v13.0.0. Antes da v13.0.0, o sinalizador de linha de comando --http-parser=legacy
podia ser usado para reverter ao uso do analisador legado.
DEP0132: worker.terminate()
com retorno de chamada
[Histórico]
Versão | Mudanças |
---|---|
v12.5.0 | Desaprovação em tempo de execução. |
Tipo: Tempo de execução
Passar um retorno de chamada para worker.terminate()
está obsoleto. Use a Promise
retornada ou um ouvinte para o evento 'exit'
do worker.
DEP0133: http
connection
[Histórico]
Versão | Mudanças |
---|---|
v12.12.0 | Desaprovação apenas na documentação. |
Tipo: Apenas na documentação
Prefira response.socket
em vez de response.connection
e request.socket
em vez de request.connection
.
DEP0134: process._tickCallback
[Histórico]
Versão | Mudanças |
---|---|
v12.12.0 | Desaprovação apenas na documentação. |
Tipo: Apenas na documentação (suporta --pending-deprecation
)
A propriedade process._tickCallback
nunca foi documentada como uma API oficialmente suportada.
DEP0135: WriteStream.open()
e ReadStream.open()
são internos
[Histórico]
Versão | Mudanças |
---|---|
v13.0.0 | Desaprovação em tempo de execução. |
Tipo: Tempo de Execução
WriteStream.open()
e ReadStream.open()
são APIs internas não documentadas que não fazem sentido usar no espaço do usuário. Os fluxos de arquivos devem sempre ser abertos através de seus métodos de fábrica correspondentes fs.createWriteStream()
e fs.createReadStream()
) ou passando um descritor de arquivo em opções.
DEP0136: http
finished
[Histórico]
Versão | Mudanças |
---|---|
v13.4.0, v12.16.0 | Desaprovação apenas na documentação. |
Tipo: Apenas Documentação
response.finished
indica se response.end()
foi chamado, não se 'finish'
foi emitido e os dados subjacentes foram descarregados.
Use response.writableFinished
ou response.writableEnded
de acordo, em vez disso, para evitar a ambiguidade.
Para manter o comportamento existente, response.finished
deve ser substituído por response.writableEnded
.
DEP0137: Fechando fs.FileHandle na coleta de lixo
[Histórico]
Versão | Mudanças |
---|---|
v14.0.0 | Desaprovação em tempo de execução. |
Tipo: Tempo de Execução
Permitir que um objeto fs.FileHandle
seja fechado na coleta de lixo está obsoleto. No futuro, fazer isso pode resultar em um erro lançado que encerrará o processo.
Certifique-se de que todos os objetos fs.FileHandle
sejam explicitamente fechados usando FileHandle.prototype.close()
quando o fs.FileHandle
não for mais necessário:
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
[Histórico]
Versão | Mudanças |
---|---|
v14.0.0 | Depreciação apenas na documentação. |
Tipo: Apenas documentação
process.mainModule
é um recurso apenas do CommonJS, enquanto o objeto global process
é compartilhado com ambientes não CommonJS. Seu uso em módulos ECMAScript não é suportado.
Ele foi descontinuado em favor de require.main
, porque serve ao mesmo propósito e está disponível apenas no ambiente CommonJS.
DEP0139: process.umask()
sem argumentos
[Histórico]
Versão | Mudanças |
---|---|
v14.0.0, v12.19.0 | Depreciação apenas na documentação. |
Tipo: Apenas documentação
Chamar process.umask()
sem argumentos faz com que o umask de todo o processo seja escrito duas vezes. Isso introduz uma condição de corrida entre as threads e é uma vulnerabilidade de segurança potencial. Não existe uma API alternativa segura e multiplataforma.
DEP0140: Use request.destroy()
em vez de request.abort()
[Histórico]
Versão | Mudanças |
---|---|
v14.1.0, v13.14.0 | Depreciação apenas na documentação. |
Tipo: Apenas documentação
Use request.destroy()
em vez de request.abort()
.
DEP0141: repl.inputStream
e repl.outputStream
[Histórico]
Versão | Mudanças |
---|---|
v14.3.0 | Apenas documentação (suporta [--pending-deprecation ][]). |
Tipo: Apenas documentação (suporta --pending-deprecation
)
O módulo node:repl
exportou o fluxo de entrada e saída duas vezes. Use .input
em vez de .inputStream
e .output
em vez de .outputStream
.
DEP0142: repl._builtinLibs
[Histórico]
Versão | Mudanças |
---|---|
v14.3.0 | Apenas documentação (suporta [--pending-deprecation ][]). |
Tipo: Apenas documentação
O módulo node:repl
exporta uma propriedade _builtinLibs
que contém um array de módulos integrados. Estava incompleto até agora e, em vez disso, é melhor confiar em require('node:module').builtinModules
.
DEP0143: Transform._transformState
[Histórico]
Versão | Mudanças |
---|---|
v14.5.0 | Obsoleto em tempo de execução. |
Tipo: Tempo de execução. Transform._transformState
será removido em versões futuras, onde não for mais necessário devido à simplificação da implementação.
DEP0144: module.parent
[Histórico]
Versão | Mudanças |
---|---|
v14.6.0, v12.19.0 | Obsoleto apenas na documentação. |
Tipo: Apenas na documentação (suporta --pending-deprecation
)
Um módulo CommonJS pode acessar o primeiro módulo que o exigiu usando module.parent
. Este recurso está obsoleto porque não funciona de forma consistente na presença de módulos ECMAScript e porque fornece uma representação imprecisa do grafo de módulos CommonJS.
Alguns módulos o usam para verificar se são o ponto de entrada do processo atual. Em vez disso, é recomendado comparar require.main
e module
:
if (require.main === module) {
// Seção de código que será executada apenas se o arquivo atual for o ponto de entrada.
}
Ao procurar os módulos CommonJS que exigiram o atual, require.cache
e module.children
podem ser usados:
const moduleParents = Object.values(require.cache)
.filter((m) => m.children.includes(module));
DEP0145: socket.bufferSize
[Histórico]
Versão | Mudanças |
---|---|
v14.6.0 | Obsoleto apenas na documentação. |
Tipo: Apenas na documentação
socket.bufferSize
é apenas um alias para writable.writableLength
.
DEP0146: new crypto.Certificate()
[Histórico]
Versão | Mudanças |
---|---|
v14.9.0 | Obsoleto apenas na documentação. |
Tipo: Apenas na documentação
O crypto.Certificate()
constructor está obsoleto. Use métodos estáticos de crypto.Certificate()
em vez disso.
DEP0147: fs.rmdir(path, { recursive: true })
{#dep0147-fsrmdirpath-{-recursive-true-}}
[Histórico]
Versão | Mudanças |
---|---|
v16.0.0 | Obsoleto em tempo de execução. |
v15.0.0 | Obsoleto em tempo de execução para comportamento permissivo. |
v14.14.0 | Obsoleto apenas na documentação. |
Tipo: Tempo de execução
Em versões futuras do Node.js, a opção recursive
será ignorada para fs.rmdir
, fs.rmdirSync
e fs.promises.rmdir
.
Use fs.rm(path, { recursive: true, force: true })
, fs.rmSync(path, { recursive: true, force: true })
ou fs.promises.rm(path, { recursive: true, force: true })
em vez disso.
DEP0148: Mapeamentos de pastas em "exports"
(barra final "/"
)
[Histórico]
Versão | Mudanças |
---|---|
v17.0.0 | Fim da vida útil. |
v16.0.0 | Obsoleto em tempo de execução. |
v15.1.0 | Obsoleto em tempo de execução para importações auto-referenciais. |
v14.13.0 | Obsoleto apenas na documentação. |
Tipo: Tempo de execução
O uso de uma barra final "/"
para definir mapeamentos de subpastas nos campos subpath exports ou subpath imports está obsoleto. Use padrões de subpath em vez disso.
DEP0149: http.IncomingMessage#connection
[Histórico]
Versão | Mudanças |
---|---|
v16.0.0 | Obsoleto apenas na documentação. |
Tipo: Apenas documentação.
Prefira message.socket
em vez de message.connection
.
DEP0150: Alterando o valor de process.config
[Histórico]
Versão | Mudanças |
---|---|
v19.0.0 | Fim da vida útil. |
v16.0.0 | Obsoleto em tempo de execução. |
Tipo: Fim da vida útil
A propriedade process.config
fornece acesso às configurações de tempo de compilação do Node.js. No entanto, a propriedade é mutável e, portanto, sujeita a adulteração. A capacidade de alterar o valor será removida em uma versão futura do Node.js.
DEP0151: Pesquisa de índice principal e pesquisa de extensão
[Histórico]
Versão | Mudanças |
---|---|
v16.0.0 | Obsoleto em tempo de execução. |
v15.8.0, v14.18.0 | Obsoleto apenas na documentação com suporte a --pending-deprecation . |
Tipo: Tempo de execução
Anteriormente, as pesquisas por index.js
e pesquisa de extensão se aplicavam à resolução do ponto de entrada principal import 'pkg'
, mesmo ao resolver módulos ES.
Com esta obsolescência, todas as resoluções de ponto de entrada principal do módulo ES exigem uma "exports"
ou "main"
entrada explícita com a extensão de arquivo exata.
DEP0152: Propriedades de extensão PerformanceEntry
[Histórico]
Versão | Mudanças |
---|---|
v16.0.0 | Obsoleto em tempo de execução. |
Tipo: Tempo de execução
Os tipos de objeto 'gc'
, 'http2'
e 'http'
<PerformanceEntry> têm propriedades adicionais atribuídas a eles que fornecem informações adicionais. Essas propriedades agora estão disponíveis na propriedade detail
padrão do objeto PerformanceEntry
. Os acessadores existentes foram descontinuados e não devem mais ser usados.
DEP0153: Coerção de tipo das opções dns.lookup
e dnsPromises.lookup
[Histórico]
Versão | Alterações |
---|---|
v18.0.0 | Fim da vida útil. |
v17.0.0 | Obsolecência em tempo de execução. |
v16.8.0 | Obsolecência apenas na documentação. |
Tipo: Fim da vida útil
Usar um valor não nulo e não inteiro para a opção family
, um valor não nulo e não numérico para a opção hints
, um valor não nulo e não booleano para a opção all
ou um valor não nulo e não booleano para a opção verbatim
em dns.lookup()
e dnsPromises.lookup()
gera um erro ERR_INVALID_ARG_TYPE
.
DEP0154: Opções de geração de par de chaves RSA-PSS
[Histórico]
Versão | Alterações |
---|---|
v20.0.0 | Obsolecência em tempo de execução. |
v16.10.0 | Obsolecência apenas na documentação. |
Tipo: Tempo de execução
As opções 'hash'
e 'mgf1Hash'
são substituídas por 'hashAlgorithm'
e 'mgf1HashAlgorithm'
.
DEP0155: Barras invertidas finais em resoluções de especificadores de padrão
[Histórico]
Versão | Alterações |
---|---|
v17.0.0 | Obsolecência em tempo de execução. |
v16.10.0 | Obsolecência apenas na documentação com suporte a --pending-deprecation . |
Tipo: Tempo de execução
O remapeamento de especificadores que terminam em "/"
como import 'pkg/x/'
está obsoleto para resoluções de padrões "exports"
e "imports"
de pacotes.
DEP0156: Propriedade .aborted
e evento 'abort'
, 'aborted'
em http
[Histórico]
Versão | Alterações |
---|---|
v17.0.0, v16.12.0 | Obsolecência apenas na documentação. |
Tipo: Apenas documentação
Mova para a API <Stream>, pois http.ClientRequest
, http.ServerResponse
e http.IncomingMessage
são todos baseados em stream. Verifique stream.destroyed
em vez da propriedade .aborted
e ouça 'close'
em vez do evento 'abort'
, 'aborted'
.
A propriedade .aborted
e o evento 'abort'
são úteis apenas para detectar chamadas .abort()
. Para fechar uma solicitação antecipadamente, use o Stream .destroy([error])
, então verifique a propriedade .destroyed
e o evento 'close'
devem ter o mesmo efeito. A extremidade receptora também deve verificar o valor readable.readableEnded
em http.IncomingMessage
para obter se foi uma destruição abortada ou graciosa.
DEP0157: Suporte a Thenable em streams
[Histórico]
Versão | Alterações |
---|---|
v18.0.0 | Fim da vida útil. |
v17.2.0, v16.14.0 | Descontinuação apenas na documentação. |
Tipo: Fim da vida útil
Um recurso não documentado dos streams do Node.js era suportar thenables em métodos de implementação. Isso agora está obsoleto, use callbacks em vez disso e evite o uso da função async para métodos de implementação de streams.
Esse recurso fez com que os usuários encontrassem problemas inesperados em que o usuário implementa a função no estilo de callback, mas usa, por exemplo, um método async que causaria um erro, pois a combinação de semântica de promise e callback não é válida.
const w = new Writable({
async final(callback) {
await someOp();
callback();
},
});
DEP0158: buffer.slice(start, end)
[Histórico]
Versão | Alterações |
---|---|
v17.5.0, v16.15.0 | Descontinuação apenas na documentação. |
Tipo: Apenas documentação
Este método foi descontinuado porque não é compatível com Uint8Array.prototype.slice()
, que é uma superclasse de Buffer
.
Use buffer.subarray
que faz a mesma coisa.
DEP0159: ERR_INVALID_CALLBACK
[Histórico]
Versão | Alterações |
---|---|
v18.0.0 | Fim da vida útil. |
Tipo: Fim da vida útil
Este código de erro foi removido devido à adição de mais confusão aos erros usados para validação do tipo de valor.
DEP0160: process.on('multipleResolves', handler)
[Histórico]
Versão | Alterações |
---|---|
v18.0.0 | Descontinuação em tempo de execução. |
v17.6.0, v16.15.0 | Descontinuação apenas na documentação. |
Tipo: Tempo de execução.
Este evento foi descontinuado porque não funcionava com combinadores de promise V8, o que diminuiu sua utilidade.
DEP0161: process._getActiveRequests()
e process._getActiveHandles()
[Histórico]
Versão | Alterações |
---|---|
v17.6.0, v16.15.0 | Descontinuação apenas na documentação. |
Tipo: Apenas documentação
As funções process._getActiveHandles()
e process._getActiveRequests()
não se destinam ao uso público e podem ser removidas em versões futuras.
Use process.getActiveResourcesInfo()
para obter uma lista de tipos de recursos ativos e não as referências reais.
DEP0162: Coerção para string em fs.write()
, fs.writeFileSync()
[Histórico]
Versão | Mudanças |
---|---|
v19.0.0 | Fim da Vida útil. |
v18.0.0 | Obsoleto em tempo de execução. |
v17.8.0, v16.15.0 | Obsoleto apenas na documentação. |
Tipo: Fim da Vida útil
A coerção implícita de objetos com a própria propriedade toString
, passados como segundo parâmetro em fs.write()
, fs.writeFile()
, fs.appendFile()
, fs.writeFileSync()
, e fs.appendFileSync()
está obsoleta. Converta-os em strings primitivas.
DEP0163: channel.subscribe(onMessage)
, channel.unsubscribe(onMessage)
[Histórico]
Versão | Mudanças |
---|---|
v18.7.0, v16.17.0 | Obsoleto apenas na documentação. |
Tipo: Obsoleto apenas na documentação
Esses métodos foram considerados obsoletos porque podem ser usados de uma forma que não mantém a referência do canal ativa por tempo suficiente para receber os eventos.
Use diagnostics_channel.subscribe(name, onMessage)
ou diagnostics_channel.unsubscribe(name, onMessage)
que faz a mesma coisa em vez disso.
DEP0164: Coerção para inteiro em process.exit(code)
, process.exitCode
[Histórico]
Versão | Mudanças |
---|---|
v20.0.0 | Fim da Vida útil. |
v19.0.0 | Obsoleto em tempo de execução. |
v18.10.0, v16.18.0 | Obsoleto apenas na documentação da coerção para inteiro de process.exitCode . |
v18.7.0, v16.17.0 | Obsoleto apenas na documentação da coerção para inteiro de process.exit(code) . |
Tipo: Fim da Vida útil
Valores diferentes de undefined
, null
, números inteiros e strings inteiras (por exemplo, '1'
) estão obsoletos como valor para o parâmetro code
em process.exit()
e como valor para atribuir a process.exitCode
.
DEP0165: --trace-atomics-wait
[Histórico]
Versão | Alterações |
---|---|
v23.0.0 | Fim da Vida Útil. |
v22.0.0 | Depreciação em tempo de execução. |
v18.8.0, v16.18.0 | Depreciação apenas na documentação. |
Tipo: Fim da Vida Útil
A flag --trace-atomics-wait
foi removida porque usa o hook do V8 SetAtomicsWaitCallback
, que será removido em uma futura versão do V8.
DEP0166: Barras duplas em alvos de importações e exportações
[Histórico]
Versão | Alterações |
---|---|
v19.0.0 | Depreciação em tempo de execução. |
v18.10.0 | Depreciação apenas na documentação com suporte a --pending-deprecation . |
Tipo: Tempo de Execução
Importações de pacotes e alvos de exportações mapeando para caminhos incluindo uma barra dupla (de "/" ou "") estão depreciadas e falharão com um erro de validação de resolução em uma futura versão. Esta mesma depreciação também se aplica a correspondências de padrão começando ou terminando com uma barra.
DEP0167: Instâncias fracas de DiffieHellmanGroup
(modp1
, modp2
, modp5
)
[Histórico]
Versão | Alterações |
---|---|
v18.10.0, v16.18.0 | Depreciação apenas na documentação. |
Tipo: Apenas na Documentação
Os grupos MODP bem conhecidos modp1
, modp2
e modp5
estão depreciados porque não são seguros contra ataques práticos. Veja RFC 8247 Seção 2.4 para detalhes.
Esses grupos podem ser removidos em futuras versões do Node.js. Aplicações que dependem desses grupos devem avaliar o uso de grupos MODP mais fortes.
DEP0168: Exceção não tratada em callbacks da Node-API
[Histórico]
Versão | Alterações |
---|---|
v18.3.0, v16.17.0 | Depreciação em tempo de execução. |
Tipo: Tempo de Execução
A supressão implícita de exceções não capturadas em callbacks da Node-API agora está obsoleta.
Defina a flag --force-node-api-uncaught-exceptions-policy
para forçar o Node.js a emitir um evento 'uncaughtException'
se a exceção não for tratada nos callbacks da Node-API.
DEP0169: url.parse()
inseguro
[Histórico]
Versão | Mudanças |
---|---|
v19.9.0, v18.17.0 | Adicionado suporte para --pending-deprecation . |
v19.0.0, v18.13.0 | Depreciação apenas na documentação. |
Tipo: Apenas documentação (suporta --pending-deprecation
)
O comportamento de url.parse()
não é padronizado e propenso a erros que têm implicações de segurança. Use a API WHATWG URL em vez disso. CVEs não são emitidos para vulnerabilidades url.parse()
.
DEP0170: Porta inválida ao usar url.parse()
[Histórico]
Versão | Mudanças |
---|---|
v20.0.0 | Depreciação em tempo de execução. |
v19.2.0, v18.13.0 | Depreciação apenas na documentação. |
Tipo: Tempo de execução
url.parse()
aceita URLs com portas que não são números. Este comportamento pode resultar em falsificação de nome de host com entrada inesperada. Essas URLs lançarão um erro em versões futuras do Node.js, como a API WHATWG URL já faz.
DEP0171: Setters para cabeçalhos e trailers de http.IncomingMessage
[Histórico]
Versão | Mudanças |
---|---|
v19.3.0, v18.13.0 | Depreciação apenas na documentação. |
Tipo: Apenas documentação
Em uma versão futura do Node.js, message.headers
, message.headersDistinct
, message.trailers
e message.trailersDistinct
serão somente leitura.
DEP0172: A propriedade asyncResource
de funções vinculadas a AsyncResource
[Histórico]
Versão | Mudanças |
---|---|
v20.0.0 | Depreciação em tempo de execução. |
Tipo: Tempo de execução
Em uma versão futura do Node.js, a propriedade asyncResource
não será mais adicionada quando uma função for vinculada a um AsyncResource
.
DEP0173: A classe assert.CallTracker
[Histórico]
Versão | Mudanças |
---|---|
v20.1.0 | Depreciação apenas na documentação. |
Tipo: Apenas documentação
Em uma versão futura do Node.js, assert.CallTracker
será removido. Considere usar alternativas como a função auxiliar mock
.
DEP0174: chamando promisify
em uma função que retorna uma Promise
[Histórico]
Versão | Alterações |
---|---|
v21.0.0 | Obsolecência em tempo de execução. |
v20.8.0 | Obsolecência apenas na documentação. |
Tipo: Tempo de execução
Chamar util.promisify
em uma função que retorna uma
DEP0175: util.toUSVString
[Histórico]
Versão | Alterações |
---|---|
v20.8.0 | Obsolecência apenas na documentação. |
Tipo: Apenas documentação
A API util.toUSVString()
está obsoleta. Use String.prototype.toWellFormed
em vez disso.
DEP0176: fs.F_OK
, fs.R_OK
, fs.W_OK
, fs.X_OK
[Histórico]
Versão | Alterações |
---|---|
v20.8.0 | Obsolecência apenas na documentação. |
Tipo: Apenas documentação
Os getters F_OK
, R_OK
, W_OK
e X_OK
expostos diretamente em node:fs
estão obsoletos. Obtenha-os de fs.constants
ou fs.promises.constants
em vez disso.
DEP0177: util.types.isWebAssemblyCompiledModule
[Histórico]
Versão | Alterações |
---|---|
v21.7.0, v20.12.0 | Fim da vida útil. |
v21.3.0, v20.11.0 | Um código de obsolescência foi atribuído. |
v14.0.0 | Obsolecência apenas na documentação. |
Tipo: Fim da vida útil
A API util.types.isWebAssemblyCompiledModule
foi removida. Use value instanceof WebAssembly.Module
em vez disso.
DEP0178: dirent.path
[Histórico]
Versão | Alterações |
---|---|
v23.0.0 | Obsolecência em tempo de execução. |
v21.5.0, v20.12.0, v18.20.0 | Obsolecência apenas na documentação. |
Tipo: Tempo de execução
O dirent.path
está obsoleto devido à sua falta de consistência entre as linhas de lançamento. Use dirent.parentPath
em vez disso.
DEP0179: Construtor Hash
[Histórico]
Versão | Alterações |
---|---|
v22.0.0 | Obsolecência em tempo de execução. |
v21.5.0, v20.12.0 | Obsolecência apenas na documentação. |
Tipo: Tempo de execução
Chamar a classe Hash
diretamente com Hash()
ou new Hash()
está obsoleto por ser interno, não destinado ao uso público. Use o método crypto.createHash()
para criar instâncias de Hash.
DEP0180: Construtor fs.Stats
[Histórico]
Versão | Alterações |
---|---|
v22.0.0 | Obsolecência em tempo de execução. |
v20.13.0 | Obsolecência apenas na documentação. |
Tipo: Tempo de execução
Chamar a classe fs.Stats
diretamente com Stats()
ou new Stats()
está obsoleto por ser interno, não destinado ao uso público.
DEP0181: Construtor Hmac
[Histórico]
Versão | Alterações |
---|---|
v22.0.0 | Obsolecência em tempo de execução. |
v20.13.0 | Obsolecência apenas na documentação. |
Tipo: Tempo de execução
Chamar a classe Hmac
diretamente com Hmac()
ou new Hmac()
está obsoleto por ser interno, não destinado ao uso público. Utilize o método crypto.createHmac()
para criar instâncias Hmac.
DEP0182: Tags de autenticação GCM curtas sem authTagLength
explícito
[Histórico]
Versão | Alterações |
---|---|
v23.0.0 | Obsolecência em tempo de execução. |
v20.13.0 | Obsolecência apenas na documentação. |
Tipo: Tempo de execução
Aplicações que pretendem usar tags de autenticação que sejam mais curtas do que o comprimento padrão da tag de autenticação devem definir a opção authTagLength
da função crypto.createDecipheriv()
para o comprimento apropriado.
Para cifras no modo GCM, a função decipher.setAuthTag()
aceita tags de autenticação de qualquer comprimento válido (ver DEP0090). Este comportamento está obsoleto para melhor alinhar com as recomendações por NIST SP 800-38D.
DEP0183: APIs baseadas em engine OpenSSL
[Histórico]
Versão | Alterações |
---|---|
v22.4.0, v20.16.0 | Obsolecência apenas na documentação. |
Tipo: Apenas documentação
O OpenSSL 3 tornou obsoleto o suporte para engines personalizadas com uma recomendação para mudar para seu novo modelo de provedor. A opção clientCertEngine
para https.request()
, tls.createSecureContext()
e tls.createServer()
; o privateKeyEngine
e privateKeyIdentifier
para tls.createSecureContext()
; e crypto.setEngine()
dependem dessa funcionalidade do OpenSSL.
DEP0184: Instanciando classes node:zlib
sem new
[Histórico]
Versão | Mudanças |
---|---|
v22.9.0, v20.18.0 | Depreciação apenas na documentação. |
Tipo: Apenas na documentação
Instanciar classes sem o qualificador new
exportado pelo módulo node:zlib
está obsoleto. Recomenda-se usar o qualificador new
. Isso se aplica a todas as classes Zlib, como Deflate
, DeflateRaw
, Gunzip
, Inflate
, InflateRaw
, Unzip
e Zlib
.
DEP0185: Instanciando classes node:repl
sem new
[Histórico]
Versão | Mudanças |
---|---|
v22.9.0, v20.18.0 | Depreciação apenas na documentação. |
Tipo: Apenas na documentação
Instanciar classes sem o qualificador new
exportado pelo módulo node:repl
está obsoleto. Recomenda-se usar o qualificador new
. Isso se aplica a todas as classes REPL, incluindo REPLServer
e Recoverable
.
DEP0187: Passando tipos de argumentos inválidos para fs.existsSync
[Histórico]
Versão | Mudanças |
---|---|
v23.4.0 | Apenas na documentação. |
Tipo: Apenas na documentação
Passar tipos de argumentos não suportados está obsoleto e, em vez de retornar false
, lançará um erro em uma versão futura.
DEP0188: process.features.ipv6
e process.features.uv
[Histórico]
Versão | Mudanças |
---|---|
v23.4.0 | Depreciação apenas na documentação. |
Tipo: Apenas na documentação
Essas propriedades são incondicionalmente true
. Quaisquer verificações baseadas nessas propriedades são redundantes.
DEP0189: process.features.tls_*
[Histórico]
Versão | Mudanças |
---|---|
v23.4.0 | Depreciação apenas na documentação. |
Tipo: Apenas na documentação
process.features.tls_alpn
, process.features.tls_ocsp
e process.features.tls_sni
estão obsoletos, pois seus valores têm a garantia de serem idênticos aos de process.features.tls
.