Skip to content

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ãoMudanças
v14.0.0Fim da vida útil.
v6.12.0, v4.8.6Um código de descontinuação foi atribuído.
v1.6.0Descontinuação de tempo de execução.

Tipo: Fim da vida útil

OutgoingMessage.prototype.flush() foi removido. Use OutgoingMessage.prototype.flushHeaders() em vez disso.

[Histórico]

VersãoMudanças
v8.0.0Fim da Vida.
v6.12.0Um código de depreciação foi atribuído.
v5.0.0Depreciaçã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ãoMudanças
v14.0.0Fim da Vida.
v6.12.0, v4.8.6Um código de depreciação foi atribuído.
v0.11.15Depreciaçã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ãoMudanças
v10.0.0Fim da Vida.
v6.12.0, v4.8.6Um código de depreciação foi atribuído.
v0.4.0Depreciação apenas na documentação.

Tipo: Fim da Vida

A propriedade CryptoStream.prototype.readyState foi removida.

DEP0005: Construtor Buffer()

[Histórico]

VersãoMudanças
v10.0.0Depreciação em tempo de execução.
v6.12.0Um código de depreciação foi atribuído.
v6.0.0Depreciaçã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:

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ãoMudanças
v12.0.0Fim da Vida útil.
v6.12.0, v4.8.6Um código de depreciação foi atribuído.
v0.11.14Depreciação em tempo de execução.
v0.5.10Depreciaçã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ãoMudanças
v9.0.0Fim da Vida útil.
v7.0.0Depreciação em tempo de execução.
v6.12.0Um código de depreciação foi atribuído.
v6.0.0Depreciaçã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ãoMudanças
v6.12.0Um código de depreciação foi atribuído.
v6.3.0Depreciaçã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ãoMudanças
v14.0.0Fim da Vida útil (para digest === null).
v11.0.0Depreciação em tempo de execução (para digest === null).
v8.0.0Fim da Vida útil (para digest === undefined).
v6.12.0Um código de depreciação foi atribuído.
v6.0.0Depreciaçã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ãoMudanças
v11.0.0Fim da vida útil.
v6.12.0, v4.8.6Um código de depreciação foi atribuído.
v0.11.13Depreciaçã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ãoMudanças
v11.0.0Fim da vida útil.
v6.12.0, v4.8.6Um código de depreciação foi atribuído.
v0.11.13Depreciaçã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ãoMudanças
v9.0.0Fim da vida útil.
v6.12.0, v4.8.6Um código de depreciação foi atribuído.
v0.11.7Depreciaçã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ãoMudanças
v10.0.0Fim da vida útil.
v7.0.0Depreciaçã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ãoMudanças
v8.0.0Fim da vida útil.
v6.0.0Depreciação em tempo de execução.
v6.12.0, v4.8.6Um código de depreciação foi atribuído.
v0.1.96Depreciaçã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ãoMudanças
v8.0.0Fim da vida útil.
v6.0.0Depreciação em tempo de execução.
v6.12.0, v4.8.6Um código de depreciação foi atribuído.
v0.1.96Depreciaçã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ãoMudanças
v14.0.0Fim da Vida Útil.
v6.12.0Um código de depreciação foi atribuído.
v6.0.0Depreciaçã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ãoMudanças
v9.0.0Fim da Vida Útil.
v7.0.0Depreciaçã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ãoMudanças
v15.0.0Fim da Vida Útil.
v7.0.0Depreciaçã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ãoMudanças
v12.0.0Funcionalidade removida.
v6.12.0, v4.8.6Um código de depreciação foi atribuído.
v1.8.1Depreciaçã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ãoMudanças
v15.0.0Server.connections foi removido.
v6.12.0, v4.8.6Um código de depreciação foi atribuído.
v0.9.7Depreciaçã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ãoMudanças
v12.0.0Fim da Vida Útil.
v6.12.0, v4.8.6Um código de depreciação foi atribuído.
v0.7.12Depreciaçã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ãoAlterações
v14.0.0Fim da vida útil.
v7.0.0Descontinuaçã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ãoAlterações
v12.0.0Fim da vida útil.
v6.12.0, v4.8.6Um código de descontinuação foi atribuído.
v0.6.0Descontinuaçã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ãoAlterações
v9.0.0Fim da vida útil.
v7.0.0Descontinuaçã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ãoAlterações
v6.12.0, v4.8.6Um código de descontinuação foi atribuído.
v1.0.0Descontinuaçã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ãoAlterações
v12.0.0Fim da vida útil.
v6.12.0, v4.8.6Um código de descontinuação foi atribuído.
v0.11.3Descontinuaçã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ãoAlterações
v12.0.0Fim da vida útil.
v6.12.0, v4.8.6Um código de descontinuação foi atribuído.
v0.11.3Descontinuaçã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ãoAlterações
v12.0.0Fim da vida útil.
v6.12.0, v4.8.6Um código de descontinuação foi atribuído.
v0.11.3Descontinuaçã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ãoMudanças
v12.0.0Fim da vida útil.
v6.12.0, v4.8.6Um código de depreciação foi atribuído.
v0.11.3Depreciaçã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ãoMudanças
v6.12.0Um código de depreciação foi atribuído.
v6.0.0Depreciaçã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ãoMudanças
v6.12.0Um código de depreciação foi atribuído.
v5.2.0Depreciaçã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ãoMudanças
v6.12.0, v4.8.6Um código de depreciação foi atribuído.
v1.4.2Depreciaçã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ãoMudanças
v6.12.0, v4.8.6Um código de depreciação foi atribuído.
v3.2.0Depreciaçã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ãoMudanças
v6.12.0, v4.8.6Um código de depreciação foi atribuído.
v1.0.0Depreciaçã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ãoMudanças
v6.12.0, v4.8.6Um código de obsolescência foi atribuído.
v0.4.7Obsolescê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ãoMudanças
v6.12.0, v4.8.6Um código de obsolescência foi atribuído.
v0.4.7Obsolescê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ãoMudanças
v10.6.0Obsolescência revogada.
v6.12.0, v4.8.6Um código de obsolescência foi atribuído.
v0.4.7Obsolescê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ãoMudanças
v10.6.0Obsolescência revogada.
v6.12.0, v4.8.6Um código de obsolescência foi atribuído.
v0.4.7Obsolescê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ãoMudanças
v6.12.0, v4.8.6Um código de obsolescência foi atribuído.
v0.10.6Obsolescência apenas na documentação.

Tipo: Apenas na documentação

A propriedade require.extensions está obsoleta.

DEP0040: módulo node:punycode

[Histórico]

VersãoMudanças
v21.0.0Obsolescência em tempo de execução.
v16.6.0Adicionado suporte para --pending-deprecation.
v7.0.0Obsolescê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ãoMudanças
v10.0.0Fim da Vida Útil.
v6.12.0, v4.8.6Um código de depreciação foi atribuído.
v3.0.0Depreciaçã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ãoMudanças
v10.0.0Fim da Vida Útil.
v6.12.0, v4.8.6Um código de depreciação foi atribuído.
v0.11.3Depreciaçã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ãoMudanças
v8.0.0Depreciação em tempo de execução.
v6.12.0Um código de depreciação foi atribuído.
v6.0.0Depreciação apenas na documentação.
v0.11.15Depreciação revogada.
v0.11.3Depreciaçã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ãoMudanças
v22.0.0Depreciação em tempo de execução.
v6.12.0, v4.8.6Um código de depreciação foi atribuído.
v4.0.0, v3.3.1Depreciaçã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ãoMudanças
v23.0.0Depreciação de Fim de Vida Útil.
v22.0.0Depreciação em tempo de execução.
v6.12.0, v4.8.6Um código de depreciação foi atribuído.
v4.0.0, v3.3.1Depreciaçã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ãoMudanças
v23.0.0Depreciação de Fim de Vida Útil.
v22.0.0Depreciação em tempo de execução.
v6.12.0, v4.8.6Um código de depreciação foi atribuído.
v4.0.0, v3.3.1Depreciaçã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ãoAlterações
v23.0.0Descontinuação de Fim de Vida.
v22.0.0Descontinuação em Tempo de Execução.
v6.12.0, v4.8.6Um código de descontinuação foi atribuído.
v4.0.0, v3.3.1Descontinuaçã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ãoAlterações
v23.0.0Descontinuação de Fim de Vida.
v22.0.0Descontinuação em Tempo de Execução.
v6.12.0, v4.8.6Um código de descontinuação foi atribuído.
v4.0.0, v3.3.1Descontinuaçã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ãoAlterações
v23.0.0Descontinuação de Fim de Vida.
v22.0.0Descontinuação em Tempo de Execução.
v6.12.0, v4.8.6Um código de descontinuação foi atribuído.
v4.0.0, v3.3.1Descontinuaçã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ãoAlterações
v23.0.0Descontinuação de Fim de Vida.
v22.0.0Descontinuação em Tempo de Execução.
v6.12.0, v4.8.6Um código de descontinuação foi atribuído.
v4.0.0, v3.3.1Descontinuaçã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ãoAlterações
v23.0.0Descontinuação de Fim de Vida.
v22.0.0Descontinuação em Tempo de Execução.
v6.12.0, v4.8.6Um código de descontinuação foi atribuído.
v4.0.0, v3.3.1Descontinuaçã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ãoAlterações
v23.0.0Descontinuação de fim de vida.
v22.0.0Descontinuação em tempo de execução.
v6.12.0, v4.8.6Um código de descontinuação foi atribuído.
v4.0.0, v3.3.1Descontinuaçã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ãoAlterações
v23.0.0Descontinuação de fim de vida.
v22.0.0Descontinuação em tempo de execução.
v6.12.0, v4.8.6Um código de descontinuação foi atribuído.
v4.0.0, v3.3.1Descontinuaçã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ãoAlterações
v23.0.0Descontinuação de fim de vida.
v22.0.0Descontinuação em tempo de execução.
v6.12.0, v4.8.6Um código de descontinuação foi atribuído.
v4.0.0, v3.3.1Descontinuaçã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ãoAlterações
v23.0.0Descontinuação de fim de vida.
v22.0.0Descontinuação em tempo de execução.
v6.12.0, v4.8.6Um código de descontinuação foi atribuído.
v4.0.0, v3.3.1Descontinuaçã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ãoAlterações
v23.0.0Descontinuação de fim de vida.
v22.0.0Descontinuação em tempo de execução.
v6.12.0, v4.8.6Um código de descontinuação foi atribuído.
v4.0.0, v3.3.1Descontinuaçã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ãoMudanças
v23.0.0Descontinuação no fim da vida útil.
v22.0.0Descontinuação em tempo de execução.
v6.12.0, v4.8.6Um código de descontinuação foi atribuído.
v4.0.0, v3.3.1Descontinuaçã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ãoMudanças
v23.0.0Descontinuação no fim da vida útil.
v22.0.0Descontinuação em tempo de execução.
v6.12.0, v4.8.6Um código de descontinuação foi atribuído.
v4.0.0, v3.3.1Descontinuaçã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ãoMudanças
v23.0.0Descontinuação no fim da vida útil.
v22.0.0Descontinuação em tempo de execução.
v6.12.0Um código de descontinuação foi atribuído.
v6.0.0Descontinuaçã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ãoMudanças
v22.0.0Descontinuação em tempo de execução.
v6.12.0Um código de descontinuação foi atribuído.
v6.0.0Descontinuaçã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ãoAlterações
v11.0.0Fim da vida útil.
v8.0.0Desaprovação em tempo de execução.
v7.0.0Desaprovaçã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ãoAlterações
v12.0.0Fim da vida útil.
v8.0.0Desaprovaçã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ãoAlterações
v8.0.0Desaprovaçã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ãoAlterações
v8.0.0Desaprovação em tempo de execução.
v6.12.0Um código de desaprovação foi atribuído.
v6.0.0Desaprovação apenas na documentação.
v0.11.15Desaprovação revogada.
v0.11.3Desaprovaçã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ãoAlterações
v10.0.0Fim da vida útil.
v8.0.0Desaprovaçã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ãoMudanças
v12.0.0Descontinuação em tempo de execução.
v8.0.0Descontinuaçã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ãoMudanças
v8.0.0Descontinuaçã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ãoMudanças
v15.0.0O comando legado node debug foi removido.
v8.0.0Descontinuaçã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ãoMudanças
v10.0.0Fim da vida útil.
v9.0.0Descontinuação em tempo de execução.
v8.0.0Descontinuaçã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ãoMudanças
v9.0.0Fim da vida útil.
v8.2.0Descontinuaçã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ãoMudanças
v9.0.0Fim da vida útil.
v8.2.0Descontinuaçã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ãoMudanças
v9.0.0Fim da vida útil.
v8.2.0Descontinuaçã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ãoMudanças
v10.0.0Fim da vida útil.
v9.0.0Descontinuaçã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ãoMudanças
v15.0.0Fim da vida útil.
v9.0.0Descontinuaçã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ãoMudanças
v15.0.0Fim da vida útil.
v9.0.0Descontinuaçã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ãoMudanças
v18.0.0Fim da vida útil.
v9.0.0Descontinuação em tempo de execução.
v8.6.0Descontinuaçã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ãoMudanças
v9.0.0Descontinuaçã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ãoMudanças
v15.0.0Fim da vida útil.
v9.0.0Descontinuaçã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ãoMudanças
v11.0.0Fim da vida útil.
v10.0.0Descontinuação em tempo de execução.
v8.7.0Descontinuaçã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ãoMudanças
v9.0.0Descontinuaçã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ãoMudanças
v9.0.0Descontinuaçã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ãoMudanças
v15.0.0Fim da vida útil.
v9.0.0Descontinuaçã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ãoAlterações
v10.0.0Fim da vida útil.
v9.2.0Obsolecê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ãoAlterações
v12.0.0Esta funcionalidade foi removida.
v10.0.0Obsolecê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ãoAlterações
v10.0.0Fim da vida útil.
v9.4.0, v8.10.0Obsolecê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ãoAlterações
v10.0.0Fim da vida útil.
v9.4.0, v8.10.0Obsolecê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ãoAlterações
v12.8.0Obsolecência revogada.
v9.9.0, v8.13.0Obsolecê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ãoAlterações
v11.0.0Fim da vida útil.
v10.0.0Obsolecê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ãoAlterações
v20.0.0Fim da vida útil.
v10.0.0Obsolecê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ãoAlterações
v10.0.0Obsolecê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ãoMudanças
v23.0.0Obsolecência em tempo de execução.
v10.0.0Obsolecê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ãoMudanças
v10.0.0Obsolecê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ãoMudanças
v10.0.0Obsolecê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ãoMudanças
v10.0.0Obsolecê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ãoMudanças
v10.0.0Obsolecê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ãoMudanças
v12.0.0Fim da vida útil.
v10.0.0, v9.6.0, v8.12.0Obsolecê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ãoAlterações
v10.0.0Descontinuaçã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ãoAlterações
v23.0.0Fim da vida útil.
v10.0.0Descontinuação de tempo de execução.
v0.3.7Descontinuaçã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ãoAlterações
v10.0.0Fim 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ãoAlterações
v10.0.0Fim 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ãoAlterações
v10.9.0Substituído por DEP0111.
v10.0.0Descontinuaçã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ãoAlterações
v10.0.0Descontinuaçã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ãoAlterações
v11.0.0Fim da vida útil.
v10.0.0Depreciaçã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ãoAlterações
v22.0.0Fim da vida útil.
v11.0.0Depreciação em tempo de execução.
v10.0.0Depreciaçã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ãoAlterações
v11.0.0Fim da vida útil.
v10.0.0Depreciaçã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ãoAlterações
v23.0.0Fim da vida útil.
v11.0.0Depreciação em tempo de execução.
v10.0.0Depreciaçã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ãoMudanças
v16.0.0Fim da Vida útil.
v11.0.0Obsoleto 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ãoMudanças
v10.6.0Obsoleto 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ãoMudanças
v11.12.0Adicionado suporte para --pending-deprecation.
v10.9.0Obsoleto 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ãoMudanças
v11.0.0Obsoleto 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ãoMudanças
v12.0.0Fim da vida útil.
v11.0.0Obsoleto 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ãoMudanças
v12.0.0Fim da vida útil.
v11.0.0Obsoleto 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ãoMudanças
v11.0.0Adicionada 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ãoMudanças
v19.0.0, v18.13.0url.parse() está obsoleto novamente em DEP0169.
v15.13.0, v14.17.0Obsolecência revogada. Status alterado para "Legado".
v11.0.0Obsolecê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ãoAlterações
v12.0.0Fim da vida útil.
v11.0.0Depreciaçã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ãoAlterações
v11.0.0Depreciaçã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ãoAlterações
v11.0.0Depreciaçã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ãoAlterações
v12.0.0Fim da vida útil.
v11.0.0Depreciaçã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ãoAlterações
v12.0.0Depreciaçã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ãoMudanças
v12.0.0Descontinuaçã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ãoMudanças
v12.0.0Descontinuaçã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ãoMudanças
v15.0.0Fim da vida útil.
v12.0.0Descontinuaçã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ãoMudanças
v12.0.0Descontinuaçã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ãoMudanças
v11.14.0Descontinuaçã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ãoMudanças
v11.14.0Descontinuaçã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ãoMudanças
v16.0.0Descontinuação em tempo de execução.
v12.0.0Apenas 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ãoMudanças
v13.0.0Desaprovação em tempo de execução.
v11.14.0Apenas 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ãoMudanças
v16.0.0Fim da vida útil.
v13.0.0Desaprovação em tempo de execução.
v12.2.0Apenas documentação.

Tipo: Fim da vida útil

Use module.createRequire() em vez disso.

DEP0131: Analisador HTTP legado

[Histórico]

VersãoMudanças
v13.0.0Este recurso foi removido.
v12.22.0Desaprovação em tempo de execução.
v12.3.0Apenas 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ãoMudanças
v12.5.0Desaprovaçã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ãoMudanças
v12.12.0Desaprovaçã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ãoMudanças
v12.12.0Desaprovaçã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ãoMudanças
v13.0.0Desaprovaçã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ãoMudanças
v13.4.0, v12.16.0Desaprovaçã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ãoMudanças
v14.0.0Desaprovaçã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:

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

DEP0138: process.mainModule

[Histórico]

VersãoMudanças
v14.0.0Depreciaçã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ãoMudanças
v14.0.0, v12.19.0Depreciaçã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ãoMudanças
v14.1.0, v13.14.0Depreciaçã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ãoMudanças
v14.3.0Apenas 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ãoMudanças
v14.3.0Apenas 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ãoMudanças
v14.5.0Obsoleto 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ãoMudanças
v14.6.0, v12.19.0Obsoleto 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:

js
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:

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

DEP0145: socket.bufferSize

[Histórico]

VersãoMudanças
v14.6.0Obsoleto apenas na documentação.

Tipo: Apenas na documentação

socket.bufferSize é apenas um alias para writable.writableLength.

DEP0146: new crypto.Certificate()

[Histórico]

VersãoMudanças
v14.9.0Obsoleto 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ãoMudanças
v16.0.0Obsoleto em tempo de execução.
v15.0.0Obsoleto em tempo de execução para comportamento permissivo.
v14.14.0Obsoleto 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ãoMudanças
v17.0.0Fim da vida útil.
v16.0.0Obsoleto em tempo de execução.
v15.1.0Obsoleto em tempo de execução para importações auto-referenciais.
v14.13.0Obsoleto 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ãoMudanças
v16.0.0Obsoleto 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ãoMudanças
v19.0.0Fim da vida útil.
v16.0.0Obsoleto 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ãoMudanças
v16.0.0Obsoleto em tempo de execução.
v15.8.0, v14.18.0Obsoleto 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ãoMudanças
v16.0.0Obsoleto 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ãoAlterações
v18.0.0Fim da vida útil.
v17.0.0Obsolecência em tempo de execução.
v16.8.0Obsolecê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ãoAlterações
v20.0.0Obsolecência em tempo de execução.
v16.10.0Obsolecê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ãoAlterações
v17.0.0Obsolecência em tempo de execução.
v16.10.0Obsolecê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ãoAlterações
v17.0.0, v16.12.0Obsolecê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ãoAlterações
v18.0.0Fim da vida útil.
v17.2.0, v16.14.0Descontinuaçã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.

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

DEP0158: buffer.slice(start, end)

[Histórico]

VersãoAlterações
v17.5.0, v16.15.0Descontinuaçã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ãoAlterações
v18.0.0Fim 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ãoAlterações
v18.0.0Descontinuação em tempo de execução.
v17.6.0, v16.15.0Descontinuaçã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ãoAlterações
v17.6.0, v16.15.0Descontinuaçã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ãoMudanças
v19.0.0Fim da Vida útil.
v18.0.0Obsoleto em tempo de execução.
v17.8.0, v16.15.0Obsoleto 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ãoMudanças
v18.7.0, v16.17.0Obsoleto 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ãoMudanças
v20.0.0Fim da Vida útil.
v19.0.0Obsoleto em tempo de execução.
v18.10.0, v16.18.0Obsoleto apenas na documentação da coerção para inteiro de process.exitCode.
v18.7.0, v16.17.0Obsoleto 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ãoAlterações
v23.0.0Fim da Vida Útil.
v22.0.0Depreciação em tempo de execução.
v18.8.0, v16.18.0Depreciaçã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ãoAlterações
v19.0.0Depreciação em tempo de execução.
v18.10.0Depreciaçã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ãoAlterações
v18.10.0, v16.18.0Depreciaçã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ãoAlterações
v18.3.0, v16.17.0Depreciaçã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ãoMudanças
v19.9.0, v18.17.0Adicionado suporte para --pending-deprecation.
v19.0.0, v18.13.0Depreciaçã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ãoMudanças
v20.0.0Depreciação em tempo de execução.
v19.2.0, v18.13.0Depreciaçã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ãoMudanças
v19.3.0, v18.13.0Depreciaçã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ãoMudanças
v20.0.0Depreciaçã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ãoMudanças
v20.1.0Depreciaçã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ãoAlterações
v21.0.0Obsolecência em tempo de execução.
v20.8.0Obsolecê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ãoAlterações
v20.8.0Obsolecê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ãoAlterações
v20.8.0Obsolecê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ãoAlterações
v21.7.0, v20.12.0Fim da vida útil.
v21.3.0, v20.11.0Um código de obsolescência foi atribuído.
v14.0.0Obsolecê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ãoAlterações
v23.0.0Obsolecência em tempo de execução.
v21.5.0, v20.12.0, v18.20.0Obsolecê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ãoAlterações
v22.0.0Obsolecência em tempo de execução.
v21.5.0, v20.12.0Obsolecê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ãoAlterações
v22.0.0Obsolecência em tempo de execução.
v20.13.0Obsolecê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ãoAlterações
v22.0.0Obsolecência em tempo de execução.
v20.13.0Obsolecê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ãoAlterações
v23.0.0Obsolecência em tempo de execução.
v20.13.0Obsolecê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ãoAlterações
v22.4.0, v20.16.0Obsolecê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ãoMudanças
v22.9.0, v20.18.0Depreciaçã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ãoMudanças
v22.9.0, v20.18.0Depreciaçã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ãoMudanças
v23.4.0Apenas 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ãoMudanças
v23.4.0Depreciaçã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ãoMudanças
v23.4.0Depreciaçã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.