Skip to content

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ãoMudanças
v14.0.0Fim de Vida.
v6.12.0, v4.8.6Um código de obsolescência foi atribuído.
v1.6.0Obsolescência de tempo de execução.

Tipo: Fim de Vida

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 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ã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 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ãoMudanças
v6.12.0Um código de depreciação foi atribuído.
v6.3.0Depreciaçã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ã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 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ã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. Por favor, 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. Por favor, 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 através 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 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 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ãoAlterações
v14.0.0Fim da vida útil.
v6.12.0Um código de obsolescência foi atribuído.
v6.0.0Obsolescê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ãoAlterações
v9.0.0Fim da vida útil.
v7.0.0Obsolescê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ãoAlterações
v15.0.0Fim da vida útil.
v7.0.0Obsolescê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ãoAlterações
v12.0.0Funcionalidade removida.
v6.12.0, v4.8.6Um código de obsolescência foi atribuído.
v1.8.1Obsolescê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ãoAlterações
v15.0.0Server.connections foi removido.
v6.12.0, v4.8.6Um código de obsolescência foi atribuído.
v0.9.7Obsolescê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ãoAlterações
v12.0.0Fim da vida útil.
v6.12.0, v4.8.6Um código de obsolescência foi atribuído.
v0.7.12Obsolescê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ãoMudanças
v14.0.0Fim da vida útil.
v7.0.0Obsoleto 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ãoMudanças
v12.0.0Fim da vida útil.
v6.12.0, v4.8.6Um código de obsolescência foi atribuído.
v0.6.0Obsoleto 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ãoMudanças
v9.0.0Fim da vida útil.
v7.0.0Obsoleto em tempo de execução.

Tipo: Fim da vida útil

A API REPLServer.prototype.convertToContext() foi removida.

DEP0025: require('node:sys')

[Histórico]

VersãoMudanças
v6.12.0, v4.8.6Um código de obsolescência foi atribuído.
v1.0.0Obsoleto 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ãoMudanças
v12.0.0Fim da vida útil.
v6.12.0, v4.8.6Um código de obsolescência foi atribuído.
v0.11.3Obsoleto 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ãoMudanças
v12.0.0Fim da vida útil.
v6.12.0, v4.8.6Um código de obsolescência foi atribuído.
v0.11.3Obsoleto 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ãoMudanças
v12.0.0Fim da vida útil.
v6.12.0, v4.8.6Um código de obsolescência foi atribuído.
v0.11.3Obsoleto 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 de vida.
v6.12.0, v4.8.6Um código de obsolescência foi atribuído.
v0.11.3Obsolecê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ãoMudanças
v6.12.0Um código de obsolescência foi atribuído.
v6.0.0Obsolecê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ãoMudanças
v6.12.0Um código de obsolescência foi atribuído.
v5.2.0Obsolecê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ãoMudanças
v6.12.0, v4.8.6Um código de obsolescência foi atribuído.
v1.4.2Obsolecê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ãoMudanças
v6.12.0, v4.8.6Um código de obsolescência foi atribuído.
v3.2.0Obsolecê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ãoMudanças
v6.12.0, v4.8.6Um código de obsolescência foi atribuído.
v1.0.0Obsolecê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ãoMudanças
v6.12.0, v4.8.6Um código de depreciação foi atribuído.
v0.4.7Depreciaçã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ãoMudanças
v6.12.0, v4.8.6Um código de depreciação foi atribuído.
v0.4.7Depreciaçã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ãoMudanças
v10.6.0Depreciação revogada.
v6.12.0, v4.8.6Um código de depreciação foi atribuído.
v0.4.7Depreciaçã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ãoMudanças
v10.6.0Depreciação revogada.
v6.12.0, v4.8.6Um código de depreciação foi atribuído.
v0.4.7Depreciaçã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ãoMudanças
v6.12.0, v4.8.6Um código de depreciação foi atribuído.
v0.10.6Depreciação apenas de documentação.

Tipo: Apenas documentação

A propriedade require.extensions está obsoleta.

DEP0040: módulo node:punycode

[Histórico]

VersãoMudanças
v21.0.0Depreciação em tempo de execução.
v16.6.0Adicionado suporte para --pending-deprecation.
v7.0.0Depreciaçã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ãoMudanças
v10.0.0Fim da vida.
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

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ãoMudanças
v10.0.0Fim da vida.
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

A classe tls.CryptoStream foi removida. Por favor, 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á depreciada. Por favor, 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á depreciada. Por favor, use Array.isArray() em vez disso.

DEP0045: util.isBoolean()

[Histórico]

VersãoMudanças
v23.0.0Depreciação de Fim da Vida.
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

A API util.isBoolean() foi removida. Por favor, use typeof arg === 'boolean' em vez disso.

DEP0046: util.isBuffer()

[Histórico]

VersãoMudanças
v23.0.0Depreciação de Fim da Vida.
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

A API util.isBuffer() foi removida. Por favor, use Buffer.isBuffer() em vez disso.

DEP0047: util.isDate()

[Histórico]

VersãoMudanças
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 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ãoMudanças
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 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ãoMudanças
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 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ãoMudanças
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 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ãoMudanças
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 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ãoMudanças
v23.0.0Depreciação de Fim de Vida.
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 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ãoMudanças
v23.0.0Depreciação de Fim de Vida.
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 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ãoMudanças
v23.0.0Depreciação de Fim de Vida.
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 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ãoMudanças
v23.0.0Depreciação de Fim de Vida.
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 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ãoMudanças
v23.0.0Depreciação de Fim de Vida.
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 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ãoMudanças
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 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ãoMudanças
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 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ãoMudanças
v23.0.0Descontinuação de fim de vida.
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 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ã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 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ãoMudanças
v11.0.0Fim da Vida.
v8.0.0Depreciação em tempo de execução.
v7.0.0Depreciaçã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ãoMudanças
v12.0.0Fim da Vida.
v8.0.0Depreciaçã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ãoMudanças
v8.0.0Depreciaçã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ã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: 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ãoMudanças
v10.0.0Fim da Vida.
v8.0.0Depreciaçã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ã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 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ãoMudanças
v15.0.0O comando legado node debug foi removido.
v8.0.0Descontinuaçã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ãoMudanças
v10.0.0Fim de vida.
v9.0.0Descontinuação em tempo de execução.
v8.0.0Descontinuaçã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ãoMudanças
v9.0.0Fim de vida.
v8.2.0Descontinuaçã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ãoMudanças
v9.0.0Fim da vida útil.
v8.2.0Desaprovaçã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ãoMudanças
v9.0.0Fim da vida útil.
v8.2.0Desaprovaçã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ãoMudanças
v10.0.0Fim da vida útil.
v9.0.0Desaprovaçã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.0Desaprovaçã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.0Desaprovaçã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ãoMudanças
v18.0.0Fim da vida útil.
v9.0.0Desaprovação em tempo de execução.
v8.6.0Desaprovaçã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ãoMudanças
v9.0.0Obsolecê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ãoMudanças
v15.0.0Fim da vida útil.
v9.0.0Obsolecê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ãoMudanças
v11.0.0Fim da vida útil.
v10.0.0Obsolecência de tempo de execução.
v8.7.0Obsolecê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ãoMudanças
v9.0.0Obsolecê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ãoMudanças
v9.0.0Obsolecê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ãoMudanças
v15.0.0Fim da vida útil.
v9.0.0Obsolecê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ãoMudanças
v10.0.0Fim da vida útil.
v9.2.0Obsoleto 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ãoMudanças
v12.0.0Esta funcionalidade foi removida.
v10.0.0Obsoleto 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ãoMudanças
v10.0.0Fim da vida útil.
v9.4.0, v8.10.0Obsoleto 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ãoMudanças
v10.0.0Fim da vida útil.
v9.4.0, v8.10.0Depreciaçã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ãoMudanças
v12.8.0Depreciação revogada.
v9.9.0, v8.13.0Depreciaçã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ãoMudanças
v11.0.0Fim da vida útil.
v10.0.0Depreciaçã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ãoMudanças
v20.0.0Fim da vida útil.
v10.0.0Depreciaçã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ãoMudanças
v10.0.0Depreciaçã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ã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. Use crypto.setFips() e crypto.getFips() em vez disso.

DEP0094: Usar 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. Use os métodos publicamente documentados setTimeout() ou setInterval() em vez disso.

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. Use os métodos publicamente documentados clearTimeout() ou clearInterval() em vez disso.

DEP0097: MakeCallback com 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 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ã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. Consulte https://github.com/nodejs/node/pull/18513.

DEP0099: APIs C++ node::MakeCallback sem reconhecimento de contexto assíncrono

[Histórico]

VersãoMudanças
v10.0.0Descontinuaçã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ãoMudanças
v23.0.0Fim da vida útil.
v10.0.0Descontinuação em tempo de execução.
v0.3.7Descontinuaçã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ãoMudanças
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ãoMudanças
v10.0.0Fim 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ãoMudanças
v10.9.0Substituído por DEP0111.
v10.0.0Descontinuaçã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ãoMudanças
v10.0.0Descontinuaçã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ãoMudanças
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ãoMudanças
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 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ãoMudanças
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 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ãoMudanças
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 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ãoMudanças
v16.0.0Fim de Vida.
v11.0.0Depreciaçã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ãoMudanças
v10.6.0Depreciaçã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ãoMudanças
v11.12.0Adicionado suporte para --pending-deprecation.
v10.9.0Depreciaçã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ãoMudanças
v11.0.0Depreciaçã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ãoMudanças
v12.0.0Fim de vida.
v11.0.0Depreciaçã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ãoMudanças
v12.0.0Fim de vida.
v11.0.0Depreciaçã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ãoMudanças
v11.0.0Adicionada 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ãoMudanças
v19.0.0, v18.13.0url.parse() é depreciado novamente em DEP0169.
v15.13.0, v14.17.0Depreciação revogada. Status alterado para "Legado".
v11.0.0Depreciaçã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ãoMudanças
v12.0.0Fim da Vida.
v11.0.0Depreciaçã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ãoMudanças
v11.0.0Depreciaçã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ãoMudanças
v11.0.0Depreciaçã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ãoMudanças
v12.0.0Fim da Vida.
v11.0.0Depreciaçã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ãoMudanças
v12.0.0Depreciaçã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ã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: definindo o TLS ServerName 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 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ãoMudanças
v15.0.0Fim de vida.
v12.0.0Descontinuaçã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ãoMudanças
v12.0.0Descontinuaçã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ãoMudanças
v11.14.0Descontinuaçã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ãoMudanças
v11.14.0Descontinuaçã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ã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á descontinuado e vai gerar um erro em futuras versões do Node.js.

DEP0129: ChildProcess._channel

[Histórico]

VersãoMudanças
v13.0.0Depreciaçã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.0Depreciaçã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.0Depreciaçã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 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ãoMudanças
v12.5.0Depreciaçã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ãoMudanças
v12.12.0Depreciaçã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ãoMudanças
v12.12.0Depreciaçã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ãoMudanças
v13.0.0Depreciaçã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.0Depreciaçã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ãoMudanças
v14.0.0Depreciaçã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:

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

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

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

DEP0158: buffer.slice(start, end)

[Histórico]

VersãoMudanças
v17.5.0, v16.15.0Depreciaçã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ãoMudanças
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 de tipo de valor.

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

[Histórico]

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