From 47e5f161d7a5d49067f9bfbd86f3cc0328152269 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20Nie=C3=9Fen?= Date: Sat, 8 Sep 2018 11:44:11 +0200 Subject: [PATCH] doc: add full deprecation history I tried to manually reconstruct the history of deprecations and to track them down to their origins. Having these documented publicly makes it much easier to find out when deprecations were introduced or changed. PR-URL: https://github.com/nodejs/node/pull/22766 Reviewed-By: Gus Caplan Reviewed-By: Colin Ihrig Reviewed-By: Vse Mozhet Byt Reviewed-By: Ruben Bridgewater Reviewed-By: James M Snell --- doc/api/deprecations.md | 1068 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 1068 insertions(+) diff --git a/doc/api/deprecations.md b/doc/api/deprecations.md index 2c30cd9619596a..3e880a0cc68218 100644 --- a/doc/api/deprecations.md +++ b/doc/api/deprecations.md @@ -40,6 +40,17 @@ However, the deprecation identifier will not be modified. ### DEP0001: http.OutgoingMessage.prototype.flush + Type: Runtime @@ -48,6 +59,18 @@ The `OutgoingMessage.prototype.flush()` method is deprecated. Use ### DEP0002: require('\_linklist') + Type: End-of-Life @@ -55,6 +78,17 @@ The `_linklist` module is deprecated. Please use a userland alternative. ### DEP0003: \_writableState.buffer + Type: Runtime @@ -63,6 +97,20 @@ The `_writableState.buffer` property is deprecated. Use the ### DEP0004: CryptoStream.prototype.readyState + Type: End-of-Life @@ -70,6 +118,18 @@ The `CryptoStream.prototype.readyState` property was removed. ### DEP0005: Buffer() constructor + Type: Runtime (supports [`--pending-deprecation`][]) @@ -98,6 +158,18 @@ outside `node_modules` in order to better target developers, rather than users. ### DEP0006: child\_process options.customFds + Type: Runtime @@ -107,6 +179,21 @@ option should be used instead. ### DEP0007: Replace cluster worker.suicide with worker.exitedAfterDisconnect + Type: End-of-Life @@ -119,6 +206,15 @@ precisely describe the actual semantics and was unnecessarily emotion-laden. ### DEP0008: require('constants') + Type: Documentation-only @@ -129,6 +225,18 @@ to the `constants` property exposed by the relevant module. For instance, ### DEP0009: crypto.pbkdf2 without digest + Type: End-of-Life @@ -140,6 +248,17 @@ undefined `digest` will throw a `TypeError`. ### DEP0010: crypto.createCredentials + Type: Runtime @@ -148,6 +267,17 @@ The [`crypto.createCredentials()`][] API is deprecated. Please use ### DEP0011: crypto.Credentials + Type: Runtime @@ -156,6 +286,20 @@ instead. ### DEP0012: Domain.dispose + Type: End-of-Life @@ -164,6 +308,15 @@ explicitly via error event handlers set on the domain instead. ### DEP0013: fs asynchronous function without callback + Type: End-of-Life @@ -172,6 +325,23 @@ in Node.js 10.0.0 onwards. (See https://github.com/nodejs/node/pull/12562.) ### DEP0014: fs.read legacy String interface + Type: End-of-Life @@ -180,6 +350,23 @@ API as mentioned in the documentation instead. ### DEP0015: fs.readSync legacy String interface + Type: End-of-Life @@ -188,6 +375,15 @@ The [`fs.readSync()`][] legacy `String` interface is deprecated. Use the ### DEP0016: GLOBAL/root + Type: Runtime @@ -196,6 +392,15 @@ and should no longer be used. ### DEP0017: Intl.v8BreakIterator + Type: End-of-Life @@ -204,6 +409,12 @@ See [`Intl.Segmenter`](https://github.com/tc39/proposal-intl-segmenter). ### DEP0018: Unhandled promise rejections + Type: Runtime @@ -213,6 +424,17 @@ code. ### DEP0019: require('.') resolved outside directory + Type: Runtime @@ -222,6 +444,17 @@ release. ### DEP0020: Server.connections + Type: Runtime @@ -230,6 +463,17 @@ The [`Server.connections`][] property is deprecated. Please use the ### DEP0021: Server.listenFD + Type: Runtime @@ -238,6 +482,12 @@ The `Server.listenFD()` method is deprecated. Please use ### DEP0022: os.tmpDir() + Type: Runtime @@ -245,6 +495,17 @@ The `os.tmpDir()` API is deprecated. Please use [`os.tmpdir()`][] instead. ### DEP0023: os.getNetworkInterfaces() + Type: Runtime @@ -253,6 +514,15 @@ The `os.getNetworkInterfaces()` method is deprecated. Please use the ### DEP0024: REPLServer.prototype.convertToContext() + Type: End-of-Life @@ -260,6 +530,17 @@ The `REPLServer.prototype.convertToContext()` API has been removed. ### DEP0025: require('sys') + Type: Runtime @@ -267,6 +548,17 @@ The `sys` module is deprecated. Please use the [`util`][] module instead. ### DEP0026: util.print() + Type: Runtime @@ -275,6 +567,17 @@ instead. ### DEP0027: util.puts() + Type: Runtime @@ -282,6 +585,17 @@ The [`util.puts()`][] API is deprecated. Please use [`console.log()`][] instead. ### DEP0028: util.debug() + Type: Runtime @@ -290,6 +604,17 @@ instead. ### DEP0029: util.error() + Type: Runtime @@ -298,6 +623,15 @@ instead. ### DEP0030: SlowBuffer + Type: Documentation-only @@ -306,6 +640,15 @@ The [`SlowBuffer`][] class is deprecated. Please use ### DEP0031: ecdh.setPublicKey() + Type: Documentation-only @@ -314,6 +657,17 @@ API is not useful. ### DEP0032: domain module + Type: Documentation-only @@ -321,6 +675,17 @@ The [`domain`][] module is deprecated and should not be used. ### DEP0033: EventEmitter.listenerCount() + Type: Documentation-only @@ -329,6 +694,17 @@ deprecated. Please use [`emitter.listenerCount(eventName)`][] instead. ### DEP0034: fs.exists(path, callback) + Type: Documentation-only @@ -337,6 +713,16 @@ The [`fs.exists(path, callback)`][] API is deprecated. Please use ### DEP0035: fs.lchmod(path, mode, callback) + Type: Documentation-only @@ -344,13 +730,74 @@ The [`fs.lchmod(path, mode, callback)`][] API is deprecated. ### DEP0036: fs.lchmodSync(path, mode) + Type: Documentation-only The [`fs.lchmodSync(path, mode)`][] API is deprecated. + +### DEP0037: fs.lchown(path, uid, gid, callback) + + +Type: Deprecation revoked + +The [`fs.lchown(path, uid, gid, callback)`][] API is deprecated. + + +### DEP0038: fs.lchownSync(path, uid, gid) + + +Type: Deprecation revoked + +The [`fs.lchownSync(path, uid, gid)`][] API is deprecated. + ### DEP0039: require.extensions + Type: Documentation-only @@ -358,6 +805,12 @@ The [`require.extensions`][] property is deprecated. ### DEP0040: punycode module + Type: Documentation-only @@ -366,6 +819,20 @@ instead. ### DEP0041: NODE\_REPL\_HISTORY\_FILE environment variable + Type: End-of-Life @@ -374,6 +841,20 @@ The `NODE_REPL_HISTORY_FILE` environment variable was removed. Please use ### DEP0042: tls.CryptoStream + Type: End-of-Life @@ -382,6 +863,26 @@ The [`tls.CryptoStream`][] class was removed. Please use ### DEP0043: tls.SecurePair + Type: Documentation-only @@ -390,6 +891,19 @@ The [`tls.SecurePair`][] class is deprecated. Please use ### DEP0044: util.isArray() + Type: Documentation-only @@ -398,6 +912,19 @@ instead. ### DEP0045: util.isBoolean() + Type: Documentation-only @@ -405,6 +932,19 @@ The [`util.isBoolean()`][] API is deprecated. ### DEP0046: util.isBuffer() + Type: Documentation-only @@ -413,6 +953,19 @@ The [`util.isBuffer()`][] API is deprecated. Please use ### DEP0047: util.isDate() + Type: Documentation-only @@ -420,6 +973,19 @@ The [`util.isDate()`][] API is deprecated. ### DEP0048: util.isError() + Type: Documentation-only @@ -427,6 +993,19 @@ The [`util.isError()`][] API is deprecated. ### DEP0049: util.isFunction() + Type: Documentation-only @@ -434,6 +1013,19 @@ The [`util.isFunction()`][] API is deprecated. ### DEP0050: util.isNull() + Type: Documentation-only @@ -441,6 +1033,19 @@ The [`util.isNull()`][] API is deprecated. ### DEP0051: util.isNullOrUndefined() + Type: Documentation-only @@ -448,6 +1053,19 @@ The [`util.isNullOrUndefined()`][] API is deprecated. ### DEP0052: util.isNumber() + Type: Documentation-only @@ -455,6 +1073,19 @@ The [`util.isNumber()`][] API is deprecated. ### DEP0053 util.isObject() + Type: Documentation-only @@ -462,6 +1093,19 @@ The [`util.isObject()`][] API is deprecated. ### DEP0054: util.isPrimitive() + Type: Documentation-only @@ -469,6 +1113,19 @@ The [`util.isPrimitive()`][] API is deprecated. ### DEP0055: util.isRegExp() + Type: Documentation-only @@ -476,6 +1133,19 @@ The [`util.isRegExp()`][] API is deprecated. ### DEP0056: util.isString() + Type: Documentation-only @@ -483,6 +1153,19 @@ The [`util.isString()`][] API is deprecated. ### DEP0057: util.isSymbol() + Type: Documentation-only @@ -490,6 +1173,19 @@ The [`util.isSymbol()`][] API is deprecated. ### DEP0058: util.isUndefined() + Type: Documentation-only @@ -497,6 +1193,15 @@ The [`util.isUndefined()`][] API is deprecated. ### DEP0059: util.log() + Type: Documentation-only @@ -504,6 +1209,15 @@ The [`util.log()`][] API is deprecated. ### DEP0060: util.\_extend() + Type: Documentation-only @@ -511,6 +1225,15 @@ The [`util._extend()`][] API is deprecated. ### DEP0061: fs.SyncWriteStream + Type: Runtime @@ -519,6 +1242,12 @@ API. No alternative API is available. Please use a userland alternative. ### DEP0062: node --debug + Type: Runtime @@ -528,6 +1257,12 @@ instead. ### DEP0063: ServerResponse.prototype.writeHeader() + Type: Documentation-only @@ -539,6 +1274,26 @@ officially supported API. ### DEP0064: tls.createSecurePair() + Type: Runtime @@ -547,6 +1302,15 @@ The `tls.createSecurePair()` API was deprecated in documentation in Node.js ### DEP0065: repl.REPL_MODE_MAGIC and NODE_REPL_MODE=magic + Type: End-of-Life @@ -561,6 +1325,12 @@ removed. Please use `sloppy` instead. ### DEP0066: outgoingMessage.\_headers, outgoingMessage.\_headerNames + Type: Documentation-only @@ -576,6 +1346,12 @@ were never documented as officially supported properties. ### DEP0067: OutgoingMessage.prototype.\_renderHeaders + Type: Documentation-only @@ -587,6 +1363,12 @@ an officially supported API. ### DEP0068: node debug + Type: Runtime @@ -595,6 +1377,18 @@ a V8-inspector based CLI debugger available through `node inspect`. ### DEP0069: vm.runInDebugContext(string) + Type: End-of-Life @@ -604,6 +1398,15 @@ DebugContext was an experimental API. ### DEP0070: async_hooks.currentId() + Type: End-of-Life @@ -614,6 +1417,15 @@ This change was made while `async_hooks` was an experimental API. ### DEP0071: async_hooks.triggerId() + Type: End-of-Life @@ -624,6 +1436,15 @@ This change was made while `async_hooks` was an experimental API. ### DEP0072: async_hooks.AsyncResource.triggerId() + Type: End-of-Life @@ -634,6 +1455,15 @@ This change was made while `async_hooks` was an experimental API. ### DEP0073: Several internal properties of net.Server + Type: End-of-Life @@ -645,6 +1475,12 @@ code, no replacement API is provided. ### DEP0074: REPLServer.bufferedCommand + Type: Runtime @@ -653,6 +1489,12 @@ The `REPLServer.bufferedCommand` property was deprecated in favor of ### DEP0075: REPLServer.parseREPLKeyword() + Type: Runtime @@ -660,6 +1502,15 @@ Type: Runtime ### DEP0076: tls.parseCertString() + Type: Runtime @@ -683,6 +1534,12 @@ difference is that `querystring.parse()` does url decoding: ### DEP0077: Module.\_debug() + Type: Runtime @@ -693,6 +1550,12 @@ supported API. ### DEP0078: REPLServer.turnOffEditorMode() + Type: Runtime @@ -700,6 +1563,15 @@ Type: Runtime ### DEP0079: Custom inspection function on Objects via .inspect() + Type: Runtime @@ -710,6 +1582,12 @@ may be specified. ### DEP0080: path.\_makeLong() + Type: Documentation-only @@ -719,6 +1597,12 @@ and replaced with an identical, public `path.toNamespacedPath()` method. ### DEP0081: fs.truncate() using a file descriptor + Type: Runtime @@ -728,6 +1612,12 @@ file descriptors. ### DEP0082: REPLServer.prototype.memory() + Type: Runtime @@ -736,6 +1626,12 @@ the `REPLServer` itself. Do not use this function. ### DEP0083: Disabling ECDH by setting ecdhCurve to false + Type: Runtime @@ -746,6 +1642,12 @@ the client. Use the `ciphers` parameter instead. ### DEP0084: requiring bundled internal dependencies + Type: Runtime @@ -777,6 +1679,17 @@ code modification is necessary if that is done. ### DEP0085: AsyncHooks Sensitive API + Type: End-of-Life @@ -786,6 +1699,17 @@ API instead. ### DEP0086: Remove runInAsyncIdScope + Type: End-of-Life @@ -795,6 +1719,14 @@ details. ### DEP0089: require('assert') + Type: Documentation-only @@ -804,6 +1736,12 @@ same as the legacy assert but it will always use strict equality checks. ### DEP0090: Invalid GCM authentication tag lengths + Type: Runtime @@ -816,6 +1754,12 @@ is not included in this list will be considered invalid in compliance with ### DEP0091: crypto.DEFAULT_ENCODING + Type: Runtime @@ -823,6 +1767,12 @@ The [`crypto.DEFAULT_ENCODING`][] property is deprecated. ### DEP0092: Top-level `this` bound to `module.exports` + Type: Documentation-only @@ -832,6 +1782,12 @@ or `module.exports` instead. ### DEP0093: crypto.fips is deprecated and replaced. + Type: Documentation-only @@ -840,6 +1796,12 @@ and `crypto.getFips()` instead. ### DEP0094: Using `assert.fail()` with more than one argument. + Type: Runtime @@ -849,6 +1811,12 @@ method. ### DEP0095: timers.enroll() + Type: Runtime @@ -857,6 +1825,12 @@ Type: Runtime ### DEP0096: timers.unenroll() + Type: Runtime @@ -865,6 +1839,12 @@ Type: Runtime ### DEP0097: MakeCallback with domain property + Type: Runtime @@ -874,6 +1854,15 @@ should start using the `async_context` variant of `MakeCallback` or ### DEP0098: AsyncHooks Embedder AsyncResource.emitBefore and AsyncResource.emitAfter APIs + Type: Runtime @@ -887,6 +1876,12 @@ https://github.com/nodejs/node/pull/18513 for more details. ### DEP0099: async context-unaware node::MakeCallback C++ APIs + Type: Compile-time @@ -896,6 +1891,14 @@ parameter. ### DEP0100: process.assert() + Type: Runtime @@ -905,6 +1908,12 @@ This was never a documented feature. ### DEP0101: --with-lttng + Type: End-of-Life @@ -912,6 +1921,12 @@ The `--with-lttng` compile-time option has been removed. ### DEP0102: Using `noAssert` in Buffer#(read|write) operations. + Type: End-of-Life @@ -921,6 +1936,15 @@ could lead to hard to find errors and crashes. ### DEP0103: process.binding('util').is[...] typechecks + Type: Documentation-only (supports [`--pending-deprecation`][]) @@ -932,6 +1956,12 @@ This deprecation has been superseded by the deprecation of the ### DEP0104: process.env string coercion + Type: Documentation-only (supports [`--pending-deprecation`][]) @@ -943,6 +1973,12 @@ assigning it to `process.env`. ### DEP0105: decipher.finaltol + Type: Runtime @@ -952,6 +1988,12 @@ is recommended to use [`decipher.final()`][] instead. ### DEP0106: crypto.createCipher and crypto.createDecipher + Type: Documentation-only @@ -964,6 +2006,12 @@ initialization vectors. It is recommended to derive a key using ### DEP0107: tls.convertNPNProtocols() + Type: Runtime @@ -972,6 +2020,12 @@ core and obsoleted by the removal of NPN (Next Protocol Negotiation) support. ### DEP0108: zlib.bytesRead + Type: Documentation-only @@ -982,6 +2036,12 @@ expose values under these names. ### DEP0110: vm.Script cached data + Type: Documentation-only @@ -990,6 +2050,12 @@ The `produceCachedData` option is deprecated. Use ### DEP0111: process.binding() + Type: Documentation-only @@ -1033,6 +2099,8 @@ only. Use of `process.binding()` by userland code is unsupported. [`fs.exists(path, callback)`]: fs.html#fs_fs_exists_path_callback [`fs.lchmod(path, mode, callback)`]: fs.html#fs_fs_lchmod_path_mode_callback [`fs.lchmodSync(path, mode)`]: fs.html#fs_fs_lchmodsync_path_mode +[`fs.lchown(path, uid, gid, callback)`]: fs.html#fs_fs_lchown_path_uid_gid_callback +[`fs.lchownSync(path, uid, gid)`]: fs.html#fs_fs_lchownsync_path_uid_gid [`fs.read()`]: fs.html#fs_fs_read_fd_buffer_offset_length_position_callback [`fs.readSync()`]: fs.html#fs_fs_readsync_fd_buffer_offset_length_position [`fs.stat()`]: fs.html#fs_fs_stat_path_options_callback