APIs Obsoletas
As APIs do Node.js podem ser obsoletas por qualquer um dos seguintes motivos:
- O uso da API é inseguro.
- Uma API alternativa melhorada está disponível.
- Mudanças significativas na API são esperadas em uma futura versão principal.
O Node.js usa quatro tipos de obsolescência:
- Apenas Documentação
- Aplicação (apenas código não-
node_modules
) - Tempo de Execução (todo o código)
- Fim de Vida
Uma obsolescência Apenas Documentação é aquela que é expressa apenas na documentação da API do Node.js. Elas não geram efeitos colaterais ao executar o Node.js. Algumas obsolescências Apenas Documentação acionam um aviso em tempo de execução quando iniciadas com a flag --pending-deprecation
(ou sua alternativa, a variável de ambiente NODE_PENDING_DEPRECATION=1
), semelhante às obsolescências de Tempo de Execução abaixo. As obsolescências Apenas Documentação que suportam essa flag são explicitamente rotuladas como tal na lista de APIs Obsoletas.
Uma obsolescência de Aplicação para apenas 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 obsoleta for usada em código que não seja carregado de node_modules
. Quando a flag de linha de comando --throw-deprecation
é usada, uma obsolescência de Tempo de Execução fará com que um erro seja lançado. Quando --pending-deprecation
é usada, avisos também serão emitidos para código carregado de node_modules
.
Uma obsolescência de tempo de execução para todo o código é semelhante à obsolescência de tempo de execução para código não-node_modules
, exceto que também emite um aviso para código carregado de node_modules
.
Uma obsolescência de Fim de Vida é usada quando a funcionalidade é ou será em breve removida do Node.js.
Revogando obsolescências
Ocasionalmente, a obsolescência de uma API pode ser revertida. Em tais situações, este documento será atualizado com informações relevantes para a decisão. No entanto, o identificador de obsolescência não será modificado.
Lista de APIs obsoletas
DEP0001: http.OutgoingMessage.prototype.flush
[Histórico]
Versão | Mudanças |
---|---|
v14.0.0 | Fim de Vida. |
v6.12.0, v4.8.6 | Um código de obsolescência foi atribuído. |
v1.6.0 | Obsolescência de tempo de execução. |
Tipo: Fim de Vida
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 copiebuffer
.Buffer.from(string[, encoding])
: Crie umBuffer
que copiestring
.
Sem --pending-deprecation
, avisos de tempo de execução ocorrem apenas para código que não está 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 de 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
saiu. No Node.js 6.0.0, a propriedade antiga foi depreciada e substituída por uma nova propriedade worker.exitedAfterDisconnect
. O nome antigo da propriedade 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 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 depreciado no Node.js 6.0 porque o método tinha como padrão o uso do 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
imprimirá um aviso de depreciação para se alinhar com o 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. Por favor, 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. Por favor, 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 através 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 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 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 | Alterações |
---|---|
v14.0.0 | Fim da vida útil. |
v6.12.0 | Um código de obsolescência foi atribuído. |
v6.0.0 | Obsolescência 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 | Alterações |
---|---|
v9.0.0 | Fim da vida útil. |
v7.0.0 | Obsolescência 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 | Alterações |
---|---|
v15.0.0 | Fim da vida útil. |
v7.0.0 | Obsolescência em tempo de execução. |
Tipo: Fim da vida útil
Rejeições de promessas não tratadas estão obsoletas. Por padrão, rejeições de promessas que não são tratadas encerram o processo do Node.js com um código de saída diferente de zero. Para alterar a forma como o Node.js trata 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 | Alterações |
---|---|
v12.0.0 | Funcionalidade removida. |
v6.12.0, v4.8.6 | Um código de obsolescência foi atribuído. |
v1.8.1 | Obsolescência em tempo de execução. |
Tipo: Fim da vida útil
Em certos casos, require('.')
poderia ser resolvido fora do diretório do pacote. Este comportamento foi removido.
DEP0020: Server.connections
[Histórico]
Versão | Alterações |
---|---|
v15.0.0 | Server.connections foi removido. |
v6.12.0, v4.8.6 | Um código de obsolescência foi atribuído. |
v0.9.7 | Obsolescência 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. Use o método Server.getConnections()
em vez disso.
DEP0021: Server.listenFD
[Histórico]
Versão | Alterações |
---|---|
v12.0.0 | Fim da vida útil. |
v6.12.0, v4.8.6 | Um código de obsolescência foi atribuído. |
v0.7.12 | Obsolescência em tempo de execução. |
Tipo: Fim da vida útil
O método Server.listenFD()
foi descontinuado e removido. Use Server.listen({fd: <número>})
em vez disso.
DEP0022: os.tmpDir()
[Histórico]
Versão | Mudanças |
---|---|
v14.0.0 | Fim da vida útil. |
v7.0.0 | Obsoleto em tempo de execução. |
Tipo: Fim da vida útil
A API os.tmpDir()
foi descontinuada no Node.js 7.0.0 e já foi removida. Use os.tmpdir()
em vez disso.
DEP0023: os.getNetworkInterfaces()
[Histórico]
Versão | Mudanças |
---|---|
v12.0.0 | Fim da vida útil. |
v6.12.0, v4.8.6 | Um código de obsolescência foi atribuído. |
v0.6.0 | Obsoleto em tempo de execução. |
Tipo: Fim da vida útil
O método os.getNetworkInterfaces()
está obsoleto. Use o método os.networkInterfaces()
em vez disso.
DEP0024: REPLServer.prototype.convertToContext()
[Histórico]
Versão | Mudanças |
---|---|
v9.0.0 | Fim da vida útil. |
v7.0.0 | Obsoleto 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 | Mudanças |
---|---|
v6.12.0, v4.8.6 | Um código de obsolescência foi atribuído. |
v1.0.0 | Obsoleto em tempo de execução. |
Tipo: Tempo de execução
O módulo node:sys
está obsoleto. Use o módulo util
em vez disso.
DEP0026: util.print()
[Histórico]
Versão | Mudanças |
---|---|
v12.0.0 | Fim da vida útil. |
v6.12.0, v4.8.6 | Um código de obsolescência foi atribuído. |
v0.11.3 | Obsoleto 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 | Mudanças |
---|---|
v12.0.0 | Fim da vida útil. |
v6.12.0, v4.8.6 | Um código de obsolescência foi atribuído. |
v0.11.3 | Obsoleto 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 | Mudanças |
---|---|
v12.0.0 | Fim da vida útil. |
v6.12.0, v4.8.6 | Um código de obsolescência foi atribuído. |
v0.11.3 | Obsoleto 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 de vida. |
v6.12.0, v4.8.6 | Um código de obsolescência foi atribuído. |
v0.11.3 | Obsolecência em tempo de execução. |
Tipo: Fim de vida
util.error()
foi removido. Por favor, use console.error()
em vez disso.
DEP0030: SlowBuffer
[Histórico]
Versão | Mudanças |
---|---|
v6.12.0 | Um código de obsolescência foi atribuído. |
v6.0.0 | Obsolecência apenas na documentação. |
Tipo: Apenas na documentação
A classe SlowBuffer
está obsoleta. Por favor, use Buffer.allocUnsafeSlow(size)
em vez disso.
DEP0031: ecdh.setPublicKey()
[Histórico]
Versão | Mudanças |
---|---|
v6.12.0 | Um código de obsolescência foi atribuído. |
v5.2.0 | Obsolecência apenas na documentação. |
Tipo: Apenas 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 obsolescência foi atribuído. |
v1.4.2 | Obsolecência apenas na documentação. |
Tipo: Apenas 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 obsolescência foi atribuído. |
v3.2.0 | Obsolecência apenas na documentação. |
Tipo: Apenas na documentação
A API events.listenerCount(emitter, eventName)
está obsoleta. Por favor, use 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 obsolescência foi atribuído. |
v1.0.0 | Obsolecência apenas na documentação. |
Tipo: Apenas na documentação
A API fs.exists(path, callback)
está obsoleta. Por favor, use 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 depreciação foi atribuído. |
v0.4.7 | Depreciação apenas de documentação. |
Tipo: Apenas 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 depreciação foi atribuído. |
v0.4.7 | Depreciação apenas de documentação. |
Tipo: Apenas 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 | Depreciação revogada. |
v6.12.0, v4.8.6 | Um código de depreciação foi atribuído. |
v0.4.7 | Depreciação apenas de documentação. |
Tipo: Depreciação revogada
A API fs.lchown(path, uid, gid, callback)
estava obsoleta. A depreciação 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 | Depreciação revogada. |
v6.12.0, v4.8.6 | Um código de depreciação foi atribuído. |
v0.4.7 | Depreciação apenas de documentação. |
Tipo: Depreciação revogada
A API fs.lchownSync(path, uid, gid)
estava obsoleta. A depreciação 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 depreciação foi atribuído. |
v0.10.6 | Depreciação apenas de documentação. |
Tipo: Apenas documentação
A propriedade require.extensions
está obsoleta.
DEP0040: módulo node:punycode
[Histórico]
Versão | Mudanças |
---|---|
v21.0.0 | Depreciação em tempo de execução. |
v16.6.0 | Adicionado suporte para --pending-deprecation . |
v7.0.0 | Depreciação apenas de 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. |
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
A variável de ambiente NODE_REPL_HISTORY_FILE
foi removida. Por favor, use NODE_REPL_HISTORY
em vez disso.
DEP0042: tls.CryptoStream
[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.11.3 | Depreciação apenas na documentação. |
Tipo: Fim da vida
A classe tls.CryptoStream
foi removida. Por favor, 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á depreciada. Por favor, 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á depreciada. Por favor, use Array.isArray()
em vez disso.
DEP0045: util.isBoolean()
[Histórico]
Versão | Mudanças |
---|---|
v23.0.0 | Depreciação de Fim da Vida. |
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
A API util.isBoolean()
foi removida. Por favor, use typeof arg === 'boolean'
em vez disso.
DEP0046: util.isBuffer()
[Histórico]
Versão | Mudanças |
---|---|
v23.0.0 | Depreciação de Fim da Vida. |
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
A API util.isBuffer()
foi removida. Por favor, use Buffer.isBuffer()
em vez disso.
DEP0047: util.isDate()
[Histórico]
Versão | Mudanças |
---|---|
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 somente 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 | Mudanças |
---|---|
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 somente 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 | Mudanças |
---|---|
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 somente 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 | Mudanças |
---|---|
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 somente 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 | Mudanças |
---|---|
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 somente 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 | Mudanças |
---|---|
v23.0.0 | Depreciação de Fim de Vida. |
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 somente 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 | Mudanças |
---|---|
v23.0.0 | Depreciação de Fim de Vida. |
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 somente 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 | Mudanças |
---|---|
v23.0.0 | Depreciação de Fim de Vida. |
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 somente 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 | Mudanças |
---|---|
v23.0.0 | Depreciação de Fim de Vida. |
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 somente 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 | Mudanças |
---|---|
v23.0.0 | Depreciação de Fim de Vida. |
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 somente 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 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 de documentação. |
Tipo: Fim de Vida
A API util.isSymbol()
foi removida. Por favor, use typeof arg === 'symbol'
em vez disso.
DEP0058: util.isUndefined()
[Histórico]
Versão | Mudanças |
---|---|
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 de documentação. |
Tipo: Fim de Vida
A API util.isUndefined()
foi removida. Por favor, use arg === undefined
em vez disso.
DEP0059: util.log()
[Histórico]
Versão | Mudanças |
---|---|
v23.0.0 | Descontinuação de fim de vida. |
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 de documentação. |
Tipo: Fim de Vida
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 Log 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 log que se alinhe com os requisitos específicos e a 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 de documentação. |
Tipo: Tempo de Execução
A API util._extend()
está descontinuada porque é uma API legada não mantida que foi exposta ao espaço do usuário por acidente. Por favor, use target = Object.assign(target, source)
em vez disso.
DEP0061: fs.SyncWriteStream
[Histórico]
Versão | Mudanças |
---|---|
v11.0.0 | Fim da Vida. |
v8.0.0 | Depreciação em tempo de execução. |
v7.0.0 | Depreciação apenas na documentação. |
Tipo: Fim da Vida
A classe fs.SyncWriteStream
nunca foi planejada para ser uma API acessível publicamente e foi removida. Nenhuma API alternativa está disponível. Por favor, use uma alternativa no espaço do usuário.
DEP0062: node --debug
[Histórico]
Versão | Mudanças |
---|---|
v12.0.0 | Fim da Vida. |
v8.0.0 | Depreciação em tempo de execução. |
Tipo: Fim da Vida
--debug
ativa a interface de depuração legada do V8, 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 | Mudanças |
---|---|
v8.0.0 | Depreciação apenas na documentação. |
Tipo: Apenas na documentação
A API ServerResponse.prototype.writeHeader()
do módulo node:http
está depreciada. 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 | 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: Em tempo de execução
A API tls.createSecurePair()
foi depreciada 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 | Mudanças |
---|---|
v10.0.0 | Fim da Vida. |
v8.0.0 | Depreciação apenas na documentação. |
Tipo: Fim da Vida
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 interativa do node
. 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 na 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 de vida
node debug
corresponde ao depurador CLI legado que foi substituído por um depurador 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 de vida. |
v9.0.0 | Descontinuação em tempo de execução. |
v8.0.0 | Descontinuação apenas na documentação. |
Tipo: Fim de vida
DebugContext foi removido do 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 de vida. |
v8.2.0 | Descontinuação em tempo de execução. |
Tipo: Fim de vida
async_hooks.currentId()
foi renomeado para async_hooks.executionAsyncId()
para maior clareza.
Esta alteração 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 | Desaprovação em tempo de execução. |
Tipo: Fim da vida útil
async_hooks.triggerId()
foi renomeado para async_hooks.triggerAsyncId()
para maior clareza.
Essa mudança 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 | Desaprovaçã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 mudança 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 | Desaprovaçã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 | Desaprovaçã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 | Desaprovação em tempo de execução. |
Tipo: Fim da vida útil
REPLServer.parseREPLKeyword()
foi removido da visibilidade do espaço do usuário.
DEP0076: tls.parseCertString()
[Histórico]
Versão | Mudanças |
---|---|
v18.0.0 | Fim da vida útil. |
v9.0.0 | Desaprovação em tempo de execução. |
v8.6.0 | Desaprovação somente 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 fosse para analisar strings de assunto e emissor de certificado, nunca lidou com Nomes Distintos Relativos de múltiplos valores corretamente.
Versões anteriores deste documento sugeriam o uso de querystring.parse()
como alternativa a tls.parseCertString()
. No entanto, querystring.parse()
também não manipula todos os assuntos de certificado corretamente e não deve ser usado.
DEP0077: Module._debug()
[Histórico]
Versão | Mudanças |
---|---|
v9.0.0 | Obsolecência de 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 | Obsolecência de tempo de execução. |
Tipo: Fim da vida útil
REPLServer.turnOffEditorMode()
foi removido da visibilidade 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 | Obsolecência de tempo de execução. |
v8.7.0 | Obsolecência somente 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 retroativa com o Node.js anterior à versão 6.4.0, ambos podem ser especificados.
DEP0080: path._makeLong()
[Histórico]
Versão | Mudanças |
---|---|
v9.0.0 | Obsolecência somente na documentação. |
Tipo: Somente documentação
O path._makeLong()
interno não se destinava ao uso público. No entanto, os módulos do usuário o consideraram útil. A API interna está obsoleta e substituída por um método path.toNamespacedPath()
idêntico e público.
DEP0081: fs.truncate()
usando um descritor de arquivo
[Histórico]
Versão | Mudanças |
---|---|
v9.0.0 | Obsolecência de 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 | Obsolecência de 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 ECDH definindo ecdhCurve
como false
[Histórico]
Versão | Mudanças |
---|---|
v10.0.0 | Fim da vida útil. |
v9.2.0 | Obsoleto em tempo de execução. |
Tipo: Fim da vida útil.
A opção ecdhCurve
para tls.createSecureContext()
e tls.TLSSocket
poderia ser definida como false
para desativar o ECDH completamente apenas no servidor. Esse 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: exigindo dependências internas agrupadas
[Histórico]
Versão | Mudanças |
---|---|
v12.0.0 | Esta funcionalidade foi removida. |
v10.0.0 | Obsoleto 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 ao uso interno foram expostos erroneamente ao código do usuário por meio 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, gerariam erros. Como tal, praticamente não há casos de uso legítimos para importá-los por meio de require()
.
Por outro lado, o node-inspect
pode ser instalado localmente por meio 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 AsyncHooks
[Histórico]
Versão | Mudanças |
---|---|
v10.0.0 | Fim da vida útil. |
v9.4.0, v8.10.0 | Obsoleto em tempo de execução. |
Tipo: Fim da vida útil
A API sensível AsyncHooks nunca foi documentada e tinha vários problemas menores. Use a API AsyncResource
em vez disso. Consulte https://github.com/nodejs/node/issues/15572.
DEP0086: Remover runInAsyncIdScope
[Histórico]
Versão | Mudanças |
---|---|
v10.0.0 | Fim da vida útil. |
v9.4.0, v8.10.0 | Depreciação 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. Consulte https://github.com/nodejs/node/issues/14328.
DEP0089: require('node:assert')
[Histórico]
Versão | Mudanças |
---|---|
v12.8.0 | Depreciação revogada. |
v9.9.0, v8.13.0 | Depreciação somente na documentação. |
Tipo: Depreciação revogada
A importação direta de assert não era recomendada, pois as funções expostas usam verificações de igualdade flexíveis. A depreciação foi revogada porque o uso do módulo node:assert
não é desencorajado e a depreciação causou confusão entre os desenvolvedores.
DEP0090: Comprimentos de tag de autenticação GCM inválidos
[Histórico]
Versão | Mudanças |
---|---|
v11.0.0 | Fim da vida útil. |
v10.0.0 | Depreciação 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()
. Começando com o Node.js v11.0.0, apenas 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 | Mudanças |
---|---|
v20.0.0 | Fim da vida útil. |
v10.0.0 | Depreciação 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 à 0.9.3 e foi removida.
DEP0092: this
de nível superior vinculado a module.exports
[Histórico]
Versão | Mudanças |
---|---|
v10.0.0 | Depreciação somente na documentação. |
Tipo: Somente na 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 foi 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. Use crypto.setFips()
e crypto.getFips()
em vez disso.
DEP0094: Usar 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. Use os métodos publicamente documentados setTimeout()
ou setInterval()
em vez disso.
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. Use os métodos publicamente documentados clearTimeout()
ou clearInterval()
em vez disso.
DEP0097: MakeCallback
com 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 transportar contexto devem começar a usar a variante async_context
de MakeCallback
ou CallbackScope
, ou a classe de alto nível AsyncResource
.
DEP0098: APIs AsyncResource.emitBefore
e AsyncResource.emitAfter
de incorporação do 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. Consulte https://github.com/nodejs/node/pull/18513.
DEP0099: APIs C++ node::MakeCallback
sem reconhecimento de contexto assíncrono
[Histórico]
Versão | Mudanças |
---|---|
v10.0.0 | Descontinuação em tempo de compilação. |
Tipo: Tempo de compilação
Certas versões das APIs node::MakeCallback
disponíveis para complementos nativos estão descontinuadas. Use as versões da API que aceitam um parâmetro async_context
.
DEP0100: process.assert()
[Histórico]
Versão | Mudanças |
---|---|
v23.0.0 | Fim da vida útil. |
v10.0.0 | Descontinuação em tempo de execução. |
v0.3.7 | Descontinuação apenas na documentação. |
Tipo: Fim da vida útil
process.assert()
está descontinuado. Use o módulo assert
em vez disso.
Este nunca foi um recurso documentado.
DEP0101: --with-lttng
[Histórico]
Versão | Mudanças |
---|---|
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 | Mudanças |
---|---|
v10.0.0 | Fim da vida útil. |
Tipo: Fim da vida útil
O uso do 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 travamentos difíceis de encontrar.
DEP0103: Verificações de tipo process.binding('util').is[...]
[Histórico]
Versão | Mudanças |
---|---|
v10.9.0 | Substituído por DEP0111. |
v10.0.0 | Descontinuação apenas na documentação. |
Tipo: Apenas 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 | Mudanças |
---|---|
v10.0.0 | Descontinuação apenas na documentação. |
Tipo: Apenas documentação (suporta --pending-deprecation
)
Ao atribuir uma propriedade não string a process.env
, o valor atribuído é convertido implicitamente para uma string. Esse comportamento está descontinuado se o valor atribuído não for uma string, booleano ou número. No futuro, essa atribuição poderá resultar em um erro lançado. Converta a propriedade para uma string antes de atribuí-la a process.env
.
DEP0105: decipher.finaltol
[Histórico]
Versão | Mudanças |
---|---|
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 | Mudanças |
---|---|
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 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 | Mudanças |
---|---|
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 e 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 | Mudanças |
---|---|
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 depreciado para zlib.bytesWritten
. Este nome original foi escolhido porque também fazia sentido interpretar o valor como o número de bytes lidos pelo motor, 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 de Vida. |
v11.0.0 | Depreciação em tempo de execução. |
Tipo: Fim de Vida
Algumas URLs anteriormente suportadas (mas estritamente inválidas) eram aceitas através das APIs http.request()
, http.get()
, https.request()
, https.get()
e tls.checkServerIdentity()
porque eram aceitas pela API legada url.parse()
. As APIs mencionadas agora usam o analisador WHATWG URL que requer URLs estritamente válidas. Passar uma URL inválida está depreciado e o suporte será removido no futuro.
DEP0110: Dados em cache vm.Script
[Histórico]
Versão | Mudanças |
---|---|
v10.6.0 | Depreciação apenas na documentação. |
Tipo: Apenas na Documentação
A opção produceCachedData
está depreciada. 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 | Depreciação apenas na documentação. |
Tipo: Apenas na Documentação (suporta --pending-deprecation
)
process.binding()
é para uso exclusivo do código interno do Node.js.
Embora process.binding()
não tenha atingido o status de Fim de Vida 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 | Depreciação em tempo de execução. |
Tipo: Tempo de Execução
O módulo node:dgram
anteriormente continha várias APIs que nunca foram destinadas ao acesso 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 de vida. |
v11.0.0 | Depreciação em tempo de execução. |
Tipo: Fim de vida
Cipher.setAuthTag()
e Decipher.getAuthTag()
não estão mais disponíveis. Eles nunca foram documentados e geravam um erro quando chamados.
DEP0114: crypto._toBuf()
[Histórico]
Versão | Mudanças |
---|---|
v12.0.0 | Fim de vida. |
v11.0.0 | Depreciação em tempo de execução. |
Tipo: Fim de vida
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 depreciação apenas na documentação com suporte a --pending-deprecation . |
Tipo: Apenas documentação (suporta --pending-deprecation
)
Em versões recentes do Node.js, não há diferença entre crypto.randomBytes()
e crypto.pseudoRandomBytes()
. O último está depreciado juntamente 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() é depreciado novamente em DEP0169. |
v15.13.0, v14.17.0 | Depreciação revogada. Status alterado para "Legado". |
v11.0.0 | Depreciação apenas na documentação. |
Tipo: Depreciação revogada
A API URL Legada está depreciada. Isso inclui url.format()
, url.parse()
, url.resolve()
e o legado urlObject
. Por favor, use a API URL WHATWG em vez disso.
DEP0117: Manipuladores de criptografia nativos
[Histórico]
Versão | Mudanças |
---|---|
v12.0.0 | Fim da Vida. |
v11.0.0 | Depreciação em tempo de execução. |
Tipo: Fim da Vida
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 ao travamento do aplicativo.
DEP0118: Suporte dns.lookup()
para um nome de host falso
[Histórico]
Versão | Mudanças |
---|---|
v11.0.0 | Depreciação em tempo de execução. |
Tipo: Tempo de execução
Versões anteriores do Node.js suportavam dns.lookup()
com um nome de host falso como dns.lookup(false)
devido à compatibilidade retroativa. Este comportamento não está documentado e acredita-se que não seja usado em aplicativos do mundo real. Ele se tornará um erro em versões futuras do Node.js.
DEP0119: API privada process.binding('uv').errname()
[Histórico]
Versão | Mudanças |
---|---|
v11.0.0 | Depreciação apenas na documentação. |
Tipo: Apenas Documentação (suporta --pending-deprecation
)
process.binding('uv').errname()
está depreciado. Por favor, use util.getSystemErrorName()
em vez disso.
DEP0120: Suporte a contador de desempenho do Windows
[Histórico]
Versão | Mudanças |
---|---|
v12.0.0 | Fim da Vida. |
v11.0.0 | Depreciação em tempo de execução. |
Tipo: Fim da Vida
O suporte a 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 | Mudanças |
---|---|
v12.0.0 | Depreciação em tempo de execução. |
Tipo: Tempo de execução
A função não documentada net._setSimultaneousAccepts()
foi originalmente destinada à depuração e ajuste de desempenho ao usar os módulos node:child_process
e node:cluster
no Windows. A função não é geralmente útil e está sendo 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: definindo o TLS ServerName 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 TLS ServerName 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 de vida. |
v12.0.0 | Descontinuação em tempo de execução. |
Tipo: Fim de vida
Essa 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á descontinuado.
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()
não documentado anteriormente está descontinuado. Por favor, use o timeout.refresh()
publicamente documentado em vez disso. Se for necessário referenciar novamente o tempo limite, o 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()
não documentado e "privado" anteriormente está descontinuado. Por favor, use o timeout.refresh()
publicamente documentado em vez disso. Se for necessário desreferenciar o tempo limite, o 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á descontinuado e vai gerar um erro em futuras versões do Node.js.
DEP0129: ChildProcess._channel
[Histórico]
Versão | Mudanças |
---|---|
v13.0.0 | Depreciaçã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 | Depreciaçã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 | Depreciaçã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 a 12.0.0, está obsoleto e foi removido na v13.0.0. Anteriormente à v13.0.0, o sinalizador de linha de comando --http-parser=legacy
poderia 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 | Depreciaçã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 em vez disso, ou um listener para o evento 'exit'
do worker.
DEP0133: http
connection
[Histórico]
Versão | Mudanças |
---|---|
v12.12.0 | Depreciação apenas na documentação. |
Tipo: Apenas Documentação
Prefira response.socket
em relação a response.connection
e request.socket
em relação a request.connection
.
DEP0134: process._tickCallback
[Histórico]
Versão | Mudanças |
---|---|
v12.12.0 | Depreciação apenas na documentação. |
Tipo: Apenas 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 | Depreciaçã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 | Depreciaçã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 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 | Depreciação em tempo de execução. |
Tipo: Tempo de execução
Permitir que um objeto fs.FileHandle
seja fechado na coleta de lixo é depreciado. No futuro, 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 | Descontinuação apenas na documentação. |
Tipo: Apenas na documentação
process.mainModule
é um recurso exclusivo do CommonJS, enquanto o objeto global process
é compartilhado com ambientes não CommonJS. Seu uso em módulos ECMAScript não é suportado.
Está obsoleto 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 | Descontinuação apenas na documentação. |
Tipo: Apenas na documentação
Chamar process.umask()
sem argumento faz com que o umask de todo o processo seja gravado duas vezes. Isso introduz uma condição de corrida entre threads e é uma possível vulnerabilidade de segurança. 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 | Descontinuação apenas na documentação. |
Tipo: Apenas na 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 na documentação (suporta [--pending-deprecation ][]). |
Tipo: Apenas na 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 na documentação (suporta [--pending-deprecation ][]). |
Tipo: Apenas na documentação
O módulo node:repl
exporta uma propriedade _builtinLibs
que contém um array de módulos embutidos. 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 | Depreciação em tempo de execução. |
Tipo: Tempo de execução Transform._transformState
será removido em versões futuras, onde não será mais necessário devido à simplificação da implementação.
DEP0144: module.parent
[Histórico]
Versão | Mudanças |
---|---|
v14.6.0, v12.19.0 | Depreciação 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á depreciado porque não funciona de forma consistente na presença de módulos ECMAScript e porque dá 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, recomenda-se 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 | Depreciação 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 | Depreciação apenas na documentação. |
Tipo: Apenas na documentação
O construtor crypto.Certificate()
está depreciado. 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 | Depreciação em tempo de execução. |
v15.0.0 | Depreciação em tempo de execução para comportamento permissivo. |
v14.14.0 | Depreciação 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 | Depreciação em tempo de execução. |
v15.1.0 | Depreciação em tempo de execução para importações autorreferenciadas. |
v14.13.0 | Depreciação apenas na documentação. |
Tipo: Tempo de execução
O uso de uma barra final "/"
para definir mapeamentos de pastas de subcaminho nos campos exportações de subcaminho ou importações de subcaminho está obsoleto. Use padrões de subcaminho em vez disso.
DEP0149: http.IncomingMessage#connection
[Histórico]
Versão | Mudanças |
---|---|
v16.0.0 | Depreciação 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 | Depreciação 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 | Depreciação em tempo de execução. |
v15.8.0, v14.18.0 | Depreciação apenas na documentação com suporte a --pending-deprecation . |
Tipo: Tempo de execução
Anteriormente, as pesquisas por index.js
e extensão seriam aplicadas à resolução do ponto de entrada principal import 'pkg'
, mesmo ao resolver módulos ES.
Com esta depreciação, todas as resoluções de ponto de entrada principal de módulo ES exigem uma "exports"
ou entrada "main"
explícita com a extensão de arquivo exata.
DEP0152: Propriedades de extensão PerformanceEntry
[Histórico]
Versão | Mudanças |
---|---|
v16.0.0 | Depreciação 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 | Mudanças |
---|---|
v18.0.0 | Fim da vida útil. |
v17.0.0 | Descontinuação em tempo de execução. |
v16.8.0 | Descontinuação 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()
lança um erro ERR_INVALID_ARG_TYPE
.
DEP0154: Opções de geração de par de chaves RSA-PSS
[Histórico]
Versão | Mudanças |
---|---|
v20.0.0 | Descontinuação em tempo de execução. |
v16.10.0 | Descontinuação 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 | Mudanças |
---|---|
v17.0.0 | Descontinuação em tempo de execução. |
v16.10.0 | Descontinuação apenas na documentação com suporte para --pending-deprecation . |
Tipo: Tempo de execução
O remapeamento de especificadores terminados em "/"
como import 'pkg/x/'
está descontinuado para resoluções de padrões "exports"
e "imports"
de pacotes.
DEP0156: Propriedade .aborted
e evento 'abort'
, 'aborted'
em http
[Histórico]
Versão | Mudanças |
---|---|
v17.0.0, v16.12.0 | Descontinuação apenas na documentação. |
Tipo: Apenas na documentação
Mova para a API <Stream> em vez disso, pois http.ClientRequest
, http.ServerResponse
e http.IncomingMessage
são todos baseados em stream. Verifique stream.destroyed
em vez da propriedade .aborted
e fique atento ao evento '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 método .destroy([error])
do Stream e 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 saber se foi um descarte abortado ou gracioso.
DEP0157: Suporte a Thenable em streams
[Histórico]
Versão | Mudanças |
---|---|
v18.0.0 | Fim da vida útil. |
v17.2.0, v16.14.0 | Depreciação apenas na documentação. |
Tipo: Fim da vida útil
Um recurso não documentado dos streams do Node.js era o suporte a thenables em métodos de implementação. Isso agora está obsoleto, use callbacks em vez disso e evite o uso de função async para métodos de implementação de streams.
Esse recurso fazia com que os usuários encontrassem problemas inesperados em que o usuário implementava a função no estilo callback, mas usava, por exemplo, um método async que causaria um erro, pois a mistura 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 | Mudanças |
---|---|
v17.5.0, v16.15.0 | Depreciação apenas na documentação. |
Tipo: Apenas na 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 | Mudanças |
---|---|
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 de tipo de valor.
DEP0160: process.on('multipleResolves', handler)
[Histórico]
Versão | Mudanças |
---|---|
v18.0.0 | Depreciação em tempo de execução. |
v17.6.0, v16.15.0 | Depreciação apenas na documentação. |
Tipo: Tempo de execução.
Este evento foi descontinuado porque não funcionava com os combinadores de promises do V8, o que diminuiu sua utilidade.
DEP0161: process._getActiveRequests()
e process._getActiveHandles()
[Histórico]
Versão | Mudanças |
---|---|
v17.6.0, v16.15.0 | Depreciação apenas na documentação. |
Tipo: Apenas na 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 de fs.write()
, fs.writeFileSync()
para string
[Histórico]
Versão | Mudanças |
---|---|
v19.0.0 | Fim de Vida. |
v18.0.0 | Obsolecência em tempo de execução. |
v17.8.0, v16.15.0 | Obsolecência apenas na documentação. |
Tipo: Fim de Vida
A coerção implícita de objetos com a propriedade toString
própria, passados como segundo parâmetro em fs.write()
, fs.writeFile()
, fs.appendFile()
, fs.writeFileSync()
e fs.appendFileSync()
está obsoleta. Converta-os para strings primitivas.
DEP0163: channel.subscribe(onMessage)
, channel.unsubscribe(onMessage)
[Histórico]
Versão | Mudanças |
---|---|
v18.7.0, v16.17.0 | Obsolecência apenas na documentação. |
Tipo: Apenas na Documentação
Esses métodos foram declarados obsoletos porque podem ser usados de uma forma que não mantém a referência do canal viva o tempo suficiente para receber os eventos.
Use diagnostics_channel.subscribe(name, onMessage)
ou diagnostics_channel.unsubscribe(name, onMessage)
que faz a mesma coisa.
DEP0164: Coerção de process.exit(code)
, process.exitCode
para inteiro
[Histórico]
Versão | Mudanças |
---|---|
v20.0.0 | Fim de Vida. |
v19.0.0 | Obsolecência em tempo de execução. |
v18.10.0, v16.18.0 | Obsolecência apenas na documentação da coerção para inteiro de process.exitCode . |
v18.7.0, v16.17.0 | Obsolecência apenas na documentação da coerção para inteiro de process.exit(code) . |
Tipo: Fim de Vida
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 a ser atribuído a process.exitCode
.
DEP0165: --trace-atomics-wait
[Histórico]
Versão | Mudanças |
---|---|
v23.0.0 | Fim da vida útil. |
v22.0.0 | Obsolecência em tempo de execução. |
v18.8.0, v16.18.0 | Obsolecência apenas na documentação. |
Tipo: Fim da vida útil
O sinalizador --trace-atomics-wait
foi removido porque usa o hook V8 SetAtomicsWaitCallback
, que será removido em uma versão futura do V8.
DEP0166: Barras duplas em alvos de importações e exportações
[Histórico]
Versão | Mudanças |
---|---|
v19.0.0 | Obsolecência em tempo de execução. |
v18.10.0 | Obsolecência apenas na documentação com suporte para --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 obsoletos e falharão com um erro de validação de resolução em uma versão futura. Essa mesma obsolescência também se aplica a correspondências de padrão que começam ou terminam em uma barra.
DEP0167: Instâncias fracas de DiffieHellmanGroup
(modp1
, modp2
, modp5
)
[Histórico]
Versão | Mudanças |
---|---|
v18.10.0, v16.18.0 | Obsolecência apenas na documentação. |
Tipo: Apenas na documentação
Os grupos MODP conhecidos modp1
, modp2
e modp5
estão obsoletos porque não são seguros contra ataques práticos. Consulte RFC 8247 Seção 2.4 para obter detalhes.
Esses grupos podem ser removidos em futuras versões do Node.js. Aplicativos 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 | Mudanças |
---|---|
v18.3.0, v16.17.0 | Obsolecência 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 o sinalizador --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 em 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 | Descontinuação somente na documentação. |
Tipo: Somente 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 de url.parse()
.
DEP0170: Porta inválida ao usar url.parse()
[Histórico]
Versão | Mudanças |
---|---|
v20.0.0 | Descontinuação em tempo de execução. |
v19.2.0, v18.13.0 | Descontinuação somente 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 spoofing 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 | Descontinuação somente na documentação. |
Tipo: Somente 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 AsyncResource
[Histórico]
Versão | Mudanças |
---|---|
v20.0.0 | Descontinuaçã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 | Descontinuação somente na documentação. |
Tipo: Somente 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 | Mudanças |
---|---|
v21.0.0 | Depreciação em tempo de execução. |
v20.8.0 | Depreciação 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 | Mudanças |
---|---|
v20.8.0 | Depreciação apenas na documentação. |
Tipo: Apenas na documentação
A API util.toUSVString()
está depreciada. Por favor, use String.prototype.toWellFormed
em vez disso.
DEP0176: fs.F_OK
, fs.R_OK
, fs.W_OK
, fs.X_OK
[Histórico]
Versão | Mudanças |
---|---|
v20.8.0 | Depreciação apenas na documentação. |
Tipo: Apenas na documentação
Os getters F_OK
, R_OK
, W_OK
e X_OK
expostos diretamente em node:fs
estão depreciados. Obtenha-os de fs.constants
ou fs.promises.constants
em vez disso.
DEP0177: util.types.isWebAssemblyCompiledModule
[Histórico]
Versão | Mudanças |
---|---|
v21.7.0, v20.12.0 | Fim de vida. |
v21.3.0, v20.11.0 | Um código de depreciação foi atribuído. |
v14.0.0 | Depreciação apenas na documentação. |
Tipo: Fim de vida
A API util.types.isWebAssemblyCompiledModule
foi removida. Por favor, use value instanceof WebAssembly.Module
em vez disso.
DEP0178: dirent.path
[Histórico]
Versão | Mudanças |
---|---|
v23.0.0 | Depreciação em tempo de execução. |
v21.5.0, v20.12.0, v18.20.0 | Depreciação apenas na documentação. |
Tipo: Tempo de execução
O dirent.path
está depreciado devido à sua falta de consistência nas linhas de lançamento. Por favor, use dirent.parentPath
em vez disso.
DEP0179: Construtor Hash
[Histórico]
Versão | Mudanças |
---|---|
v22.0.0 | Depreciação em tempo de execução. |
v21.5.0, v20.12.0 | Depreciação apenas na documentação. |
Tipo: Tempo de execução
Chamar a classe Hash
diretamente com Hash()
ou new Hash()
está depreciado por serem internos, não destinados ao uso público. Por favor, use o método crypto.createHash()
para criar instâncias Hash.
DEP0180: Construtor fs.Stats
[Histórico]
Versão | Alterações |
---|---|
v22.0.0 | Depreciação em tempo de execução. |
v20.13.0 | Depreciação apenas na documentação. |
Tipo: Tempo de execução
Chamar a classe fs.Stats
diretamente com Stats()
ou new Stats()
está obsoleto devido a ser interno, não destinado ao uso público.
DEP0181: Construtor Hmac
[Histórico]
Versão | Alterações |
---|---|
v22.0.0 | Depreciação em tempo de execução. |
v20.13.0 | Depreciação apenas na documentação. |
Tipo: Tempo de execução
Chamar a classe Hmac
diretamente com Hmac()
ou new Hmac()
está obsoleto devido a 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 | Depreciação em tempo de execução. |
v20.13.0 | Depreciação apenas na documentação. |
Tipo: Tempo de execução
As aplicações que pretendem usar tags de autenticação 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 (consulte DEP0090). Esse comportamento está obsoleto para melhor alinhamento com as recomendações por NIST SP 800-38D.
DEP0183: APIs baseadas em mecanismos OpenSSL
[Histórico]
Versão | Alterações |
---|---|
v22.4.0, v20.16.0 | Depreciação apenas na documentação. |
Tipo: Apenas na documentação
O OpenSSL 3 depreciou o suporte para mecanismos personalizados com uma recomendação para mudar para o 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: Instanciar 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
exportadas pelo módulo node:zlib
está depreciado. Recomenda-se usar o qualificador new
. Isso se aplica a todas as classes Zlib, como Deflate
, DeflateRaw
, Gunzip
, Inflate
, InflateRaw
, Unzip
e Zlib
.
DEP0185: Instanciar 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
exportadas pelo módulo node:repl
está depreciado. Recomenda-se usar o qualificador new
. Isso se aplica a todas as classes REPL, incluindo REPLServer
e Recoverable
.
DEP0187: Passar tipos de argumento 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 argumento não suportados está depreciado 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
Estas 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 depreciados, pois seus valores têm garantia de serem idênticos ao de process.features.tls
.