Skip to content

API Dépréciées

Les API Node.js peuvent être dépréciées pour l'une des raisons suivantes :

  • L'utilisation de l'API est dangereuse.
  • Une API alternative améliorée est disponible.
  • Des modifications majeures de l'API sont attendues dans une future version majeure.

Node.js utilise quatre types de dépréciations :

  • Documentation uniquement
  • Application (code non-node_modules uniquement)
  • Exécution (tout le code)
  • Fin de vie

Une dépréciation de documentation uniquement est une dépréciation exprimée uniquement dans la documentation de l'API Node.js. Elles ne génèrent aucun effet secondaire lors de l'exécution de Node.js. Certaines dépréciations de documentation uniquement déclenchent un avertissement d'exécution lorsqu'elles sont lancées avec l'indicateur --pending-deprecation (ou son alternative, la variable d'environnement NODE_PENDING_DEPRECATION=1), de la même manière que les dépréciations d'exécution ci-dessous. Les dépréciations de documentation uniquement qui prennent en charge cet indicateur sont explicitement étiquetées comme telles dans la liste des API dépréciées.

Une dépréciation d'application pour le code non-node_modules uniquement générera, par défaut, un avertissement de processus qui sera affiché sur stderr la première fois que l'API dépréciée est utilisée dans du code qui n'est pas chargé depuis node_modules. Lorsque l'indicateur de ligne de commande --throw-deprecation est utilisé, une dépréciation d'exécution provoquera le lancement d'une erreur. Lorsque --pending-deprecation est utilisé, des avertissements seront également émis pour le code chargé depuis node_modules.

Une dépréciation d'exécution pour tout le code est similaire à la dépréciation d'exécution pour le code non-node_modules, sauf qu'elle émet également un avertissement pour le code chargé depuis node_modules.

Une dépréciation de fin de vie est utilisée lorsque la fonctionnalité est ou sera bientôt supprimée de Node.js.

Révocation des dépréciations

Occasionnellement, la dépréciation d'une API peut être annulée. Dans de telles situations, ce document sera mis à jour avec des informations pertinentes à la décision. Cependant, l'identifiant de dépréciation ne sera pas modifié.

Liste des API dépréciées

DEP0001 : http.OutgoingMessage.prototype.flush

[Historique]

VersionModifications
v14.0.0Fin de vie.
v6.12.0, v4.8.6Un code de dépréciation a été attribué.
v1.6.0Dépréciation d'exécution.

Type : Fin de vie

OutgoingMessage.prototype.flush() a été supprimé. Utilisez OutgoingMessage.prototype.flushHeaders() à la place.

[Historique]

VersionModifications
v8.0.0Fin de vie.
v6.12.0Un code d’obsolescence a été attribué.
v5.0.0Obsolescence d’exécution.

Type : Fin de vie

Le module _linklist est obsolète. Veuillez utiliser une alternative userland.

DEP0003 : _writableState.buffer

[Historique]

VersionModifications
v14.0.0Fin de vie.
v6.12.0, v4.8.6Un code d’obsolescence a été attribué.
v0.11.15Obsolescence d’exécution.

Type : Fin de vie

_writableState.buffer a été supprimé. Utilisez _writableState.getBuffer() à la place.

DEP0004 : CryptoStream.prototype.readyState

[Historique]

VersionModifications
v10.0.0Fin de vie.
v6.12.0, v4.8.6Un code d’obsolescence a été attribué.
v0.4.0Obsolescence de la documentation uniquement.

Type : Fin de vie

La propriété CryptoStream.prototype.readyState a été supprimée.

DEP0005 : Constructeur Buffer()

[Historique]

VersionModifications
v10.0.0Obsolescence d’exécution.
v6.12.0Un code d’obsolescence a été attribué.
v6.0.0Obsolescence de la documentation uniquement.

Type : Application (code non-node_modules uniquement)

La fonction Buffer() et le constructeur new Buffer() sont obsolètes en raison de problèmes d’utilisabilité de l’API qui peuvent entraîner des problèmes de sécurité accidentels.

Comme alternative, utilisez l’une des méthodes suivantes de construction d’objets Buffer :

Sans --pending-deprecation, les avertissements d’exécution ne se produisent que pour le code qui n’est pas dans node_modules. Cela signifie qu’il n’y aura pas d’avertissements d’obsolescence pour l’utilisation de Buffer() dans les dépendances. Avec --pending-deprecation, un avertissement d’exécution en résulte, peu importe où l’utilisation de Buffer() se produit.

DEP0006: child_process options.customFds

[Historique]

VersionModifications
v12.0.0Fin de vie.
v6.12.0, v4.8.6Un code de dépréciation a été attribué.
v0.11.14Dépréciation à l'exécution.
v0.5.10Dépréciation de la documentation uniquement.

Type: Fin de vie

Dans les méthodes spawn(), fork() et exec() du module child_process, l'option options.customFds est obsolète. L'option options.stdio doit être utilisée à la place.

DEP0007: Remplacer cluster worker.suicide par worker.exitedAfterDisconnect

[Historique]

VersionModifications
v9.0.0Fin de vie.
v7.0.0Dépréciation à l'exécution.
v6.12.0Un code de dépréciation a été attribué.
v6.0.0Dépréciation de la documentation uniquement.

Type: Fin de vie

Dans une version antérieure du cluster Node.js, une propriété booléenne nommée suicide a été ajoutée à l'objet Worker. L'intention de cette propriété était de fournir une indication de la façon dont l'instance Worker s'est terminée et pourquoi. Dans Node.js 6.0.0, l'ancienne propriété a été dépréciée et remplacée par une nouvelle propriété worker.exitedAfterDisconnect. L'ancien nom de propriété ne décrivait pas précisément la sémantique réelle et était inutilement chargé d'émotion.

DEP0008: require('node:constants')

[Historique]

VersionModifications
v6.12.0Un code de dépréciation a été attribué.
v6.3.0Dépréciation de la documentation uniquement.

Type: Documentation uniquement

Le module node:constants est déprécié. Lors de la demande d'accès à des constantes pertinentes pour des modules intégrés Node.js spécifiques, les développeurs doivent plutôt se référer à la propriété constants exposée par le module concerné. Par exemple, require('node:fs').constants et require('node:os').constants.

DEP0009: crypto.pbkdf2 sans digest

[Historique]

VersionModifications
v14.0.0Fin de vie (pour digest === null).
v11.0.0Dépréciation à l'exécution (pour digest === null).
v8.0.0Fin de vie (pour digest === undefined).
v6.12.0Un code de dépréciation a été attribué.
v6.0.0Dépréciation à l'exécution (pour digest === undefined).

Type: Fin de vie

L'utilisation de l'API crypto.pbkdf2() sans spécifier de digest a été dépréciée dans Node.js 6.0 car la méthode utilisait par défaut le digest 'SHA1' non recommandé. Auparavant, un avertissement de dépréciation était imprimé. À partir de Node.js 8.0.0, appeler crypto.pbkdf2() ou crypto.pbkdf2Sync() avec digest défini sur undefined lèvera une TypeError.

À partir de Node.js v11.0.0, appeler ces fonctions avec digest défini sur null imprimerait un avertissement de dépréciation pour s'aligner sur le comportement lorsque digest est undefined.

Maintenant, cependant, passer undefined ou null lèvera une TypeError.

DEP0010: crypto.createCredentials

[Historique]

VersionModifications
v11.0.0Fin de vie.
v6.12.0, v4.8.6Un code d'obsolescence a été attribué.
v0.11.13Obsolescence d'exécution.

Type : Fin de vie

L’API crypto.createCredentials() a été supprimée. Veuillez utiliser tls.createSecureContext() à la place.

DEP0011: crypto.Credentials

[Historique]

VersionModifications
v11.0.0Fin de vie.
v6.12.0, v4.8.6Un code d'obsolescence a été attribué.
v0.11.13Obsolescence d'exécution.

Type : Fin de vie

La classe crypto.Credentials a été supprimée. Veuillez utiliser tls.SecureContext à la place.

DEP0012: Domain.dispose

[Historique]

VersionModifications
v9.0.0Fin de vie.
v6.12.0, v4.8.6Un code d'obsolescence a été attribué.
v0.11.7Obsolescence d'exécution.

Type : Fin de vie

Domain.dispose() a été supprimé. Récupérez les actions d'E/S ayant échoué explicitement via les gestionnaires d'événements d'erreur définis sur le domaine.

DEP0013: Fonction asynchrone fs sans rappel

[Historique]

VersionModifications
v10.0.0Fin de vie.
v7.0.0Obsolescence d'exécution.

Type : Fin de vie

L'appel d'une fonction asynchrone sans rappel lève une TypeError dans Node.js 10.0.0 et versions ultérieures. Voir https://github.com/nodejs/node/pull/12562.

DEP0014: Ancienne interface String fs.read

[Historique]

VersionModifications
v8.0.0Fin de vie.
v6.0.0Obsolescence d'exécution.
v6.12.0, v4.8.6Un code d'obsolescence a été attribué.
v0.1.96Obsolescence de la documentation uniquement.

Type : Fin de vie

L'ancienne interface String de fs.read() est obsolète. Utilisez l'API Buffer comme indiqué dans la documentation à la place.

DEP0015: Ancienne interface String fs.readSync

[Historique]

VersionModifications
v8.0.0Fin de vie.
v6.0.0Obsolescence d'exécution.
v6.12.0, v4.8.6Un code d'obsolescence a été attribué.
v0.1.96Obsolescence de la documentation uniquement.

Type : Fin de vie

L'ancienne interface String de fs.readSync() est obsolète. Utilisez l'API Buffer comme indiqué dans la documentation à la place.

DEP0016 : GLOBAL/root

[Historique]

VersionModifications
v14.0.0Fin de vie.
v6.12.0Un code d’obsolescence a été attribué.
v6.0.0Obsolescence d’exécution.

Type : Fin de vie

Les alias GLOBAL et root pour la propriété global ont été déclarés obsolètes dans Node.js 6.0.0 et ont depuis été supprimés.

DEP0017 : Intl.v8BreakIterator

[Historique]

VersionModifications
v9.0.0Fin de vie.
v7.0.0Obsolescence d’exécution.

Type : Fin de vie

Intl.v8BreakIterator était une extension non standard et a été supprimée. Voir Intl.Segmenter.

DEP0018 : Rejets de promesses non gérés

[Historique]

VersionModifications
v15.0.0Fin de vie.
v7.0.0Obsolescence d’exécution.

Type : Fin de vie

Les rejets de promesses non gérés sont obsolètes. Par défaut, les rejets de promesses qui ne sont pas gérés mettent fin au processus Node.js avec un code de sortie différent de zéro. Pour modifier la façon dont Node.js traite les rejets non gérés, utilisez l’option de ligne de commande --unhandled-rejections.

DEP0019 : require('.') résolu en dehors du répertoire

[Historique]

VersionModifications
v12.0.0Fonctionnalité supprimée.
v6.12.0, v4.8.6Un code d’obsolescence a été attribué.
v1.8.1Obsolescence d’exécution.

Type : Fin de vie

Dans certains cas, require('.') pouvait être résolu en dehors du répertoire du package. Ce comportement a été supprimé.

DEP0020 : Server.connections

[Historique]

VersionModifications
v15.0.0Server.connections a été supprimé.
v6.12.0, v4.8.6Un code d’obsolescence a été attribué.
v0.9.7Obsolescence d’exécution.

Type : Fin de vie

La propriété Server.connections a été déclarée obsolète dans Node.js v0.9.7 et a été supprimée. Veuillez utiliser la méthode Server.getConnections() à la place.

DEP0021 : Server.listenFD

[Historique]

VersionModifications
v12.0.0Fin de vie.
v6.12.0, v4.8.6Un code d’obsolescence a été attribué.
v0.7.12Obsolescence d’exécution.

Type : Fin de vie

La méthode Server.listenFD() a été déclarée obsolète et supprimée. Veuillez utiliser Server.listen({fd: \<number\>}) à la place.

DEP0022 : os.tmpDir()

[Historique]

VersionModifications
v14.0.0Fin de vie.
v7.0.0Dépréciation à l’exécution.

Type : Fin de vie

L’API os.tmpDir() a été dépréciée dans Node.js 7.0.0 et a été supprimée depuis. Veuillez utiliser os.tmpdir() à la place.

DEP0023 : os.getNetworkInterfaces()

[Historique]

VersionModifications
v12.0.0Fin de vie.
v6.12.0, v4.8.6Un code de dépréciation a été attribué.
v0.6.0Dépréciation à l’exécution.

Type : Fin de vie

La méthode os.getNetworkInterfaces() est dépréciée. Veuillez utiliser la méthode os.networkInterfaces() à la place.

DEP0024 : REPLServer.prototype.convertToContext()

[Historique]

VersionModifications
v9.0.0Fin de vie.
v7.0.0Dépréciation à l’exécution.

Type : Fin de vie

L’API REPLServer.prototype.convertToContext() a été supprimée.

DEP0025 : require('node:sys')

[Historique]

VersionModifications
v6.12.0, v4.8.6Un code de dépréciation a été attribué.
v1.0.0Dépréciation à l’exécution.

Type : Exécution

Le module node:sys est déprécié. Veuillez utiliser le module util à la place.

DEP0026 : util.print()

[Historique]

VersionModifications
v12.0.0Fin de vie.
v6.12.0, v4.8.6Un code de dépréciation a été attribué.
v0.11.3Dépréciation à l’exécution.

Type : Fin de vie

util.print() a été supprimé. Veuillez utiliser console.log() à la place.

DEP0027 : util.puts()

[Historique]

VersionModifications
v12.0.0Fin de vie.
v6.12.0, v4.8.6Un code de dépréciation a été attribué.
v0.11.3Dépréciation à l’exécution.

Type : Fin de vie

util.puts() a été supprimé. Veuillez utiliser console.log() à la place.

DEP0028 : util.debug()

[Historique]

VersionModifications
v12.0.0Fin de vie.
v6.12.0, v4.8.6Un code de dépréciation a été attribué.
v0.11.3Dépréciation à l’exécution.

Type : Fin de vie

util.debug() a été supprimé. Veuillez utiliser console.error() à la place.

DEP0029: util.error()

[Historique]

VersionModifications
v12.0.0Fin de vie.
v6.12.0, v4.8.6Un code de dépréciation a été attribué.
v0.11.3Dépréciation d'exécution.

Type : Fin de vie

util.error() a été supprimé. Veuillez utiliser console.error() à la place.

DEP0030: SlowBuffer

[Historique]

VersionModifications
v6.12.0Un code de dépréciation a été attribué.
v6.0.0Dépréciation uniquement dans la documentation.

Type : Uniquement dans la documentation

La classe SlowBuffer est dépréciée. Veuillez utiliser Buffer.allocUnsafeSlow(size) à la place.

DEP0031: ecdh.setPublicKey()

[Historique]

VersionModifications
v6.12.0Un code de dépréciation a été attribué.
v5.2.0Dépréciation uniquement dans la documentation.

Type : Uniquement dans la documentation

La méthode ecdh.setPublicKey() est maintenant dépréciée car son inclusion dans l'API n'est pas utile.

DEP0032: Module node:domain

[Historique]

VersionModifications
v6.12.0, v4.8.6Un code de dépréciation a été attribué.
v1.4.2Dépréciation uniquement dans la documentation.

Type : Uniquement dans la documentation

Le module domain est déprécié et ne doit pas être utilisé.

DEP0033: EventEmitter.listenerCount()

[Historique]

VersionModifications
v6.12.0, v4.8.6Un code de dépréciation a été attribué.
v3.2.0Dépréciation uniquement dans la documentation.

Type : Uniquement dans la documentation

L'API events.listenerCount(emitter, eventName) est dépréciée. Veuillez utiliser emitter.listenerCount(eventName) à la place.

DEP0034: fs.exists(path, callback)

[Historique]

VersionModifications
v6.12.0, v4.8.6Un code de dépréciation a été attribué.
v1.0.0Dépréciation uniquement dans la documentation.

Type : Uniquement dans la documentation

L'API fs.exists(path, callback) est dépréciée. Veuillez utiliser fs.stat() ou fs.access() à la place.

DEP0035 : fs.lchmod(path, mode, callback)

[Historique]

VersionModifications
v6.12.0, v4.8.6Un code de dépréciation a été assigné.
v0.4.7Dépréciation limitée à la documentation.

Type : Limité à la documentation

L’API fs.lchmod(path, mode, callback) est obsolète.

DEP0036 : fs.lchmodSync(path, mode)

[Historique]

VersionModifications
v6.12.0, v4.8.6Un code de dépréciation a été assigné.
v0.4.7Dépréciation limitée à la documentation.

Type : Limité à la documentation

L’API fs.lchmodSync(path, mode) est obsolète.

DEP0037 : fs.lchown(path, uid, gid, callback)

[Historique]

VersionModifications
v10.6.0Dépréciation révoquée.
v6.12.0, v4.8.6Un code de dépréciation a été assigné.
v0.4.7Dépréciation limitée à la documentation.

Type : Dépréciation révoquée

L’API fs.lchown(path, uid, gid, callback) était obsolète. La dépréciation a été révoquée car les API de support requises ont été ajoutées dans libuv.

DEP0038 : fs.lchownSync(path, uid, gid)

[Historique]

VersionModifications
v10.6.0Dépréciation révoquée.
v6.12.0, v4.8.6Un code de dépréciation a été assigné.
v0.4.7Dépréciation limitée à la documentation.

Type : Dépréciation révoquée

L’API fs.lchownSync(path, uid, gid) était obsolète. La dépréciation a été révoquée car les API de support requises ont été ajoutées dans libuv.

DEP0039 : require.extensions

[Historique]

VersionModifications
v6.12.0, v4.8.6Un code de dépréciation a été assigné.
v0.10.6Dépréciation limitée à la documentation.

Type : Limité à la documentation

La propriété require.extensions est obsolète.

DEP0040 : module node:punycode

[Historique]

VersionModifications
v21.0.0Dépréciation d’exécution.
v16.6.0Ajout de la prise en charge de --pending-deprecation.
v7.0.0Dépréciation limitée à la documentation.

Type : Exécution

Le module punycode est obsolète. Veuillez utiliser une alternative userland à la place.

DEP0041 : variable d’environnement NODE_REPL_HISTORY_FILE

[Historique]

VersionModifications
v10.0.0Fin de vie.
v6.12.0, v4.8.6Un code de dépréciation a été attribué.
v3.0.0Dépréciation limitée à la documentation.

Type : Fin de vie

La variable d’environnement NODE_REPL_HISTORY_FILE a été supprimée. Veuillez utiliser NODE_REPL_HISTORY à la place.

DEP0042 : tls.CryptoStream

[Historique]

VersionModifications
v10.0.0Fin de vie.
v6.12.0, v4.8.6Un code de dépréciation a été attribué.
v0.11.3Dépréciation limitée à la documentation.

Type : Fin de vie

La classe tls.CryptoStream a été supprimée. Veuillez utiliser tls.TLSSocket à la place.

DEP0043 : tls.SecurePair

[Historique]

VersionModifications
v8.0.0Dépréciation d’exécution.
v6.12.0Un code de dépréciation a été attribué.
v6.0.0Dépréciation limitée à la documentation.
v0.11.15Dépréciation révoquée.
v0.11.3Dépréciation d’exécution.

Type : Documentation uniquement

La classe tls.SecurePair est obsolète. Veuillez utiliser tls.TLSSocket à la place.

DEP0044 : util.isArray()

[Historique]

VersionModifications
v22.0.0Dépréciation d’exécution.
v6.12.0, v4.8.6Un code de dépréciation a été attribué.
v4.0.0, v3.3.1Dépréciation limitée à la documentation.

Type : Exécution

L’API util.isArray() est obsolète. Veuillez utiliser Array.isArray() à la place.

DEP0045 : util.isBoolean()

[Historique]

VersionModifications
v23.0.0Dépréciation de fin de vie.
v22.0.0Dépréciation d’exécution.
v6.12.0, v4.8.6Un code de dépréciation a été attribué.
v4.0.0, v3.3.1Dépréciation limitée à la documentation.

Type : Fin de vie

L’API util.isBoolean() a été supprimée. Veuillez utiliser typeof arg === 'boolean' à la place.

DEP0046 : util.isBuffer()

[Historique]

VersionModifications
v23.0.0Dépréciation de fin de vie.
v22.0.0Dépréciation d’exécution.
v6.12.0, v4.8.6Un code de dépréciation a été attribué.
v4.0.0, v3.3.1Dépréciation limitée à la documentation.

Type : Fin de vie

L’API util.isBuffer() a été supprimée. Veuillez utiliser Buffer.isBuffer() à la place.

DEP0047 : util.isDate()

[Historique]

VersionModifications
v23.0.0Dépréciation en fin de vie.
v22.0.0Dépréciation d'exécution.
v6.12.0, v4.8.6Un code de dépréciation a été attribué.
v4.0.0, v3.3.1Dépréciation de documentation uniquement.

Type : Fin de vie

L'API util.isDate() a été supprimée. Veuillez plutôt utiliser arg instanceof Date.

DEP0048 : util.isError()

[Historique]

VersionModifications
v23.0.0Dépréciation en fin de vie.
v22.0.0Dépréciation d'exécution.
v6.12.0, v4.8.6Un code de dépréciation a été attribué.
v4.0.0, v3.3.1Dépréciation de documentation uniquement.

Type : Fin de vie

L'API util.isError() a été supprimée. Veuillez plutôt utiliser Object.prototype.toString(arg) === '[object Error]' || arg instanceof Error.

DEP0049 : util.isFunction()

[Historique]

VersionModifications
v23.0.0Dépréciation en fin de vie.
v22.0.0Dépréciation d'exécution.
v6.12.0, v4.8.6Un code de dépréciation a été attribué.
v4.0.0, v3.3.1Dépréciation de documentation uniquement.

Type : Fin de vie

L'API util.isFunction() a été supprimée. Veuillez plutôt utiliser typeof arg === 'function'.

DEP0050 : util.isNull()

[Historique]

VersionModifications
v23.0.0Dépréciation en fin de vie.
v22.0.0Dépréciation d'exécution.
v6.12.0, v4.8.6Un code de dépréciation a été attribué.
v4.0.0, v3.3.1Dépréciation de documentation uniquement.

Type : Fin de vie

L'API util.isNull() a été supprimée. Veuillez plutôt utiliser arg === null.

DEP0051 : util.isNullOrUndefined()

[Historique]

VersionModifications
v23.0.0Dépréciation en fin de vie.
v22.0.0Dépréciation d'exécution.
v6.12.0, v4.8.6Un code de dépréciation a été attribué.
v4.0.0, v3.3.1Dépréciation de documentation uniquement.

Type : Fin de vie

L'API util.isNullOrUndefined() a été supprimée. Veuillez plutôt utiliser arg === null || arg === undefined.

DEP0052 : util.isNumber()

[Historique]

VersionModifications
v23.0.0Dépréciation de fin de vie.
v22.0.0Dépréciation à l’exécution.
v6.12.0, v4.8.6Un code de dépréciation a été attribué.
v4.0.0, v3.3.1Dépréciation réservée à la documentation.

Type : Fin de vie

L’API util.isNumber() a été supprimée. Veuillez utiliser typeof arg === 'number' à la place.

DEP0053 : util.isObject()

[Historique]

VersionModifications
v23.0.0Dépréciation de fin de vie.
v22.0.0Dépréciation à l’exécution.
v6.12.0, v4.8.6Un code de dépréciation a été attribué.
v4.0.0, v3.3.1Dépréciation réservée à la documentation.

Type : Fin de vie

L’API util.isObject() a été supprimée. Veuillez utiliser arg && typeof arg === 'object' à la place.

DEP0054 : util.isPrimitive()

[Historique]

VersionModifications
v23.0.0Dépréciation de fin de vie.
v22.0.0Dépréciation à l’exécution.
v6.12.0, v4.8.6Un code de dépréciation a été attribué.
v4.0.0, v3.3.1Dépréciation réservée à la documentation.

Type : Fin de vie

L’API util.isPrimitive() a été supprimée. Veuillez utiliser arg === null || (typeof arg !=='object' && typeof arg !== 'function') à la place.

DEP0055 : util.isRegExp()

[Historique]

VersionModifications
v23.0.0Dépréciation de fin de vie.
v22.0.0Dépréciation à l’exécution.
v6.12.0, v4.8.6Un code de dépréciation a été attribué.
v4.0.0, v3.3.1Dépréciation réservée à la documentation.

Type : Fin de vie

L’API util.isRegExp() a été supprimée. Veuillez utiliser arg instanceof RegExp à la place.

DEP0056 : util.isString()

[Historique]

VersionModifications
v23.0.0Dépréciation de fin de vie.
v22.0.0Dépréciation à l’exécution.
v6.12.0, v4.8.6Un code de dépréciation a été attribué.
v4.0.0, v3.3.1Dépréciation réservée à la documentation.

Type : Fin de vie

L’API util.isString() a été supprimée. Veuillez utiliser typeof arg === 'string' à la place.

DEP0057 : util.isSymbol()

[Historique]

VersionModifications
v23.0.0Dépréciation de fin de vie.
v22.0.0Dépréciation d’exécution.
v6.12.0, v4.8.6Un code de dépréciation a été attribué.
v4.0.0, v3.3.1Dépréciation uniquement dans la documentation.

Type : Fin de vie

L’API util.isSymbol() a été supprimée. Veuillez utiliser typeof arg === 'symbol' à la place.

DEP0058 : util.isUndefined()

[Historique]

VersionModifications
v23.0.0Dépréciation de fin de vie.
v22.0.0Dépréciation d’exécution.
v6.12.0, v4.8.6Un code de dépréciation a été attribué.
v4.0.0, v3.3.1Dépréciation uniquement dans la documentation.

Type : Fin de vie

L’API util.isUndefined() a été supprimée. Veuillez utiliser arg === undefined à la place.

DEP0059 : util.log()

[Historique]

VersionModifications
v23.0.0Dépréciation de fin de vie.
v22.0.0Dépréciation d’exécution.
v6.12.0Un code de dépréciation a été attribué.
v6.0.0Dépréciation uniquement dans la documentation.

Type : Fin de vie

L’API util.log() a été supprimée, car il s’agit d’une API héritée non maintenue qui a été exposée par accident au domaine utilisateur. Au lieu de cela, considérez les alternatives suivantes en fonction de vos besoins spécifiques :

  • Bibliothèques de journalisation tierces
  • Utiliser console.log(new Date().toLocaleString(), message)

En adoptant l’une de ces alternatives, vous pouvez abandonner util.log() et choisir une stratégie de journalisation qui correspond aux exigences et à la complexité spécifiques de votre application.

DEP0060 : util._extend()

[Historique]

VersionModifications
v22.0.0Dépréciation d’exécution.
v6.12.0Un code de dépréciation a été attribué.
v6.0.0Dépréciation uniquement dans la documentation.

Type : Exécution

L’API util._extend() est dépréciée, car il s’agit d’une API héritée non maintenue qui a été exposée par accident au domaine utilisateur. Veuillez utiliser target = Object.assign(target, source) à la place.

DEP0061 : fs.SyncWriteStream

[Historique]

VersionModifications
v11.0.0Fin de vie.
v8.0.0Obsolescence d’exécution.
v7.0.0Obsolescence de la documentation uniquement.

Type : Fin de vie

La classe fs.SyncWriteStream n’a jamais été conçue comme une API accessible au public et a été supprimée. Aucune API alternative n’est disponible. Veuillez utiliser une alternative en espace utilisateur.

DEP0062 : node --debug

[Historique]

VersionModifications
v12.0.0Fin de vie.
v8.0.0Obsolescence d’exécution.

Type : Fin de vie

--debug active l’interface de débogueur V8 héritée, qui a été supprimée à partir de V8 5.8. Elle est remplacée par l’inspecteur qui est activé avec --inspect à la place.

DEP0063 : ServerResponse.prototype.writeHeader()

[Historique]

VersionModifications
v8.0.0Obsolescence de la documentation uniquement.

Type : Documentation uniquement

L’API ServerResponse.prototype.writeHeader() du module node:http est obsolète. Veuillez utiliser ServerResponse.prototype.writeHead() à la place.

La méthode ServerResponse.prototype.writeHeader() n’a jamais été documentée comme une API officiellement prise en charge.

DEP0064 : tls.createSecurePair()

[Historique]

VersionModifications
v8.0.0Obsolescence d’exécution.
v6.12.0Un code d’obsolescence a été attribué.
v6.0.0Obsolescence de la documentation uniquement.
v0.11.15Obsolescence révoquée.
v0.11.3Obsolescence d’exécution.

Type : Exécution

L’API tls.createSecurePair() a été déclarée obsolète dans la documentation dans Node.js 0.11.3. Les utilisateurs doivent utiliser tls.Socket à la place.

DEP0065 : repl.REPL_MODE_MAGIC et NODE_REPL_MODE=magic

[Historique]

VersionModifications
v10.0.0Fin de vie.
v8.0.0Obsolescence de la documentation uniquement.

Type : Fin de vie

La constante REPL_MODE_MAGIC du module node:repl, utilisée pour l’option replMode, a été supprimée. Son comportement est fonctionnellement identique à celui de REPL_MODE_SLOPPY depuis Node.js 6.0.0, lorsque V8 5.0 a été importé. Veuillez utiliser REPL_MODE_SLOPPY à la place.

La variable d’environnement NODE_REPL_MODE est utilisée pour définir le replMode sous-jacent d’une session node interactive. Sa valeur, magic, est également supprimée. Veuillez utiliser sloppy à la place.

DEP0066 : OutgoingMessage.prototype._headers, OutgoingMessage.prototype._headerNames

[Historique]

VersionModifications
v12.0.0Dépréciation d’exécution.
v8.0.0Dépréciation de documentation seulement.

Type : Exécution

Les propriétés OutgoingMessage.prototype._headers et OutgoingMessage.prototype._headerNames du module node:http sont obsolètes. Utilisez l’une des méthodes publiques (par exemple, OutgoingMessage.prototype.getHeader(), OutgoingMessage.prototype.getHeaders(), OutgoingMessage.prototype.getHeaderNames(), OutgoingMessage.prototype.getRawHeaderNames(), OutgoingMessage.prototype.hasHeader(), OutgoingMessage.prototype.removeHeader(), OutgoingMessage.prototype.setHeader()) pour travailler avec les en-têtes sortants.

Les propriétés OutgoingMessage.prototype._headers et OutgoingMessage.prototype._headerNames n’ont jamais été documentées comme des propriétés officiellement prises en charge.

DEP0067 : OutgoingMessage.prototype._renderHeaders

[Historique]

VersionModifications
v8.0.0Dépréciation de documentation seulement.

Type : Documentation seulement

L’API OutgoingMessage.prototype._renderHeaders() du module node:http est obsolète.

La propriété OutgoingMessage.prototype._renderHeaders n’a jamais été documentée comme une API officiellement prise en charge.

DEP0068 : node debug

[Historique]

VersionModifications
v15.0.0L’ancienne commande node debug a été supprimée.
v8.0.0Dépréciation d’exécution.

Type : Fin de vie

node debug correspond à l’ancien débogueur CLI qui a été remplacé par un débogueur CLI basé sur V8-inspector disponible via node inspect.

DEP0069 : vm.runInDebugContext(string)

[Historique]

VersionModifications
v10.0.0Fin de vie.
v9.0.0Dépréciation d’exécution.
v8.0.0Dépréciation de documentation seulement.

Type : Fin de vie

DebugContext a été supprimé dans V8 et n’est pas disponible dans Node.js 10+.

DebugContext était une API expérimentale.

DEP0070 : async_hooks.currentId()

[Historique]

VersionModifications
v9.0.0Fin de vie.
v8.2.0Dépréciation d’exécution.

Type : Fin de vie

async_hooks.currentId() a été renommé async_hooks.executionAsyncId() pour plus de clarté.

Cette modification a été effectuée alors que async_hooks était une API expérimentale.

DEP0071: async_hooks.triggerId()

[Historique]

VersionModifications
v9.0.0Fin de vie.
v8.2.0Dépréciation d'exécution.

Type : Fin de vie

async_hooks.triggerId() a été renommé async_hooks.triggerAsyncId() pour plus de clarté.

Cette modification a été apportée alors que async_hooks était une API expérimentale.

DEP0072: async_hooks.AsyncResource.triggerId()

[Historique]

VersionModifications
v9.0.0Fin de vie.
v8.2.0Dépréciation d'exécution.

Type : Fin de vie

async_hooks.AsyncResource.triggerId() a été renommé async_hooks.AsyncResource.triggerAsyncId() pour plus de clarté.

Cette modification a été apportée alors que async_hooks était une API expérimentale.

DEP0073: Plusieurs propriétés internes de net.Server

[Historique]

VersionModifications
v10.0.0Fin de vie.
v9.0.0Dépréciation d'exécution.

Type : Fin de vie

L'accès à plusieurs propriétés internes et non documentées des instances net.Server avec des noms inappropriés est déconseillé.

Comme l'API d'origine n'était pas documentée et n'était généralement pas utile pour le code non interne, aucune API de remplacement n'est fournie.

DEP0074: REPLServer.bufferedCommand

[Historique]

VersionModifications
v15.0.0Fin de vie.
v9.0.0Dépréciation d'exécution.

Type : Fin de vie

La propriété REPLServer.bufferedCommand a été dépréciée en faveur de REPLServer.clearBufferedCommand().

DEP0075: REPLServer.parseREPLKeyword()

[Historique]

VersionModifications
v15.0.0Fin de vie.
v9.0.0Dépréciation d'exécution.

Type : Fin de vie

REPLServer.parseREPLKeyword() a été retiré de la visibilité de l'espace utilisateur.

DEP0076: tls.parseCertString()

[Historique]

VersionModifications
v18.0.0Fin de vie.
v9.0.0Dépréciation d'exécution.
v8.6.0Dépréciation uniquement dans la documentation.

Type : Fin de vie

tls.parseCertString() était un assistant d'analyse trivial qui a été rendu public par erreur. Bien qu'il était censé analyser les chaînes de sujet et d'émetteur de certificat, il n'a jamais géré correctement les noms distinctifs relatifs à plusieurs valeurs.

Les versions antérieures de ce document suggéraient d'utiliser querystring.parse() comme alternative à tls.parseCertString(). Cependant, querystring.parse() ne gère pas non plus correctement tous les sujets de certificat et ne doit pas être utilisé.

DEP0077: Module._debug()

[Historique]

VersionModifications
v9.0.0Dépréciation d'exécution.

Type : Exécution

Module._debug() est déprécié.

La fonction Module._debug() n'a jamais été documentée comme une API officiellement prise en charge.

DEP0078: REPLServer.turnOffEditorMode()

[Historique]

VersionModifications
v15.0.0Fin de vie.
v9.0.0Dépréciation d'exécution.

Type : Fin de vie

REPLServer.turnOffEditorMode() a été supprimé de la visibilité du userland.

DEP0079: Fonction d'inspection personnalisée sur les objets via .inspect()

[Historique]

VersionModifications
v11.0.0Fin de vie.
v10.0.0Dépréciation d'exécution.
v8.7.0Dépréciation de la documentation uniquement.

Type : Fin de vie

L'utilisation d'une propriété nommée inspect sur un objet pour spécifier une fonction d'inspection personnalisée pour util.inspect() est dépréciée. Utilisez plutôt util.inspect.custom. Pour une compatibilité descendante avec Node.js antérieure à la version 6.4.0, les deux peuvent être spécifiés.

DEP0080: path._makeLong()

[Historique]

VersionModifications
v9.0.0Dépréciation de la documentation uniquement.

Type : Documentation uniquement

Le path._makeLong() interne n'était pas destiné à un usage public. Cependant, les modules userland l'ont trouvé utile. L'API interne est dépréciée et remplacée par une méthode path.toNamespacedPath() publique identique.

DEP0081: fs.truncate() utilisant un descripteur de fichier

[Historique]

VersionModifications
v9.0.0Dépréciation d'exécution.

Type : Exécution

L'utilisation de fs.truncate() fs.truncateSync() avec un descripteur de fichier est dépréciée. Veuillez utiliser fs.ftruncate() ou fs.ftruncateSync() pour travailler avec des descripteurs de fichier.

DEP0082: REPLServer.prototype.memory()

[Historique]

VersionModifications
v15.0.0Fin de vie.
v9.0.0Dépréciation d'exécution.

Type : Fin de vie

REPLServer.prototype.memory() n'est nécessaire que pour les mécanismes internes du REPLServer lui-même. N'utilisez pas cette fonction.

DEP0083: Désactivation de ECDH en définissant ecdhCurve sur false

[Historique]

VersionModifications
v10.0.0Fin de vie.
v9.2.0Dépréciation lors de l'exécution.

Type: Fin de vie.

L'option ecdhCurve pour tls.createSecureContext() et tls.TLSSocket pouvait être définie sur false pour désactiver complètement ECDH sur le serveur uniquement. Ce mode a été déprécié en préparation de la migration vers OpenSSL 1.1.0 et pour assurer la cohérence avec le client, et il n'est plus pris en charge. Utilisez plutôt le paramètre ciphers.

DEP0084: Exiger les dépendances internes groupées

[Historique]

VersionModifications
v12.0.0Cette fonctionnalité a été supprimée.
v10.0.0Dépréciation lors de l'exécution.

Type: Fin de vie

Depuis les versions 4.4.0 et 5.2.0 de Node.js, plusieurs modules destinés uniquement à un usage interne ont été exposés par erreur au code utilisateur via require(). Ces modules étaient :

  • 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 (à partir de la version 7.6.0)
  • node-inspect/lib/internal/inspect_client (à partir de la version 7.6.0)
  • node-inspect/lib/internal/inspect_repl (à partir de la version 7.6.0)

Les modules v8/* n'ont pas d'exports et, s'ils ne sont pas importés dans un ordre spécifique, ils lèvent en fait des erreurs. En tant que tels, il n'existe pratiquement aucun cas d'utilisation légitime pour les importer via require().

D'autre part, node-inspect peut être installé localement via un gestionnaire de packages, car il est publié sur le registre npm sous le même nom. Aucune modification du code source n'est nécessaire si cela est fait.

DEP0085: API sensible AsyncHooks

[Historique]

VersionModifications
v10.0.0Fin de vie.
v9.4.0, v8.10.0Dépréciation lors de l'exécution.

Type: Fin de vie

L'API sensible AsyncHooks n'a jamais été documentée et présentait divers problèmes mineurs. Utilisez plutôt l'API AsyncResource. Voir https://github.com/nodejs/node/issues/15572.

DEP0086 : Suppression de runInAsyncIdScope

[Historique]

VersionModifications
v10.0.0Fin de vie.
v9.4.0, v8.10.0Dépréciation d’exécution.

Type : Fin de vie

runInAsyncIdScope n’émet pas l’événement 'before' ou 'after' et peut donc causer beaucoup de problèmes. Voir https://github.com/nodejs/node/issues/14328.

DEP0089 : require('node:assert')

[Historique]

VersionModifications
v12.8.0Dépréciation annulée.
v9.9.0, v8.13.0Dépréciation de documentation uniquement.

Type : Dépréciation annulée

L’importation directe d’assert n’était pas recommandée, car les fonctions exposées utilisent des contrôles d’égalité lâches. La dépréciation a été annulée, car l’utilisation du module node:assert n’est pas déconseillée et la dépréciation a semé la confusion chez les développeurs.

DEP0090 : Longueurs de balise d’authentification GCM non valides

[Historique]

VersionModifications
v11.0.0Fin de vie.
v10.0.0Dépréciation d’exécution.

Type : Fin de vie

Node.js prenait en charge toutes les longueurs de balise d’authentification GCM acceptées par OpenSSL lors de l’appel de decipher.setAuthTag(). À partir de Node.js v11.0.0, seules les longueurs de balise d’authentification de 128, 120, 112, 104, 96, 64 et 32 bits sont autorisées. Les balises d’authentification d’autres longueurs ne sont pas valides selon NIST SP 800-38D.

DEP0091 : crypto.DEFAULT_ENCODING

[Historique]

VersionModifications
v20.0.0Fin de vie.
v10.0.0Dépréciation d’exécution.

Type : Fin de vie

La propriété crypto.DEFAULT_ENCODING n’existait que pour assurer la compatibilité avec les versions de Node.js antérieures aux versions 0.9.3 et a été supprimée.

DEP0092 : this de niveau supérieur lié à module.exports

[Historique]

VersionModifications
v10.0.0Dépréciation de documentation uniquement.

Type : Documentation uniquement

L’attribution de propriétés au this de niveau supérieur en tant qu’alternative à module.exports est dépréciée. Les développeurs doivent utiliser exports ou module.exports à la place.

DEP0093 : crypto.fips est obsolète et remplacé

[Historique]

VersionModifications
v23.0.0Dépréciation d’exécution.
v10.0.0Dépréciation de la documentation uniquement.

Type : Exécution

La propriété crypto.fips est obsolète. Veuillez utiliser crypto.setFips() et crypto.getFips() à la place.

DEP0094 : Utilisation de assert.fail() avec plus d’un argument

[Historique]

VersionModifications
v10.0.0Dépréciation d’exécution.

Type : Exécution

L’utilisation de assert.fail() avec plus d’un argument est obsolète. Utilisez assert.fail() avec un seul argument ou utilisez une autre méthode du module node:assert.

DEP0095 : timers.enroll()

[Historique]

VersionModifications
v10.0.0Dépréciation d’exécution.

Type : Exécution

timers.enroll() est obsolète. Veuillez utiliser setTimeout() ou setInterval() documentés publiquement à la place.

DEP0096 : timers.unenroll()

[Historique]

VersionModifications
v10.0.0Dépréciation d’exécution.

Type : Exécution

timers.unenroll() est obsolète. Veuillez utiliser clearTimeout() ou clearInterval() documentés publiquement à la place.

DEP0097 : MakeCallback avec la propriété domain

[Historique]

VersionModifications
v10.0.0Dépréciation d’exécution.

Type : Exécution

Les utilisateurs de MakeCallback qui ajoutent la propriété domain pour transporter le contexte doivent commencer à utiliser la variante async_context de MakeCallback ou CallbackScope, ou la classe de haut niveau AsyncResource.

DEP0098 : API AsyncHooks embarquée AsyncResource.emitBefore et AsyncResource.emitAfter

[Historique]

VersionModifications
v12.0.0Fin de vie.
v10.0.0, v9.6.0, v8.12.0Dépréciation d’exécution.

Type : Fin de vie

L’API intégrée fournie par AsyncHooks expose les méthodes .emitBefore() et .emitAfter() qui sont très faciles à utiliser de manière incorrecte, ce qui peut entraîner des erreurs irrécupérables.

Utilisez plutôt l’API asyncResource.runInAsyncScope() qui offre une alternative beaucoup plus sûre et plus pratique. Voir https://github.com/nodejs/node/pull/18513.

DEP0099 : API C++ node::MakeCallback asynchrones non conscientes du contexte

[Historique]

VersionModifications
v10.0.0Obsolescence au moment de la compilation.

Type : Au moment de la compilation

Certaines versions des API node::MakeCallback disponibles pour les addons natifs sont obsolètes. Veuillez utiliser les versions de l’API qui acceptent un paramètre async_context.

DEP0100 : process.assert()

[Historique]

VersionModifications
v23.0.0Fin de vie.
v10.0.0Obsolescence lors de l’exécution.
v0.3.7Obsolescence de la documentation uniquement.

Type : Fin de vie

process.assert() est obsolète. Veuillez utiliser le module assert à la place.

Cela n’a jamais été une fonctionnalité documentée.

DEP0101 : --with-lttng

[Historique]

VersionModifications
v10.0.0Fin de vie.

Type : Fin de vie

L’option de compilation --with-lttng a été supprimée.

DEP0102 : Utilisation de noAssert dans les opérations Buffer#(read|write)

[Historique]

VersionModifications
v10.0.0Fin de vie.

Type : Fin de vie

L’utilisation de l’argument noAssert n’a plus aucune fonctionnalité. Toutes les entrées sont vérifiées quelle que soit la valeur de noAssert. Le fait d’ignorer la vérification pourrait entraîner des erreurs et des plantages difficiles à trouver.

DEP0103 : Les vérifications de type process.binding('util').is[...]

[Historique]

VersionModifications
v10.9.0Remplacé par DEP0111.
v10.0.0Obsolescence de la documentation uniquement.

Type : Documentation uniquement (prend en charge --pending-deprecation)

L’utilisation de process.binding() en général doit être évitée. Les méthodes de vérification de type en particulier peuvent être remplacées en utilisant util.types.

Cette obsolescence a été remplacée par l’obsolescence de l’API process.binding() (DEP0111).

DEP0104 : Coercition de chaîne process.env

[Historique]

VersionModifications
v10.0.0Obsolescence de la documentation uniquement.

Type : Documentation uniquement (prend en charge --pending-deprecation)

Lors de l’attribution d’une propriété non-chaîne à process.env, la valeur attribuée est implicitement convertie en chaîne. Ce comportement est obsolète si la valeur attribuée n’est pas une chaîne, un booléen ou un nombre. À l’avenir, une telle attribution pourrait entraîner une erreur. Veuillez convertir la propriété en chaîne avant de l’attribuer à process.env.

DEP0105: decipher.finaltol

[Historique]

VersionModifications
v11.0.0Fin de vie.
v10.0.0Dépréciation lors de l'exécution.

Type: Fin de vie

decipher.finaltol() n'a jamais été documenté et était un alias pour decipher.final(). Cette API a été supprimée, et il est recommandé d'utiliser decipher.final() à la place.

DEP0106: crypto.createCipher et crypto.createDecipher

[Historique]

VersionModifications
v22.0.0Fin de vie.
v11.0.0Dépréciation lors de l'exécution.
v10.0.0Dépréciation uniquement dans la documentation.

Type: Fin de vie

crypto.createCipher() et crypto.createDecipher() ont été supprimés car ils utilisent une fonction de dérivation de clé faible (MD5 sans sel) et des vecteurs d'initialisation statiques. Il est recommandé de dériver une clé en utilisant crypto.pbkdf2() ou crypto.scrypt() avec des sels aléatoires et d'utiliser crypto.createCipheriv() et crypto.createDecipheriv() pour obtenir les objets Cipher et Decipher respectivement.

DEP0107: tls.convertNPNProtocols()

[Historique]

VersionModifications
v11.0.0Fin de vie.
v10.0.0Dépréciation lors de l'exécution.

Type: Fin de vie

Il s'agissait d'une fonction d'assistance non documentée, non destinée à être utilisée en dehors du cœur de Node.js et rendue obsolète par la suppression de la prise en charge de NPN (Next Protocol Negotiation).

DEP0108: zlib.bytesRead

[Historique]

VersionModifications
v23.0.0Fin de vie.
v11.0.0Dépréciation lors de l'exécution.
v10.0.0Dépréciation uniquement dans la documentation.

Type: Fin de vie

Alias obsolète pour zlib.bytesWritten. Le nom original a été choisi car il était également logique d'interpréter la valeur comme le nombre d'octets lus par le moteur, mais il est incohérent avec les autres flux de Node.js qui exposent des valeurs sous ces noms.

DEP0109 : Prise en charge de http, https et tls pour les URLs invalides

[Historique]

VersionModifications
v16.0.0Fin de vie.
v11.0.0Dépréciation au moment de l'exécution.

Type : Fin de vie

Certaines URLs précédemment prises en charge (mais strictement invalides) étaient acceptées via les APIs http.request(), http.get(), https.request(), https.get() et tls.checkServerIdentity() parce qu'elles étaient acceptées par l'ancienne API url.parse(). Les APIs mentionnées utilisent désormais l'analyseur d'URL WHATWG qui exige des URLs strictement valides. Le passage d'une URL invalide est obsolète et la prise en charge sera supprimée à l'avenir.

DEP0110 : Données mises en cache vm.Script

[Historique]

VersionModifications
v10.6.0Dépréciation limitée à la documentation.

Type : Dépréciation limitée à la documentation

L'option produceCachedData est obsolète. Utilisez script.createCachedData() à la place.

DEP0111 : process.binding()

[Historique]

VersionModifications
v11.12.0Ajout de la prise en charge de --pending-deprecation.
v10.9.0Dépréciation limitée à la documentation.

Type : Dépréciation limitée à la documentation (prend en charge --pending-deprecation)

process.binding() est destiné à être utilisé uniquement par le code interne de Node.js.

Bien que process.binding() n'ait pas atteint le statut de fin de vie en général, il n'est pas disponible lorsque le modèle d'autorisation est activé.

DEP0112 : APIs privées dgram

[Historique]

VersionModifications
v11.0.0Dépréciation au moment de l'exécution.

Type : Exécution

Le module node:dgram contenait auparavant plusieurs APIs qui n'étaient jamais destinées à être accédées en dehors du cœur de Node.js : Socket.prototype._handle, Socket.prototype._receiving, Socket.prototype._bindState, Socket.prototype._queue, Socket.prototype._reuseAddr, Socket.prototype._healthCheck(), Socket.prototype._stopReceiving() et dgram._createSocketHandle().

DEP0113: Cipher.setAuthTag(), Decipher.getAuthTag()

[Historique]

VersionModifications
v12.0.0Fin de vie.
v11.0.0Dépréciation d'exécution.

Type : Fin de vie

Cipher.setAuthTag() et Decipher.getAuthTag() ne sont plus disponibles. Ils n'ont jamais été documentés et déclenchaient une erreur lorsqu'ils étaient appelés.

DEP0114: crypto._toBuf()

[Historique]

VersionModifications
v12.0.0Fin de vie.
v11.0.0Dépréciation d'exécution.

Type : Fin de vie

La fonction crypto._toBuf() n'a pas été conçue pour être utilisée par des modules en dehors du cœur de Node.js et a été supprimée.

DEP0115: crypto.prng(), crypto.pseudoRandomBytes(), crypto.rng()

[Historique]

VersionModifications
v11.0.0Ajout d'une dépréciation limitée à la documentation avec prise en charge de --pending-deprecation.

Type : Limité à la documentation (prend en charge --pending-deprecation)

Dans les versions récentes de Node.js, il n'y a aucune différence entre crypto.randomBytes() et crypto.pseudoRandomBytes(). Cette dernière est dépréciée avec les alias non documentés crypto.prng() et crypto.rng() en faveur de crypto.randomBytes() et pourrait être supprimée dans une future version.

DEP0116: API URL héritée

[Historique]

VersionModifications
v19.0.0, v18.13.0url.parse() est à nouveau dépréciée dans DEP0169.
v15.13.0, v14.17.0Dépréciation révoquée. Statut modifié en "Hérité".
v11.0.0Dépréciation limitée à la documentation.

Type : Dépréciation révoquée

L'API URL héritée est dépréciée. Ceci inclut url.format(), url.parse(), url.resolve(), et l'urlObject héritée. Veuillez utiliser plutôt l'API URL WHATWG.

DEP0117 : Gestionnaires de crypto natifs

[Historique]

VersionModifications
v12.0.0Fin de vie.
v11.0.0Dépréciation d’exécution.

Type : Fin de vie

Les versions précédentes de Node.js exposaient les gestionnaires aux objets natifs internes via la propriété _handle des classes Cipher, Decipher, DiffieHellman, DiffieHellmanGroup, ECDH, Hash, Hmac, Sign et Verify. La propriété _handle a été supprimée car une utilisation incorrecte de l’objet natif peut entraîner le plantage de l’application.

DEP0118 : Prise en charge de dns.lookup() pour un nom d’hôte faux

[Historique]

VersionModifications
v11.0.0Dépréciation d’exécution.

Type : Exécution

Les versions précédentes de Node.js prenaient en charge dns.lookup() avec un nom d’hôte faux comme dns.lookup(false) en raison de la compatibilité ascendante. Ce comportement n’est pas documenté et est considéré comme inutilisé dans les applications du monde réel. Il deviendra une erreur dans les versions futures de Node.js.

DEP0119 : API privée process.binding('uv').errname()

[Historique]

VersionModifications
v11.0.0Dépréciation réservée à la documentation.

Type : Réservée à la documentation (prend en charge --pending-deprecation)

process.binding('uv').errname() est déprécié. Veuillez plutôt utiliser util.getSystemErrorName().

DEP0120 : Prise en charge du compteur de performance Windows

[Historique]

VersionModifications
v12.0.0Fin de vie.
v11.0.0Dépréciation d’exécution.

Type : Fin de vie

La prise en charge du compteur de performance Windows a été supprimée de Node.js. Les fonctions non documentées COUNTER_NET_SERVER_CONNECTION(), COUNTER_NET_SERVER_CONNECTION_CLOSE(), COUNTER_HTTP_SERVER_REQUEST(), COUNTER_HTTP_SERVER_RESPONSE(), COUNTER_HTTP_CLIENT_REQUEST() et COUNTER_HTTP_CLIENT_RESPONSE() ont été dépréciées.

DEP0121 : net._setSimultaneousAccepts()

[Historique]

VersionModifications
v12.0.0Dépréciation d’exécution.

Type : Exécution

La fonction non documentée net._setSimultaneousAccepts() était initialement destinée au débogage et à l’optimisation des performances lors de l’utilisation des modules node:child_process et node:cluster sous Windows. La fonction n’est généralement pas utile et est en cours de suppression. Voir la discussion ici : https://github.com/nodejs/node/issues/18391

DEP0122 : tls Server.prototype.setOptions()

[Historique]

VersionModifications
v12.0.0Dépréciation à l’exécution.

Type : Exécution

Veuillez utiliser Server.prototype.setSecureContext() à la place.

DEP0123 : définition du TLS ServerName sur une adresse IP

[Historique]

VersionModifications
v12.0.0Dépréciation à l’exécution.

Type : Exécution

La définition du TLS ServerName sur une adresse IP n’est pas autorisée par RFC 6066. Ceci sera ignoré dans une version future.

DEP0124 : utilisation de REPLServer.rli

[Historique]

VersionModifications
v15.0.0Fin de vie.
v12.0.0Dépréciation à l’exécution.

Type : Fin de vie

Cette propriété est une référence à l’instance elle-même.

DEP0125 : require('node:_stream_wrap')

[Historique]

VersionModifications
v12.0.0Dépréciation à l’exécution.

Type : Exécution

Le module node:_stream_wrap est obsolète.

DEP0126 : timers.active()

[Historique]

VersionModifications
v11.14.0Dépréciation à l’exécution.

Type : Exécution

La fonction timers.active() précédemment non documentée est obsolète. Veuillez utiliser à la place la fonction timeout.refresh() publiquement documentée. Si le référencement du délai d’attente est nécessaire, timeout.ref() peut être utilisé sans impact sur les performances depuis Node.js 10.

DEP0127 : timers._unrefActive()

[Historique]

VersionModifications
v11.14.0Dépréciation à l’exécution.

Type : Exécution

La fonction timers._unrefActive() précédemment non documentée et « privée » est obsolète. Veuillez utiliser à la place la fonction timeout.refresh() publiquement documentée. Si la suppression de la référence du délai d’attente est nécessaire, timeout.unref() peut être utilisé sans impact sur les performances depuis Node.js 10.

DEP0128 : modules avec une entrée main invalide et un fichier index.js

[Historique]

VersionModifications
v16.0.0Dépréciation à l’exécution.
v12.0.0Documentation uniquement.

Type : Exécution

Les modules qui ont une entrée main invalide (par exemple, ./does-not-exist.js) et qui ont également un fichier index.js dans le répertoire de niveau supérieur résoudront le fichier index.js. Ceci est obsolète et va générer une erreur dans les futures versions de Node.js.

DEP0129 : ChildProcess._channel

[Historique]

VersionModifications
v13.0.0Obsolescence d’exécution.
v11.14.0Documentation uniquement.

Type : Exécution

La propriété _channel des objets de processus enfant renvoyés par spawn() et des fonctions similaires n’est pas destinée à un usage public. Utilisez plutôt ChildProcess.channel.

DEP0130 : Module.createRequireFromPath()

[Historique]

VersionModifications
v16.0.0Fin de vie.
v13.0.0Obsolescence d’exécution.
v12.2.0Documentation uniquement.

Type : Fin de vie

Utilisez plutôt module.createRequire().

DEP0131 : Analyseur HTTP hérité

[Historique]

VersionModifications
v13.0.0Cette fonctionnalité a été supprimée.
v12.22.0Obsolescence d’exécution.
v12.3.0Documentation uniquement.

Type : Fin de vie

L’analyseur HTTP hérité, utilisé par défaut dans les versions de Node.js antérieures à 12.0.0, est obsolète et a été supprimé dans la version v13.0.0. Avant la version v13.0.0, l’indicateur de ligne de commande --http-parser=legacy pouvait être utilisé pour revenir à l’utilisation de l’analyseur hérité.

DEP0132 : worker.terminate() avec rappel

[Historique]

VersionModifications
v12.5.0Obsolescence d’exécution.

Type : Exécution

Il est obsolète de passer un rappel à worker.terminate(). Utilisez plutôt la Promise renvoyée, ou un listener pour l’événement 'exit' du worker.

DEP0133 : http connection

[Historique]

VersionModifications
v12.12.0Obsolescence de la documentation uniquement.

Type : Documentation uniquement

Préférez response.socket à response.connection et request.socket à request.connection.

DEP0134 : process._tickCallback

[Historique]

VersionModifications
v12.12.0Obsolescence de la documentation uniquement.

Type : Documentation uniquement (prend en charge --pending-deprecation)

La propriété process._tickCallback n’a jamais été documentée comme une API officiellement prise en charge.

DEP0135 : WriteStream.open() et ReadStream.open() sont internes

[Historique]

VersionModifications
v13.0.0Dépréciation d'exécution.

Type : Exécution

WriteStream.open() et ReadStream.open() sont des API internes non documentées qu'il n'est pas logique d'utiliser dans l'espace utilisateur. Les flux de fichiers doivent toujours être ouverts via leurs méthodes de fabrique correspondantes fs.createWriteStream() et fs.createReadStream()) ou en transmettant un descripteur de fichier dans les options.

DEP0136 : http finished

[Historique]

VersionModifications
v13.4.0, v12.16.0Dépréciation de la documentation uniquement.

Type : Documentation uniquement

response.finished indique si response.end() a été appelé, et non si 'finish' a été émis et si les données sous-jacentes ont été vidées.

Utilisez plutôt response.writableFinished ou response.writableEnded pour éviter toute ambiguïté.

Pour maintenir le comportement existant, response.finished doit être remplacé par response.writableEnded.

DEP0137 : Fermeture de fs.FileHandle lors du ramassage des ordures

[Historique]

VersionModifications
v14.0.0Dépréciation d'exécution.

Type : Exécution

Autoriser la fermeture d'un objet fs.FileHandle lors du ramassage des ordures est déprécié. À l'avenir, cela pourrait entraîner une erreur qui mettra fin au processus.

Veuillez vous assurer que tous les objets fs.FileHandle sont explicitement fermés à l'aide de FileHandle.prototype.close() lorsque le fs.FileHandle n'est plus nécessaire :

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

[Historique]

VersionModifications
v14.0.0Obsolescence de documentation uniquement.

Type : Documentation uniquement

process.mainModule est une fonctionnalité réservée à CommonJS, tandis que l’objet global process est partagé avec l’environnement non-CommonJS. Son utilisation dans les modules ECMAScript n’est pas prise en charge.

Il est obsolète en faveur de require.main, car il remplit le même objectif et n’est disponible que dans l’environnement CommonJS.

DEP0139 : process.umask() sans argument

[Historique]

VersionModifications
v14.0.0, v12.19.0Obsolescence de documentation uniquement.

Type : Documentation uniquement

L’appel de process.umask() sans argument entraîne l’écriture deux fois du masque umask à l’échelle du processus. Cela introduit une condition de concurrence entre les threads et constitue une vulnérabilité potentielle de sécurité. Il n’existe pas d’API alternative sécurisée et multiplateforme.

DEP0140 : Utiliser request.destroy() au lieu de request.abort()

[Historique]

VersionModifications
v14.1.0, v13.14.0Obsolescence de documentation uniquement.

Type : Documentation uniquement

Utiliser request.destroy() au lieu de request.abort().

DEP0141 : repl.inputStream et repl.outputStream

[Historique]

VersionModifications
v14.3.0Documentation uniquement (prend en charge [--pending-deprecation][]).

Type : Documentation uniquement (prend en charge --pending-deprecation)

Le module node:repl a exporté le flux d’entrée et de sortie deux fois. Utilisez .input au lieu de .inputStream et .output au lieu de .outputStream.

DEP0142 : repl._builtinLibs

[Historique]

VersionModifications
v14.3.0Documentation uniquement (prend en charge [--pending-deprecation][]).

Type : Documentation uniquement

Le module node:repl exporte une propriété _builtinLibs qui contient un tableau de modules intégrés. Elle était incomplète jusqu’à présent et il est préférable de s’appuyer sur require('node:module').builtinModules.

DEP0143: Transform._transformState

[Historique]

VersionModifications
v14.5.0Dépréciation d'exécution.

Type : Exécution Transform._transformState sera supprimé dans les versions futures où il ne sera plus nécessaire en raison de la simplification de l’implémentation.

DEP0144: module.parent

[Historique]

VersionModifications
v14.6.0, v12.19.0Dépréciation de la documentation uniquement.

Type : Documentation uniquement (prend en charge --pending-deprecation)

Un module CommonJS peut accéder au premier module qui l’a requis en utilisant module.parent. Cette fonctionnalité est obsolète, car elle ne fonctionne pas de manière cohérente en présence de modules ECMAScript et parce qu’elle donne une représentation inexacte du graphe de module CommonJS.

Certains modules l’utilisent pour vérifier s’ils sont le point d’entrée du processus actuel. Au lieu de cela, il est recommandé de comparer require.main et module:

js
if (require.main === module) {
  // Section de code qui ne s'exécutera que si le fichier courant est le point d'entrée.
}

Lors de la recherche des modules CommonJS qui ont requis le module courant, require.cache et module.children peuvent être utilisés :

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

DEP0145: socket.bufferSize

[Historique]

VersionModifications
v14.6.0Dépréciation de la documentation uniquement.

Type : Documentation uniquement

socket.bufferSize est juste un alias pour writable.writableLength.

DEP0146: new crypto.Certificate()

[Historique]

VersionModifications
v14.9.0Dépréciation de la documentation uniquement.

Type : Documentation uniquement

Le crypto.Certificate() constructeur est déprécié. Utilisez plutôt les méthodes statiques de crypto.Certificate().

DEP0147: fs.rmdir(path, { recursive: true }) {#dep0147-fsrmdirpath-{-recursive-true-}}

[Historique]

VersionModifications
v16.0.0Dépréciation d'exécution.
v15.0.0Dépréciation d'exécution pour un comportement permissif.
v14.14.0Dépréciation de la documentation uniquement.

Type : Exécution

Dans les futures versions de Node.js, l’option recursive sera ignorée pour fs.rmdir, fs.rmdirSync et fs.promises.rmdir.

Utilisez plutôt fs.rm(path, { recursive: true, force: true }), fs.rmSync(path, { recursive: true, force: true }) ou fs.promises.rm(path, { recursive: true, force: true }).

DEP0148 : Mappages de dossiers dans "exports" (barre oblique "/" de fin)

[Historique]

VersionModifications
v17.0.0Fin de vie.
v16.0.0Dépréciation d’exécution.
v15.1.0Dépréciation d’exécution pour les importations auto-référentielles.
v14.13.0Dépréciation uniquement dans la documentation.

Type : Exécution

L’utilisation d’une barre oblique "/" de fin pour définir des mappages de dossiers de sous-chemin dans les champs exports de sous-chemin ou importations de sous-chemin est obsolète. Utilisez plutôt les modèles de sous-chemin.

DEP0149 : http.IncomingMessage#connection

[Historique]

VersionModifications
v16.0.0Dépréciation uniquement dans la documentation.

Type : Uniquement dans la documentation.

Préférez message.socket à message.connection.

DEP0150 : Modification de la valeur de process.config

[Historique]

VersionModifications
v19.0.0Fin de vie.
v16.0.0Dépréciation d’exécution.

Type : Fin de vie

La propriété process.config donne accès aux paramètres de compilation de Node.js. Cependant, la propriété est mutable et donc sujette à des altérations. La possibilité de modifier la valeur sera supprimée dans une future version de Node.js.

DEP0151 : Recherche d’index principal et recherche d’extension

[Historique]

VersionModifications
v16.0.0Dépréciation d’exécution.
v15.8.0, v14.18.0Dépréciation uniquement dans la documentation avec prise en charge de --pending-deprecation.

Type : Exécution

Auparavant, les recherches de index.js et de l’extension s’appliquaient à la résolution du point d’entrée principal import 'pkg', même lors de la résolution des modules ES.

Avec cette dépréciation, toutes les résolutions de point d’entrée principal du module ES nécessitent une entrée "exports" ou "main" explicite avec l’extension de fichier exacte.

DEP0152 : Propriétés Extension PerformanceEntry

[Historique]

VersionModifications
v16.0.0Dépréciation d’exécution.

Type : Exécution

Les types d’objet <PerformanceEntry> 'gc', 'http2' et 'http' ont des propriétés supplémentaires qui leur sont attribuées et qui fournissent des informations supplémentaires. Ces propriétés sont désormais disponibles dans la propriété detail standard de l’objet PerformanceEntry. Les accesseurs existants ont été déclarés obsolètes et ne doivent plus être utilisés.

DEP0153 : conversion de type des options dns.lookup et dnsPromises.lookup

[Historique]

VersionModifications
v18.0.0Fin de vie.
v17.0.0Dépréciation d’exécution.
v16.8.0Dépréciation de la documentation uniquement.

Type : Fin de vie

L’utilisation d’une valeur non null et non entière pour l’option family, d’une valeur non nulle et non numérique pour l’option hints, d’une valeur non nulle et non booléenne pour l’option all ou d’une valeur non nulle et non booléenne pour l’option verbatim dans dns.lookup() et dnsPromises.lookup() lève une erreur ERR_INVALID_ARG_TYPE.

DEP0154 : Options de génération de paires de clés RSA-PSS

[Historique]

VersionModifications
v20.0.0Dépréciation d’exécution.
v16.10.0Dépréciation de la documentation uniquement.

Type : Exécution

Les options 'hash' et 'mgf1Hash' sont remplacées par 'hashAlgorithm' et 'mgf1HashAlgorithm'.

DEP0155 : Barres obliques finales dans les résolutions de spécificateurs de modèle

[Historique]

VersionModifications
v17.0.0Dépréciation d’exécution.
v16.10.0Dépréciation de la documentation uniquement avec la prise en charge de --pending-deprecation.

Type : Exécution

Le remappage des spécificateurs se terminant par "/" comme import 'pkg/x/' est obsolète pour les résolutions de modèle "exports" et "imports" du paquet.

DEP0156 : Propriété .aborted et événement 'abort', 'aborted' dans http

[Historique]

VersionModifications
v17.0.0, v16.12.0Dépréciation de la documentation uniquement.

Type : Documentation uniquement

Passez plutôt à l’API <Stream>, car les http.ClientRequest, http.ServerResponse et http.IncomingMessage sont tous basés sur des flux. Vérifiez stream.destroyed au lieu de la propriété .aborted et écoutez 'close' au lieu de l’événement 'abort', 'aborted'.

La propriété .aborted et l’événement 'abort' ne sont utiles que pour détecter les appels .abort(). Pour fermer une requête plus tôt, utilisez Stream .destroy([error]), puis vérifiez que la propriété .destroyed et l’événement 'close' devraient avoir le même effet. L’extrémité de réception doit également vérifier la valeur readable.readableEnded sur http.IncomingMessage pour savoir s’il s’agissait d’un arrêt ou d’une destruction normale.

DEP0157: Prise en charge des thenables dans les streams

[Historique]

VersionModifications
v18.0.0Fin de vie.
v17.2.0, v16.14.0Dépréciation de documentation uniquement.

Type : Fin de vie

Une fonctionnalité non documentée des flux Node.js était la prise en charge des thenables dans les méthodes d'implémentation. Ceci est maintenant obsolète, utilisez plutôt des rappels et évitez d'utiliser une fonction asynchrone pour les méthodes d'implémentation des flux.

Cette fonctionnalité a amené les utilisateurs à rencontrer des problèmes inattendus lorsque l'utilisateur implémente la fonction dans un style de rappel mais utilise, par exemple, une méthode asynchrone, ce qui provoquerait une erreur car le mélange de la sémantique de promesse et de rappel n'est pas valide.

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

DEP0158: buffer.slice(start, end)

[Historique]

VersionModifications
v17.5.0, v16.15.0Dépréciation de documentation uniquement.

Type : Documentation uniquement

Cette méthode a été dépréciée car elle n'est pas compatible avec Uint8Array.prototype.slice(), qui est une superclasse de Buffer.

Utilisez plutôt buffer.subarray qui fait la même chose.

DEP0159: ERR_INVALID_CALLBACK

[Historique]

VersionModifications
v18.0.0Fin de vie.

Type : Fin de vie

Ce code d'erreur a été supprimé car il ajoutait de la confusion aux erreurs utilisées pour la validation du type de valeur.

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

[Historique]

VersionModifications
v18.0.0Dépréciation d'exécution.
v17.6.0, v16.15.0Dépréciation de documentation uniquement.

Type : Exécution.

Cet événement a été déprécié car il ne fonctionnait pas avec les combinateurs de promesses V8, ce qui diminuait son utilité.

DEP0161: process._getActiveRequests() et process._getActiveHandles()

[Historique]

VersionModifications
v17.6.0, v16.15.0Dépréciation de documentation uniquement.

Type : Documentation uniquement

Les fonctions process._getActiveHandles() et process._getActiveRequests() ne sont pas destinées à un usage public et peuvent être supprimées dans les prochaines versions.

Utilisez process.getActiveResourcesInfo() pour obtenir une liste des types de ressources actives et non les références réelles.

DEP0162 : fs.write(), fs.writeFileSync() conversion forcée en chaîne de caractères

[Historique]

VersionModifications
v19.0.0Fin de vie.
v18.0.0Dépréciation d'exécution.
v17.8.0, v16.15.0Dépréciation de la documentation uniquement.

Type : Fin de vie

La conversion implicite d'objets avec leur propre propriété toString, passés comme deuxième paramètre dans fs.write(), fs.writeFile(), fs.appendFile(), fs.writeFileSync() et fs.appendFileSync() est obsolète. Convertissez-les en chaînes de caractères primitives.

DEP0163 : channel.subscribe(onMessage), channel.unsubscribe(onMessage)

[Historique]

VersionModifications
v18.7.0, v16.17.0Dépréciation de la documentation uniquement.

Type : Documentation uniquement

Ces méthodes ont été déclarées obsolètes car elles peuvent être utilisées d'une manière qui ne maintient pas la référence du canal suffisamment longtemps pour recevoir les événements.

Utilisez diagnostics_channel.subscribe(name, onMessage) ou diagnostics_channel.unsubscribe(name, onMessage) qui font la même chose à la place.

DEP0164 : process.exit(code), process.exitCode conversion forcée en entier

[Historique]

VersionModifications
v20.0.0Fin de vie.
v19.0.0Dépréciation d'exécution.
v18.10.0, v16.18.0Dépréciation de la documentation uniquement de la conversion d'entiers process.exitCode.
v18.7.0, v16.17.0Dépréciation de la documentation uniquement de la conversion d'entiers process.exit(code).

Type : Fin de vie

Les valeurs autres que undefined, null, les nombres entiers et les chaînes d'entiers (par exemple, '1') sont obsolètes en tant que valeur pour le paramètre code dans process.exit() et en tant que valeur à affecter à process.exitCode.

DEP0165 : --trace-atomics-wait

[Historique]

VersionModifications
v23.0.0Fin de vie.
v22.0.0Dépréciation à l’exécution.
v18.8.0, v16.18.0Dépréciation limitée à la documentation.

Type : Fin de vie

L’indicateur --trace-atomics-wait a été supprimé car il utilise le hook V8 SetAtomicsWaitCallback, qui sera supprimé dans une future version de V8.

DEP0166 : Doubles barres obliques dans les cibles d’imports et d’exports

[Historique]

VersionModifications
v19.0.0Dépréciation à l’exécution.
v18.10.0Dépréciation limitée à la documentation avec la prise en charge de --pending-deprecation.

Type : Exécution

Les cibles d’importation et d’exportation de paquets mappant vers des chemins incluant une double barre oblique (de "/" ou "") sont dépréciées et échoueront avec une erreur de validation de résolution dans une future version. Cette même dépréciation s’applique également aux correspondances de modèles commençant ou se terminant par une barre oblique.

DEP0167 : Instances DiffieHellmanGroup faibles (modp1, modp2, modp5)

[Historique]

VersionModifications
v18.10.0, v16.18.0Dépréciation limitée à la documentation.

Type : Documentation uniquement

Les groupes MODP bien connus modp1, modp2 et modp5 sont dépréciés car ils ne sont pas sécurisés contre les attaques pratiques. Voir RFC 8247 Section 2.4 pour plus de détails.

Ces groupes pourraient être supprimés dans les futures versions de Node.js. Les applications qui s’appuient sur ces groupes devraient évaluer l’utilisation de groupes MODP plus forts à la place.

DEP0168 : Exception non gérée dans les rappels de Node-API

[Historique]

VersionModifications
v18.3.0, v16.17.0Dépréciation à l’exécution.

Type : Exécution

La suppression implicite des exceptions non interceptées dans les rappels de Node-API est maintenant dépréciée.

Définissez l’indicateur --force-node-api-uncaught-exceptions-policy pour forcer Node.js à émettre un événement 'uncaughtException' si l’exception n’est pas gérée dans les rappels de Node-API.

DEP0169: url.parse() non sécurisé

[Historique]

VersionModifications
v19.9.0, v18.17.0Ajout du support pour --pending-deprecation.
v19.0.0, v18.13.0Dépréciation uniquement dans la documentation.

Type : Documentation uniquement (prend en charge --pending-deprecation)

Le comportement de url.parse() n’est pas standardisé et est sujet à des erreurs qui ont des implications en matière de sécurité. Utilisez plutôt l’API URL WHATWG. Les CVE ne sont pas émises pour les vulnérabilités de url.parse().

DEP0170 : Port non valide lors de l’utilisation de url.parse()

[Historique]

VersionModifications
v20.0.0Dépréciation lors de l’exécution.
v19.2.0, v18.13.0Dépréciation uniquement dans la documentation.

Type : Exécution

url.parse() accepte les URL avec des ports qui ne sont pas des nombres. Ce comportement peut entraîner une usurpation de nom d’hôte avec une entrée inattendue. Ces URL généreront une erreur dans les futures versions de Node.js, comme le fait déjà l’API URL WHATWG.

DEP0171 : Accesseurs (setters) pour les en-têtes et les suites d’en-têtes de http.IncomingMessage

[Historique]

VersionModifications
v19.3.0, v18.13.0Dépréciation uniquement dans la documentation.

Type : Documentation uniquement

Dans une future version de Node.js, message.headers, message.headersDistinct, message.trailers et message.trailersDistinct seront en lecture seule.

DEP0172 : La propriété asyncResource des fonctions liées à AsyncResource

[Historique]

VersionModifications
v20.0.0Dépréciation lors de l’exécution.

Type : Exécution

Dans une future version de Node.js, la propriété asyncResource ne sera plus ajoutée lorsqu’une fonction est liée à un AsyncResource.

DEP0173 : La classe assert.CallTracker

[Historique]

VersionModifications
v20.1.0Dépréciation uniquement dans la documentation.

Type : Documentation uniquement

Dans une future version de Node.js, assert.CallTracker sera supprimée. Pensez à utiliser des alternatives telles que la fonction d’assistance mock.

DEP0174 : appel de promisify sur une fonction qui renvoie une Promise

[Historique]

VersionModifications
v21.0.0Obsolescence d’exécution.
v20.8.0Obsolescence de la documentation uniquement.

Type : Exécution

Appel de util.promisify sur une fonction qui renvoie une

DEP0175 : util.toUSVString

[Historique]

VersionModifications
v20.8.0Obsolescence de la documentation uniquement.

Type : Documentation uniquement

L’API util.toUSVString() est obsolète. Veuillez utiliser String.prototype.toWellFormed à la place.

DEP0176 : fs.F_OK, fs.R_OK, fs.W_OK, fs.X_OK

[Historique]

VersionModifications
v20.8.0Obsolescence de la documentation uniquement.

Type : Documentation uniquement

Les getters F_OK, R_OK, W_OK et X_OK exposés directement sur node:fs sont obsolètes. Obtenez-les à partir de fs.constants ou fs.promises.constants à la place.

DEP0177 : util.types.isWebAssemblyCompiledModule

[Historique]

VersionModifications
v21.7.0, v20.12.0Fin de vie.
v21.3.0, v20.11.0Un code d’obsolescence a été attribué.
v14.0.0Obsolescence de la documentation uniquement.

Type : Fin de vie

L’API util.types.isWebAssemblyCompiledModule a été supprimée. Veuillez utiliser value instanceof WebAssembly.Module à la place.

DEP0178 : dirent.path

[Historique]

VersionModifications
v23.0.0Obsolescence d’exécution.
v21.5.0, v20.12.0, v18.20.0Obsolescence de la documentation uniquement.

Type : Exécution

dirent.path est obsolète en raison de son manque d’uniformité entre les différentes lignes de publication. Veuillez utiliser dirent.parentPath à la place.

DEP0179 : Constructeur Hash

[Historique]

VersionModifications
v22.0.0Obsolescence d’exécution.
v21.5.0, v20.12.0Obsolescence de la documentation uniquement.

Type : Exécution

L’appel direct de la classe Hash avec Hash() ou new Hash() est obsolète car il s’agit d’éléments internes, non destinés à un usage public. Veuillez utiliser la méthode crypto.createHash() pour créer des instances Hash.

DEP0180 : Constructeur fs.Stats

[Historique]

VersionModifications
v22.0.0Dépréciation à l’exécution.
v20.13.0Dépréciation uniquement dans la documentation.

Type : Exécution

L’appel direct de la classe fs.Stats avec Stats() ou new Stats() est déprécié car il s’agit d’éléments internes qui ne sont pas destinés à un usage public.

DEP0181 : Constructeur Hmac

[Historique]

VersionModifications
v22.0.0Dépréciation à l’exécution.
v20.13.0Dépréciation uniquement dans la documentation.

Type : Exécution

L’appel direct de la classe Hmac avec Hmac() ou new Hmac() est déprécié car il s’agit d’éléments internes qui ne sont pas destinés à un usage public. Veuillez utiliser la méthode crypto.createHmac() pour créer des instances Hmac.

DEP0182 : Balises d’authentification GCM courtes sans authTagLength explicite

[Historique]

VersionModifications
v23.0.0Dépréciation à l’exécution.
v20.13.0Dépréciation uniquement dans la documentation.

Type : Exécution

Les applications qui souhaitent utiliser des balises d’authentification plus courtes que la longueur par défaut de la balise d’authentification doivent définir l’option authTagLength de la fonction crypto.createDecipheriv() sur la longueur appropriée.

Pour les chiffrements en mode GCM, la fonction decipher.setAuthTag() accepte les balises d’authentification de toute longueur valide (voir DEP0090). Ce comportement est déprécié afin de mieux s’aligner sur les recommandations de la norme NIST SP 800-38D.

DEP0183 : API basées sur le moteur OpenSSL

[Historique]

VersionModifications
v22.4.0, v20.16.0Dépréciation uniquement dans la documentation.

Type : Uniquement documentation

OpenSSL 3 a déprécié la prise en charge des moteurs personnalisés et recommande de passer à son nouveau modèle de fournisseur. L’option clientCertEngine pour https.request(), tls.createSecureContext() et tls.createServer() ; les privateKeyEngine et privateKeyIdentifier pour tls.createSecureContext() ; et crypto.setEngine() dépendent toutes de cette fonctionnalité d’OpenSSL.

DEP0184 : Instanciation des classes node:zlib sans new

[Historique]

VersionModifications
v22.9.0, v20.18.0Dépréciation de la documentation uniquement.

Type : Documentation uniquement

L'instanciation de classes sans le qualificateur new exporté par le module node:zlib est obsolète. Il est recommandé d'utiliser le qualificateur new à la place. Ceci s'applique à toutes les classes Zlib, telles que Deflate, DeflateRaw, Gunzip, Inflate, InflateRaw, Unzip et Zlib.

DEP0185 : Instanciation des classes node:repl sans new

[Historique]

VersionModifications
v22.9.0, v20.18.0Dépréciation de la documentation uniquement.

Type : Documentation uniquement

L'instanciation de classes sans le qualificateur new exporté par le module node:repl est obsolète. Il est recommandé d'utiliser le qualificateur new à la place. Ceci s'applique à toutes les classes REPL, y compris REPLServer et Recoverable.

DEP0187 : Transmission de types d'arguments non valides à fs.existsSync

[Historique]

VersionModifications
v23.4.0Documentation uniquement.

Type : Documentation uniquement

La transmission de types d'arguments non pris en charge est obsolète et, au lieu de renvoyer false, lèvera une erreur dans une version future.

DEP0188 : process.features.ipv6 et process.features.uv

[Historique]

VersionModifications
v23.4.0Dépréciation de la documentation uniquement.

Type : Documentation uniquement

Ces propriétés sont inconditionnellement true. Toutes les vérifications basées sur ces propriétés sont redondantes.

DEP0189 : process.features.tls_*

[Historique]

VersionModifications
v23.4.0Dépréciation de la documentation uniquement.

Type : Documentation uniquement

process.features.tls_alpn, process.features.tls_ocsp et process.features.tls_sni sont obsolètes, car leurs valeurs sont garanties identiques à celles de process.features.tls.