11cb0ef41Sopenharmony_ci<!DOCTYPE html>
21cb0ef41Sopenharmony_ci<html lang="en">
31cb0ef41Sopenharmony_ci<head>
41cb0ef41Sopenharmony_ci  <meta charset="utf-8">
51cb0ef41Sopenharmony_ci  <meta name="viewport" content="width=device-width">
61cb0ef41Sopenharmony_ci  <meta name="nodejs.org:node-version" content="v18.20.1">
71cb0ef41Sopenharmony_ci  <title>Deprecated APIs | Node.js v18.20.1 Documentation</title>
81cb0ef41Sopenharmony_ci  <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:400,700,400italic&display=fallback">
91cb0ef41Sopenharmony_ci  <link rel="stylesheet" href="assets/style.css">
101cb0ef41Sopenharmony_ci  <link rel="stylesheet" href="assets/hljs.css">
111cb0ef41Sopenharmony_ci  <link rel="canonical" href="https://nodejs.org/api/deprecations.html">
121cb0ef41Sopenharmony_ci  <script async defer src="assets/api.js" type="text/javascript"></script>
131cb0ef41Sopenharmony_ci  
141cb0ef41Sopenharmony_ci</head>
151cb0ef41Sopenharmony_ci<body class="alt apidoc" id="api-section-deprecations">
161cb0ef41Sopenharmony_ci  <div id="content" class="clearfix">
171cb0ef41Sopenharmony_ci    <div id="column2" class="interior">
181cb0ef41Sopenharmony_ci      <div id="intro" class="interior">
191cb0ef41Sopenharmony_ci        <a href="/" title="Go back to the home page">
201cb0ef41Sopenharmony_ci          Node.js
211cb0ef41Sopenharmony_ci        </a>
221cb0ef41Sopenharmony_ci      </div>
231cb0ef41Sopenharmony_ci      <ul>
241cb0ef41Sopenharmony_ci<li><a href="documentation.html" class="nav-documentation">About this documentation</a></li>
251cb0ef41Sopenharmony_ci<li><a href="synopsis.html" class="nav-synopsis">Usage and example</a></li>
261cb0ef41Sopenharmony_ci</ul>
271cb0ef41Sopenharmony_ci<hr class="line">
281cb0ef41Sopenharmony_ci<ul>
291cb0ef41Sopenharmony_ci<li><a href="assert.html" class="nav-assert">Assertion testing</a></li>
301cb0ef41Sopenharmony_ci<li><a href="async_context.html" class="nav-async_context">Asynchronous context tracking</a></li>
311cb0ef41Sopenharmony_ci<li><a href="async_hooks.html" class="nav-async_hooks">Async hooks</a></li>
321cb0ef41Sopenharmony_ci<li><a href="buffer.html" class="nav-buffer">Buffer</a></li>
331cb0ef41Sopenharmony_ci<li><a href="addons.html" class="nav-addons">C++ addons</a></li>
341cb0ef41Sopenharmony_ci<li><a href="n-api.html" class="nav-n-api">C/C++ addons with Node-API</a></li>
351cb0ef41Sopenharmony_ci<li><a href="embedding.html" class="nav-embedding">C++ embedder API</a></li>
361cb0ef41Sopenharmony_ci<li><a href="child_process.html" class="nav-child_process">Child processes</a></li>
371cb0ef41Sopenharmony_ci<li><a href="cluster.html" class="nav-cluster">Cluster</a></li>
381cb0ef41Sopenharmony_ci<li><a href="cli.html" class="nav-cli">Command-line options</a></li>
391cb0ef41Sopenharmony_ci<li><a href="console.html" class="nav-console">Console</a></li>
401cb0ef41Sopenharmony_ci<li><a href="corepack.html" class="nav-corepack">Corepack</a></li>
411cb0ef41Sopenharmony_ci<li><a href="crypto.html" class="nav-crypto">Crypto</a></li>
421cb0ef41Sopenharmony_ci<li><a href="debugger.html" class="nav-debugger">Debugger</a></li>
431cb0ef41Sopenharmony_ci<li><a href="deprecations.html" class="nav-deprecations active">Deprecated APIs</a></li>
441cb0ef41Sopenharmony_ci<li><a href="diagnostics_channel.html" class="nav-diagnostics_channel">Diagnostics Channel</a></li>
451cb0ef41Sopenharmony_ci<li><a href="dns.html" class="nav-dns">DNS</a></li>
461cb0ef41Sopenharmony_ci<li><a href="domain.html" class="nav-domain">Domain</a></li>
471cb0ef41Sopenharmony_ci<li><a href="errors.html" class="nav-errors">Errors</a></li>
481cb0ef41Sopenharmony_ci<li><a href="events.html" class="nav-events">Events</a></li>
491cb0ef41Sopenharmony_ci<li><a href="fs.html" class="nav-fs">File system</a></li>
501cb0ef41Sopenharmony_ci<li><a href="globals.html" class="nav-globals">Globals</a></li>
511cb0ef41Sopenharmony_ci<li><a href="http.html" class="nav-http">HTTP</a></li>
521cb0ef41Sopenharmony_ci<li><a href="http2.html" class="nav-http2">HTTP/2</a></li>
531cb0ef41Sopenharmony_ci<li><a href="https.html" class="nav-https">HTTPS</a></li>
541cb0ef41Sopenharmony_ci<li><a href="inspector.html" class="nav-inspector">Inspector</a></li>
551cb0ef41Sopenharmony_ci<li><a href="intl.html" class="nav-intl">Internationalization</a></li>
561cb0ef41Sopenharmony_ci<li><a href="modules.html" class="nav-modules">Modules: CommonJS modules</a></li>
571cb0ef41Sopenharmony_ci<li><a href="esm.html" class="nav-esm">Modules: ECMAScript modules</a></li>
581cb0ef41Sopenharmony_ci<li><a href="module.html" class="nav-module">Modules: <code>node:module</code> API</a></li>
591cb0ef41Sopenharmony_ci<li><a href="packages.html" class="nav-packages">Modules: Packages</a></li>
601cb0ef41Sopenharmony_ci<li><a href="net.html" class="nav-net">Net</a></li>
611cb0ef41Sopenharmony_ci<li><a href="os.html" class="nav-os">OS</a></li>
621cb0ef41Sopenharmony_ci<li><a href="path.html" class="nav-path">Path</a></li>
631cb0ef41Sopenharmony_ci<li><a href="perf_hooks.html" class="nav-perf_hooks">Performance hooks</a></li>
641cb0ef41Sopenharmony_ci<li><a href="permissions.html" class="nav-permissions">Permissions</a></li>
651cb0ef41Sopenharmony_ci<li><a href="process.html" class="nav-process">Process</a></li>
661cb0ef41Sopenharmony_ci<li><a href="punycode.html" class="nav-punycode">Punycode</a></li>
671cb0ef41Sopenharmony_ci<li><a href="querystring.html" class="nav-querystring">Query strings</a></li>
681cb0ef41Sopenharmony_ci<li><a href="readline.html" class="nav-readline">Readline</a></li>
691cb0ef41Sopenharmony_ci<li><a href="repl.html" class="nav-repl">REPL</a></li>
701cb0ef41Sopenharmony_ci<li><a href="report.html" class="nav-report">Report</a></li>
711cb0ef41Sopenharmony_ci<li><a href="single-executable-applications.html" class="nav-single-executable-applications">Single executable applications</a></li>
721cb0ef41Sopenharmony_ci<li><a href="stream.html" class="nav-stream">Stream</a></li>
731cb0ef41Sopenharmony_ci<li><a href="string_decoder.html" class="nav-string_decoder">String decoder</a></li>
741cb0ef41Sopenharmony_ci<li><a href="test.html" class="nav-test">Test runner</a></li>
751cb0ef41Sopenharmony_ci<li><a href="timers.html" class="nav-timers">Timers</a></li>
761cb0ef41Sopenharmony_ci<li><a href="tls.html" class="nav-tls">TLS/SSL</a></li>
771cb0ef41Sopenharmony_ci<li><a href="tracing.html" class="nav-tracing">Trace events</a></li>
781cb0ef41Sopenharmony_ci<li><a href="tty.html" class="nav-tty">TTY</a></li>
791cb0ef41Sopenharmony_ci<li><a href="dgram.html" class="nav-dgram">UDP/datagram</a></li>
801cb0ef41Sopenharmony_ci<li><a href="url.html" class="nav-url">URL</a></li>
811cb0ef41Sopenharmony_ci<li><a href="util.html" class="nav-util">Utilities</a></li>
821cb0ef41Sopenharmony_ci<li><a href="v8.html" class="nav-v8">V8</a></li>
831cb0ef41Sopenharmony_ci<li><a href="vm.html" class="nav-vm">VM</a></li>
841cb0ef41Sopenharmony_ci<li><a href="wasi.html" class="nav-wasi">WASI</a></li>
851cb0ef41Sopenharmony_ci<li><a href="webcrypto.html" class="nav-webcrypto">Web Crypto API</a></li>
861cb0ef41Sopenharmony_ci<li><a href="webstreams.html" class="nav-webstreams">Web Streams API</a></li>
871cb0ef41Sopenharmony_ci<li><a href="worker_threads.html" class="nav-worker_threads">Worker threads</a></li>
881cb0ef41Sopenharmony_ci<li><a href="zlib.html" class="nav-zlib">Zlib</a></li>
891cb0ef41Sopenharmony_ci</ul>
901cb0ef41Sopenharmony_ci<hr class="line">
911cb0ef41Sopenharmony_ci<ul>
921cb0ef41Sopenharmony_ci<li><a href="https://github.com/nodejs/node" class="nav-https-github-com-nodejs-node">Code repository and issue tracker</a></li>
931cb0ef41Sopenharmony_ci</ul>
941cb0ef41Sopenharmony_ci    </div>
951cb0ef41Sopenharmony_ci
961cb0ef41Sopenharmony_ci    <div id="column1" data-id="deprecations" class="interior">
971cb0ef41Sopenharmony_ci      <header class="header">
981cb0ef41Sopenharmony_ci        <div class="header-container">
991cb0ef41Sopenharmony_ci          <h1>Node.js v18.20.1 documentation</h1>
1001cb0ef41Sopenharmony_ci          <button class="theme-toggle-btn" id="theme-toggle-btn" title="Toggle dark mode/light mode" aria-label="Toggle dark mode/light mode" hidden>
1011cb0ef41Sopenharmony_ci            <svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" height="24" width="24">
1021cb0ef41Sopenharmony_ci              <path fill="none" d="M0 0h24v24H0z" />
1031cb0ef41Sopenharmony_ci              <path d="M11.1 12.08c-2.33-4.51-.5-8.48.53-10.07C6.27 2.2 1.98 6.59 1.98 12c0 .14.02.28.02.42.62-.27 1.29-.42 2-.42 1.66 0 3.18.83 4.1 2.15A4.01 4.01 0 0111 18c0 1.52-.87 2.83-2.12 3.51.98.32 2.03.5 3.11.5 3.5 0 6.58-1.8 8.37-4.52-2.36.23-6.98-.97-9.26-5.41z"/>
1041cb0ef41Sopenharmony_ci              <path d="M7 16h-.18C6.4 14.84 5.3 14 4 14c-1.66 0-3 1.34-3 3s1.34 3 3 3h3c1.1 0 2-.9 2-2s-.9-2-2-2z"/>
1051cb0ef41Sopenharmony_ci            </svg>
1061cb0ef41Sopenharmony_ci            <svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" height="24" width="24">
1071cb0ef41Sopenharmony_ci              <path d="M0 0h24v24H0z" fill="none" />
1081cb0ef41Sopenharmony_ci              <path d="M6.76 4.84l-1.8-1.79-1.41 1.41 1.79 1.79 1.42-1.41zM4 10.5H1v2h3v-2zm9-9.95h-2V3.5h2V.55zm7.45 3.91l-1.41-1.41-1.79 1.79 1.41 1.41 1.79-1.79zm-3.21 13.7l1.79 1.8 1.41-1.41-1.8-1.79-1.4 1.4zM20 10.5v2h3v-2h-3zm-8-5c-3.31 0-6 2.69-6 6s2.69 6 6 6 6-2.69 6-6-2.69-6-6-6zm-1 16.95h2V19.5h-2v2.95zm-7.45-3.91l1.41 1.41 1.79-1.8-1.41-1.41-1.79 1.8z"/>
1091cb0ef41Sopenharmony_ci            </svg>
1101cb0ef41Sopenharmony_ci          </button>
1111cb0ef41Sopenharmony_ci        </div>
1121cb0ef41Sopenharmony_ci        <div id="gtoc">
1131cb0ef41Sopenharmony_ci          <ul>
1141cb0ef41Sopenharmony_ci            <li class="pinned-header">Node.js v18.20.1</li>
1151cb0ef41Sopenharmony_ci            
1161cb0ef41Sopenharmony_ci    <li class="picker-header">
1171cb0ef41Sopenharmony_ci      <a href="#">
1181cb0ef41Sopenharmony_ci        <span class="collapsed-arrow">&#x25ba;</span><span class="expanded-arrow">&#x25bc;</span>
1191cb0ef41Sopenharmony_ci        Table of contents
1201cb0ef41Sopenharmony_ci      </a>
1211cb0ef41Sopenharmony_ci
1221cb0ef41Sopenharmony_ci      <div class="picker"><div class="toc"><ul>
1231cb0ef41Sopenharmony_ci<li><a href="#deprecated-apis">Deprecated APIs</a>
1241cb0ef41Sopenharmony_ci<ul>
1251cb0ef41Sopenharmony_ci<li><a href="#revoking-deprecations">Revoking deprecations</a></li>
1261cb0ef41Sopenharmony_ci<li><a href="#list-of-deprecated-apis">List of deprecated APIs</a>
1271cb0ef41Sopenharmony_ci<ul>
1281cb0ef41Sopenharmony_ci<li><a href="#DEP0001">DEP0001: <code>http.OutgoingMessage.prototype.flush</code></a></li>
1291cb0ef41Sopenharmony_ci<li><a href="#DEP0002">DEP0002: <code>require('_linklist')</code></a></li>
1301cb0ef41Sopenharmony_ci<li><a href="#DEP0003">DEP0003: <code>_writableState.buffer</code></a></li>
1311cb0ef41Sopenharmony_ci<li><a href="#DEP0004">DEP0004: <code>CryptoStream.prototype.readyState</code></a></li>
1321cb0ef41Sopenharmony_ci<li><a href="#DEP0005">DEP0005: <code>Buffer()</code> constructor</a></li>
1331cb0ef41Sopenharmony_ci<li><a href="#DEP0006">DEP0006: <code>child_process</code> <code>options.customFds</code></a></li>
1341cb0ef41Sopenharmony_ci<li><a href="#DEP0007">DEP0007: Replace <code>cluster</code> <code>worker.suicide</code> with <code>worker.exitedAfterDisconnect</code></a></li>
1351cb0ef41Sopenharmony_ci<li><a href="#DEP0008">DEP0008: <code>require('node:constants')</code></a></li>
1361cb0ef41Sopenharmony_ci<li><a href="#DEP0009">DEP0009: <code>crypto.pbkdf2</code> without digest</a></li>
1371cb0ef41Sopenharmony_ci<li><a href="#DEP0010">DEP0010: <code>crypto.createCredentials</code></a></li>
1381cb0ef41Sopenharmony_ci<li><a href="#DEP0011">DEP0011: <code>crypto.Credentials</code></a></li>
1391cb0ef41Sopenharmony_ci<li><a href="#DEP0012">DEP0012: <code>Domain.dispose</code></a></li>
1401cb0ef41Sopenharmony_ci<li><a href="#DEP0013">DEP0013: <code>fs</code> asynchronous function without callback</a></li>
1411cb0ef41Sopenharmony_ci<li><a href="#DEP0014">DEP0014: <code>fs.read</code> legacy String interface</a></li>
1421cb0ef41Sopenharmony_ci<li><a href="#DEP0015">DEP0015: <code>fs.readSync</code> legacy String interface</a></li>
1431cb0ef41Sopenharmony_ci<li><a href="#DEP0016">DEP0016: <code>GLOBAL</code>/<code>root</code></a></li>
1441cb0ef41Sopenharmony_ci<li><a href="#DEP0017">DEP0017: <code>Intl.v8BreakIterator</code></a></li>
1451cb0ef41Sopenharmony_ci<li><a href="#DEP0018">DEP0018: Unhandled promise rejections</a></li>
1461cb0ef41Sopenharmony_ci<li><a href="#DEP0019">DEP0019: <code>require('.')</code> resolved outside directory</a></li>
1471cb0ef41Sopenharmony_ci<li><a href="#DEP0020">DEP0020: <code>Server.connections</code></a></li>
1481cb0ef41Sopenharmony_ci<li><a href="#DEP0021">DEP0021: <code>Server.listenFD</code></a></li>
1491cb0ef41Sopenharmony_ci<li><a href="#DEP0022">DEP0022: <code>os.tmpDir()</code></a></li>
1501cb0ef41Sopenharmony_ci<li><a href="#DEP0023">DEP0023: <code>os.getNetworkInterfaces()</code></a></li>
1511cb0ef41Sopenharmony_ci<li><a href="#DEP0024">DEP0024: <code>REPLServer.prototype.convertToContext()</code></a></li>
1521cb0ef41Sopenharmony_ci<li><a href="#DEP0025">DEP0025: <code>require('node:sys')</code></a></li>
1531cb0ef41Sopenharmony_ci<li><a href="#DEP0026">DEP0026: <code>util.print()</code></a></li>
1541cb0ef41Sopenharmony_ci<li><a href="#DEP0027">DEP0027: <code>util.puts()</code></a></li>
1551cb0ef41Sopenharmony_ci<li><a href="#DEP0028">DEP0028: <code>util.debug()</code></a></li>
1561cb0ef41Sopenharmony_ci<li><a href="#DEP0029">DEP0029: <code>util.error()</code></a></li>
1571cb0ef41Sopenharmony_ci<li><a href="#DEP0030">DEP0030: <code>SlowBuffer</code></a></li>
1581cb0ef41Sopenharmony_ci<li><a href="#DEP0031">DEP0031: <code>ecdh.setPublicKey()</code></a></li>
1591cb0ef41Sopenharmony_ci<li><a href="#DEP0032">DEP0032: <code>node:domain</code> module</a></li>
1601cb0ef41Sopenharmony_ci<li><a href="#DEP0033">DEP0033: <code>EventEmitter.listenerCount()</code></a></li>
1611cb0ef41Sopenharmony_ci<li><a href="#DEP0034">DEP0034: <code>fs.exists(path, callback)</code></a></li>
1621cb0ef41Sopenharmony_ci<li><a href="#DEP0035">DEP0035: <code>fs.lchmod(path, mode, callback)</code></a></li>
1631cb0ef41Sopenharmony_ci<li><a href="#DEP0036">DEP0036: <code>fs.lchmodSync(path, mode)</code></a></li>
1641cb0ef41Sopenharmony_ci<li><a href="#DEP0037">DEP0037: <code>fs.lchown(path, uid, gid, callback)</code></a></li>
1651cb0ef41Sopenharmony_ci<li><a href="#DEP0038">DEP0038: <code>fs.lchownSync(path, uid, gid)</code></a></li>
1661cb0ef41Sopenharmony_ci<li><a href="#DEP0039">DEP0039: <code>require.extensions</code></a></li>
1671cb0ef41Sopenharmony_ci<li><a href="#DEP0040">DEP0040: <code>node:punycode</code> module</a></li>
1681cb0ef41Sopenharmony_ci<li><a href="#DEP0041">DEP0041: <code>NODE_REPL_HISTORY_FILE</code> environment variable</a></li>
1691cb0ef41Sopenharmony_ci<li><a href="#DEP0042">DEP0042: <code>tls.CryptoStream</code></a></li>
1701cb0ef41Sopenharmony_ci<li><a href="#DEP0043">DEP0043: <code>tls.SecurePair</code></a></li>
1711cb0ef41Sopenharmony_ci<li><a href="#DEP0044">DEP0044: <code>util.isArray()</code></a></li>
1721cb0ef41Sopenharmony_ci<li><a href="#DEP0045">DEP0045: <code>util.isBoolean()</code></a></li>
1731cb0ef41Sopenharmony_ci<li><a href="#DEP0046">DEP0046: <code>util.isBuffer()</code></a></li>
1741cb0ef41Sopenharmony_ci<li><a href="#DEP0047">DEP0047: <code>util.isDate()</code></a></li>
1751cb0ef41Sopenharmony_ci<li><a href="#DEP0048">DEP0048: <code>util.isError()</code></a></li>
1761cb0ef41Sopenharmony_ci<li><a href="#DEP0049">DEP0049: <code>util.isFunction()</code></a></li>
1771cb0ef41Sopenharmony_ci<li><a href="#DEP0050">DEP0050: <code>util.isNull()</code></a></li>
1781cb0ef41Sopenharmony_ci<li><a href="#DEP0051">DEP0051: <code>util.isNullOrUndefined()</code></a></li>
1791cb0ef41Sopenharmony_ci<li><a href="#DEP0052">DEP0052: <code>util.isNumber()</code></a></li>
1801cb0ef41Sopenharmony_ci<li><a href="#DEP0053">DEP0053: <code>util.isObject()</code></a></li>
1811cb0ef41Sopenharmony_ci<li><a href="#DEP0054">DEP0054: <code>util.isPrimitive()</code></a></li>
1821cb0ef41Sopenharmony_ci<li><a href="#DEP0055">DEP0055: <code>util.isRegExp()</code></a></li>
1831cb0ef41Sopenharmony_ci<li><a href="#DEP0056">DEP0056: <code>util.isString()</code></a></li>
1841cb0ef41Sopenharmony_ci<li><a href="#DEP0057">DEP0057: <code>util.isSymbol()</code></a></li>
1851cb0ef41Sopenharmony_ci<li><a href="#DEP0058">DEP0058: <code>util.isUndefined()</code></a></li>
1861cb0ef41Sopenharmony_ci<li><a href="#DEP0059">DEP0059: <code>util.log()</code></a></li>
1871cb0ef41Sopenharmony_ci<li><a href="#DEP0060">DEP0060: <code>util._extend()</code></a></li>
1881cb0ef41Sopenharmony_ci<li><a href="#DEP0061">DEP0061: <code>fs.SyncWriteStream</code></a></li>
1891cb0ef41Sopenharmony_ci<li><a href="#DEP0062">DEP0062: <code>node --debug</code></a></li>
1901cb0ef41Sopenharmony_ci<li><a href="#DEP0063">DEP0063: <code>ServerResponse.prototype.writeHeader()</code></a></li>
1911cb0ef41Sopenharmony_ci<li><a href="#DEP0064">DEP0064: <code>tls.createSecurePair()</code></a></li>
1921cb0ef41Sopenharmony_ci<li><a href="#DEP0065">DEP0065: <code>repl.REPL_MODE_MAGIC</code> and <code>NODE_REPL_MODE=magic</code></a></li>
1931cb0ef41Sopenharmony_ci<li><a href="#DEP0066">DEP0066: <code>OutgoingMessage.prototype._headers, OutgoingMessage.prototype._headerNames</code></a></li>
1941cb0ef41Sopenharmony_ci<li><a href="#DEP0067">DEP0067: <code>OutgoingMessage.prototype._renderHeaders</code></a></li>
1951cb0ef41Sopenharmony_ci<li><a href="#DEP0068">DEP0068: <code>node debug</code></a></li>
1961cb0ef41Sopenharmony_ci<li><a href="#DEP0069">DEP0069: <code>vm.runInDebugContext(string)</code></a></li>
1971cb0ef41Sopenharmony_ci<li><a href="#DEP0070">DEP0070: <code>async_hooks.currentId()</code></a></li>
1981cb0ef41Sopenharmony_ci<li><a href="#DEP0071">DEP0071: <code>async_hooks.triggerId()</code></a></li>
1991cb0ef41Sopenharmony_ci<li><a href="#DEP0072">DEP0072: <code>async_hooks.AsyncResource.triggerId()</code></a></li>
2001cb0ef41Sopenharmony_ci<li><a href="#DEP0073">DEP0073: Several internal properties of <code>net.Server</code></a></li>
2011cb0ef41Sopenharmony_ci<li><a href="#DEP0074">DEP0074: <code>REPLServer.bufferedCommand</code></a></li>
2021cb0ef41Sopenharmony_ci<li><a href="#DEP0075">DEP0075: <code>REPLServer.parseREPLKeyword()</code></a></li>
2031cb0ef41Sopenharmony_ci<li><a href="#DEP0076">DEP0076: <code>tls.parseCertString()</code></a></li>
2041cb0ef41Sopenharmony_ci<li><a href="#DEP0077">DEP0077: <code>Module._debug()</code></a></li>
2051cb0ef41Sopenharmony_ci<li><a href="#DEP0078">DEP0078: <code>REPLServer.turnOffEditorMode()</code></a></li>
2061cb0ef41Sopenharmony_ci<li><a href="#DEP0079">DEP0079: Custom inspection function on objects via <code>.inspect()</code></a></li>
2071cb0ef41Sopenharmony_ci<li><a href="#DEP0080">DEP0080: <code>path._makeLong()</code></a></li>
2081cb0ef41Sopenharmony_ci<li><a href="#DEP0081">DEP0081: <code>fs.truncate()</code> using a file descriptor</a></li>
2091cb0ef41Sopenharmony_ci<li><a href="#DEP0082">DEP0082: <code>REPLServer.prototype.memory()</code></a></li>
2101cb0ef41Sopenharmony_ci<li><a href="#DEP0083">DEP0083: Disabling ECDH by setting <code>ecdhCurve</code> to <code>false</code></a></li>
2111cb0ef41Sopenharmony_ci<li><a href="#DEP0084">DEP0084: requiring bundled internal dependencies</a></li>
2121cb0ef41Sopenharmony_ci<li><a href="#DEP0085">DEP0085: AsyncHooks sensitive API</a></li>
2131cb0ef41Sopenharmony_ci<li><a href="#DEP0086">DEP0086: Remove <code>runInAsyncIdScope</code></a></li>
2141cb0ef41Sopenharmony_ci<li><a href="#DEP0089">DEP0089: <code>require('node:assert')</code></a></li>
2151cb0ef41Sopenharmony_ci<li><a href="#DEP0090">DEP0090: Invalid GCM authentication tag lengths</a></li>
2161cb0ef41Sopenharmony_ci<li><a href="#DEP0091">DEP0091: <code>crypto.DEFAULT_ENCODING</code></a></li>
2171cb0ef41Sopenharmony_ci<li><a href="#DEP0092">DEP0092: Top-level <code>this</code> bound to <code>module.exports</code></a></li>
2181cb0ef41Sopenharmony_ci<li><a href="#DEP0093">DEP0093: <code>crypto.fips</code> is deprecated and replaced</a></li>
2191cb0ef41Sopenharmony_ci<li><a href="#DEP0094">DEP0094: Using <code>assert.fail()</code> with more than one argument</a></li>
2201cb0ef41Sopenharmony_ci<li><a href="#DEP0095">DEP0095: <code>timers.enroll()</code></a></li>
2211cb0ef41Sopenharmony_ci<li><a href="#DEP0096">DEP0096: <code>timers.unenroll()</code></a></li>
2221cb0ef41Sopenharmony_ci<li><a href="#DEP0097">DEP0097: <code>MakeCallback</code> with <code>domain</code> property</a></li>
2231cb0ef41Sopenharmony_ci<li><a href="#DEP0098">DEP0098: AsyncHooks embedder <code>AsyncResource.emitBefore</code> and <code>AsyncResource.emitAfter</code> APIs</a></li>
2241cb0ef41Sopenharmony_ci<li><a href="#DEP0099">DEP0099: Async context-unaware <code>node::MakeCallback</code> C++ APIs</a></li>
2251cb0ef41Sopenharmony_ci<li><a href="#DEP0100">DEP0100: <code>process.assert()</code></a></li>
2261cb0ef41Sopenharmony_ci<li><a href="#DEP0101">DEP0101: <code>--with-lttng</code></a></li>
2271cb0ef41Sopenharmony_ci<li><a href="#DEP0102">DEP0102: Using <code>noAssert</code> in <code>Buffer#(read|write)</code> operations</a></li>
2281cb0ef41Sopenharmony_ci<li><a href="#DEP0103">DEP0103: <code>process.binding('util').is[...]</code> typechecks</a></li>
2291cb0ef41Sopenharmony_ci<li><a href="#DEP0104">DEP0104: <code>process.env</code> string coercion</a></li>
2301cb0ef41Sopenharmony_ci<li><a href="#DEP0105">DEP0105: <code>decipher.finaltol</code></a></li>
2311cb0ef41Sopenharmony_ci<li><a href="#DEP0106">DEP0106: <code>crypto.createCipher</code> and <code>crypto.createDecipher</code></a></li>
2321cb0ef41Sopenharmony_ci<li><a href="#DEP0107">DEP0107: <code>tls.convertNPNProtocols()</code></a></li>
2331cb0ef41Sopenharmony_ci<li><a href="#DEP0108">DEP0108: <code>zlib.bytesRead</code></a></li>
2341cb0ef41Sopenharmony_ci<li><a href="#DEP0109">DEP0109: <code>http</code>, <code>https</code>, and <code>tls</code> support for invalid URLs</a></li>
2351cb0ef41Sopenharmony_ci<li><a href="#DEP0110">DEP0110: <code>vm.Script</code> cached data</a></li>
2361cb0ef41Sopenharmony_ci<li><a href="#DEP0111">DEP0111: <code>process.binding()</code></a></li>
2371cb0ef41Sopenharmony_ci<li><a href="#DEP0112">DEP0112: <code>dgram</code> private APIs</a></li>
2381cb0ef41Sopenharmony_ci<li><a href="#DEP0113">DEP0113: <code>Cipher.setAuthTag()</code>, <code>Decipher.getAuthTag()</code></a></li>
2391cb0ef41Sopenharmony_ci<li><a href="#DEP0114">DEP0114: <code>crypto._toBuf()</code></a></li>
2401cb0ef41Sopenharmony_ci<li><a href="#DEP0115">DEP0115: <code>crypto.prng()</code>, <code>crypto.pseudoRandomBytes()</code>, <code>crypto.rng()</code></a></li>
2411cb0ef41Sopenharmony_ci<li><a href="#DEP0116">DEP0116: Legacy URL API</a></li>
2421cb0ef41Sopenharmony_ci<li><a href="#DEP0117">DEP0117: Native crypto handles</a></li>
2431cb0ef41Sopenharmony_ci<li><a href="#DEP0118">DEP0118: <code>dns.lookup()</code> support for a falsy host name</a></li>
2441cb0ef41Sopenharmony_ci<li><a href="#DEP0119">DEP0119: <code>process.binding('uv').errname()</code> private API</a></li>
2451cb0ef41Sopenharmony_ci<li><a href="#DEP0120">DEP0120: Windows Performance Counter support</a></li>
2461cb0ef41Sopenharmony_ci<li><a href="#DEP0121">DEP0121: <code>net._setSimultaneousAccepts()</code></a></li>
2471cb0ef41Sopenharmony_ci<li><a href="#DEP0122">DEP0122: <code>tls</code> <code>Server.prototype.setOptions()</code></a></li>
2481cb0ef41Sopenharmony_ci<li><a href="#DEP0123">DEP0123: setting the TLS ServerName to an IP address</a></li>
2491cb0ef41Sopenharmony_ci<li><a href="#DEP0124">DEP0124: using <code>REPLServer.rli</code></a></li>
2501cb0ef41Sopenharmony_ci<li><a href="#DEP0125">DEP0125: <code>require('node:_stream_wrap')</code></a></li>
2511cb0ef41Sopenharmony_ci<li><a href="#DEP0126">DEP0126: <code>timers.active()</code></a></li>
2521cb0ef41Sopenharmony_ci<li><a href="#DEP0127">DEP0127: <code>timers._unrefActive()</code></a></li>
2531cb0ef41Sopenharmony_ci<li><a href="#DEP0128">DEP0128: modules with an invalid <code>main</code> entry and an <code>index.js</code> file</a></li>
2541cb0ef41Sopenharmony_ci<li><a href="#DEP0129">DEP0129: <code>ChildProcess._channel</code></a></li>
2551cb0ef41Sopenharmony_ci<li><a href="#DEP0130">DEP0130: <code>Module.createRequireFromPath()</code></a></li>
2561cb0ef41Sopenharmony_ci<li><a href="#DEP0131">DEP0131: Legacy HTTP parser</a></li>
2571cb0ef41Sopenharmony_ci<li><a href="#DEP0132">DEP0132: <code>worker.terminate()</code> with callback</a></li>
2581cb0ef41Sopenharmony_ci<li><a href="#DEP0133">DEP0133: <code>http</code> <code>connection</code></a></li>
2591cb0ef41Sopenharmony_ci<li><a href="#DEP0134">DEP0134: <code>process._tickCallback</code></a></li>
2601cb0ef41Sopenharmony_ci<li><a href="#DEP0135">DEP0135: <code>WriteStream.open()</code> and <code>ReadStream.open()</code> are internal</a></li>
2611cb0ef41Sopenharmony_ci<li><a href="#DEP0136">DEP0136: <code>http</code> <code>finished</code></a></li>
2621cb0ef41Sopenharmony_ci<li><a href="#DEP0137">DEP0137: Closing fs.FileHandle on garbage collection</a></li>
2631cb0ef41Sopenharmony_ci<li><a href="#DEP0138">DEP0138: <code>process.mainModule</code></a></li>
2641cb0ef41Sopenharmony_ci<li><a href="#DEP0139">DEP0139: <code>process.umask()</code> with no arguments</a></li>
2651cb0ef41Sopenharmony_ci<li><a href="#DEP0140">DEP0140: Use <code>request.destroy()</code> instead of <code>request.abort()</code></a></li>
2661cb0ef41Sopenharmony_ci<li><a href="#DEP0141">DEP0141: <code>repl.inputStream</code> and <code>repl.outputStream</code></a></li>
2671cb0ef41Sopenharmony_ci<li><a href="#DEP0142">DEP0142: <code>repl._builtinLibs</code></a></li>
2681cb0ef41Sopenharmony_ci<li><a href="#DEP0143">DEP0143: <code>Transform._transformState</code></a></li>
2691cb0ef41Sopenharmony_ci<li><a href="#DEP0144">DEP0144: <code>module.parent</code></a></li>
2701cb0ef41Sopenharmony_ci<li><a href="#DEP0145">DEP0145: <code>socket.bufferSize</code></a></li>
2711cb0ef41Sopenharmony_ci<li><a href="#DEP0146">DEP0146: <code>new crypto.Certificate()</code></a></li>
2721cb0ef41Sopenharmony_ci<li><a href="#DEP0147">DEP0147: <code>fs.rmdir(path, { recursive: true })</code></a></li>
2731cb0ef41Sopenharmony_ci<li><a href="#DEP0148">DEP0148: Folder mappings in <code>"exports"</code> (trailing <code>"/"</code>)</a></li>
2741cb0ef41Sopenharmony_ci<li><a href="#DEP0149">DEP0149: <code>http.IncomingMessage#connection</code></a></li>
2751cb0ef41Sopenharmony_ci<li><a href="#DEP0150">DEP0150: Changing the value of <code>process.config</code></a></li>
2761cb0ef41Sopenharmony_ci<li><a href="#DEP0151">DEP0151: Main index lookup and extension searching</a></li>
2771cb0ef41Sopenharmony_ci<li><a href="#DEP0152">DEP0152: Extension PerformanceEntry properties</a></li>
2781cb0ef41Sopenharmony_ci<li><a href="#DEP0153">DEP0153: <code>dns.lookup</code> and <code>dnsPromises.lookup</code> options type coercion</a></li>
2791cb0ef41Sopenharmony_ci<li><a href="#DEP0154">DEP0154: RSA-PSS generate key pair options</a></li>
2801cb0ef41Sopenharmony_ci<li><a href="#DEP0155">DEP0155: Trailing slashes in pattern specifier resolutions</a></li>
2811cb0ef41Sopenharmony_ci<li><a href="#DEP0156">DEP0156: <code>.aborted</code> property and <code>'abort'</code>, <code>'aborted'</code> event in <code>http</code></a></li>
2821cb0ef41Sopenharmony_ci<li><a href="#DEP0157">DEP0157: Thenable support in streams</a></li>
2831cb0ef41Sopenharmony_ci<li><a href="#DEP0158">DEP0158: <code>buffer.slice(start, end)</code></a></li>
2841cb0ef41Sopenharmony_ci<li><a href="#DEP0159">DEP0159: <code>ERR_INVALID_CALLBACK</code></a></li>
2851cb0ef41Sopenharmony_ci<li><a href="#DEP0160">DEP0160: <code>process.on('multipleResolves', handler)</code></a></li>
2861cb0ef41Sopenharmony_ci<li><a href="#DEP0161">DEP0161: <code>process._getActiveRequests()</code> and <code>process._getActiveHandles()</code></a></li>
2871cb0ef41Sopenharmony_ci<li><a href="#DEP0162">DEP0162: <code>fs.write()</code>, <code>fs.writeFileSync()</code> coercion to string</a></li>
2881cb0ef41Sopenharmony_ci<li><a href="#DEP0163">DEP0163: <code>channel.subscribe(onMessage)</code>, <code>channel.unsubscribe(onMessage)</code></a></li>
2891cb0ef41Sopenharmony_ci<li><a href="#DEP0164">DEP0164: <code>process.exit(code)</code>, <code>process.exitCode</code> coercion to integer</a></li>
2901cb0ef41Sopenharmony_ci<li><a href="#DEP0165">DEP0165: <code>--trace-atomics-wait</code></a></li>
2911cb0ef41Sopenharmony_ci<li><a href="#DEP0166">DEP0166: Double slashes in imports and exports targets</a></li>
2921cb0ef41Sopenharmony_ci<li><a href="#DEP0167">DEP0167: Weak <code>DiffieHellmanGroup</code> instances (<code>modp1</code>, <code>modp2</code>, <code>modp5</code>)</a></li>
2931cb0ef41Sopenharmony_ci<li><a href="#DEP0168">DEP0168: Unhandled exception in Node-API callbacks</a></li>
2941cb0ef41Sopenharmony_ci<li><a href="#DEP0169">DEP0169: Insecure url.parse()</a></li>
2951cb0ef41Sopenharmony_ci<li><a href="#DEP0170">DEP0170: Invalid port when using <code>url.parse()</code></a></li>
2961cb0ef41Sopenharmony_ci<li><a href="#DEP0171">DEP0171: Setters for <code>http.IncomingMessage</code> headers and trailers</a></li>
2971cb0ef41Sopenharmony_ci<li><a href="#DEP0178">DEP0178: <code>dirent.path</code></a></li>
2981cb0ef41Sopenharmony_ci</ul>
2991cb0ef41Sopenharmony_ci</li>
3001cb0ef41Sopenharmony_ci</ul>
3011cb0ef41Sopenharmony_ci</li>
3021cb0ef41Sopenharmony_ci</ul></div></div>
3031cb0ef41Sopenharmony_ci    </li>
3041cb0ef41Sopenharmony_ci  
3051cb0ef41Sopenharmony_ci            
3061cb0ef41Sopenharmony_ci    <li class="picker-header">
3071cb0ef41Sopenharmony_ci      <a href="#">
3081cb0ef41Sopenharmony_ci        <span class="collapsed-arrow">&#x25ba;</span><span class="expanded-arrow">&#x25bc;</span>
3091cb0ef41Sopenharmony_ci        Index
3101cb0ef41Sopenharmony_ci      </a>
3111cb0ef41Sopenharmony_ci
3121cb0ef41Sopenharmony_ci      <div class="picker"><ul>
3131cb0ef41Sopenharmony_ci<li><a href="documentation.html" class="nav-documentation">About this documentation</a></li>
3141cb0ef41Sopenharmony_ci<li><a href="synopsis.html" class="nav-synopsis">Usage and example</a></li>
3151cb0ef41Sopenharmony_ci
3161cb0ef41Sopenharmony_ci      <li>
3171cb0ef41Sopenharmony_ci        <a href="index.html">Index</a>
3181cb0ef41Sopenharmony_ci      </li>
3191cb0ef41Sopenharmony_ci    </ul>
3201cb0ef41Sopenharmony_ci  
3211cb0ef41Sopenharmony_ci<hr class="line">
3221cb0ef41Sopenharmony_ci<ul>
3231cb0ef41Sopenharmony_ci<li><a href="assert.html" class="nav-assert">Assertion testing</a></li>
3241cb0ef41Sopenharmony_ci<li><a href="async_context.html" class="nav-async_context">Asynchronous context tracking</a></li>
3251cb0ef41Sopenharmony_ci<li><a href="async_hooks.html" class="nav-async_hooks">Async hooks</a></li>
3261cb0ef41Sopenharmony_ci<li><a href="buffer.html" class="nav-buffer">Buffer</a></li>
3271cb0ef41Sopenharmony_ci<li><a href="addons.html" class="nav-addons">C++ addons</a></li>
3281cb0ef41Sopenharmony_ci<li><a href="n-api.html" class="nav-n-api">C/C++ addons with Node-API</a></li>
3291cb0ef41Sopenharmony_ci<li><a href="embedding.html" class="nav-embedding">C++ embedder API</a></li>
3301cb0ef41Sopenharmony_ci<li><a href="child_process.html" class="nav-child_process">Child processes</a></li>
3311cb0ef41Sopenharmony_ci<li><a href="cluster.html" class="nav-cluster">Cluster</a></li>
3321cb0ef41Sopenharmony_ci<li><a href="cli.html" class="nav-cli">Command-line options</a></li>
3331cb0ef41Sopenharmony_ci<li><a href="console.html" class="nav-console">Console</a></li>
3341cb0ef41Sopenharmony_ci<li><a href="corepack.html" class="nav-corepack">Corepack</a></li>
3351cb0ef41Sopenharmony_ci<li><a href="crypto.html" class="nav-crypto">Crypto</a></li>
3361cb0ef41Sopenharmony_ci<li><a href="debugger.html" class="nav-debugger">Debugger</a></li>
3371cb0ef41Sopenharmony_ci<li><a href="deprecations.html" class="nav-deprecations active">Deprecated APIs</a></li>
3381cb0ef41Sopenharmony_ci<li><a href="diagnostics_channel.html" class="nav-diagnostics_channel">Diagnostics Channel</a></li>
3391cb0ef41Sopenharmony_ci<li><a href="dns.html" class="nav-dns">DNS</a></li>
3401cb0ef41Sopenharmony_ci<li><a href="domain.html" class="nav-domain">Domain</a></li>
3411cb0ef41Sopenharmony_ci<li><a href="errors.html" class="nav-errors">Errors</a></li>
3421cb0ef41Sopenharmony_ci<li><a href="events.html" class="nav-events">Events</a></li>
3431cb0ef41Sopenharmony_ci<li><a href="fs.html" class="nav-fs">File system</a></li>
3441cb0ef41Sopenharmony_ci<li><a href="globals.html" class="nav-globals">Globals</a></li>
3451cb0ef41Sopenharmony_ci<li><a href="http.html" class="nav-http">HTTP</a></li>
3461cb0ef41Sopenharmony_ci<li><a href="http2.html" class="nav-http2">HTTP/2</a></li>
3471cb0ef41Sopenharmony_ci<li><a href="https.html" class="nav-https">HTTPS</a></li>
3481cb0ef41Sopenharmony_ci<li><a href="inspector.html" class="nav-inspector">Inspector</a></li>
3491cb0ef41Sopenharmony_ci<li><a href="intl.html" class="nav-intl">Internationalization</a></li>
3501cb0ef41Sopenharmony_ci<li><a href="modules.html" class="nav-modules">Modules: CommonJS modules</a></li>
3511cb0ef41Sopenharmony_ci<li><a href="esm.html" class="nav-esm">Modules: ECMAScript modules</a></li>
3521cb0ef41Sopenharmony_ci<li><a href="module.html" class="nav-module">Modules: <code>node:module</code> API</a></li>
3531cb0ef41Sopenharmony_ci<li><a href="packages.html" class="nav-packages">Modules: Packages</a></li>
3541cb0ef41Sopenharmony_ci<li><a href="net.html" class="nav-net">Net</a></li>
3551cb0ef41Sopenharmony_ci<li><a href="os.html" class="nav-os">OS</a></li>
3561cb0ef41Sopenharmony_ci<li><a href="path.html" class="nav-path">Path</a></li>
3571cb0ef41Sopenharmony_ci<li><a href="perf_hooks.html" class="nav-perf_hooks">Performance hooks</a></li>
3581cb0ef41Sopenharmony_ci<li><a href="permissions.html" class="nav-permissions">Permissions</a></li>
3591cb0ef41Sopenharmony_ci<li><a href="process.html" class="nav-process">Process</a></li>
3601cb0ef41Sopenharmony_ci<li><a href="punycode.html" class="nav-punycode">Punycode</a></li>
3611cb0ef41Sopenharmony_ci<li><a href="querystring.html" class="nav-querystring">Query strings</a></li>
3621cb0ef41Sopenharmony_ci<li><a href="readline.html" class="nav-readline">Readline</a></li>
3631cb0ef41Sopenharmony_ci<li><a href="repl.html" class="nav-repl">REPL</a></li>
3641cb0ef41Sopenharmony_ci<li><a href="report.html" class="nav-report">Report</a></li>
3651cb0ef41Sopenharmony_ci<li><a href="single-executable-applications.html" class="nav-single-executable-applications">Single executable applications</a></li>
3661cb0ef41Sopenharmony_ci<li><a href="stream.html" class="nav-stream">Stream</a></li>
3671cb0ef41Sopenharmony_ci<li><a href="string_decoder.html" class="nav-string_decoder">String decoder</a></li>
3681cb0ef41Sopenharmony_ci<li><a href="test.html" class="nav-test">Test runner</a></li>
3691cb0ef41Sopenharmony_ci<li><a href="timers.html" class="nav-timers">Timers</a></li>
3701cb0ef41Sopenharmony_ci<li><a href="tls.html" class="nav-tls">TLS/SSL</a></li>
3711cb0ef41Sopenharmony_ci<li><a href="tracing.html" class="nav-tracing">Trace events</a></li>
3721cb0ef41Sopenharmony_ci<li><a href="tty.html" class="nav-tty">TTY</a></li>
3731cb0ef41Sopenharmony_ci<li><a href="dgram.html" class="nav-dgram">UDP/datagram</a></li>
3741cb0ef41Sopenharmony_ci<li><a href="url.html" class="nav-url">URL</a></li>
3751cb0ef41Sopenharmony_ci<li><a href="util.html" class="nav-util">Utilities</a></li>
3761cb0ef41Sopenharmony_ci<li><a href="v8.html" class="nav-v8">V8</a></li>
3771cb0ef41Sopenharmony_ci<li><a href="vm.html" class="nav-vm">VM</a></li>
3781cb0ef41Sopenharmony_ci<li><a href="wasi.html" class="nav-wasi">WASI</a></li>
3791cb0ef41Sopenharmony_ci<li><a href="webcrypto.html" class="nav-webcrypto">Web Crypto API</a></li>
3801cb0ef41Sopenharmony_ci<li><a href="webstreams.html" class="nav-webstreams">Web Streams API</a></li>
3811cb0ef41Sopenharmony_ci<li><a href="worker_threads.html" class="nav-worker_threads">Worker threads</a></li>
3821cb0ef41Sopenharmony_ci<li><a href="zlib.html" class="nav-zlib">Zlib</a></li>
3831cb0ef41Sopenharmony_ci</ul>
3841cb0ef41Sopenharmony_ci<hr class="line">
3851cb0ef41Sopenharmony_ci<ul>
3861cb0ef41Sopenharmony_ci<li><a href="https://github.com/nodejs/node" class="nav-https-github-com-nodejs-node">Code repository and issue tracker</a></li>
3871cb0ef41Sopenharmony_ci</ul></div>
3881cb0ef41Sopenharmony_ci    </li>
3891cb0ef41Sopenharmony_ci  
3901cb0ef41Sopenharmony_ci            
3911cb0ef41Sopenharmony_ci    <li class="picker-header">
3921cb0ef41Sopenharmony_ci      <a href="#">
3931cb0ef41Sopenharmony_ci        <span class="collapsed-arrow">&#x25ba;</span><span class="expanded-arrow">&#x25bc;</span>
3941cb0ef41Sopenharmony_ci        Other versions
3951cb0ef41Sopenharmony_ci      </a>
3961cb0ef41Sopenharmony_ci      <div class="picker"><ol id="alt-docs"><li><a href="https://nodejs.org/docs/latest-v21.x/api/deprecations.html">21.x</a></li>
3971cb0ef41Sopenharmony_ci<li><a href="https://nodejs.org/docs/latest-v20.x/api/deprecations.html">20.x <b>LTS</b></a></li>
3981cb0ef41Sopenharmony_ci<li><a href="https://nodejs.org/docs/latest-v19.x/api/deprecations.html">19.x</a></li>
3991cb0ef41Sopenharmony_ci<li><a href="https://nodejs.org/docs/latest-v18.x/api/deprecations.html">18.x <b>LTS</b></a></li>
4001cb0ef41Sopenharmony_ci<li><a href="https://nodejs.org/docs/latest-v17.x/api/deprecations.html">17.x</a></li>
4011cb0ef41Sopenharmony_ci<li><a href="https://nodejs.org/docs/latest-v16.x/api/deprecations.html">16.x</a></li>
4021cb0ef41Sopenharmony_ci<li><a href="https://nodejs.org/docs/latest-v15.x/api/deprecations.html">15.x</a></li>
4031cb0ef41Sopenharmony_ci<li><a href="https://nodejs.org/docs/latest-v14.x/api/deprecations.html">14.x</a></li>
4041cb0ef41Sopenharmony_ci<li><a href="https://nodejs.org/docs/latest-v13.x/api/deprecations.html">13.x</a></li>
4051cb0ef41Sopenharmony_ci<li><a href="https://nodejs.org/docs/latest-v12.x/api/deprecations.html">12.x</a></li>
4061cb0ef41Sopenharmony_ci<li><a href="https://nodejs.org/docs/latest-v11.x/api/deprecations.html">11.x</a></li>
4071cb0ef41Sopenharmony_ci<li><a href="https://nodejs.org/docs/latest-v10.x/api/deprecations.html">10.x</a></li>
4081cb0ef41Sopenharmony_ci<li><a href="https://nodejs.org/docs/latest-v9.x/api/deprecations.html">9.x</a></li>
4091cb0ef41Sopenharmony_ci<li><a href="https://nodejs.org/docs/latest-v8.x/api/deprecations.html">8.x</a></li>
4101cb0ef41Sopenharmony_ci<li><a href="https://nodejs.org/docs/latest-v7.x/api/deprecations.html">7.x</a></li></ol></div>
4111cb0ef41Sopenharmony_ci    </li>
4121cb0ef41Sopenharmony_ci  
4131cb0ef41Sopenharmony_ci            <li class="picker-header">
4141cb0ef41Sopenharmony_ci              <a href="#">
4151cb0ef41Sopenharmony_ci                <span class="collapsed-arrow">&#x25ba;</span><span class="expanded-arrow">&#x25bc;</span>
4161cb0ef41Sopenharmony_ci                Options
4171cb0ef41Sopenharmony_ci              </a>
4181cb0ef41Sopenharmony_ci        
4191cb0ef41Sopenharmony_ci              <div class="picker">
4201cb0ef41Sopenharmony_ci                <ul>
4211cb0ef41Sopenharmony_ci                  <li>
4221cb0ef41Sopenharmony_ci                    <a href="all.html">View on single page</a>
4231cb0ef41Sopenharmony_ci                  </li>
4241cb0ef41Sopenharmony_ci                  <li>
4251cb0ef41Sopenharmony_ci                    <a href="deprecations.json">View as JSON</a>
4261cb0ef41Sopenharmony_ci                  </li>
4271cb0ef41Sopenharmony_ci                  <li class="edit_on_github"><a href="https://github.com/nodejs/node/edit/main/doc/api/deprecations.md">Edit on GitHub</a></li>    
4281cb0ef41Sopenharmony_ci                </ul>
4291cb0ef41Sopenharmony_ci              </div>
4301cb0ef41Sopenharmony_ci            </li>
4311cb0ef41Sopenharmony_ci          </ul>
4321cb0ef41Sopenharmony_ci        </div>
4331cb0ef41Sopenharmony_ci        <hr>
4341cb0ef41Sopenharmony_ci      </header>
4351cb0ef41Sopenharmony_ci
4361cb0ef41Sopenharmony_ci      <details id="toc" open><summary>Table of contents</summary><ul>
4371cb0ef41Sopenharmony_ci<li><a href="#deprecated-apis">Deprecated APIs</a>
4381cb0ef41Sopenharmony_ci<ul>
4391cb0ef41Sopenharmony_ci<li><a href="#revoking-deprecations">Revoking deprecations</a></li>
4401cb0ef41Sopenharmony_ci<li><a href="#list-of-deprecated-apis">List of deprecated APIs</a>
4411cb0ef41Sopenharmony_ci<ul>
4421cb0ef41Sopenharmony_ci<li><a href="#DEP0001">DEP0001: <code>http.OutgoingMessage.prototype.flush</code></a></li>
4431cb0ef41Sopenharmony_ci<li><a href="#DEP0002">DEP0002: <code>require('_linklist')</code></a></li>
4441cb0ef41Sopenharmony_ci<li><a href="#DEP0003">DEP0003: <code>_writableState.buffer</code></a></li>
4451cb0ef41Sopenharmony_ci<li><a href="#DEP0004">DEP0004: <code>CryptoStream.prototype.readyState</code></a></li>
4461cb0ef41Sopenharmony_ci<li><a href="#DEP0005">DEP0005: <code>Buffer()</code> constructor</a></li>
4471cb0ef41Sopenharmony_ci<li><a href="#DEP0006">DEP0006: <code>child_process</code> <code>options.customFds</code></a></li>
4481cb0ef41Sopenharmony_ci<li><a href="#DEP0007">DEP0007: Replace <code>cluster</code> <code>worker.suicide</code> with <code>worker.exitedAfterDisconnect</code></a></li>
4491cb0ef41Sopenharmony_ci<li><a href="#DEP0008">DEP0008: <code>require('node:constants')</code></a></li>
4501cb0ef41Sopenharmony_ci<li><a href="#DEP0009">DEP0009: <code>crypto.pbkdf2</code> without digest</a></li>
4511cb0ef41Sopenharmony_ci<li><a href="#DEP0010">DEP0010: <code>crypto.createCredentials</code></a></li>
4521cb0ef41Sopenharmony_ci<li><a href="#DEP0011">DEP0011: <code>crypto.Credentials</code></a></li>
4531cb0ef41Sopenharmony_ci<li><a href="#DEP0012">DEP0012: <code>Domain.dispose</code></a></li>
4541cb0ef41Sopenharmony_ci<li><a href="#DEP0013">DEP0013: <code>fs</code> asynchronous function without callback</a></li>
4551cb0ef41Sopenharmony_ci<li><a href="#DEP0014">DEP0014: <code>fs.read</code> legacy String interface</a></li>
4561cb0ef41Sopenharmony_ci<li><a href="#DEP0015">DEP0015: <code>fs.readSync</code> legacy String interface</a></li>
4571cb0ef41Sopenharmony_ci<li><a href="#DEP0016">DEP0016: <code>GLOBAL</code>/<code>root</code></a></li>
4581cb0ef41Sopenharmony_ci<li><a href="#DEP0017">DEP0017: <code>Intl.v8BreakIterator</code></a></li>
4591cb0ef41Sopenharmony_ci<li><a href="#DEP0018">DEP0018: Unhandled promise rejections</a></li>
4601cb0ef41Sopenharmony_ci<li><a href="#DEP0019">DEP0019: <code>require('.')</code> resolved outside directory</a></li>
4611cb0ef41Sopenharmony_ci<li><a href="#DEP0020">DEP0020: <code>Server.connections</code></a></li>
4621cb0ef41Sopenharmony_ci<li><a href="#DEP0021">DEP0021: <code>Server.listenFD</code></a></li>
4631cb0ef41Sopenharmony_ci<li><a href="#DEP0022">DEP0022: <code>os.tmpDir()</code></a></li>
4641cb0ef41Sopenharmony_ci<li><a href="#DEP0023">DEP0023: <code>os.getNetworkInterfaces()</code></a></li>
4651cb0ef41Sopenharmony_ci<li><a href="#DEP0024">DEP0024: <code>REPLServer.prototype.convertToContext()</code></a></li>
4661cb0ef41Sopenharmony_ci<li><a href="#DEP0025">DEP0025: <code>require('node:sys')</code></a></li>
4671cb0ef41Sopenharmony_ci<li><a href="#DEP0026">DEP0026: <code>util.print()</code></a></li>
4681cb0ef41Sopenharmony_ci<li><a href="#DEP0027">DEP0027: <code>util.puts()</code></a></li>
4691cb0ef41Sopenharmony_ci<li><a href="#DEP0028">DEP0028: <code>util.debug()</code></a></li>
4701cb0ef41Sopenharmony_ci<li><a href="#DEP0029">DEP0029: <code>util.error()</code></a></li>
4711cb0ef41Sopenharmony_ci<li><a href="#DEP0030">DEP0030: <code>SlowBuffer</code></a></li>
4721cb0ef41Sopenharmony_ci<li><a href="#DEP0031">DEP0031: <code>ecdh.setPublicKey()</code></a></li>
4731cb0ef41Sopenharmony_ci<li><a href="#DEP0032">DEP0032: <code>node:domain</code> module</a></li>
4741cb0ef41Sopenharmony_ci<li><a href="#DEP0033">DEP0033: <code>EventEmitter.listenerCount()</code></a></li>
4751cb0ef41Sopenharmony_ci<li><a href="#DEP0034">DEP0034: <code>fs.exists(path, callback)</code></a></li>
4761cb0ef41Sopenharmony_ci<li><a href="#DEP0035">DEP0035: <code>fs.lchmod(path, mode, callback)</code></a></li>
4771cb0ef41Sopenharmony_ci<li><a href="#DEP0036">DEP0036: <code>fs.lchmodSync(path, mode)</code></a></li>
4781cb0ef41Sopenharmony_ci<li><a href="#DEP0037">DEP0037: <code>fs.lchown(path, uid, gid, callback)</code></a></li>
4791cb0ef41Sopenharmony_ci<li><a href="#DEP0038">DEP0038: <code>fs.lchownSync(path, uid, gid)</code></a></li>
4801cb0ef41Sopenharmony_ci<li><a href="#DEP0039">DEP0039: <code>require.extensions</code></a></li>
4811cb0ef41Sopenharmony_ci<li><a href="#DEP0040">DEP0040: <code>node:punycode</code> module</a></li>
4821cb0ef41Sopenharmony_ci<li><a href="#DEP0041">DEP0041: <code>NODE_REPL_HISTORY_FILE</code> environment variable</a></li>
4831cb0ef41Sopenharmony_ci<li><a href="#DEP0042">DEP0042: <code>tls.CryptoStream</code></a></li>
4841cb0ef41Sopenharmony_ci<li><a href="#DEP0043">DEP0043: <code>tls.SecurePair</code></a></li>
4851cb0ef41Sopenharmony_ci<li><a href="#DEP0044">DEP0044: <code>util.isArray()</code></a></li>
4861cb0ef41Sopenharmony_ci<li><a href="#DEP0045">DEP0045: <code>util.isBoolean()</code></a></li>
4871cb0ef41Sopenharmony_ci<li><a href="#DEP0046">DEP0046: <code>util.isBuffer()</code></a></li>
4881cb0ef41Sopenharmony_ci<li><a href="#DEP0047">DEP0047: <code>util.isDate()</code></a></li>
4891cb0ef41Sopenharmony_ci<li><a href="#DEP0048">DEP0048: <code>util.isError()</code></a></li>
4901cb0ef41Sopenharmony_ci<li><a href="#DEP0049">DEP0049: <code>util.isFunction()</code></a></li>
4911cb0ef41Sopenharmony_ci<li><a href="#DEP0050">DEP0050: <code>util.isNull()</code></a></li>
4921cb0ef41Sopenharmony_ci<li><a href="#DEP0051">DEP0051: <code>util.isNullOrUndefined()</code></a></li>
4931cb0ef41Sopenharmony_ci<li><a href="#DEP0052">DEP0052: <code>util.isNumber()</code></a></li>
4941cb0ef41Sopenharmony_ci<li><a href="#DEP0053">DEP0053: <code>util.isObject()</code></a></li>
4951cb0ef41Sopenharmony_ci<li><a href="#DEP0054">DEP0054: <code>util.isPrimitive()</code></a></li>
4961cb0ef41Sopenharmony_ci<li><a href="#DEP0055">DEP0055: <code>util.isRegExp()</code></a></li>
4971cb0ef41Sopenharmony_ci<li><a href="#DEP0056">DEP0056: <code>util.isString()</code></a></li>
4981cb0ef41Sopenharmony_ci<li><a href="#DEP0057">DEP0057: <code>util.isSymbol()</code></a></li>
4991cb0ef41Sopenharmony_ci<li><a href="#DEP0058">DEP0058: <code>util.isUndefined()</code></a></li>
5001cb0ef41Sopenharmony_ci<li><a href="#DEP0059">DEP0059: <code>util.log()</code></a></li>
5011cb0ef41Sopenharmony_ci<li><a href="#DEP0060">DEP0060: <code>util._extend()</code></a></li>
5021cb0ef41Sopenharmony_ci<li><a href="#DEP0061">DEP0061: <code>fs.SyncWriteStream</code></a></li>
5031cb0ef41Sopenharmony_ci<li><a href="#DEP0062">DEP0062: <code>node --debug</code></a></li>
5041cb0ef41Sopenharmony_ci<li><a href="#DEP0063">DEP0063: <code>ServerResponse.prototype.writeHeader()</code></a></li>
5051cb0ef41Sopenharmony_ci<li><a href="#DEP0064">DEP0064: <code>tls.createSecurePair()</code></a></li>
5061cb0ef41Sopenharmony_ci<li><a href="#DEP0065">DEP0065: <code>repl.REPL_MODE_MAGIC</code> and <code>NODE_REPL_MODE=magic</code></a></li>
5071cb0ef41Sopenharmony_ci<li><a href="#DEP0066">DEP0066: <code>OutgoingMessage.prototype._headers, OutgoingMessage.prototype._headerNames</code></a></li>
5081cb0ef41Sopenharmony_ci<li><a href="#DEP0067">DEP0067: <code>OutgoingMessage.prototype._renderHeaders</code></a></li>
5091cb0ef41Sopenharmony_ci<li><a href="#DEP0068">DEP0068: <code>node debug</code></a></li>
5101cb0ef41Sopenharmony_ci<li><a href="#DEP0069">DEP0069: <code>vm.runInDebugContext(string)</code></a></li>
5111cb0ef41Sopenharmony_ci<li><a href="#DEP0070">DEP0070: <code>async_hooks.currentId()</code></a></li>
5121cb0ef41Sopenharmony_ci<li><a href="#DEP0071">DEP0071: <code>async_hooks.triggerId()</code></a></li>
5131cb0ef41Sopenharmony_ci<li><a href="#DEP0072">DEP0072: <code>async_hooks.AsyncResource.triggerId()</code></a></li>
5141cb0ef41Sopenharmony_ci<li><a href="#DEP0073">DEP0073: Several internal properties of <code>net.Server</code></a></li>
5151cb0ef41Sopenharmony_ci<li><a href="#DEP0074">DEP0074: <code>REPLServer.bufferedCommand</code></a></li>
5161cb0ef41Sopenharmony_ci<li><a href="#DEP0075">DEP0075: <code>REPLServer.parseREPLKeyword()</code></a></li>
5171cb0ef41Sopenharmony_ci<li><a href="#DEP0076">DEP0076: <code>tls.parseCertString()</code></a></li>
5181cb0ef41Sopenharmony_ci<li><a href="#DEP0077">DEP0077: <code>Module._debug()</code></a></li>
5191cb0ef41Sopenharmony_ci<li><a href="#DEP0078">DEP0078: <code>REPLServer.turnOffEditorMode()</code></a></li>
5201cb0ef41Sopenharmony_ci<li><a href="#DEP0079">DEP0079: Custom inspection function on objects via <code>.inspect()</code></a></li>
5211cb0ef41Sopenharmony_ci<li><a href="#DEP0080">DEP0080: <code>path._makeLong()</code></a></li>
5221cb0ef41Sopenharmony_ci<li><a href="#DEP0081">DEP0081: <code>fs.truncate()</code> using a file descriptor</a></li>
5231cb0ef41Sopenharmony_ci<li><a href="#DEP0082">DEP0082: <code>REPLServer.prototype.memory()</code></a></li>
5241cb0ef41Sopenharmony_ci<li><a href="#DEP0083">DEP0083: Disabling ECDH by setting <code>ecdhCurve</code> to <code>false</code></a></li>
5251cb0ef41Sopenharmony_ci<li><a href="#DEP0084">DEP0084: requiring bundled internal dependencies</a></li>
5261cb0ef41Sopenharmony_ci<li><a href="#DEP0085">DEP0085: AsyncHooks sensitive API</a></li>
5271cb0ef41Sopenharmony_ci<li><a href="#DEP0086">DEP0086: Remove <code>runInAsyncIdScope</code></a></li>
5281cb0ef41Sopenharmony_ci<li><a href="#DEP0089">DEP0089: <code>require('node:assert')</code></a></li>
5291cb0ef41Sopenharmony_ci<li><a href="#DEP0090">DEP0090: Invalid GCM authentication tag lengths</a></li>
5301cb0ef41Sopenharmony_ci<li><a href="#DEP0091">DEP0091: <code>crypto.DEFAULT_ENCODING</code></a></li>
5311cb0ef41Sopenharmony_ci<li><a href="#DEP0092">DEP0092: Top-level <code>this</code> bound to <code>module.exports</code></a></li>
5321cb0ef41Sopenharmony_ci<li><a href="#DEP0093">DEP0093: <code>crypto.fips</code> is deprecated and replaced</a></li>
5331cb0ef41Sopenharmony_ci<li><a href="#DEP0094">DEP0094: Using <code>assert.fail()</code> with more than one argument</a></li>
5341cb0ef41Sopenharmony_ci<li><a href="#DEP0095">DEP0095: <code>timers.enroll()</code></a></li>
5351cb0ef41Sopenharmony_ci<li><a href="#DEP0096">DEP0096: <code>timers.unenroll()</code></a></li>
5361cb0ef41Sopenharmony_ci<li><a href="#DEP0097">DEP0097: <code>MakeCallback</code> with <code>domain</code> property</a></li>
5371cb0ef41Sopenharmony_ci<li><a href="#DEP0098">DEP0098: AsyncHooks embedder <code>AsyncResource.emitBefore</code> and <code>AsyncResource.emitAfter</code> APIs</a></li>
5381cb0ef41Sopenharmony_ci<li><a href="#DEP0099">DEP0099: Async context-unaware <code>node::MakeCallback</code> C++ APIs</a></li>
5391cb0ef41Sopenharmony_ci<li><a href="#DEP0100">DEP0100: <code>process.assert()</code></a></li>
5401cb0ef41Sopenharmony_ci<li><a href="#DEP0101">DEP0101: <code>--with-lttng</code></a></li>
5411cb0ef41Sopenharmony_ci<li><a href="#DEP0102">DEP0102: Using <code>noAssert</code> in <code>Buffer#(read|write)</code> operations</a></li>
5421cb0ef41Sopenharmony_ci<li><a href="#DEP0103">DEP0103: <code>process.binding('util').is[...]</code> typechecks</a></li>
5431cb0ef41Sopenharmony_ci<li><a href="#DEP0104">DEP0104: <code>process.env</code> string coercion</a></li>
5441cb0ef41Sopenharmony_ci<li><a href="#DEP0105">DEP0105: <code>decipher.finaltol</code></a></li>
5451cb0ef41Sopenharmony_ci<li><a href="#DEP0106">DEP0106: <code>crypto.createCipher</code> and <code>crypto.createDecipher</code></a></li>
5461cb0ef41Sopenharmony_ci<li><a href="#DEP0107">DEP0107: <code>tls.convertNPNProtocols()</code></a></li>
5471cb0ef41Sopenharmony_ci<li><a href="#DEP0108">DEP0108: <code>zlib.bytesRead</code></a></li>
5481cb0ef41Sopenharmony_ci<li><a href="#DEP0109">DEP0109: <code>http</code>, <code>https</code>, and <code>tls</code> support for invalid URLs</a></li>
5491cb0ef41Sopenharmony_ci<li><a href="#DEP0110">DEP0110: <code>vm.Script</code> cached data</a></li>
5501cb0ef41Sopenharmony_ci<li><a href="#DEP0111">DEP0111: <code>process.binding()</code></a></li>
5511cb0ef41Sopenharmony_ci<li><a href="#DEP0112">DEP0112: <code>dgram</code> private APIs</a></li>
5521cb0ef41Sopenharmony_ci<li><a href="#DEP0113">DEP0113: <code>Cipher.setAuthTag()</code>, <code>Decipher.getAuthTag()</code></a></li>
5531cb0ef41Sopenharmony_ci<li><a href="#DEP0114">DEP0114: <code>crypto._toBuf()</code></a></li>
5541cb0ef41Sopenharmony_ci<li><a href="#DEP0115">DEP0115: <code>crypto.prng()</code>, <code>crypto.pseudoRandomBytes()</code>, <code>crypto.rng()</code></a></li>
5551cb0ef41Sopenharmony_ci<li><a href="#DEP0116">DEP0116: Legacy URL API</a></li>
5561cb0ef41Sopenharmony_ci<li><a href="#DEP0117">DEP0117: Native crypto handles</a></li>
5571cb0ef41Sopenharmony_ci<li><a href="#DEP0118">DEP0118: <code>dns.lookup()</code> support for a falsy host name</a></li>
5581cb0ef41Sopenharmony_ci<li><a href="#DEP0119">DEP0119: <code>process.binding('uv').errname()</code> private API</a></li>
5591cb0ef41Sopenharmony_ci<li><a href="#DEP0120">DEP0120: Windows Performance Counter support</a></li>
5601cb0ef41Sopenharmony_ci<li><a href="#DEP0121">DEP0121: <code>net._setSimultaneousAccepts()</code></a></li>
5611cb0ef41Sopenharmony_ci<li><a href="#DEP0122">DEP0122: <code>tls</code> <code>Server.prototype.setOptions()</code></a></li>
5621cb0ef41Sopenharmony_ci<li><a href="#DEP0123">DEP0123: setting the TLS ServerName to an IP address</a></li>
5631cb0ef41Sopenharmony_ci<li><a href="#DEP0124">DEP0124: using <code>REPLServer.rli</code></a></li>
5641cb0ef41Sopenharmony_ci<li><a href="#DEP0125">DEP0125: <code>require('node:_stream_wrap')</code></a></li>
5651cb0ef41Sopenharmony_ci<li><a href="#DEP0126">DEP0126: <code>timers.active()</code></a></li>
5661cb0ef41Sopenharmony_ci<li><a href="#DEP0127">DEP0127: <code>timers._unrefActive()</code></a></li>
5671cb0ef41Sopenharmony_ci<li><a href="#DEP0128">DEP0128: modules with an invalid <code>main</code> entry and an <code>index.js</code> file</a></li>
5681cb0ef41Sopenharmony_ci<li><a href="#DEP0129">DEP0129: <code>ChildProcess._channel</code></a></li>
5691cb0ef41Sopenharmony_ci<li><a href="#DEP0130">DEP0130: <code>Module.createRequireFromPath()</code></a></li>
5701cb0ef41Sopenharmony_ci<li><a href="#DEP0131">DEP0131: Legacy HTTP parser</a></li>
5711cb0ef41Sopenharmony_ci<li><a href="#DEP0132">DEP0132: <code>worker.terminate()</code> with callback</a></li>
5721cb0ef41Sopenharmony_ci<li><a href="#DEP0133">DEP0133: <code>http</code> <code>connection</code></a></li>
5731cb0ef41Sopenharmony_ci<li><a href="#DEP0134">DEP0134: <code>process._tickCallback</code></a></li>
5741cb0ef41Sopenharmony_ci<li><a href="#DEP0135">DEP0135: <code>WriteStream.open()</code> and <code>ReadStream.open()</code> are internal</a></li>
5751cb0ef41Sopenharmony_ci<li><a href="#DEP0136">DEP0136: <code>http</code> <code>finished</code></a></li>
5761cb0ef41Sopenharmony_ci<li><a href="#DEP0137">DEP0137: Closing fs.FileHandle on garbage collection</a></li>
5771cb0ef41Sopenharmony_ci<li><a href="#DEP0138">DEP0138: <code>process.mainModule</code></a></li>
5781cb0ef41Sopenharmony_ci<li><a href="#DEP0139">DEP0139: <code>process.umask()</code> with no arguments</a></li>
5791cb0ef41Sopenharmony_ci<li><a href="#DEP0140">DEP0140: Use <code>request.destroy()</code> instead of <code>request.abort()</code></a></li>
5801cb0ef41Sopenharmony_ci<li><a href="#DEP0141">DEP0141: <code>repl.inputStream</code> and <code>repl.outputStream</code></a></li>
5811cb0ef41Sopenharmony_ci<li><a href="#DEP0142">DEP0142: <code>repl._builtinLibs</code></a></li>
5821cb0ef41Sopenharmony_ci<li><a href="#DEP0143">DEP0143: <code>Transform._transformState</code></a></li>
5831cb0ef41Sopenharmony_ci<li><a href="#DEP0144">DEP0144: <code>module.parent</code></a></li>
5841cb0ef41Sopenharmony_ci<li><a href="#DEP0145">DEP0145: <code>socket.bufferSize</code></a></li>
5851cb0ef41Sopenharmony_ci<li><a href="#DEP0146">DEP0146: <code>new crypto.Certificate()</code></a></li>
5861cb0ef41Sopenharmony_ci<li><a href="#DEP0147">DEP0147: <code>fs.rmdir(path, { recursive: true })</code></a></li>
5871cb0ef41Sopenharmony_ci<li><a href="#DEP0148">DEP0148: Folder mappings in <code>"exports"</code> (trailing <code>"/"</code>)</a></li>
5881cb0ef41Sopenharmony_ci<li><a href="#DEP0149">DEP0149: <code>http.IncomingMessage#connection</code></a></li>
5891cb0ef41Sopenharmony_ci<li><a href="#DEP0150">DEP0150: Changing the value of <code>process.config</code></a></li>
5901cb0ef41Sopenharmony_ci<li><a href="#DEP0151">DEP0151: Main index lookup and extension searching</a></li>
5911cb0ef41Sopenharmony_ci<li><a href="#DEP0152">DEP0152: Extension PerformanceEntry properties</a></li>
5921cb0ef41Sopenharmony_ci<li><a href="#DEP0153">DEP0153: <code>dns.lookup</code> and <code>dnsPromises.lookup</code> options type coercion</a></li>
5931cb0ef41Sopenharmony_ci<li><a href="#DEP0154">DEP0154: RSA-PSS generate key pair options</a></li>
5941cb0ef41Sopenharmony_ci<li><a href="#DEP0155">DEP0155: Trailing slashes in pattern specifier resolutions</a></li>
5951cb0ef41Sopenharmony_ci<li><a href="#DEP0156">DEP0156: <code>.aborted</code> property and <code>'abort'</code>, <code>'aborted'</code> event in <code>http</code></a></li>
5961cb0ef41Sopenharmony_ci<li><a href="#DEP0157">DEP0157: Thenable support in streams</a></li>
5971cb0ef41Sopenharmony_ci<li><a href="#DEP0158">DEP0158: <code>buffer.slice(start, end)</code></a></li>
5981cb0ef41Sopenharmony_ci<li><a href="#DEP0159">DEP0159: <code>ERR_INVALID_CALLBACK</code></a></li>
5991cb0ef41Sopenharmony_ci<li><a href="#DEP0160">DEP0160: <code>process.on('multipleResolves', handler)</code></a></li>
6001cb0ef41Sopenharmony_ci<li><a href="#DEP0161">DEP0161: <code>process._getActiveRequests()</code> and <code>process._getActiveHandles()</code></a></li>
6011cb0ef41Sopenharmony_ci<li><a href="#DEP0162">DEP0162: <code>fs.write()</code>, <code>fs.writeFileSync()</code> coercion to string</a></li>
6021cb0ef41Sopenharmony_ci<li><a href="#DEP0163">DEP0163: <code>channel.subscribe(onMessage)</code>, <code>channel.unsubscribe(onMessage)</code></a></li>
6031cb0ef41Sopenharmony_ci<li><a href="#DEP0164">DEP0164: <code>process.exit(code)</code>, <code>process.exitCode</code> coercion to integer</a></li>
6041cb0ef41Sopenharmony_ci<li><a href="#DEP0165">DEP0165: <code>--trace-atomics-wait</code></a></li>
6051cb0ef41Sopenharmony_ci<li><a href="#DEP0166">DEP0166: Double slashes in imports and exports targets</a></li>
6061cb0ef41Sopenharmony_ci<li><a href="#DEP0167">DEP0167: Weak <code>DiffieHellmanGroup</code> instances (<code>modp1</code>, <code>modp2</code>, <code>modp5</code>)</a></li>
6071cb0ef41Sopenharmony_ci<li><a href="#DEP0168">DEP0168: Unhandled exception in Node-API callbacks</a></li>
6081cb0ef41Sopenharmony_ci<li><a href="#DEP0169">DEP0169: Insecure url.parse()</a></li>
6091cb0ef41Sopenharmony_ci<li><a href="#DEP0170">DEP0170: Invalid port when using <code>url.parse()</code></a></li>
6101cb0ef41Sopenharmony_ci<li><a href="#DEP0171">DEP0171: Setters for <code>http.IncomingMessage</code> headers and trailers</a></li>
6111cb0ef41Sopenharmony_ci<li><a href="#DEP0178">DEP0178: <code>dirent.path</code></a></li>
6121cb0ef41Sopenharmony_ci</ul>
6131cb0ef41Sopenharmony_ci</li>
6141cb0ef41Sopenharmony_ci</ul>
6151cb0ef41Sopenharmony_ci</li>
6161cb0ef41Sopenharmony_ci</ul></details>
6171cb0ef41Sopenharmony_ci
6181cb0ef41Sopenharmony_ci      <div id="apicontent">
6191cb0ef41Sopenharmony_ci        <h2>Deprecated APIs<span><a class="mark" href="#deprecated-apis" id="deprecated-apis">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_deprecated_apis"></a></h2>
6201cb0ef41Sopenharmony_ci
6211cb0ef41Sopenharmony_ci
6221cb0ef41Sopenharmony_ci<p>Node.js APIs might be deprecated for any of the following reasons:</p>
6231cb0ef41Sopenharmony_ci<ul>
6241cb0ef41Sopenharmony_ci<li>Use of the API is unsafe.</li>
6251cb0ef41Sopenharmony_ci<li>An improved alternative API is available.</li>
6261cb0ef41Sopenharmony_ci<li>Breaking changes to the API are expected in a future major release.</li>
6271cb0ef41Sopenharmony_ci</ul>
6281cb0ef41Sopenharmony_ci<p>Node.js uses three kinds of Deprecations:</p>
6291cb0ef41Sopenharmony_ci<ul>
6301cb0ef41Sopenharmony_ci<li>Documentation-only</li>
6311cb0ef41Sopenharmony_ci<li>Runtime</li>
6321cb0ef41Sopenharmony_ci<li>End-of-Life</li>
6331cb0ef41Sopenharmony_ci</ul>
6341cb0ef41Sopenharmony_ci<p>A Documentation-only deprecation is one that is expressed only within the
6351cb0ef41Sopenharmony_ciNode.js API docs. These generate no side-effects while running Node.js.
6361cb0ef41Sopenharmony_ciSome Documentation-only deprecations trigger a runtime warning when launched
6371cb0ef41Sopenharmony_ciwith <a href="cli.html#--pending-deprecation"><code>--pending-deprecation</code></a> flag (or its alternative,
6381cb0ef41Sopenharmony_ci<code>NODE_PENDING_DEPRECATION=1</code> environment variable), similarly to Runtime
6391cb0ef41Sopenharmony_cideprecations below. Documentation-only deprecations that support that flag
6401cb0ef41Sopenharmony_ciare explicitly labeled as such in the
6411cb0ef41Sopenharmony_ci<a href="#list-of-deprecated-apis">list of Deprecated APIs</a>.</p>
6421cb0ef41Sopenharmony_ci<p>A Runtime deprecation will, by default, generate a process warning that will
6431cb0ef41Sopenharmony_cibe printed to <code>stderr</code> the first time the deprecated API is used. When the
6441cb0ef41Sopenharmony_ci<a href="cli.html#--throw-deprecation"><code>--throw-deprecation</code></a> command-line flag is used, a Runtime deprecation will
6451cb0ef41Sopenharmony_cicause an error to be thrown.</p>
6461cb0ef41Sopenharmony_ci<p>An End-of-Life deprecation is used when functionality is or will soon be removed
6471cb0ef41Sopenharmony_cifrom Node.js.</p>
6481cb0ef41Sopenharmony_ci<section><h3>Revoking deprecations<span><a class="mark" href="#revoking-deprecations" id="revoking-deprecations">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_revoking_deprecations"></a></h3>
6491cb0ef41Sopenharmony_ci<p>Occasionally, the deprecation of an API might be reversed. In such situations,
6501cb0ef41Sopenharmony_cithis document will be updated with information relevant to the decision.
6511cb0ef41Sopenharmony_ciHowever, the deprecation identifier will not be modified.</p>
6521cb0ef41Sopenharmony_ci</section><section><h3>List of deprecated APIs<span><a class="mark" href="#list-of-deprecated-apis" id="list-of-deprecated-apis">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_list_of_deprecated_apis"></a></h3>
6531cb0ef41Sopenharmony_ci<h4 id="DEP0001">DEP0001: <code>http.OutgoingMessage.prototype.flush</code><span><a class="mark" href="#dep0001-httpoutgoingmessageprototypeflush" id="dep0001-httpoutgoingmessageprototypeflush">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0001_http_outgoingmessage_prototype_flush"></a></h4>
6541cb0ef41Sopenharmony_ci<div class="api_metadata">
6551cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
6561cb0ef41Sopenharmony_ci<table>
6571cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
6581cb0ef41Sopenharmony_ci<tr><td>v14.0.0</td>
6591cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
6601cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
6611cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
6621cb0ef41Sopenharmony_ci<tr><td>v1.6.0</td>
6631cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
6641cb0ef41Sopenharmony_ci</tbody></table>
6651cb0ef41Sopenharmony_ci</details>
6661cb0ef41Sopenharmony_ci</div>
6671cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
6681cb0ef41Sopenharmony_ci<p><code>OutgoingMessage.prototype.flush()</code> has been removed. Use
6691cb0ef41Sopenharmony_ci<code>OutgoingMessage.prototype.flushHeaders()</code> instead.</p>
6701cb0ef41Sopenharmony_ci<h4 id="DEP0002">DEP0002: <code>require('_linklist')</code><span><a class="mark" href="#dep0002-require_linklist" id="dep0002-require_linklist">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0002_require_linklist"></a></h4>
6711cb0ef41Sopenharmony_ci<div class="api_metadata">
6721cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
6731cb0ef41Sopenharmony_ci<table>
6741cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
6751cb0ef41Sopenharmony_ci<tr><td>v8.0.0</td>
6761cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
6771cb0ef41Sopenharmony_ci<tr><td>v6.12.0</td>
6781cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
6791cb0ef41Sopenharmony_ci<tr><td>v5.0.0</td>
6801cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
6811cb0ef41Sopenharmony_ci</tbody></table>
6821cb0ef41Sopenharmony_ci</details>
6831cb0ef41Sopenharmony_ci</div>
6841cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
6851cb0ef41Sopenharmony_ci<p>The <code>_linklist</code> module is deprecated. Please use a userland alternative.</p>
6861cb0ef41Sopenharmony_ci<h4 id="DEP0003">DEP0003: <code>_writableState.buffer</code><span><a class="mark" href="#dep0003-_writablestatebuffer" id="dep0003-_writablestatebuffer">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0003_writablestate_buffer"></a></h4>
6871cb0ef41Sopenharmony_ci<div class="api_metadata">
6881cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
6891cb0ef41Sopenharmony_ci<table>
6901cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
6911cb0ef41Sopenharmony_ci<tr><td>v14.0.0</td>
6921cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
6931cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
6941cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
6951cb0ef41Sopenharmony_ci<tr><td>v0.11.15</td>
6961cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
6971cb0ef41Sopenharmony_ci</tbody></table>
6981cb0ef41Sopenharmony_ci</details>
6991cb0ef41Sopenharmony_ci</div>
7001cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
7011cb0ef41Sopenharmony_ci<p>The <code>_writableState.buffer</code> has been removed. Use <code>_writableState.getBuffer()</code>
7021cb0ef41Sopenharmony_ciinstead.</p>
7031cb0ef41Sopenharmony_ci<h4 id="DEP0004">DEP0004: <code>CryptoStream.prototype.readyState</code><span><a class="mark" href="#dep0004-cryptostreamprototypereadystate" id="dep0004-cryptostreamprototypereadystate">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0004_cryptostream_prototype_readystate"></a></h4>
7041cb0ef41Sopenharmony_ci<div class="api_metadata">
7051cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
7061cb0ef41Sopenharmony_ci<table>
7071cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
7081cb0ef41Sopenharmony_ci<tr><td>v10.0.0</td>
7091cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
7101cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
7111cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
7121cb0ef41Sopenharmony_ci<tr><td>v0.4.0</td>
7131cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
7141cb0ef41Sopenharmony_ci</tbody></table>
7151cb0ef41Sopenharmony_ci</details>
7161cb0ef41Sopenharmony_ci</div>
7171cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
7181cb0ef41Sopenharmony_ci<p>The <code>CryptoStream.prototype.readyState</code> property was removed.</p>
7191cb0ef41Sopenharmony_ci<h4 id="DEP0005">DEP0005: <code>Buffer()</code> constructor<span><a class="mark" href="#dep0005-buffer-constructor" id="dep0005-buffer-constructor">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0005_buffer_constructor"></a></h4>
7201cb0ef41Sopenharmony_ci<div class="api_metadata">
7211cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
7221cb0ef41Sopenharmony_ci<table>
7231cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
7241cb0ef41Sopenharmony_ci<tr><td>v10.0.0</td>
7251cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
7261cb0ef41Sopenharmony_ci<tr><td>v6.12.0</td>
7271cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
7281cb0ef41Sopenharmony_ci<tr><td>v6.0.0</td>
7291cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
7301cb0ef41Sopenharmony_ci</tbody></table>
7311cb0ef41Sopenharmony_ci</details>
7321cb0ef41Sopenharmony_ci</div>
7331cb0ef41Sopenharmony_ci<p>Type: Runtime (supports <a href="cli.html#--pending-deprecation"><code>--pending-deprecation</code></a>)</p>
7341cb0ef41Sopenharmony_ci<p>The <code>Buffer()</code> function and <code>new Buffer()</code> constructor are deprecated due to
7351cb0ef41Sopenharmony_ciAPI usability issues that can lead to accidental security issues.</p>
7361cb0ef41Sopenharmony_ci<p>As an alternative, use one of the following methods of constructing <code>Buffer</code>
7371cb0ef41Sopenharmony_ciobjects:</p>
7381cb0ef41Sopenharmony_ci<ul>
7391cb0ef41Sopenharmony_ci<li><a href="buffer.html#static-method-bufferallocsize-fill-encoding"><code>Buffer.alloc(size[, fill[, encoding]])</code></a>: Create a <code>Buffer</code> with
7401cb0ef41Sopenharmony_ci<em>initialized</em> memory.</li>
7411cb0ef41Sopenharmony_ci<li><a href="buffer.html#static-method-bufferallocunsafesize"><code>Buffer.allocUnsafe(size)</code></a>: Create a <code>Buffer</code> with
7421cb0ef41Sopenharmony_ci<em>uninitialized</em> memory.</li>
7431cb0ef41Sopenharmony_ci<li><a href="buffer.html#static-method-bufferallocunsafeslowsize"><code>Buffer.allocUnsafeSlow(size)</code></a>: Create a <code>Buffer</code> with <em>uninitialized</em>
7441cb0ef41Sopenharmony_cimemory.</li>
7451cb0ef41Sopenharmony_ci<li><a href="buffer.html#static-method-bufferfromarray"><code>Buffer.from(array)</code></a>: Create a <code>Buffer</code> with a copy of <code>array</code></li>
7461cb0ef41Sopenharmony_ci<li><a href="buffer.html#static-method-bufferfromarraybuffer-byteoffset-length"><code>Buffer.from(arrayBuffer[, byteOffset[, length]])</code></a> -
7471cb0ef41Sopenharmony_ciCreate a <code>Buffer</code> that wraps the given <code>arrayBuffer</code>.</li>
7481cb0ef41Sopenharmony_ci<li><a href="buffer.html#static-method-bufferfrombuffer"><code>Buffer.from(buffer)</code></a>: Create a <code>Buffer</code> that copies <code>buffer</code>.</li>
7491cb0ef41Sopenharmony_ci<li><a href="buffer.html#static-method-bufferfromstring-encoding"><code>Buffer.from(string[, encoding])</code></a>: Create a <code>Buffer</code>
7501cb0ef41Sopenharmony_cithat copies <code>string</code>.</li>
7511cb0ef41Sopenharmony_ci</ul>
7521cb0ef41Sopenharmony_ci<p>Without <code>--pending-deprecation</code>, runtime warnings occur only for code not in
7531cb0ef41Sopenharmony_ci<code>node_modules</code>. This means there will not be deprecation warnings for
7541cb0ef41Sopenharmony_ci<code>Buffer()</code> usage in dependencies. With <code>--pending-deprecation</code>, a runtime
7551cb0ef41Sopenharmony_ciwarning results no matter where the <code>Buffer()</code> usage occurs.</p>
7561cb0ef41Sopenharmony_ci<h4 id="DEP0006">DEP0006: <code>child_process</code> <code>options.customFds</code><span><a class="mark" href="#dep0006-child_process-optionscustomfds" id="dep0006-child_process-optionscustomfds">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0006_child_process_options_customfds"></a></h4>
7571cb0ef41Sopenharmony_ci<div class="api_metadata">
7581cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
7591cb0ef41Sopenharmony_ci<table>
7601cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
7611cb0ef41Sopenharmony_ci<tr><td>v12.0.0</td>
7621cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
7631cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
7641cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
7651cb0ef41Sopenharmony_ci<tr><td>v0.11.14</td>
7661cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
7671cb0ef41Sopenharmony_ci<tr><td>v0.5.10</td>
7681cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
7691cb0ef41Sopenharmony_ci</tbody></table>
7701cb0ef41Sopenharmony_ci</details>
7711cb0ef41Sopenharmony_ci</div>
7721cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
7731cb0ef41Sopenharmony_ci<p>Within the <a href="child_process.html"><code>child_process</code></a> module's <code>spawn()</code>, <code>fork()</code>, and <code>exec()</code>
7741cb0ef41Sopenharmony_cimethods, the <code>options.customFds</code> option is deprecated. The <code>options.stdio</code>
7751cb0ef41Sopenharmony_cioption should be used instead.</p>
7761cb0ef41Sopenharmony_ci<h4 id="DEP0007">DEP0007: Replace <code>cluster</code> <code>worker.suicide</code> with <code>worker.exitedAfterDisconnect</code><span><a class="mark" href="#dep0007-replace-cluster-workersuicide-with-workerexitedafterdisconnect" id="dep0007-replace-cluster-workersuicide-with-workerexitedafterdisconnect">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0007_replace_cluster_worker_suicide_with_worker_exitedafterdisconnect"></a></h4>
7771cb0ef41Sopenharmony_ci<div class="api_metadata">
7781cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
7791cb0ef41Sopenharmony_ci<table>
7801cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
7811cb0ef41Sopenharmony_ci<tr><td>v9.0.0</td>
7821cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
7831cb0ef41Sopenharmony_ci<tr><td>v7.0.0</td>
7841cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
7851cb0ef41Sopenharmony_ci<tr><td>v6.12.0</td>
7861cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
7871cb0ef41Sopenharmony_ci<tr><td>v6.0.0</td>
7881cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
7891cb0ef41Sopenharmony_ci</tbody></table>
7901cb0ef41Sopenharmony_ci</details>
7911cb0ef41Sopenharmony_ci</div>
7921cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
7931cb0ef41Sopenharmony_ci<p>In an earlier version of the Node.js <code>cluster</code>, a boolean property with the name
7941cb0ef41Sopenharmony_ci<code>suicide</code> was added to the <code>Worker</code> object. The intent of this property was to
7951cb0ef41Sopenharmony_ciprovide an indication of how and why the <code>Worker</code> instance exited. In Node.js
7961cb0ef41Sopenharmony_ci6.0.0, the old property was deprecated and replaced with a new
7971cb0ef41Sopenharmony_ci<a href="cluster.html#workerexitedafterdisconnect"><code>worker.exitedAfterDisconnect</code></a> property. The old property name did not
7981cb0ef41Sopenharmony_ciprecisely describe the actual semantics and was unnecessarily emotion-laden.</p>
7991cb0ef41Sopenharmony_ci<h4 id="DEP0008">DEP0008: <code>require('node:constants')</code><span><a class="mark" href="#dep0008-requirenodeconstants" id="dep0008-requirenodeconstants">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0008_require_node_constants"></a></h4>
8001cb0ef41Sopenharmony_ci<div class="api_metadata">
8011cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
8021cb0ef41Sopenharmony_ci<table>
8031cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
8041cb0ef41Sopenharmony_ci<tr><td>v6.12.0</td>
8051cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
8061cb0ef41Sopenharmony_ci<tr><td>v6.3.0</td>
8071cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
8081cb0ef41Sopenharmony_ci</tbody></table>
8091cb0ef41Sopenharmony_ci</details>
8101cb0ef41Sopenharmony_ci</div>
8111cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
8121cb0ef41Sopenharmony_ci<p>The <code>node:constants</code> module is deprecated. When requiring access to constants
8131cb0ef41Sopenharmony_cirelevant to specific Node.js builtin modules, developers should instead refer
8141cb0ef41Sopenharmony_cito the <code>constants</code> property exposed by the relevant module. For instance,
8151cb0ef41Sopenharmony_ci<code>require('node:fs').constants</code> and <code>require('node:os').constants</code>.</p>
8161cb0ef41Sopenharmony_ci<h4 id="DEP0009">DEP0009: <code>crypto.pbkdf2</code> without digest<span><a class="mark" href="#dep0009-cryptopbkdf2-without-digest" id="dep0009-cryptopbkdf2-without-digest">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0009_crypto_pbkdf2_without_digest"></a></h4>
8171cb0ef41Sopenharmony_ci<div class="api_metadata">
8181cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
8191cb0ef41Sopenharmony_ci<table>
8201cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
8211cb0ef41Sopenharmony_ci<tr><td>v14.0.0</td>
8221cb0ef41Sopenharmony_ci<td><p>End-of-Life (for <code>digest === null</code>).</p></td></tr>
8231cb0ef41Sopenharmony_ci<tr><td>v11.0.0</td>
8241cb0ef41Sopenharmony_ci<td><p>Runtime deprecation (for <code>digest === null</code>).</p></td></tr>
8251cb0ef41Sopenharmony_ci<tr><td>v8.0.0</td>
8261cb0ef41Sopenharmony_ci<td><p>End-of-Life (for <code>digest === undefined</code>).</p></td></tr>
8271cb0ef41Sopenharmony_ci<tr><td>v6.12.0</td>
8281cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
8291cb0ef41Sopenharmony_ci<tr><td>v6.0.0</td>
8301cb0ef41Sopenharmony_ci<td><p>Runtime deprecation (for <code>digest === undefined</code>).</p></td></tr>
8311cb0ef41Sopenharmony_ci</tbody></table>
8321cb0ef41Sopenharmony_ci</details>
8331cb0ef41Sopenharmony_ci</div>
8341cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
8351cb0ef41Sopenharmony_ci<p>Use of the <a href="crypto.html#cryptopbkdf2password-salt-iterations-keylen-digest-callback"><code>crypto.pbkdf2()</code></a> API without specifying a digest was deprecated
8361cb0ef41Sopenharmony_ciin Node.js 6.0 because the method defaulted to using the non-recommended
8371cb0ef41Sopenharmony_ci<code>'SHA1'</code> digest. Previously, a deprecation warning was printed. Starting in
8381cb0ef41Sopenharmony_ciNode.js 8.0.0, calling <code>crypto.pbkdf2()</code> or <code>crypto.pbkdf2Sync()</code> with
8391cb0ef41Sopenharmony_ci<code>digest</code> set to <code>undefined</code> will throw a <code>TypeError</code>.</p>
8401cb0ef41Sopenharmony_ci<p>Beginning in Node.js v11.0.0, calling these functions with <code>digest</code> set to
8411cb0ef41Sopenharmony_ci<code>null</code> would print a deprecation warning to align with the behavior when <code>digest</code>
8421cb0ef41Sopenharmony_ciis <code>undefined</code>.</p>
8431cb0ef41Sopenharmony_ci<p>Now, however, passing either <code>undefined</code> or <code>null</code> will throw a <code>TypeError</code>.</p>
8441cb0ef41Sopenharmony_ci<h4 id="DEP0010">DEP0010: <code>crypto.createCredentials</code><span><a class="mark" href="#dep0010-cryptocreatecredentials" id="dep0010-cryptocreatecredentials">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0010_crypto_createcredentials"></a></h4>
8451cb0ef41Sopenharmony_ci<div class="api_metadata">
8461cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
8471cb0ef41Sopenharmony_ci<table>
8481cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
8491cb0ef41Sopenharmony_ci<tr><td>v11.0.0</td>
8501cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
8511cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
8521cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
8531cb0ef41Sopenharmony_ci<tr><td>v0.11.13</td>
8541cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
8551cb0ef41Sopenharmony_ci</tbody></table>
8561cb0ef41Sopenharmony_ci</details>
8571cb0ef41Sopenharmony_ci</div>
8581cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
8591cb0ef41Sopenharmony_ci<p>The <code>crypto.createCredentials()</code> API was removed. Please use
8601cb0ef41Sopenharmony_ci<a href="tls.html#tlscreatesecurecontextoptions"><code>tls.createSecureContext()</code></a> instead.</p>
8611cb0ef41Sopenharmony_ci<h4 id="DEP0011">DEP0011: <code>crypto.Credentials</code><span><a class="mark" href="#dep0011-cryptocredentials" id="dep0011-cryptocredentials">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0011_crypto_credentials"></a></h4>
8621cb0ef41Sopenharmony_ci<div class="api_metadata">
8631cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
8641cb0ef41Sopenharmony_ci<table>
8651cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
8661cb0ef41Sopenharmony_ci<tr><td>v11.0.0</td>
8671cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
8681cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
8691cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
8701cb0ef41Sopenharmony_ci<tr><td>v0.11.13</td>
8711cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
8721cb0ef41Sopenharmony_ci</tbody></table>
8731cb0ef41Sopenharmony_ci</details>
8741cb0ef41Sopenharmony_ci</div>
8751cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
8761cb0ef41Sopenharmony_ci<p>The <code>crypto.Credentials</code> class was removed. Please use <a href="tls.html#tlscreatesecurecontextoptions"><code>tls.SecureContext</code></a>
8771cb0ef41Sopenharmony_ciinstead.</p>
8781cb0ef41Sopenharmony_ci<h4 id="DEP0012">DEP0012: <code>Domain.dispose</code><span><a class="mark" href="#dep0012-domaindispose" id="dep0012-domaindispose">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0012_domain_dispose"></a></h4>
8791cb0ef41Sopenharmony_ci<div class="api_metadata">
8801cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
8811cb0ef41Sopenharmony_ci<table>
8821cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
8831cb0ef41Sopenharmony_ci<tr><td>v9.0.0</td>
8841cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
8851cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
8861cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
8871cb0ef41Sopenharmony_ci<tr><td>v0.11.7</td>
8881cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
8891cb0ef41Sopenharmony_ci</tbody></table>
8901cb0ef41Sopenharmony_ci</details>
8911cb0ef41Sopenharmony_ci</div>
8921cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
8931cb0ef41Sopenharmony_ci<p><code>Domain.dispose()</code> has been removed. Recover from failed I/O actions
8941cb0ef41Sopenharmony_ciexplicitly via error event handlers set on the domain instead.</p>
8951cb0ef41Sopenharmony_ci<h4 id="DEP0013">DEP0013: <code>fs</code> asynchronous function without callback<span><a class="mark" href="#dep0013-fs-asynchronous-function-without-callback" id="dep0013-fs-asynchronous-function-without-callback">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0013_fs_asynchronous_function_without_callback"></a></h4>
8961cb0ef41Sopenharmony_ci<div class="api_metadata">
8971cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
8981cb0ef41Sopenharmony_ci<table>
8991cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
9001cb0ef41Sopenharmony_ci<tr><td>v10.0.0</td>
9011cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
9021cb0ef41Sopenharmony_ci<tr><td>v7.0.0</td>
9031cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
9041cb0ef41Sopenharmony_ci</tbody></table>
9051cb0ef41Sopenharmony_ci</details>
9061cb0ef41Sopenharmony_ci</div>
9071cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
9081cb0ef41Sopenharmony_ci<p>Calling an asynchronous function without a callback throws a <code>TypeError</code>
9091cb0ef41Sopenharmony_ciin Node.js 10.0.0 onwards. See <a href="https://github.com/nodejs/node/pull/12562">https://github.com/nodejs/node/pull/12562</a>.</p>
9101cb0ef41Sopenharmony_ci<h4 id="DEP0014">DEP0014: <code>fs.read</code> legacy String interface<span><a class="mark" href="#dep0014-fsread-legacy-string-interface" id="dep0014-fsread-legacy-string-interface">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0014_fs_read_legacy_string_interface"></a></h4>
9111cb0ef41Sopenharmony_ci<div class="api_metadata">
9121cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
9131cb0ef41Sopenharmony_ci<table>
9141cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
9151cb0ef41Sopenharmony_ci<tr><td>v8.0.0</td>
9161cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
9171cb0ef41Sopenharmony_ci<tr><td>v6.0.0</td>
9181cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
9191cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
9201cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
9211cb0ef41Sopenharmony_ci<tr><td>v0.1.96</td>
9221cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
9231cb0ef41Sopenharmony_ci</tbody></table>
9241cb0ef41Sopenharmony_ci</details>
9251cb0ef41Sopenharmony_ci</div>
9261cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
9271cb0ef41Sopenharmony_ci<p>The <a href="fs.html#fsreadfd-buffer-offset-length-position-callback"><code>fs.read()</code></a> legacy <code>String</code> interface is deprecated. Use the <code>Buffer</code>
9281cb0ef41Sopenharmony_ciAPI as mentioned in the documentation instead.</p>
9291cb0ef41Sopenharmony_ci<h4 id="DEP0015">DEP0015: <code>fs.readSync</code> legacy String interface<span><a class="mark" href="#dep0015-fsreadsync-legacy-string-interface" id="dep0015-fsreadsync-legacy-string-interface">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0015_fs_readsync_legacy_string_interface"></a></h4>
9301cb0ef41Sopenharmony_ci<div class="api_metadata">
9311cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
9321cb0ef41Sopenharmony_ci<table>
9331cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
9341cb0ef41Sopenharmony_ci<tr><td>v8.0.0</td>
9351cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
9361cb0ef41Sopenharmony_ci<tr><td>v6.0.0</td>
9371cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
9381cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
9391cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
9401cb0ef41Sopenharmony_ci<tr><td>v0.1.96</td>
9411cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
9421cb0ef41Sopenharmony_ci</tbody></table>
9431cb0ef41Sopenharmony_ci</details>
9441cb0ef41Sopenharmony_ci</div>
9451cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
9461cb0ef41Sopenharmony_ci<p>The <a href="fs.html#fsreadsyncfd-buffer-offset-length-position"><code>fs.readSync()</code></a> legacy <code>String</code> interface is deprecated. Use the
9471cb0ef41Sopenharmony_ci<code>Buffer</code> API as mentioned in the documentation instead.</p>
9481cb0ef41Sopenharmony_ci<h4 id="DEP0016">DEP0016: <code>GLOBAL</code>/<code>root</code><span><a class="mark" href="#dep0016-globalroot" id="dep0016-globalroot">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0016_global_root"></a></h4>
9491cb0ef41Sopenharmony_ci<div class="api_metadata">
9501cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
9511cb0ef41Sopenharmony_ci<table>
9521cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
9531cb0ef41Sopenharmony_ci<tr><td>v14.0.0</td>
9541cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
9551cb0ef41Sopenharmony_ci<tr><td>v6.12.0</td>
9561cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
9571cb0ef41Sopenharmony_ci<tr><td>v6.0.0</td>
9581cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
9591cb0ef41Sopenharmony_ci</tbody></table>
9601cb0ef41Sopenharmony_ci</details>
9611cb0ef41Sopenharmony_ci</div>
9621cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
9631cb0ef41Sopenharmony_ci<p>The <code>GLOBAL</code> and <code>root</code> aliases for the <code>global</code> property were deprecated
9641cb0ef41Sopenharmony_ciin Node.js 6.0.0 and have since been removed.</p>
9651cb0ef41Sopenharmony_ci<h4 id="DEP0017">DEP0017: <code>Intl.v8BreakIterator</code><span><a class="mark" href="#dep0017-intlv8breakiterator" id="dep0017-intlv8breakiterator">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0017_intl_v8breakiterator"></a></h4>
9661cb0ef41Sopenharmony_ci<div class="api_metadata">
9671cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
9681cb0ef41Sopenharmony_ci<table>
9691cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
9701cb0ef41Sopenharmony_ci<tr><td>v9.0.0</td>
9711cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
9721cb0ef41Sopenharmony_ci<tr><td>v7.0.0</td>
9731cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
9741cb0ef41Sopenharmony_ci</tbody></table>
9751cb0ef41Sopenharmony_ci</details>
9761cb0ef41Sopenharmony_ci</div>
9771cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
9781cb0ef41Sopenharmony_ci<p><code>Intl.v8BreakIterator</code> was a non-standard extension and has been removed.
9791cb0ef41Sopenharmony_ciSee <a href="https://github.com/tc39/proposal-intl-segmenter"><code>Intl.Segmenter</code></a>.</p>
9801cb0ef41Sopenharmony_ci<h4 id="DEP0018">DEP0018: Unhandled promise rejections<span><a class="mark" href="#dep0018-unhandled-promise-rejections" id="dep0018-unhandled-promise-rejections">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0018_unhandled_promise_rejections"></a></h4>
9811cb0ef41Sopenharmony_ci<div class="api_metadata">
9821cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
9831cb0ef41Sopenharmony_ci<table>
9841cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
9851cb0ef41Sopenharmony_ci<tr><td>v15.0.0</td>
9861cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
9871cb0ef41Sopenharmony_ci<tr><td>v7.0.0</td>
9881cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
9891cb0ef41Sopenharmony_ci</tbody></table>
9901cb0ef41Sopenharmony_ci</details>
9911cb0ef41Sopenharmony_ci</div>
9921cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
9931cb0ef41Sopenharmony_ci<p>Unhandled promise rejections are deprecated. By default, promise rejections
9941cb0ef41Sopenharmony_cithat are not handled terminate the Node.js process with a non-zero exit
9951cb0ef41Sopenharmony_cicode. To change the way Node.js treats unhandled rejections, use the
9961cb0ef41Sopenharmony_ci<a href="cli.html#--unhandled-rejectionsmode"><code>--unhandled-rejections</code></a> command-line option.</p>
9971cb0ef41Sopenharmony_ci<h4 id="DEP0019">DEP0019: <code>require('.')</code> resolved outside directory<span><a class="mark" href="#dep0019-require-resolved-outside-directory" id="dep0019-require-resolved-outside-directory">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0019_require_resolved_outside_directory"></a></h4>
9981cb0ef41Sopenharmony_ci<div class="api_metadata">
9991cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
10001cb0ef41Sopenharmony_ci<table>
10011cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
10021cb0ef41Sopenharmony_ci<tr><td>v12.0.0</td>
10031cb0ef41Sopenharmony_ci<td><p>Removed functionality.</p></td></tr>
10041cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
10051cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
10061cb0ef41Sopenharmony_ci<tr><td>v1.8.1</td>
10071cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
10081cb0ef41Sopenharmony_ci</tbody></table>
10091cb0ef41Sopenharmony_ci</details>
10101cb0ef41Sopenharmony_ci</div>
10111cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
10121cb0ef41Sopenharmony_ci<p>In certain cases, <code>require('.')</code> could resolve outside the package directory.
10131cb0ef41Sopenharmony_ciThis behavior has been removed.</p>
10141cb0ef41Sopenharmony_ci<h4 id="DEP0020">DEP0020: <code>Server.connections</code><span><a class="mark" href="#dep0020-serverconnections" id="dep0020-serverconnections">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0020_server_connections"></a></h4>
10151cb0ef41Sopenharmony_ci<div class="api_metadata">
10161cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
10171cb0ef41Sopenharmony_ci<table>
10181cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
10191cb0ef41Sopenharmony_ci<tr><td>v15.0.0</td>
10201cb0ef41Sopenharmony_ci<td><p>Server.connections has been removed.</p></td></tr>
10211cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
10221cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
10231cb0ef41Sopenharmony_ci<tr><td>v0.9.7</td>
10241cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
10251cb0ef41Sopenharmony_ci</tbody></table>
10261cb0ef41Sopenharmony_ci</details>
10271cb0ef41Sopenharmony_ci</div>
10281cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
10291cb0ef41Sopenharmony_ci<p>The <code>Server.connections</code> property was deprecated in Node.js v0.9.7 and has
10301cb0ef41Sopenharmony_cibeen removed. Please use the <a href="net.html#servergetconnectionscallback"><code>Server.getConnections()</code></a> method instead.</p>
10311cb0ef41Sopenharmony_ci<h4 id="DEP0021">DEP0021: <code>Server.listenFD</code><span><a class="mark" href="#dep0021-serverlistenfd" id="dep0021-serverlistenfd">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0021_server_listenfd"></a></h4>
10321cb0ef41Sopenharmony_ci<div class="api_metadata">
10331cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
10341cb0ef41Sopenharmony_ci<table>
10351cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
10361cb0ef41Sopenharmony_ci<tr><td>v12.0.0</td>
10371cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
10381cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
10391cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
10401cb0ef41Sopenharmony_ci<tr><td>v0.7.12</td>
10411cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
10421cb0ef41Sopenharmony_ci</tbody></table>
10431cb0ef41Sopenharmony_ci</details>
10441cb0ef41Sopenharmony_ci</div>
10451cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
10461cb0ef41Sopenharmony_ci<p>The <code>Server.listenFD()</code> method was deprecated and removed. Please use
10471cb0ef41Sopenharmony_ci<a href="net.html#serverlistenhandle-backlog-callback"><code>Server.listen({fd: &#x3C;number>})</code></a> instead.</p>
10481cb0ef41Sopenharmony_ci<h4 id="DEP0022">DEP0022: <code>os.tmpDir()</code><span><a class="mark" href="#dep0022-ostmpdir" id="dep0022-ostmpdir">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0022_os_tmpdir"></a></h4>
10491cb0ef41Sopenharmony_ci<div class="api_metadata">
10501cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
10511cb0ef41Sopenharmony_ci<table>
10521cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
10531cb0ef41Sopenharmony_ci<tr><td>v14.0.0</td>
10541cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
10551cb0ef41Sopenharmony_ci<tr><td>v7.0.0</td>
10561cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
10571cb0ef41Sopenharmony_ci</tbody></table>
10581cb0ef41Sopenharmony_ci</details>
10591cb0ef41Sopenharmony_ci</div>
10601cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
10611cb0ef41Sopenharmony_ci<p>The <code>os.tmpDir()</code> API was deprecated in Node.js 7.0.0 and has since been
10621cb0ef41Sopenharmony_ciremoved. Please use <a href="os.html#ostmpdir"><code>os.tmpdir()</code></a> instead.</p>
10631cb0ef41Sopenharmony_ci<h4 id="DEP0023">DEP0023: <code>os.getNetworkInterfaces()</code><span><a class="mark" href="#dep0023-osgetnetworkinterfaces" id="dep0023-osgetnetworkinterfaces">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0023_os_getnetworkinterfaces"></a></h4>
10641cb0ef41Sopenharmony_ci<div class="api_metadata">
10651cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
10661cb0ef41Sopenharmony_ci<table>
10671cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
10681cb0ef41Sopenharmony_ci<tr><td>v12.0.0</td>
10691cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
10701cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
10711cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
10721cb0ef41Sopenharmony_ci<tr><td>v0.6.0</td>
10731cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
10741cb0ef41Sopenharmony_ci</tbody></table>
10751cb0ef41Sopenharmony_ci</details>
10761cb0ef41Sopenharmony_ci</div>
10771cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
10781cb0ef41Sopenharmony_ci<p>The <code>os.getNetworkInterfaces()</code> method is deprecated. Please use the
10791cb0ef41Sopenharmony_ci<a href="os.html#osnetworkinterfaces"><code>os.networkInterfaces()</code></a> method instead.</p>
10801cb0ef41Sopenharmony_ci<h4 id="DEP0024">DEP0024: <code>REPLServer.prototype.convertToContext()</code><span><a class="mark" href="#dep0024-replserverprototypeconverttocontext" id="dep0024-replserverprototypeconverttocontext">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0024_replserver_prototype_converttocontext"></a></h4>
10811cb0ef41Sopenharmony_ci<div class="api_metadata">
10821cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
10831cb0ef41Sopenharmony_ci<table>
10841cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
10851cb0ef41Sopenharmony_ci<tr><td>v9.0.0</td>
10861cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
10871cb0ef41Sopenharmony_ci<tr><td>v7.0.0</td>
10881cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
10891cb0ef41Sopenharmony_ci</tbody></table>
10901cb0ef41Sopenharmony_ci</details>
10911cb0ef41Sopenharmony_ci</div>
10921cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
10931cb0ef41Sopenharmony_ci<p>The <code>REPLServer.prototype.convertToContext()</code> API has been removed.</p>
10941cb0ef41Sopenharmony_ci<h4 id="DEP0025">DEP0025: <code>require('node:sys')</code><span><a class="mark" href="#dep0025-requirenodesys" id="dep0025-requirenodesys">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0025_require_node_sys"></a></h4>
10951cb0ef41Sopenharmony_ci<div class="api_metadata">
10961cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
10971cb0ef41Sopenharmony_ci<table>
10981cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
10991cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
11001cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
11011cb0ef41Sopenharmony_ci<tr><td>v1.0.0</td>
11021cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
11031cb0ef41Sopenharmony_ci</tbody></table>
11041cb0ef41Sopenharmony_ci</details>
11051cb0ef41Sopenharmony_ci</div>
11061cb0ef41Sopenharmony_ci<p>Type: Runtime</p>
11071cb0ef41Sopenharmony_ci<p>The <code>node:sys</code> module is deprecated. Please use the <a href="util.html"><code>util</code></a> module instead.</p>
11081cb0ef41Sopenharmony_ci<h4 id="DEP0026">DEP0026: <code>util.print()</code><span><a class="mark" href="#dep0026-utilprint" id="dep0026-utilprint">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0026_util_print"></a></h4>
11091cb0ef41Sopenharmony_ci<div class="api_metadata">
11101cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
11111cb0ef41Sopenharmony_ci<table>
11121cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
11131cb0ef41Sopenharmony_ci<tr><td>v12.0.0</td>
11141cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
11151cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
11161cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
11171cb0ef41Sopenharmony_ci<tr><td>v0.11.3</td>
11181cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
11191cb0ef41Sopenharmony_ci</tbody></table>
11201cb0ef41Sopenharmony_ci</details>
11211cb0ef41Sopenharmony_ci</div>
11221cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
11231cb0ef41Sopenharmony_ci<p><code>util.print()</code> has been removed. Please use <a href="console.html#consolelogdata-args"><code>console.log()</code></a> instead.</p>
11241cb0ef41Sopenharmony_ci<h4 id="DEP0027">DEP0027: <code>util.puts()</code><span><a class="mark" href="#dep0027-utilputs" id="dep0027-utilputs">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0027_util_puts"></a></h4>
11251cb0ef41Sopenharmony_ci<div class="api_metadata">
11261cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
11271cb0ef41Sopenharmony_ci<table>
11281cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
11291cb0ef41Sopenharmony_ci<tr><td>v12.0.0</td>
11301cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
11311cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
11321cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
11331cb0ef41Sopenharmony_ci<tr><td>v0.11.3</td>
11341cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
11351cb0ef41Sopenharmony_ci</tbody></table>
11361cb0ef41Sopenharmony_ci</details>
11371cb0ef41Sopenharmony_ci</div>
11381cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
11391cb0ef41Sopenharmony_ci<p><code>util.puts()</code> has been removed. Please use <a href="console.html#consolelogdata-args"><code>console.log()</code></a> instead.</p>
11401cb0ef41Sopenharmony_ci<h4 id="DEP0028">DEP0028: <code>util.debug()</code><span><a class="mark" href="#dep0028-utildebug" id="dep0028-utildebug">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0028_util_debug"></a></h4>
11411cb0ef41Sopenharmony_ci<div class="api_metadata">
11421cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
11431cb0ef41Sopenharmony_ci<table>
11441cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
11451cb0ef41Sopenharmony_ci<tr><td>v12.0.0</td>
11461cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
11471cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
11481cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
11491cb0ef41Sopenharmony_ci<tr><td>v0.11.3</td>
11501cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
11511cb0ef41Sopenharmony_ci</tbody></table>
11521cb0ef41Sopenharmony_ci</details>
11531cb0ef41Sopenharmony_ci</div>
11541cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
11551cb0ef41Sopenharmony_ci<p><code>util.debug()</code> has been removed. Please use <a href="console.html#consoleerrordata-args"><code>console.error()</code></a> instead.</p>
11561cb0ef41Sopenharmony_ci<h4 id="DEP0029">DEP0029: <code>util.error()</code><span><a class="mark" href="#dep0029-utilerror" id="dep0029-utilerror">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0029_util_error"></a></h4>
11571cb0ef41Sopenharmony_ci<div class="api_metadata">
11581cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
11591cb0ef41Sopenharmony_ci<table>
11601cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
11611cb0ef41Sopenharmony_ci<tr><td>v12.0.0</td>
11621cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
11631cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
11641cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
11651cb0ef41Sopenharmony_ci<tr><td>v0.11.3</td>
11661cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
11671cb0ef41Sopenharmony_ci</tbody></table>
11681cb0ef41Sopenharmony_ci</details>
11691cb0ef41Sopenharmony_ci</div>
11701cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
11711cb0ef41Sopenharmony_ci<p><code>util.error()</code> has been removed. Please use <a href="console.html#consoleerrordata-args"><code>console.error()</code></a> instead.</p>
11721cb0ef41Sopenharmony_ci<h4 id="DEP0030">DEP0030: <code>SlowBuffer</code><span><a class="mark" href="#dep0030-slowbuffer" id="dep0030-slowbuffer">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0030_slowbuffer"></a></h4>
11731cb0ef41Sopenharmony_ci<div class="api_metadata">
11741cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
11751cb0ef41Sopenharmony_ci<table>
11761cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
11771cb0ef41Sopenharmony_ci<tr><td>v6.12.0</td>
11781cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
11791cb0ef41Sopenharmony_ci<tr><td>v6.0.0</td>
11801cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
11811cb0ef41Sopenharmony_ci</tbody></table>
11821cb0ef41Sopenharmony_ci</details>
11831cb0ef41Sopenharmony_ci</div>
11841cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
11851cb0ef41Sopenharmony_ci<p>The <a href="buffer.html#class-slowbuffer"><code>SlowBuffer</code></a> class is deprecated. Please use
11861cb0ef41Sopenharmony_ci<a href="buffer.html#static-method-bufferallocunsafeslowsize"><code>Buffer.allocUnsafeSlow(size)</code></a> instead.</p>
11871cb0ef41Sopenharmony_ci<h4 id="DEP0031">DEP0031: <code>ecdh.setPublicKey()</code><span><a class="mark" href="#dep0031-ecdhsetpublickey" id="dep0031-ecdhsetpublickey">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0031_ecdh_setpublickey"></a></h4>
11881cb0ef41Sopenharmony_ci<div class="api_metadata">
11891cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
11901cb0ef41Sopenharmony_ci<table>
11911cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
11921cb0ef41Sopenharmony_ci<tr><td>v6.12.0</td>
11931cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
11941cb0ef41Sopenharmony_ci<tr><td>v5.2.0</td>
11951cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
11961cb0ef41Sopenharmony_ci</tbody></table>
11971cb0ef41Sopenharmony_ci</details>
11981cb0ef41Sopenharmony_ci</div>
11991cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
12001cb0ef41Sopenharmony_ci<p>The <a href="crypto.html#ecdhsetpublickeypublickey-encoding"><code>ecdh.setPublicKey()</code></a> method is now deprecated as its inclusion in the
12011cb0ef41Sopenharmony_ciAPI is not useful.</p>
12021cb0ef41Sopenharmony_ci<h4 id="DEP0032">DEP0032: <code>node:domain</code> module<span><a class="mark" href="#dep0032-nodedomain-module" id="dep0032-nodedomain-module">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0032_node_domain_module"></a></h4>
12031cb0ef41Sopenharmony_ci<div class="api_metadata">
12041cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
12051cb0ef41Sopenharmony_ci<table>
12061cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
12071cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
12081cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
12091cb0ef41Sopenharmony_ci<tr><td>v1.4.2</td>
12101cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
12111cb0ef41Sopenharmony_ci</tbody></table>
12121cb0ef41Sopenharmony_ci</details>
12131cb0ef41Sopenharmony_ci</div>
12141cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
12151cb0ef41Sopenharmony_ci<p>The <a href="domain.html"><code>domain</code></a> module is deprecated and should not be used.</p>
12161cb0ef41Sopenharmony_ci<h4 id="DEP0033">DEP0033: <code>EventEmitter.listenerCount()</code><span><a class="mark" href="#dep0033-eventemitterlistenercount" id="dep0033-eventemitterlistenercount">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0033_eventemitter_listenercount"></a></h4>
12171cb0ef41Sopenharmony_ci<div class="api_metadata">
12181cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
12191cb0ef41Sopenharmony_ci<table>
12201cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
12211cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
12221cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
12231cb0ef41Sopenharmony_ci<tr><td>v3.2.0</td>
12241cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
12251cb0ef41Sopenharmony_ci</tbody></table>
12261cb0ef41Sopenharmony_ci</details>
12271cb0ef41Sopenharmony_ci</div>
12281cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
12291cb0ef41Sopenharmony_ci<p>The <a href="events.html#eventslistenercountemitter-eventname"><code>events.listenerCount(emitter, eventName)</code></a> API is
12301cb0ef41Sopenharmony_cideprecated. Please use <a href="events.html#emitterlistenercounteventname-listener"><code>emitter.listenerCount(eventName)</code></a> instead.</p>
12311cb0ef41Sopenharmony_ci<h4 id="DEP0034">DEP0034: <code>fs.exists(path, callback)</code><span><a class="mark" href="#dep0034-fsexistspath-callback" id="dep0034-fsexistspath-callback">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0034_fs_exists_path_callback"></a></h4>
12321cb0ef41Sopenharmony_ci<div class="api_metadata">
12331cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
12341cb0ef41Sopenharmony_ci<table>
12351cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
12361cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
12371cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
12381cb0ef41Sopenharmony_ci<tr><td>v1.0.0</td>
12391cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
12401cb0ef41Sopenharmony_ci</tbody></table>
12411cb0ef41Sopenharmony_ci</details>
12421cb0ef41Sopenharmony_ci</div>
12431cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
12441cb0ef41Sopenharmony_ci<p>The <a href="fs.html#fsexistspath-callback"><code>fs.exists(path, callback)</code></a> API is deprecated. Please use
12451cb0ef41Sopenharmony_ci<a href="fs.html#fsstatpath-options-callback"><code>fs.stat()</code></a> or <a href="fs.html#fsaccesspath-mode-callback"><code>fs.access()</code></a> instead.</p>
12461cb0ef41Sopenharmony_ci<h4 id="DEP0035">DEP0035: <code>fs.lchmod(path, mode, callback)</code><span><a class="mark" href="#dep0035-fslchmodpath-mode-callback" id="dep0035-fslchmodpath-mode-callback">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0035_fs_lchmod_path_mode_callback"></a></h4>
12471cb0ef41Sopenharmony_ci<div class="api_metadata">
12481cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
12491cb0ef41Sopenharmony_ci<table>
12501cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
12511cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
12521cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
12531cb0ef41Sopenharmony_ci<tr><td>v0.4.7</td>
12541cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
12551cb0ef41Sopenharmony_ci</tbody></table>
12561cb0ef41Sopenharmony_ci</details>
12571cb0ef41Sopenharmony_ci</div>
12581cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
12591cb0ef41Sopenharmony_ci<p>The <a href="fs.html#fslchmodpath-mode-callback"><code>fs.lchmod(path, mode, callback)</code></a> API is deprecated.</p>
12601cb0ef41Sopenharmony_ci<h4 id="DEP0036">DEP0036: <code>fs.lchmodSync(path, mode)</code><span><a class="mark" href="#dep0036-fslchmodsyncpath-mode" id="dep0036-fslchmodsyncpath-mode">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0036_fs_lchmodsync_path_mode"></a></h4>
12611cb0ef41Sopenharmony_ci<div class="api_metadata">
12621cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
12631cb0ef41Sopenharmony_ci<table>
12641cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
12651cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
12661cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
12671cb0ef41Sopenharmony_ci<tr><td>v0.4.7</td>
12681cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
12691cb0ef41Sopenharmony_ci</tbody></table>
12701cb0ef41Sopenharmony_ci</details>
12711cb0ef41Sopenharmony_ci</div>
12721cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
12731cb0ef41Sopenharmony_ci<p>The <a href="fs.html#fslchmodsyncpath-mode"><code>fs.lchmodSync(path, mode)</code></a> API is deprecated.</p>
12741cb0ef41Sopenharmony_ci<h4 id="DEP0037">DEP0037: <code>fs.lchown(path, uid, gid, callback)</code><span><a class="mark" href="#dep0037-fslchownpath-uid-gid-callback" id="dep0037-fslchownpath-uid-gid-callback">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0037_fs_lchown_path_uid_gid_callback"></a></h4>
12751cb0ef41Sopenharmony_ci<div class="api_metadata">
12761cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
12771cb0ef41Sopenharmony_ci<table>
12781cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
12791cb0ef41Sopenharmony_ci<tr><td>v10.6.0</td>
12801cb0ef41Sopenharmony_ci<td><p>Deprecation revoked.</p></td></tr>
12811cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
12821cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
12831cb0ef41Sopenharmony_ci<tr><td>v0.4.7</td>
12841cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
12851cb0ef41Sopenharmony_ci</tbody></table>
12861cb0ef41Sopenharmony_ci</details>
12871cb0ef41Sopenharmony_ci</div>
12881cb0ef41Sopenharmony_ci<p>Type: Deprecation revoked</p>
12891cb0ef41Sopenharmony_ci<p>The <a href="fs.html#fslchownpath-uid-gid-callback"><code>fs.lchown(path, uid, gid, callback)</code></a> API was deprecated. The
12901cb0ef41Sopenharmony_cideprecation was revoked because the requisite supporting APIs were added in
12911cb0ef41Sopenharmony_cilibuv.</p>
12921cb0ef41Sopenharmony_ci<h4 id="DEP0038">DEP0038: <code>fs.lchownSync(path, uid, gid)</code><span><a class="mark" href="#dep0038-fslchownsyncpath-uid-gid" id="dep0038-fslchownsyncpath-uid-gid">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0038_fs_lchownsync_path_uid_gid"></a></h4>
12931cb0ef41Sopenharmony_ci<div class="api_metadata">
12941cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
12951cb0ef41Sopenharmony_ci<table>
12961cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
12971cb0ef41Sopenharmony_ci<tr><td>v10.6.0</td>
12981cb0ef41Sopenharmony_ci<td><p>Deprecation revoked.</p></td></tr>
12991cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
13001cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
13011cb0ef41Sopenharmony_ci<tr><td>v0.4.7</td>
13021cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
13031cb0ef41Sopenharmony_ci</tbody></table>
13041cb0ef41Sopenharmony_ci</details>
13051cb0ef41Sopenharmony_ci</div>
13061cb0ef41Sopenharmony_ci<p>Type: Deprecation revoked</p>
13071cb0ef41Sopenharmony_ci<p>The <a href="fs.html#fslchownsyncpath-uid-gid"><code>fs.lchownSync(path, uid, gid)</code></a> API was deprecated. The deprecation was
13081cb0ef41Sopenharmony_cirevoked because the requisite supporting APIs were added in libuv.</p>
13091cb0ef41Sopenharmony_ci<h4 id="DEP0039">DEP0039: <code>require.extensions</code><span><a class="mark" href="#dep0039-requireextensions" id="dep0039-requireextensions">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0039_require_extensions"></a></h4>
13101cb0ef41Sopenharmony_ci<div class="api_metadata">
13111cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
13121cb0ef41Sopenharmony_ci<table>
13131cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
13141cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
13151cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
13161cb0ef41Sopenharmony_ci<tr><td>v0.10.6</td>
13171cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
13181cb0ef41Sopenharmony_ci</tbody></table>
13191cb0ef41Sopenharmony_ci</details>
13201cb0ef41Sopenharmony_ci</div>
13211cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
13221cb0ef41Sopenharmony_ci<p>The <a href="modules.html#requireextensions"><code>require.extensions</code></a> property is deprecated.</p>
13231cb0ef41Sopenharmony_ci<h4 id="DEP0040">DEP0040: <code>node:punycode</code> module<span><a class="mark" href="#dep0040-nodepunycode-module" id="dep0040-nodepunycode-module">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0040_node_punycode_module"></a></h4>
13241cb0ef41Sopenharmony_ci<div class="api_metadata">
13251cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
13261cb0ef41Sopenharmony_ci<table>
13271cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
13281cb0ef41Sopenharmony_ci<tr><td>v16.6.0</td>
13291cb0ef41Sopenharmony_ci<td><p>Added support for <code>--pending-deprecation</code>.</p></td></tr>
13301cb0ef41Sopenharmony_ci<tr><td>v7.0.0</td>
13311cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
13321cb0ef41Sopenharmony_ci</tbody></table>
13331cb0ef41Sopenharmony_ci</details>
13341cb0ef41Sopenharmony_ci</div>
13351cb0ef41Sopenharmony_ci<p>Type: Documentation-only (supports <a href="cli.html#--pending-deprecation"><code>--pending-deprecation</code></a>)</p>
13361cb0ef41Sopenharmony_ci<p>The <a href="punycode.html"><code>punycode</code></a> module is deprecated. Please use a userland alternative
13371cb0ef41Sopenharmony_ciinstead.</p>
13381cb0ef41Sopenharmony_ci<h4 id="DEP0041">DEP0041: <code>NODE_REPL_HISTORY_FILE</code> environment variable<span><a class="mark" href="#dep0041-node_repl_history_file-environment-variable" id="dep0041-node_repl_history_file-environment-variable">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0041_node_repl_history_file_environment_variable"></a></h4>
13391cb0ef41Sopenharmony_ci<div class="api_metadata">
13401cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
13411cb0ef41Sopenharmony_ci<table>
13421cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
13431cb0ef41Sopenharmony_ci<tr><td>v10.0.0</td>
13441cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
13451cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
13461cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
13471cb0ef41Sopenharmony_ci<tr><td>v3.0.0</td>
13481cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
13491cb0ef41Sopenharmony_ci</tbody></table>
13501cb0ef41Sopenharmony_ci</details>
13511cb0ef41Sopenharmony_ci</div>
13521cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
13531cb0ef41Sopenharmony_ci<p>The <code>NODE_REPL_HISTORY_FILE</code> environment variable was removed. Please use
13541cb0ef41Sopenharmony_ci<code>NODE_REPL_HISTORY</code> instead.</p>
13551cb0ef41Sopenharmony_ci<h4 id="DEP0042">DEP0042: <code>tls.CryptoStream</code><span><a class="mark" href="#dep0042-tlscryptostream" id="dep0042-tlscryptostream">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0042_tls_cryptostream"></a></h4>
13561cb0ef41Sopenharmony_ci<div class="api_metadata">
13571cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
13581cb0ef41Sopenharmony_ci<table>
13591cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
13601cb0ef41Sopenharmony_ci<tr><td>v10.0.0</td>
13611cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
13621cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
13631cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
13641cb0ef41Sopenharmony_ci<tr><td>v0.11.3</td>
13651cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
13661cb0ef41Sopenharmony_ci</tbody></table>
13671cb0ef41Sopenharmony_ci</details>
13681cb0ef41Sopenharmony_ci</div>
13691cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
13701cb0ef41Sopenharmony_ci<p>The <a href="tls.html#class-tlscryptostream"><code>tls.CryptoStream</code></a> class was removed. Please use
13711cb0ef41Sopenharmony_ci<a href="tls.html#class-tlstlssocket"><code>tls.TLSSocket</code></a> instead.</p>
13721cb0ef41Sopenharmony_ci<h4 id="DEP0043">DEP0043: <code>tls.SecurePair</code><span><a class="mark" href="#dep0043-tlssecurepair" id="dep0043-tlssecurepair">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0043_tls_securepair"></a></h4>
13731cb0ef41Sopenharmony_ci<div class="api_metadata">
13741cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
13751cb0ef41Sopenharmony_ci<table>
13761cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
13771cb0ef41Sopenharmony_ci<tr><td>v8.0.0</td>
13781cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
13791cb0ef41Sopenharmony_ci<tr><td>v6.12.0</td>
13801cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
13811cb0ef41Sopenharmony_ci<tr><td>v6.0.0</td>
13821cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
13831cb0ef41Sopenharmony_ci<tr><td>v0.11.15</td>
13841cb0ef41Sopenharmony_ci<td><p>Deprecation revoked.</p></td></tr>
13851cb0ef41Sopenharmony_ci<tr><td>v0.11.3</td>
13861cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
13871cb0ef41Sopenharmony_ci</tbody></table>
13881cb0ef41Sopenharmony_ci</details>
13891cb0ef41Sopenharmony_ci</div>
13901cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
13911cb0ef41Sopenharmony_ci<p>The <a href="tls.html#class-tlssecurepair"><code>tls.SecurePair</code></a> class is deprecated. Please use
13921cb0ef41Sopenharmony_ci<a href="tls.html#class-tlstlssocket"><code>tls.TLSSocket</code></a> instead.</p>
13931cb0ef41Sopenharmony_ci<h4 id="DEP0044">DEP0044: <code>util.isArray()</code><span><a class="mark" href="#dep0044-utilisarray" id="dep0044-utilisarray">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0044_util_isarray"></a></h4>
13941cb0ef41Sopenharmony_ci<div class="api_metadata">
13951cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
13961cb0ef41Sopenharmony_ci<table>
13971cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
13981cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
13991cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
14001cb0ef41Sopenharmony_ci<tr><td>v4.0.0, v3.3.1</td>
14011cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
14021cb0ef41Sopenharmony_ci</tbody></table>
14031cb0ef41Sopenharmony_ci</details>
14041cb0ef41Sopenharmony_ci</div>
14051cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
14061cb0ef41Sopenharmony_ci<p>The <a href="util.html#utilisarrayobject"><code>util.isArray()</code></a> API is deprecated. Please use <code>Array.isArray()</code>
14071cb0ef41Sopenharmony_ciinstead.</p>
14081cb0ef41Sopenharmony_ci<h4 id="DEP0045">DEP0045: <code>util.isBoolean()</code><span><a class="mark" href="#dep0045-utilisboolean" id="dep0045-utilisboolean">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0045_util_isboolean"></a></h4>
14091cb0ef41Sopenharmony_ci<div class="api_metadata">
14101cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
14111cb0ef41Sopenharmony_ci<table>
14121cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
14131cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
14141cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
14151cb0ef41Sopenharmony_ci<tr><td>v4.0.0, v3.3.1</td>
14161cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
14171cb0ef41Sopenharmony_ci</tbody></table>
14181cb0ef41Sopenharmony_ci</details>
14191cb0ef41Sopenharmony_ci</div>
14201cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
14211cb0ef41Sopenharmony_ci<p>The <a href="util.html#utilisbooleanobject"><code>util.isBoolean()</code></a> API is deprecated.</p>
14221cb0ef41Sopenharmony_ci<h4 id="DEP0046">DEP0046: <code>util.isBuffer()</code><span><a class="mark" href="#dep0046-utilisbuffer" id="dep0046-utilisbuffer">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0046_util_isbuffer"></a></h4>
14231cb0ef41Sopenharmony_ci<div class="api_metadata">
14241cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
14251cb0ef41Sopenharmony_ci<table>
14261cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
14271cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
14281cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
14291cb0ef41Sopenharmony_ci<tr><td>v4.0.0, v3.3.1</td>
14301cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
14311cb0ef41Sopenharmony_ci</tbody></table>
14321cb0ef41Sopenharmony_ci</details>
14331cb0ef41Sopenharmony_ci</div>
14341cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
14351cb0ef41Sopenharmony_ci<p>The <a href="util.html#utilisbufferobject"><code>util.isBuffer()</code></a> API is deprecated. Please use
14361cb0ef41Sopenharmony_ci<a href="buffer.html#static-method-bufferisbufferobj"><code>Buffer.isBuffer()</code></a> instead.</p>
14371cb0ef41Sopenharmony_ci<h4 id="DEP0047">DEP0047: <code>util.isDate()</code><span><a class="mark" href="#dep0047-utilisdate" id="dep0047-utilisdate">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0047_util_isdate"></a></h4>
14381cb0ef41Sopenharmony_ci<div class="api_metadata">
14391cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
14401cb0ef41Sopenharmony_ci<table>
14411cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
14421cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
14431cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
14441cb0ef41Sopenharmony_ci<tr><td>v4.0.0, v3.3.1</td>
14451cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
14461cb0ef41Sopenharmony_ci</tbody></table>
14471cb0ef41Sopenharmony_ci</details>
14481cb0ef41Sopenharmony_ci</div>
14491cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
14501cb0ef41Sopenharmony_ci<p>The <a href="util.html#utilisdateobject"><code>util.isDate()</code></a> API is deprecated.</p>
14511cb0ef41Sopenharmony_ci<h4 id="DEP0048">DEP0048: <code>util.isError()</code><span><a class="mark" href="#dep0048-utiliserror" id="dep0048-utiliserror">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0048_util_iserror"></a></h4>
14521cb0ef41Sopenharmony_ci<div class="api_metadata">
14531cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
14541cb0ef41Sopenharmony_ci<table>
14551cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
14561cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
14571cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
14581cb0ef41Sopenharmony_ci<tr><td>v4.0.0, v3.3.1</td>
14591cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
14601cb0ef41Sopenharmony_ci</tbody></table>
14611cb0ef41Sopenharmony_ci</details>
14621cb0ef41Sopenharmony_ci</div>
14631cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
14641cb0ef41Sopenharmony_ci<p>The <a href="util.html#utiliserrorobject"><code>util.isError()</code></a> API is deprecated.</p>
14651cb0ef41Sopenharmony_ci<h4 id="DEP0049">DEP0049: <code>util.isFunction()</code><span><a class="mark" href="#dep0049-utilisfunction" id="dep0049-utilisfunction">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0049_util_isfunction"></a></h4>
14661cb0ef41Sopenharmony_ci<div class="api_metadata">
14671cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
14681cb0ef41Sopenharmony_ci<table>
14691cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
14701cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
14711cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
14721cb0ef41Sopenharmony_ci<tr><td>v4.0.0, v3.3.1</td>
14731cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
14741cb0ef41Sopenharmony_ci</tbody></table>
14751cb0ef41Sopenharmony_ci</details>
14761cb0ef41Sopenharmony_ci</div>
14771cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
14781cb0ef41Sopenharmony_ci<p>The <a href="util.html#utilisfunctionobject"><code>util.isFunction()</code></a> API is deprecated.</p>
14791cb0ef41Sopenharmony_ci<h4 id="DEP0050">DEP0050: <code>util.isNull()</code><span><a class="mark" href="#dep0050-utilisnull" id="dep0050-utilisnull">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0050_util_isnull"></a></h4>
14801cb0ef41Sopenharmony_ci<div class="api_metadata">
14811cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
14821cb0ef41Sopenharmony_ci<table>
14831cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
14841cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
14851cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
14861cb0ef41Sopenharmony_ci<tr><td>v4.0.0, v3.3.1</td>
14871cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
14881cb0ef41Sopenharmony_ci</tbody></table>
14891cb0ef41Sopenharmony_ci</details>
14901cb0ef41Sopenharmony_ci</div>
14911cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
14921cb0ef41Sopenharmony_ci<p>The <a href="util.html#utilisnullobject"><code>util.isNull()</code></a> API is deprecated.</p>
14931cb0ef41Sopenharmony_ci<h4 id="DEP0051">DEP0051: <code>util.isNullOrUndefined()</code><span><a class="mark" href="#dep0051-utilisnullorundefined" id="dep0051-utilisnullorundefined">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0051_util_isnullorundefined"></a></h4>
14941cb0ef41Sopenharmony_ci<div class="api_metadata">
14951cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
14961cb0ef41Sopenharmony_ci<table>
14971cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
14981cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
14991cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
15001cb0ef41Sopenharmony_ci<tr><td>v4.0.0, v3.3.1</td>
15011cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
15021cb0ef41Sopenharmony_ci</tbody></table>
15031cb0ef41Sopenharmony_ci</details>
15041cb0ef41Sopenharmony_ci</div>
15051cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
15061cb0ef41Sopenharmony_ci<p>The <a href="util.html#utilisnullorundefinedobject"><code>util.isNullOrUndefined()</code></a> API is deprecated.</p>
15071cb0ef41Sopenharmony_ci<h4 id="DEP0052">DEP0052: <code>util.isNumber()</code><span><a class="mark" href="#dep0052-utilisnumber" id="dep0052-utilisnumber">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0052_util_isnumber"></a></h4>
15081cb0ef41Sopenharmony_ci<div class="api_metadata">
15091cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
15101cb0ef41Sopenharmony_ci<table>
15111cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
15121cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
15131cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
15141cb0ef41Sopenharmony_ci<tr><td>v4.0.0, v3.3.1</td>
15151cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
15161cb0ef41Sopenharmony_ci</tbody></table>
15171cb0ef41Sopenharmony_ci</details>
15181cb0ef41Sopenharmony_ci</div>
15191cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
15201cb0ef41Sopenharmony_ci<p>The <a href="util.html#utilisnumberobject"><code>util.isNumber()</code></a> API is deprecated.</p>
15211cb0ef41Sopenharmony_ci<h4 id="DEP0053">DEP0053: <code>util.isObject()</code><span><a class="mark" href="#dep0053-utilisobject" id="dep0053-utilisobject">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0053_util_isobject"></a></h4>
15221cb0ef41Sopenharmony_ci<div class="api_metadata">
15231cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
15241cb0ef41Sopenharmony_ci<table>
15251cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
15261cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
15271cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
15281cb0ef41Sopenharmony_ci<tr><td>v4.0.0, v3.3.1</td>
15291cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
15301cb0ef41Sopenharmony_ci</tbody></table>
15311cb0ef41Sopenharmony_ci</details>
15321cb0ef41Sopenharmony_ci</div>
15331cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
15341cb0ef41Sopenharmony_ci<p>The <a href="util.html#utilisobjectobject"><code>util.isObject()</code></a> API is deprecated.</p>
15351cb0ef41Sopenharmony_ci<h4 id="DEP0054">DEP0054: <code>util.isPrimitive()</code><span><a class="mark" href="#dep0054-utilisprimitive" id="dep0054-utilisprimitive">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0054_util_isprimitive"></a></h4>
15361cb0ef41Sopenharmony_ci<div class="api_metadata">
15371cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
15381cb0ef41Sopenharmony_ci<table>
15391cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
15401cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
15411cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
15421cb0ef41Sopenharmony_ci<tr><td>v4.0.0, v3.3.1</td>
15431cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
15441cb0ef41Sopenharmony_ci</tbody></table>
15451cb0ef41Sopenharmony_ci</details>
15461cb0ef41Sopenharmony_ci</div>
15471cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
15481cb0ef41Sopenharmony_ci<p>The <a href="util.html#utilisprimitiveobject"><code>util.isPrimitive()</code></a> API is deprecated.</p>
15491cb0ef41Sopenharmony_ci<h4 id="DEP0055">DEP0055: <code>util.isRegExp()</code><span><a class="mark" href="#dep0055-utilisregexp" id="dep0055-utilisregexp">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0055_util_isregexp"></a></h4>
15501cb0ef41Sopenharmony_ci<div class="api_metadata">
15511cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
15521cb0ef41Sopenharmony_ci<table>
15531cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
15541cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
15551cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
15561cb0ef41Sopenharmony_ci<tr><td>v4.0.0, v3.3.1</td>
15571cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
15581cb0ef41Sopenharmony_ci</tbody></table>
15591cb0ef41Sopenharmony_ci</details>
15601cb0ef41Sopenharmony_ci</div>
15611cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
15621cb0ef41Sopenharmony_ci<p>The <a href="util.html#utilisregexpobject"><code>util.isRegExp()</code></a> API is deprecated.</p>
15631cb0ef41Sopenharmony_ci<h4 id="DEP0056">DEP0056: <code>util.isString()</code><span><a class="mark" href="#dep0056-utilisstring" id="dep0056-utilisstring">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0056_util_isstring"></a></h4>
15641cb0ef41Sopenharmony_ci<div class="api_metadata">
15651cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
15661cb0ef41Sopenharmony_ci<table>
15671cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
15681cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
15691cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
15701cb0ef41Sopenharmony_ci<tr><td>v4.0.0, v3.3.1</td>
15711cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
15721cb0ef41Sopenharmony_ci</tbody></table>
15731cb0ef41Sopenharmony_ci</details>
15741cb0ef41Sopenharmony_ci</div>
15751cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
15761cb0ef41Sopenharmony_ci<p>The <a href="util.html#utilisstringobject"><code>util.isString()</code></a> API is deprecated.</p>
15771cb0ef41Sopenharmony_ci<h4 id="DEP0057">DEP0057: <code>util.isSymbol()</code><span><a class="mark" href="#dep0057-utilissymbol" id="dep0057-utilissymbol">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0057_util_issymbol"></a></h4>
15781cb0ef41Sopenharmony_ci<div class="api_metadata">
15791cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
15801cb0ef41Sopenharmony_ci<table>
15811cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
15821cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
15831cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
15841cb0ef41Sopenharmony_ci<tr><td>v4.0.0, v3.3.1</td>
15851cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
15861cb0ef41Sopenharmony_ci</tbody></table>
15871cb0ef41Sopenharmony_ci</details>
15881cb0ef41Sopenharmony_ci</div>
15891cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
15901cb0ef41Sopenharmony_ci<p>The <a href="util.html#utilissymbolobject"><code>util.isSymbol()</code></a> API is deprecated.</p>
15911cb0ef41Sopenharmony_ci<h4 id="DEP0058">DEP0058: <code>util.isUndefined()</code><span><a class="mark" href="#dep0058-utilisundefined" id="dep0058-utilisundefined">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0058_util_isundefined"></a></h4>
15921cb0ef41Sopenharmony_ci<div class="api_metadata">
15931cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
15941cb0ef41Sopenharmony_ci<table>
15951cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
15961cb0ef41Sopenharmony_ci<tr><td>v6.12.0, v4.8.6</td>
15971cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
15981cb0ef41Sopenharmony_ci<tr><td>v4.0.0, v3.3.1</td>
15991cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
16001cb0ef41Sopenharmony_ci</tbody></table>
16011cb0ef41Sopenharmony_ci</details>
16021cb0ef41Sopenharmony_ci</div>
16031cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
16041cb0ef41Sopenharmony_ci<p>The <a href="util.html#utilisundefinedobject"><code>util.isUndefined()</code></a> API is deprecated.</p>
16051cb0ef41Sopenharmony_ci<h4 id="DEP0059">DEP0059: <code>util.log()</code><span><a class="mark" href="#dep0059-utillog" id="dep0059-utillog">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0059_util_log"></a></h4>
16061cb0ef41Sopenharmony_ci<div class="api_metadata">
16071cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
16081cb0ef41Sopenharmony_ci<table>
16091cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
16101cb0ef41Sopenharmony_ci<tr><td>v6.12.0</td>
16111cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
16121cb0ef41Sopenharmony_ci<tr><td>v6.0.0</td>
16131cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
16141cb0ef41Sopenharmony_ci</tbody></table>
16151cb0ef41Sopenharmony_ci</details>
16161cb0ef41Sopenharmony_ci</div>
16171cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
16181cb0ef41Sopenharmony_ci<p>The <a href="util.html#utillogstring"><code>util.log()</code></a> API is deprecated.</p>
16191cb0ef41Sopenharmony_ci<h4 id="DEP0060">DEP0060: <code>util._extend()</code><span><a class="mark" href="#dep0060-util_extend" id="dep0060-util_extend">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0060_util_extend"></a></h4>
16201cb0ef41Sopenharmony_ci<div class="api_metadata">
16211cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
16221cb0ef41Sopenharmony_ci<table>
16231cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
16241cb0ef41Sopenharmony_ci<tr><td>v6.12.0</td>
16251cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
16261cb0ef41Sopenharmony_ci<tr><td>v6.0.0</td>
16271cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
16281cb0ef41Sopenharmony_ci</tbody></table>
16291cb0ef41Sopenharmony_ci</details>
16301cb0ef41Sopenharmony_ci</div>
16311cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
16321cb0ef41Sopenharmony_ci<p>The <a href="util.html#util_extendtarget-source"><code>util._extend()</code></a> API is deprecated.</p>
16331cb0ef41Sopenharmony_ci<h4 id="DEP0061">DEP0061: <code>fs.SyncWriteStream</code><span><a class="mark" href="#dep0061-fssyncwritestream" id="dep0061-fssyncwritestream">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0061_fs_syncwritestream"></a></h4>
16341cb0ef41Sopenharmony_ci<div class="api_metadata">
16351cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
16361cb0ef41Sopenharmony_ci<table>
16371cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
16381cb0ef41Sopenharmony_ci<tr><td>v11.0.0</td>
16391cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
16401cb0ef41Sopenharmony_ci<tr><td>v8.0.0</td>
16411cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
16421cb0ef41Sopenharmony_ci<tr><td>v7.0.0</td>
16431cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
16441cb0ef41Sopenharmony_ci</tbody></table>
16451cb0ef41Sopenharmony_ci</details>
16461cb0ef41Sopenharmony_ci</div>
16471cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
16481cb0ef41Sopenharmony_ci<p>The <code>fs.SyncWriteStream</code> class was never intended to be a publicly accessible
16491cb0ef41Sopenharmony_ciAPI and has been removed. No alternative API is available. Please use a userland
16501cb0ef41Sopenharmony_cialternative.</p>
16511cb0ef41Sopenharmony_ci<h4 id="DEP0062">DEP0062: <code>node --debug</code><span><a class="mark" href="#dep0062-node---debug" id="dep0062-node---debug">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0062_node_debug"></a></h4>
16521cb0ef41Sopenharmony_ci<div class="api_metadata">
16531cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
16541cb0ef41Sopenharmony_ci<table>
16551cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
16561cb0ef41Sopenharmony_ci<tr><td>v12.0.0</td>
16571cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
16581cb0ef41Sopenharmony_ci<tr><td>v8.0.0</td>
16591cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
16601cb0ef41Sopenharmony_ci</tbody></table>
16611cb0ef41Sopenharmony_ci</details>
16621cb0ef41Sopenharmony_ci</div>
16631cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
16641cb0ef41Sopenharmony_ci<p><code>--debug</code> activates the legacy V8 debugger interface, which was removed as
16651cb0ef41Sopenharmony_ciof V8 5.8. It is replaced by Inspector which is activated with <code>--inspect</code>
16661cb0ef41Sopenharmony_ciinstead.</p>
16671cb0ef41Sopenharmony_ci<h4 id="DEP0063">DEP0063: <code>ServerResponse.prototype.writeHeader()</code><span><a class="mark" href="#dep0063-serverresponseprototypewriteheader" id="dep0063-serverresponseprototypewriteheader">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0063_serverresponse_prototype_writeheader"></a></h4>
16681cb0ef41Sopenharmony_ci<div class="api_metadata">
16691cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
16701cb0ef41Sopenharmony_ci<table>
16711cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
16721cb0ef41Sopenharmony_ci<tr><td>v8.0.0</td>
16731cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
16741cb0ef41Sopenharmony_ci</tbody></table>
16751cb0ef41Sopenharmony_ci</details>
16761cb0ef41Sopenharmony_ci</div>
16771cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
16781cb0ef41Sopenharmony_ci<p>The <code>node:http</code> module <code>ServerResponse.prototype.writeHeader()</code> API is
16791cb0ef41Sopenharmony_cideprecated. Please use <code>ServerResponse.prototype.writeHead()</code> instead.</p>
16801cb0ef41Sopenharmony_ci<p>The <code>ServerResponse.prototype.writeHeader()</code> method was never documented as an
16811cb0ef41Sopenharmony_ciofficially supported API.</p>
16821cb0ef41Sopenharmony_ci<h4 id="DEP0064">DEP0064: <code>tls.createSecurePair()</code><span><a class="mark" href="#dep0064-tlscreatesecurepair" id="dep0064-tlscreatesecurepair">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0064_tls_createsecurepair"></a></h4>
16831cb0ef41Sopenharmony_ci<div class="api_metadata">
16841cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
16851cb0ef41Sopenharmony_ci<table>
16861cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
16871cb0ef41Sopenharmony_ci<tr><td>v8.0.0</td>
16881cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
16891cb0ef41Sopenharmony_ci<tr><td>v6.12.0</td>
16901cb0ef41Sopenharmony_ci<td><p>A deprecation code has been assigned.</p></td></tr>
16911cb0ef41Sopenharmony_ci<tr><td>v6.0.0</td>
16921cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
16931cb0ef41Sopenharmony_ci<tr><td>v0.11.15</td>
16941cb0ef41Sopenharmony_ci<td><p>Deprecation revoked.</p></td></tr>
16951cb0ef41Sopenharmony_ci<tr><td>v0.11.3</td>
16961cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
16971cb0ef41Sopenharmony_ci</tbody></table>
16981cb0ef41Sopenharmony_ci</details>
16991cb0ef41Sopenharmony_ci</div>
17001cb0ef41Sopenharmony_ci<p>Type: Runtime</p>
17011cb0ef41Sopenharmony_ci<p>The <code>tls.createSecurePair()</code> API was deprecated in documentation in Node.js
17021cb0ef41Sopenharmony_ci0.11.3. Users should use <code>tls.Socket</code> instead.</p>
17031cb0ef41Sopenharmony_ci<h4 id="DEP0065">DEP0065: <code>repl.REPL_MODE_MAGIC</code> and <code>NODE_REPL_MODE=magic</code><span><a class="mark" href="#dep0065-replrepl_mode_magic-and-node_repl_modemagic" id="dep0065-replrepl_mode_magic-and-node_repl_modemagic">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0065_repl_repl_mode_magic_and_node_repl_mode_magic"></a></h4>
17041cb0ef41Sopenharmony_ci<div class="api_metadata">
17051cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
17061cb0ef41Sopenharmony_ci<table>
17071cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
17081cb0ef41Sopenharmony_ci<tr><td>v10.0.0</td>
17091cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
17101cb0ef41Sopenharmony_ci<tr><td>v8.0.0</td>
17111cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
17121cb0ef41Sopenharmony_ci</tbody></table>
17131cb0ef41Sopenharmony_ci</details>
17141cb0ef41Sopenharmony_ci</div>
17151cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
17161cb0ef41Sopenharmony_ci<p>The <code>node:repl</code> module's <code>REPL_MODE_MAGIC</code> constant, used for <code>replMode</code> option,
17171cb0ef41Sopenharmony_cihas been removed. Its behavior has been functionally identical to that of
17181cb0ef41Sopenharmony_ci<code>REPL_MODE_SLOPPY</code> since Node.js 6.0.0, when V8 5.0 was imported. Please use
17191cb0ef41Sopenharmony_ci<code>REPL_MODE_SLOPPY</code> instead.</p>
17201cb0ef41Sopenharmony_ci<p>The <code>NODE_REPL_MODE</code> environment variable is used to set the underlying
17211cb0ef41Sopenharmony_ci<code>replMode</code> of an interactive <code>node</code> session. Its value, <code>magic</code>, is also
17221cb0ef41Sopenharmony_ciremoved. Please use <code>sloppy</code> instead.</p>
17231cb0ef41Sopenharmony_ci<h4 id="DEP0066">DEP0066: <code>OutgoingMessage.prototype._headers, OutgoingMessage.prototype._headerNames</code><span><a class="mark" href="#dep0066-outgoingmessageprototype_headers-outgoingmessageprototype_headernames" id="dep0066-outgoingmessageprototype_headers-outgoingmessageprototype_headernames">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0066_outgoingmessage_prototype_headers_outgoingmessage_prototype_headernames"></a></h4>
17241cb0ef41Sopenharmony_ci<div class="api_metadata">
17251cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
17261cb0ef41Sopenharmony_ci<table>
17271cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
17281cb0ef41Sopenharmony_ci<tr><td>v12.0.0</td>
17291cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
17301cb0ef41Sopenharmony_ci<tr><td>v8.0.0</td>
17311cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
17321cb0ef41Sopenharmony_ci</tbody></table>
17331cb0ef41Sopenharmony_ci</details>
17341cb0ef41Sopenharmony_ci</div>
17351cb0ef41Sopenharmony_ci<p>Type: Runtime</p>
17361cb0ef41Sopenharmony_ci<p>The <code>node:http</code> module <code>OutgoingMessage.prototype._headers</code> and
17371cb0ef41Sopenharmony_ci<code>OutgoingMessage.prototype._headerNames</code> properties are deprecated. Use one of
17381cb0ef41Sopenharmony_cithe public methods (e.g. <code>OutgoingMessage.prototype.getHeader()</code>,
17391cb0ef41Sopenharmony_ci<code>OutgoingMessage.prototype.getHeaders()</code>,
17401cb0ef41Sopenharmony_ci<code>OutgoingMessage.prototype.getHeaderNames()</code>,
17411cb0ef41Sopenharmony_ci<code>OutgoingMessage.prototype.getRawHeaderNames()</code>,
17421cb0ef41Sopenharmony_ci<code>OutgoingMessage.prototype.hasHeader()</code>,
17431cb0ef41Sopenharmony_ci<code>OutgoingMessage.prototype.removeHeader()</code>,
17441cb0ef41Sopenharmony_ci<code>OutgoingMessage.prototype.setHeader()</code>) for working with outgoing headers.</p>
17451cb0ef41Sopenharmony_ci<p>The <code>OutgoingMessage.prototype._headers</code> and
17461cb0ef41Sopenharmony_ci<code>OutgoingMessage.prototype._headerNames</code> properties were never documented as
17471cb0ef41Sopenharmony_ciofficially supported properties.</p>
17481cb0ef41Sopenharmony_ci<h4 id="DEP0067">DEP0067: <code>OutgoingMessage.prototype._renderHeaders</code><span><a class="mark" href="#dep0067-outgoingmessageprototype_renderheaders" id="dep0067-outgoingmessageprototype_renderheaders">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0067_outgoingmessage_prototype_renderheaders"></a></h4>
17491cb0ef41Sopenharmony_ci<div class="api_metadata">
17501cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
17511cb0ef41Sopenharmony_ci<table>
17521cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
17531cb0ef41Sopenharmony_ci<tr><td>v8.0.0</td>
17541cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
17551cb0ef41Sopenharmony_ci</tbody></table>
17561cb0ef41Sopenharmony_ci</details>
17571cb0ef41Sopenharmony_ci</div>
17581cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
17591cb0ef41Sopenharmony_ci<p>The <code>node:http</code> module <code>OutgoingMessage.prototype._renderHeaders()</code> API is
17601cb0ef41Sopenharmony_cideprecated.</p>
17611cb0ef41Sopenharmony_ci<p>The <code>OutgoingMessage.prototype._renderHeaders</code> property was never documented as
17621cb0ef41Sopenharmony_cian officially supported API.</p>
17631cb0ef41Sopenharmony_ci<h4 id="DEP0068">DEP0068: <code>node debug</code><span><a class="mark" href="#dep0068-node-debug" id="dep0068-node-debug">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0068_node_debug"></a></h4>
17641cb0ef41Sopenharmony_ci<div class="api_metadata">
17651cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
17661cb0ef41Sopenharmony_ci<table>
17671cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
17681cb0ef41Sopenharmony_ci<tr><td>v15.0.0</td>
17691cb0ef41Sopenharmony_ci<td><p>The legacy <code>node debug</code> command was removed.</p></td></tr>
17701cb0ef41Sopenharmony_ci<tr><td>v8.0.0</td>
17711cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
17721cb0ef41Sopenharmony_ci</tbody></table>
17731cb0ef41Sopenharmony_ci</details>
17741cb0ef41Sopenharmony_ci</div>
17751cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
17761cb0ef41Sopenharmony_ci<p><code>node debug</code> corresponds to the legacy CLI debugger which has been replaced with
17771cb0ef41Sopenharmony_cia V8-inspector based CLI debugger available through <code>node inspect</code>.</p>
17781cb0ef41Sopenharmony_ci<h4 id="DEP0069">DEP0069: <code>vm.runInDebugContext(string)</code><span><a class="mark" href="#dep0069-vmrunindebugcontextstring" id="dep0069-vmrunindebugcontextstring">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0069_vm_runindebugcontext_string"></a></h4>
17791cb0ef41Sopenharmony_ci<div class="api_metadata">
17801cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
17811cb0ef41Sopenharmony_ci<table>
17821cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
17831cb0ef41Sopenharmony_ci<tr><td>v10.0.0</td>
17841cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
17851cb0ef41Sopenharmony_ci<tr><td>v9.0.0</td>
17861cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
17871cb0ef41Sopenharmony_ci<tr><td>v8.0.0</td>
17881cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
17891cb0ef41Sopenharmony_ci</tbody></table>
17901cb0ef41Sopenharmony_ci</details>
17911cb0ef41Sopenharmony_ci</div>
17921cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
17931cb0ef41Sopenharmony_ci<p>DebugContext has been removed in V8 and is not available in Node.js 10+.</p>
17941cb0ef41Sopenharmony_ci<p>DebugContext was an experimental API.</p>
17951cb0ef41Sopenharmony_ci<h4 id="DEP0070">DEP0070: <code>async_hooks.currentId()</code><span><a class="mark" href="#dep0070-async_hookscurrentid" id="dep0070-async_hookscurrentid">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0070_async_hooks_currentid"></a></h4>
17961cb0ef41Sopenharmony_ci<div class="api_metadata">
17971cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
17981cb0ef41Sopenharmony_ci<table>
17991cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
18001cb0ef41Sopenharmony_ci<tr><td>v9.0.0</td>
18011cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
18021cb0ef41Sopenharmony_ci<tr><td>v8.2.0</td>
18031cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
18041cb0ef41Sopenharmony_ci</tbody></table>
18051cb0ef41Sopenharmony_ci</details>
18061cb0ef41Sopenharmony_ci</div>
18071cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
18081cb0ef41Sopenharmony_ci<p><code>async_hooks.currentId()</code> was renamed to <code>async_hooks.executionAsyncId()</code> for
18091cb0ef41Sopenharmony_ciclarity.</p>
18101cb0ef41Sopenharmony_ci<p>This change was made while <code>async_hooks</code> was an experimental API.</p>
18111cb0ef41Sopenharmony_ci<h4 id="DEP0071">DEP0071: <code>async_hooks.triggerId()</code><span><a class="mark" href="#dep0071-async_hookstriggerid" id="dep0071-async_hookstriggerid">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0071_async_hooks_triggerid"></a></h4>
18121cb0ef41Sopenharmony_ci<div class="api_metadata">
18131cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
18141cb0ef41Sopenharmony_ci<table>
18151cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
18161cb0ef41Sopenharmony_ci<tr><td>v9.0.0</td>
18171cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
18181cb0ef41Sopenharmony_ci<tr><td>v8.2.0</td>
18191cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
18201cb0ef41Sopenharmony_ci</tbody></table>
18211cb0ef41Sopenharmony_ci</details>
18221cb0ef41Sopenharmony_ci</div>
18231cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
18241cb0ef41Sopenharmony_ci<p><code>async_hooks.triggerId()</code> was renamed to <code>async_hooks.triggerAsyncId()</code> for
18251cb0ef41Sopenharmony_ciclarity.</p>
18261cb0ef41Sopenharmony_ci<p>This change was made while <code>async_hooks</code> was an experimental API.</p>
18271cb0ef41Sopenharmony_ci<h4 id="DEP0072">DEP0072: <code>async_hooks.AsyncResource.triggerId()</code><span><a class="mark" href="#dep0072-async_hooksasyncresourcetriggerid" id="dep0072-async_hooksasyncresourcetriggerid">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0072_async_hooks_asyncresource_triggerid"></a></h4>
18281cb0ef41Sopenharmony_ci<div class="api_metadata">
18291cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
18301cb0ef41Sopenharmony_ci<table>
18311cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
18321cb0ef41Sopenharmony_ci<tr><td>v9.0.0</td>
18331cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
18341cb0ef41Sopenharmony_ci<tr><td>v8.2.0</td>
18351cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
18361cb0ef41Sopenharmony_ci</tbody></table>
18371cb0ef41Sopenharmony_ci</details>
18381cb0ef41Sopenharmony_ci</div>
18391cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
18401cb0ef41Sopenharmony_ci<p><code>async_hooks.AsyncResource.triggerId()</code> was renamed to
18411cb0ef41Sopenharmony_ci<code>async_hooks.AsyncResource.triggerAsyncId()</code> for clarity.</p>
18421cb0ef41Sopenharmony_ci<p>This change was made while <code>async_hooks</code> was an experimental API.</p>
18431cb0ef41Sopenharmony_ci<h4 id="DEP0073">DEP0073: Several internal properties of <code>net.Server</code><span><a class="mark" href="#dep0073-several-internal-properties-of-netserver" id="dep0073-several-internal-properties-of-netserver">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0073_several_internal_properties_of_net_server"></a></h4>
18441cb0ef41Sopenharmony_ci<div class="api_metadata">
18451cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
18461cb0ef41Sopenharmony_ci<table>
18471cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
18481cb0ef41Sopenharmony_ci<tr><td>v10.0.0</td>
18491cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
18501cb0ef41Sopenharmony_ci<tr><td>v9.0.0</td>
18511cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
18521cb0ef41Sopenharmony_ci</tbody></table>
18531cb0ef41Sopenharmony_ci</details>
18541cb0ef41Sopenharmony_ci</div>
18551cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
18561cb0ef41Sopenharmony_ci<p>Accessing several internal, undocumented properties of <code>net.Server</code> instances
18571cb0ef41Sopenharmony_ciwith inappropriate names is deprecated.</p>
18581cb0ef41Sopenharmony_ci<p>As the original API was undocumented and not generally useful for non-internal
18591cb0ef41Sopenharmony_cicode, no replacement API is provided.</p>
18601cb0ef41Sopenharmony_ci<h4 id="DEP0074">DEP0074: <code>REPLServer.bufferedCommand</code><span><a class="mark" href="#dep0074-replserverbufferedcommand" id="dep0074-replserverbufferedcommand">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0074_replserver_bufferedcommand"></a></h4>
18611cb0ef41Sopenharmony_ci<div class="api_metadata">
18621cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
18631cb0ef41Sopenharmony_ci<table>
18641cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
18651cb0ef41Sopenharmony_ci<tr><td>v15.0.0</td>
18661cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
18671cb0ef41Sopenharmony_ci<tr><td>v9.0.0</td>
18681cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
18691cb0ef41Sopenharmony_ci</tbody></table>
18701cb0ef41Sopenharmony_ci</details>
18711cb0ef41Sopenharmony_ci</div>
18721cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
18731cb0ef41Sopenharmony_ci<p>The <code>REPLServer.bufferedCommand</code> property was deprecated in favor of
18741cb0ef41Sopenharmony_ci<a href="repl.html#replserverclearbufferedcommand"><code>REPLServer.clearBufferedCommand()</code></a>.</p>
18751cb0ef41Sopenharmony_ci<h4 id="DEP0075">DEP0075: <code>REPLServer.parseREPLKeyword()</code><span><a class="mark" href="#dep0075-replserverparsereplkeyword" id="dep0075-replserverparsereplkeyword">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0075_replserver_parsereplkeyword"></a></h4>
18761cb0ef41Sopenharmony_ci<div class="api_metadata">
18771cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
18781cb0ef41Sopenharmony_ci<table>
18791cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
18801cb0ef41Sopenharmony_ci<tr><td>v15.0.0</td>
18811cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
18821cb0ef41Sopenharmony_ci<tr><td>v9.0.0</td>
18831cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
18841cb0ef41Sopenharmony_ci</tbody></table>
18851cb0ef41Sopenharmony_ci</details>
18861cb0ef41Sopenharmony_ci</div>
18871cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
18881cb0ef41Sopenharmony_ci<p><code>REPLServer.parseREPLKeyword()</code> was removed from userland visibility.</p>
18891cb0ef41Sopenharmony_ci<h4 id="DEP0076">DEP0076: <code>tls.parseCertString()</code><span><a class="mark" href="#dep0076-tlsparsecertstring" id="dep0076-tlsparsecertstring">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0076_tls_parsecertstring"></a></h4>
18901cb0ef41Sopenharmony_ci<div class="api_metadata">
18911cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
18921cb0ef41Sopenharmony_ci<table>
18931cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
18941cb0ef41Sopenharmony_ci<tr><td>v18.0.0</td>
18951cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
18961cb0ef41Sopenharmony_ci<tr><td>v9.0.0</td>
18971cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
18981cb0ef41Sopenharmony_ci<tr><td>v8.6.0</td>
18991cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
19001cb0ef41Sopenharmony_ci</tbody></table>
19011cb0ef41Sopenharmony_ci</details>
19021cb0ef41Sopenharmony_ci</div>
19031cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
19041cb0ef41Sopenharmony_ci<p><code>tls.parseCertString()</code> was a trivial parsing helper that was made public by
19051cb0ef41Sopenharmony_cimistake. While it was supposed to parse certificate subject and issuer strings,
19061cb0ef41Sopenharmony_ciit never handled multi-value Relative Distinguished Names correctly.</p>
19071cb0ef41Sopenharmony_ci<p>Earlier versions of this document suggested using <code>querystring.parse()</code> as an
19081cb0ef41Sopenharmony_cialternative to <code>tls.parseCertString()</code>. However, <code>querystring.parse()</code> also does
19091cb0ef41Sopenharmony_cinot handle all certificate subjects correctly and should not be used.</p>
19101cb0ef41Sopenharmony_ci<h4 id="DEP0077">DEP0077: <code>Module._debug()</code><span><a class="mark" href="#dep0077-module_debug" id="dep0077-module_debug">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0077_module_debug"></a></h4>
19111cb0ef41Sopenharmony_ci<div class="api_metadata">
19121cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
19131cb0ef41Sopenharmony_ci<table>
19141cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
19151cb0ef41Sopenharmony_ci<tr><td>v9.0.0</td>
19161cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
19171cb0ef41Sopenharmony_ci</tbody></table>
19181cb0ef41Sopenharmony_ci</details>
19191cb0ef41Sopenharmony_ci</div>
19201cb0ef41Sopenharmony_ci<p>Type: Runtime</p>
19211cb0ef41Sopenharmony_ci<p><code>Module._debug()</code> is deprecated.</p>
19221cb0ef41Sopenharmony_ci<p>The <code>Module._debug()</code> function was never documented as an officially
19231cb0ef41Sopenharmony_cisupported API.</p>
19241cb0ef41Sopenharmony_ci<h4 id="DEP0078">DEP0078: <code>REPLServer.turnOffEditorMode()</code><span><a class="mark" href="#dep0078-replserverturnoffeditormode" id="dep0078-replserverturnoffeditormode">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0078_replserver_turnoffeditormode"></a></h4>
19251cb0ef41Sopenharmony_ci<div class="api_metadata">
19261cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
19271cb0ef41Sopenharmony_ci<table>
19281cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
19291cb0ef41Sopenharmony_ci<tr><td>v15.0.0</td>
19301cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
19311cb0ef41Sopenharmony_ci<tr><td>v9.0.0</td>
19321cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
19331cb0ef41Sopenharmony_ci</tbody></table>
19341cb0ef41Sopenharmony_ci</details>
19351cb0ef41Sopenharmony_ci</div>
19361cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
19371cb0ef41Sopenharmony_ci<p><code>REPLServer.turnOffEditorMode()</code> was removed from userland visibility.</p>
19381cb0ef41Sopenharmony_ci<h4 id="DEP0079">DEP0079: Custom inspection function on objects via <code>.inspect()</code><span><a class="mark" href="#dep0079-custom-inspection-function-on-objects-via-inspect" id="dep0079-custom-inspection-function-on-objects-via-inspect">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0079_custom_inspection_function_on_objects_via_inspect"></a></h4>
19391cb0ef41Sopenharmony_ci<div class="api_metadata">
19401cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
19411cb0ef41Sopenharmony_ci<table>
19421cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
19431cb0ef41Sopenharmony_ci<tr><td>v11.0.0</td>
19441cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
19451cb0ef41Sopenharmony_ci<tr><td>v10.0.0</td>
19461cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
19471cb0ef41Sopenharmony_ci<tr><td>v8.7.0</td>
19481cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
19491cb0ef41Sopenharmony_ci</tbody></table>
19501cb0ef41Sopenharmony_ci</details>
19511cb0ef41Sopenharmony_ci</div>
19521cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
19531cb0ef41Sopenharmony_ci<p>Using a property named <code>inspect</code> on an object to specify a custom inspection
19541cb0ef41Sopenharmony_cifunction for <a href="util.html#utilinspectobject-options"><code>util.inspect()</code></a> is deprecated. Use <a href="util.html#utilinspectcustom"><code>util.inspect.custom</code></a>
19551cb0ef41Sopenharmony_ciinstead. For backward compatibility with Node.js prior to version 6.4.0, both
19561cb0ef41Sopenharmony_cican be specified.</p>
19571cb0ef41Sopenharmony_ci<h4 id="DEP0080">DEP0080: <code>path._makeLong()</code><span><a class="mark" href="#dep0080-path_makelong" id="dep0080-path_makelong">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0080_path_makelong"></a></h4>
19581cb0ef41Sopenharmony_ci<div class="api_metadata">
19591cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
19601cb0ef41Sopenharmony_ci<table>
19611cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
19621cb0ef41Sopenharmony_ci<tr><td>v9.0.0</td>
19631cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
19641cb0ef41Sopenharmony_ci</tbody></table>
19651cb0ef41Sopenharmony_ci</details>
19661cb0ef41Sopenharmony_ci</div>
19671cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
19681cb0ef41Sopenharmony_ci<p>The internal <code>path._makeLong()</code> was not intended for public use. However,
19691cb0ef41Sopenharmony_ciuserland modules have found it useful. The internal API is deprecated
19701cb0ef41Sopenharmony_ciand replaced with an identical, public <code>path.toNamespacedPath()</code> method.</p>
19711cb0ef41Sopenharmony_ci<h4 id="DEP0081">DEP0081: <code>fs.truncate()</code> using a file descriptor<span><a class="mark" href="#dep0081-fstruncate-using-a-file-descriptor" id="dep0081-fstruncate-using-a-file-descriptor">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0081_fs_truncate_using_a_file_descriptor"></a></h4>
19721cb0ef41Sopenharmony_ci<div class="api_metadata">
19731cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
19741cb0ef41Sopenharmony_ci<table>
19751cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
19761cb0ef41Sopenharmony_ci<tr><td>v9.0.0</td>
19771cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
19781cb0ef41Sopenharmony_ci</tbody></table>
19791cb0ef41Sopenharmony_ci</details>
19801cb0ef41Sopenharmony_ci</div>
19811cb0ef41Sopenharmony_ci<p>Type: Runtime</p>
19821cb0ef41Sopenharmony_ci<p><code>fs.truncate()</code> <code>fs.truncateSync()</code> usage with a file descriptor is
19831cb0ef41Sopenharmony_cideprecated. Please use <code>fs.ftruncate()</code> or <code>fs.ftruncateSync()</code> to work with
19841cb0ef41Sopenharmony_cifile descriptors.</p>
19851cb0ef41Sopenharmony_ci<h4 id="DEP0082">DEP0082: <code>REPLServer.prototype.memory()</code><span><a class="mark" href="#dep0082-replserverprototypememory" id="dep0082-replserverprototypememory">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0082_replserver_prototype_memory"></a></h4>
19861cb0ef41Sopenharmony_ci<div class="api_metadata">
19871cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
19881cb0ef41Sopenharmony_ci<table>
19891cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
19901cb0ef41Sopenharmony_ci<tr><td>v15.0.0</td>
19911cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
19921cb0ef41Sopenharmony_ci<tr><td>v9.0.0</td>
19931cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
19941cb0ef41Sopenharmony_ci</tbody></table>
19951cb0ef41Sopenharmony_ci</details>
19961cb0ef41Sopenharmony_ci</div>
19971cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
19981cb0ef41Sopenharmony_ci<p><code>REPLServer.prototype.memory()</code> is only necessary for the internal mechanics of
19991cb0ef41Sopenharmony_cithe <code>REPLServer</code> itself. Do not use this function.</p>
20001cb0ef41Sopenharmony_ci<h4 id="DEP0083">DEP0083: Disabling ECDH by setting <code>ecdhCurve</code> to <code>false</code><span><a class="mark" href="#dep0083-disabling-ecdh-by-setting-ecdhcurve-to-false" id="dep0083-disabling-ecdh-by-setting-ecdhcurve-to-false">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0083_disabling_ecdh_by_setting_ecdhcurve_to_false"></a></h4>
20011cb0ef41Sopenharmony_ci<div class="api_metadata">
20021cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
20031cb0ef41Sopenharmony_ci<table>
20041cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
20051cb0ef41Sopenharmony_ci<tr><td>v10.0.0</td>
20061cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
20071cb0ef41Sopenharmony_ci<tr><td>v9.2.0</td>
20081cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
20091cb0ef41Sopenharmony_ci</tbody></table>
20101cb0ef41Sopenharmony_ci</details>
20111cb0ef41Sopenharmony_ci</div>
20121cb0ef41Sopenharmony_ci<p>Type: End-of-Life.</p>
20131cb0ef41Sopenharmony_ci<p>The <code>ecdhCurve</code> option to <code>tls.createSecureContext()</code> and <code>tls.TLSSocket</code> could
20141cb0ef41Sopenharmony_cibe set to <code>false</code> to disable ECDH entirely on the server only. This mode was
20151cb0ef41Sopenharmony_cideprecated in preparation for migrating to OpenSSL 1.1.0 and consistency with
20161cb0ef41Sopenharmony_cithe client and is now unsupported. Use the <code>ciphers</code> parameter instead.</p>
20171cb0ef41Sopenharmony_ci<h4 id="DEP0084">DEP0084: requiring bundled internal dependencies<span><a class="mark" href="#dep0084-requiring-bundled-internal-dependencies" id="dep0084-requiring-bundled-internal-dependencies">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0084_requiring_bundled_internal_dependencies"></a></h4>
20181cb0ef41Sopenharmony_ci<div class="api_metadata">
20191cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
20201cb0ef41Sopenharmony_ci<table>
20211cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
20221cb0ef41Sopenharmony_ci<tr><td>v12.0.0</td>
20231cb0ef41Sopenharmony_ci<td><p>This functionality has been removed.</p></td></tr>
20241cb0ef41Sopenharmony_ci<tr><td>v10.0.0</td>
20251cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
20261cb0ef41Sopenharmony_ci</tbody></table>
20271cb0ef41Sopenharmony_ci</details>
20281cb0ef41Sopenharmony_ci</div>
20291cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
20301cb0ef41Sopenharmony_ci<p>Since Node.js versions 4.4.0 and 5.2.0, several modules only intended for
20311cb0ef41Sopenharmony_ciinternal usage were mistakenly exposed to user code through <code>require()</code>. These
20321cb0ef41Sopenharmony_cimodules were:</p>
20331cb0ef41Sopenharmony_ci<ul>
20341cb0ef41Sopenharmony_ci<li><code>v8/tools/codemap</code></li>
20351cb0ef41Sopenharmony_ci<li><code>v8/tools/consarray</code></li>
20361cb0ef41Sopenharmony_ci<li><code>v8/tools/csvparser</code></li>
20371cb0ef41Sopenharmony_ci<li><code>v8/tools/logreader</code></li>
20381cb0ef41Sopenharmony_ci<li><code>v8/tools/profile_view</code></li>
20391cb0ef41Sopenharmony_ci<li><code>v8/tools/profile</code></li>
20401cb0ef41Sopenharmony_ci<li><code>v8/tools/SourceMap</code></li>
20411cb0ef41Sopenharmony_ci<li><code>v8/tools/splaytree</code></li>
20421cb0ef41Sopenharmony_ci<li><code>v8/tools/tickprocessor-driver</code></li>
20431cb0ef41Sopenharmony_ci<li><code>v8/tools/tickprocessor</code></li>
20441cb0ef41Sopenharmony_ci<li><code>node-inspect/lib/_inspect</code> (from 7.6.0)</li>
20451cb0ef41Sopenharmony_ci<li><code>node-inspect/lib/internal/inspect_client</code> (from 7.6.0)</li>
20461cb0ef41Sopenharmony_ci<li><code>node-inspect/lib/internal/inspect_repl</code> (from 7.6.0)</li>
20471cb0ef41Sopenharmony_ci</ul>
20481cb0ef41Sopenharmony_ci<p>The <code>v8/*</code> modules do not have any exports, and if not imported in a specific
20491cb0ef41Sopenharmony_ciorder would in fact throw errors. As such there are virtually no legitimate use
20501cb0ef41Sopenharmony_cicases for importing them through <code>require()</code>.</p>
20511cb0ef41Sopenharmony_ci<p>On the other hand, <code>node-inspect</code> can be installed locally through a package
20521cb0ef41Sopenharmony_cimanager, as it is published on the npm registry under the same name. No source
20531cb0ef41Sopenharmony_cicode modification is necessary if that is done.</p>
20541cb0ef41Sopenharmony_ci<h4 id="DEP0085">DEP0085: AsyncHooks sensitive API<span><a class="mark" href="#dep0085-asynchooks-sensitive-api" id="dep0085-asynchooks-sensitive-api">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0085_asynchooks_sensitive_api"></a></h4>
20551cb0ef41Sopenharmony_ci<div class="api_metadata">
20561cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
20571cb0ef41Sopenharmony_ci<table>
20581cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
20591cb0ef41Sopenharmony_ci<tr><td>v10.0.0</td>
20601cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
20611cb0ef41Sopenharmony_ci<tr><td>v9.4.0, v8.10.0</td>
20621cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
20631cb0ef41Sopenharmony_ci</tbody></table>
20641cb0ef41Sopenharmony_ci</details>
20651cb0ef41Sopenharmony_ci</div>
20661cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
20671cb0ef41Sopenharmony_ci<p>The AsyncHooks sensitive API was never documented and had various minor issues.
20681cb0ef41Sopenharmony_ciUse the <code>AsyncResource</code> API instead. See
20691cb0ef41Sopenharmony_ci<a href="https://github.com/nodejs/node/issues/15572">https://github.com/nodejs/node/issues/15572</a>.</p>
20701cb0ef41Sopenharmony_ci<h4 id="DEP0086">DEP0086: Remove <code>runInAsyncIdScope</code><span><a class="mark" href="#dep0086-remove-runinasyncidscope" id="dep0086-remove-runinasyncidscope">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0086_remove_runinasyncidscope"></a></h4>
20711cb0ef41Sopenharmony_ci<div class="api_metadata">
20721cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
20731cb0ef41Sopenharmony_ci<table>
20741cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
20751cb0ef41Sopenharmony_ci<tr><td>v10.0.0</td>
20761cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
20771cb0ef41Sopenharmony_ci<tr><td>v9.4.0, v8.10.0</td>
20781cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
20791cb0ef41Sopenharmony_ci</tbody></table>
20801cb0ef41Sopenharmony_ci</details>
20811cb0ef41Sopenharmony_ci</div>
20821cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
20831cb0ef41Sopenharmony_ci<p><code>runInAsyncIdScope</code> doesn't emit the <code>'before'</code> or <code>'after'</code> event and can thus
20841cb0ef41Sopenharmony_cicause a lot of issues. See <a href="https://github.com/nodejs/node/issues/14328">https://github.com/nodejs/node/issues/14328</a>.</p>
20851cb0ef41Sopenharmony_ci<!-- md-lint skip-deprecation DEP0087 -->
20861cb0ef41Sopenharmony_ci<!-- md-lint skip-deprecation DEP0088 -->
20871cb0ef41Sopenharmony_ci<h4 id="DEP0089">DEP0089: <code>require('node:assert')</code><span><a class="mark" href="#dep0089-requirenodeassert" id="dep0089-requirenodeassert">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0089_require_node_assert"></a></h4>
20881cb0ef41Sopenharmony_ci<div class="api_metadata">
20891cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
20901cb0ef41Sopenharmony_ci<table>
20911cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
20921cb0ef41Sopenharmony_ci<tr><td>v12.8.0</td>
20931cb0ef41Sopenharmony_ci<td><p>Deprecation revoked.</p></td></tr>
20941cb0ef41Sopenharmony_ci<tr><td>v9.9.0, v8.13.0</td>
20951cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
20961cb0ef41Sopenharmony_ci</tbody></table>
20971cb0ef41Sopenharmony_ci</details>
20981cb0ef41Sopenharmony_ci</div>
20991cb0ef41Sopenharmony_ci<p>Type: Deprecation revoked</p>
21001cb0ef41Sopenharmony_ci<p>Importing assert directly was not recommended as the exposed functions use
21011cb0ef41Sopenharmony_ciloose equality checks. The deprecation was revoked because use of the
21021cb0ef41Sopenharmony_ci<code>node:assert</code> module is not discouraged, and the deprecation caused developer
21031cb0ef41Sopenharmony_ciconfusion.</p>
21041cb0ef41Sopenharmony_ci<h4 id="DEP0090">DEP0090: Invalid GCM authentication tag lengths<span><a class="mark" href="#dep0090-invalid-gcm-authentication-tag-lengths" id="dep0090-invalid-gcm-authentication-tag-lengths">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0090_invalid_gcm_authentication_tag_lengths"></a></h4>
21051cb0ef41Sopenharmony_ci<div class="api_metadata">
21061cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
21071cb0ef41Sopenharmony_ci<table>
21081cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
21091cb0ef41Sopenharmony_ci<tr><td>v11.0.0</td>
21101cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
21111cb0ef41Sopenharmony_ci<tr><td>v10.0.0</td>
21121cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
21131cb0ef41Sopenharmony_ci</tbody></table>
21141cb0ef41Sopenharmony_ci</details>
21151cb0ef41Sopenharmony_ci</div>
21161cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
21171cb0ef41Sopenharmony_ci<p>Node.js used to support all GCM authentication tag lengths which are accepted by
21181cb0ef41Sopenharmony_ciOpenSSL when calling <a href="crypto.html#deciphersetauthtagbuffer-encoding"><code>decipher.setAuthTag()</code></a>. Beginning with Node.js
21191cb0ef41Sopenharmony_civ11.0.0, only authentication tag lengths of 128, 120, 112, 104, 96, 64, and 32
21201cb0ef41Sopenharmony_cibits are allowed. Authentication tags of other lengths are invalid per
21211cb0ef41Sopenharmony_ci<a href="https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf">NIST SP 800-38D</a>.</p>
21221cb0ef41Sopenharmony_ci<h4 id="DEP0091">DEP0091: <code>crypto.DEFAULT_ENCODING</code><span><a class="mark" href="#dep0091-cryptodefault_encoding" id="dep0091-cryptodefault_encoding">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0091_crypto_default_encoding"></a></h4>
21231cb0ef41Sopenharmony_ci<div class="api_metadata">
21241cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
21251cb0ef41Sopenharmony_ci<table>
21261cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
21271cb0ef41Sopenharmony_ci<tr><td>v10.0.0</td>
21281cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
21291cb0ef41Sopenharmony_ci</tbody></table>
21301cb0ef41Sopenharmony_ci</details>
21311cb0ef41Sopenharmony_ci</div>
21321cb0ef41Sopenharmony_ci<p>Type: Runtime</p>
21331cb0ef41Sopenharmony_ci<p>The <a href="crypto.html#cryptodefault_encoding"><code>crypto.DEFAULT_ENCODING</code></a> property is deprecated.</p>
21341cb0ef41Sopenharmony_ci<h4 id="DEP0092">DEP0092: Top-level <code>this</code> bound to <code>module.exports</code><span><a class="mark" href="#dep0092-top-level-this-bound-to-moduleexports" id="dep0092-top-level-this-bound-to-moduleexports">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0092_top_level_this_bound_to_module_exports"></a></h4>
21351cb0ef41Sopenharmony_ci<div class="api_metadata">
21361cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
21371cb0ef41Sopenharmony_ci<table>
21381cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
21391cb0ef41Sopenharmony_ci<tr><td>v10.0.0</td>
21401cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
21411cb0ef41Sopenharmony_ci</tbody></table>
21421cb0ef41Sopenharmony_ci</details>
21431cb0ef41Sopenharmony_ci</div>
21441cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
21451cb0ef41Sopenharmony_ci<p>Assigning properties to the top-level <code>this</code> as an alternative
21461cb0ef41Sopenharmony_cito <code>module.exports</code> is deprecated. Developers should use <code>exports</code>
21471cb0ef41Sopenharmony_cior <code>module.exports</code> instead.</p>
21481cb0ef41Sopenharmony_ci<h4 id="DEP0093">DEP0093: <code>crypto.fips</code> is deprecated and replaced<span><a class="mark" href="#dep0093-cryptofips-is-deprecated-and-replaced" id="dep0093-cryptofips-is-deprecated-and-replaced">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0093_crypto_fips_is_deprecated_and_replaced"></a></h4>
21491cb0ef41Sopenharmony_ci<div class="api_metadata">
21501cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
21511cb0ef41Sopenharmony_ci<table>
21521cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
21531cb0ef41Sopenharmony_ci<tr><td>v10.0.0</td>
21541cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
21551cb0ef41Sopenharmony_ci</tbody></table>
21561cb0ef41Sopenharmony_ci</details>
21571cb0ef41Sopenharmony_ci</div>
21581cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
21591cb0ef41Sopenharmony_ci<p>The <a href="crypto.html#cryptofips"><code>crypto.fips</code></a> property is deprecated. Please use <code>crypto.setFips()</code>
21601cb0ef41Sopenharmony_ciand <code>crypto.getFips()</code> instead.</p>
21611cb0ef41Sopenharmony_ci<h4 id="DEP0094">DEP0094: Using <code>assert.fail()</code> with more than one argument<span><a class="mark" href="#dep0094-using-assertfail-with-more-than-one-argument" id="dep0094-using-assertfail-with-more-than-one-argument">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0094_using_assert_fail_with_more_than_one_argument"></a></h4>
21621cb0ef41Sopenharmony_ci<div class="api_metadata">
21631cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
21641cb0ef41Sopenharmony_ci<table>
21651cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
21661cb0ef41Sopenharmony_ci<tr><td>v10.0.0</td>
21671cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
21681cb0ef41Sopenharmony_ci</tbody></table>
21691cb0ef41Sopenharmony_ci</details>
21701cb0ef41Sopenharmony_ci</div>
21711cb0ef41Sopenharmony_ci<p>Type: Runtime</p>
21721cb0ef41Sopenharmony_ci<p>Using <code>assert.fail()</code> with more than one argument is deprecated. Use
21731cb0ef41Sopenharmony_ci<code>assert.fail()</code> with only one argument or use a different <code>node:assert</code> module
21741cb0ef41Sopenharmony_cimethod.</p>
21751cb0ef41Sopenharmony_ci<h4 id="DEP0095">DEP0095: <code>timers.enroll()</code><span><a class="mark" href="#dep0095-timersenroll" id="dep0095-timersenroll">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0095_timers_enroll"></a></h4>
21761cb0ef41Sopenharmony_ci<div class="api_metadata">
21771cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
21781cb0ef41Sopenharmony_ci<table>
21791cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
21801cb0ef41Sopenharmony_ci<tr><td>v10.0.0</td>
21811cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
21821cb0ef41Sopenharmony_ci</tbody></table>
21831cb0ef41Sopenharmony_ci</details>
21841cb0ef41Sopenharmony_ci</div>
21851cb0ef41Sopenharmony_ci<p>Type: Runtime</p>
21861cb0ef41Sopenharmony_ci<p><code>timers.enroll()</code> is deprecated. Please use the publicly documented
21871cb0ef41Sopenharmony_ci<a href="timers.html#settimeoutcallback-delay-args"><code>setTimeout()</code></a> or <a href="timers.html#setintervalcallback-delay-args"><code>setInterval()</code></a> instead.</p>
21881cb0ef41Sopenharmony_ci<h4 id="DEP0096">DEP0096: <code>timers.unenroll()</code><span><a class="mark" href="#dep0096-timersunenroll" id="dep0096-timersunenroll">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0096_timers_unenroll"></a></h4>
21891cb0ef41Sopenharmony_ci<div class="api_metadata">
21901cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
21911cb0ef41Sopenharmony_ci<table>
21921cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
21931cb0ef41Sopenharmony_ci<tr><td>v10.0.0</td>
21941cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
21951cb0ef41Sopenharmony_ci</tbody></table>
21961cb0ef41Sopenharmony_ci</details>
21971cb0ef41Sopenharmony_ci</div>
21981cb0ef41Sopenharmony_ci<p>Type: Runtime</p>
21991cb0ef41Sopenharmony_ci<p><code>timers.unenroll()</code> is deprecated. Please use the publicly documented
22001cb0ef41Sopenharmony_ci<a href="timers.html#cleartimeouttimeout"><code>clearTimeout()</code></a> or <a href="timers.html#clearintervaltimeout"><code>clearInterval()</code></a> instead.</p>
22011cb0ef41Sopenharmony_ci<h4 id="DEP0097">DEP0097: <code>MakeCallback</code> with <code>domain</code> property<span><a class="mark" href="#dep0097-makecallback-with-domain-property" id="dep0097-makecallback-with-domain-property">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0097_makecallback_with_domain_property"></a></h4>
22021cb0ef41Sopenharmony_ci<div class="api_metadata">
22031cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
22041cb0ef41Sopenharmony_ci<table>
22051cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
22061cb0ef41Sopenharmony_ci<tr><td>v10.0.0</td>
22071cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
22081cb0ef41Sopenharmony_ci</tbody></table>
22091cb0ef41Sopenharmony_ci</details>
22101cb0ef41Sopenharmony_ci</div>
22111cb0ef41Sopenharmony_ci<p>Type: Runtime</p>
22121cb0ef41Sopenharmony_ci<p>Users of <code>MakeCallback</code> that add the <code>domain</code> property to carry context,
22131cb0ef41Sopenharmony_cishould start using the <code>async_context</code> variant of <code>MakeCallback</code> or
22141cb0ef41Sopenharmony_ci<code>CallbackScope</code>, or the high-level <code>AsyncResource</code> class.</p>
22151cb0ef41Sopenharmony_ci<h4 id="DEP0098">DEP0098: AsyncHooks embedder <code>AsyncResource.emitBefore</code> and <code>AsyncResource.emitAfter</code> APIs<span><a class="mark" href="#dep0098-asynchooks-embedder-asyncresourceemitbefore-and-asyncresourceemitafter-apis" id="dep0098-asynchooks-embedder-asyncresourceemitbefore-and-asyncresourceemitafter-apis">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0098_asynchooks_embedder_asyncresource_emitbefore_and_asyncresource_emitafter_apis"></a></h4>
22161cb0ef41Sopenharmony_ci<div class="api_metadata">
22171cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
22181cb0ef41Sopenharmony_ci<table>
22191cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
22201cb0ef41Sopenharmony_ci<tr><td>v12.0.0</td>
22211cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
22221cb0ef41Sopenharmony_ci<tr><td>v10.0.0, v9.6.0, v8.12.0</td>
22231cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
22241cb0ef41Sopenharmony_ci</tbody></table>
22251cb0ef41Sopenharmony_ci</details>
22261cb0ef41Sopenharmony_ci</div>
22271cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
22281cb0ef41Sopenharmony_ci<p>The embedded API provided by AsyncHooks exposes <code>.emitBefore()</code> and
22291cb0ef41Sopenharmony_ci<code>.emitAfter()</code> methods which are very easy to use incorrectly which can lead
22301cb0ef41Sopenharmony_cito unrecoverable errors.</p>
22311cb0ef41Sopenharmony_ci<p>Use <a href="async_context.html#asyncresourceruninasyncscopefn-thisarg-args"><code>asyncResource.runInAsyncScope()</code></a> API instead which provides a much
22321cb0ef41Sopenharmony_cisafer, and more convenient, alternative. See
22331cb0ef41Sopenharmony_ci<a href="https://github.com/nodejs/node/pull/18513">https://github.com/nodejs/node/pull/18513</a>.</p>
22341cb0ef41Sopenharmony_ci<h4 id="DEP0099">DEP0099: Async context-unaware <code>node::MakeCallback</code> C++ APIs<span><a class="mark" href="#dep0099-async-context-unaware-nodemakecallback-c-apis" id="dep0099-async-context-unaware-nodemakecallback-c-apis">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0099_async_context_unaware_node_makecallback_c_apis"></a></h4>
22351cb0ef41Sopenharmony_ci<div class="api_metadata">
22361cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
22371cb0ef41Sopenharmony_ci<table>
22381cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
22391cb0ef41Sopenharmony_ci<tr><td>v10.0.0</td>
22401cb0ef41Sopenharmony_ci<td><p>Compile-time deprecation.</p></td></tr>
22411cb0ef41Sopenharmony_ci</tbody></table>
22421cb0ef41Sopenharmony_ci</details>
22431cb0ef41Sopenharmony_ci</div>
22441cb0ef41Sopenharmony_ci<p>Type: Compile-time</p>
22451cb0ef41Sopenharmony_ci<p>Certain versions of <code>node::MakeCallback</code> APIs available to native addons are
22461cb0ef41Sopenharmony_cideprecated. Please use the versions of the API that accept an <code>async_context</code>
22471cb0ef41Sopenharmony_ciparameter.</p>
22481cb0ef41Sopenharmony_ci<h4 id="DEP0100">DEP0100: <code>process.assert()</code><span><a class="mark" href="#dep0100-processassert" id="dep0100-processassert">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0100_process_assert"></a></h4>
22491cb0ef41Sopenharmony_ci<div class="api_metadata">
22501cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
22511cb0ef41Sopenharmony_ci<table>
22521cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
22531cb0ef41Sopenharmony_ci<tr><td>v10.0.0</td>
22541cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
22551cb0ef41Sopenharmony_ci<tr><td>v0.3.7</td>
22561cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
22571cb0ef41Sopenharmony_ci</tbody></table>
22581cb0ef41Sopenharmony_ci</details>
22591cb0ef41Sopenharmony_ci</div>
22601cb0ef41Sopenharmony_ci<p>Type: Runtime</p>
22611cb0ef41Sopenharmony_ci<p><code>process.assert()</code> is deprecated. Please use the <a href="assert.html"><code>assert</code></a> module instead.</p>
22621cb0ef41Sopenharmony_ci<p>This was never a documented feature.</p>
22631cb0ef41Sopenharmony_ci<h4 id="DEP0101">DEP0101: <code>--with-lttng</code><span><a class="mark" href="#dep0101---with-lttng" id="dep0101---with-lttng">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0101_with_lttng"></a></h4>
22641cb0ef41Sopenharmony_ci<div class="api_metadata">
22651cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
22661cb0ef41Sopenharmony_ci<table>
22671cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
22681cb0ef41Sopenharmony_ci<tr><td>v10.0.0</td>
22691cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
22701cb0ef41Sopenharmony_ci</tbody></table>
22711cb0ef41Sopenharmony_ci</details>
22721cb0ef41Sopenharmony_ci</div>
22731cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
22741cb0ef41Sopenharmony_ci<p>The <code>--with-lttng</code> compile-time option has been removed.</p>
22751cb0ef41Sopenharmony_ci<h4 id="DEP0102">DEP0102: Using <code>noAssert</code> in <code>Buffer#(read|write)</code> operations<span><a class="mark" href="#dep0102-using-noassert-in-bufferreadwrite-operations" id="dep0102-using-noassert-in-bufferreadwrite-operations">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0102_using_noassert_in_buffer_read_write_operations"></a></h4>
22761cb0ef41Sopenharmony_ci<div class="api_metadata">
22771cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
22781cb0ef41Sopenharmony_ci<table>
22791cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
22801cb0ef41Sopenharmony_ci<tr><td>v10.0.0</td>
22811cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
22821cb0ef41Sopenharmony_ci</tbody></table>
22831cb0ef41Sopenharmony_ci</details>
22841cb0ef41Sopenharmony_ci</div>
22851cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
22861cb0ef41Sopenharmony_ci<p>Using the <code>noAssert</code> argument has no functionality anymore. All input is
22871cb0ef41Sopenharmony_civerified regardless of the value of <code>noAssert</code>. Skipping the verification
22881cb0ef41Sopenharmony_cicould lead to hard-to-find errors and crashes.</p>
22891cb0ef41Sopenharmony_ci<h4 id="DEP0103">DEP0103: <code>process.binding('util').is[...]</code> typechecks<span><a class="mark" href="#dep0103-processbindingutilis-typechecks" id="dep0103-processbindingutilis-typechecks">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0103_process_binding_util_is_typechecks"></a></h4>
22901cb0ef41Sopenharmony_ci<div class="api_metadata">
22911cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
22921cb0ef41Sopenharmony_ci<table>
22931cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
22941cb0ef41Sopenharmony_ci<tr><td>v10.9.0</td>
22951cb0ef41Sopenharmony_ci<td><p>Superseded by <a href="#DEP0111">DEP0111</a>.</p></td></tr>
22961cb0ef41Sopenharmony_ci<tr><td>v10.0.0</td>
22971cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
22981cb0ef41Sopenharmony_ci</tbody></table>
22991cb0ef41Sopenharmony_ci</details>
23001cb0ef41Sopenharmony_ci</div>
23011cb0ef41Sopenharmony_ci<p>Type: Documentation-only (supports <a href="cli.html#--pending-deprecation"><code>--pending-deprecation</code></a>)</p>
23021cb0ef41Sopenharmony_ci<p>Using <code>process.binding()</code> in general should be avoided. The type checking
23031cb0ef41Sopenharmony_cimethods in particular can be replaced by using <a href="util.html#utiltypes"><code>util.types</code></a>.</p>
23041cb0ef41Sopenharmony_ci<p>This deprecation has been superseded by the deprecation of the
23051cb0ef41Sopenharmony_ci<code>process.binding()</code> API (<a href="#DEP0111">DEP0111</a>).</p>
23061cb0ef41Sopenharmony_ci<h4 id="DEP0104">DEP0104: <code>process.env</code> string coercion<span><a class="mark" href="#dep0104-processenv-string-coercion" id="dep0104-processenv-string-coercion">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0104_process_env_string_coercion"></a></h4>
23071cb0ef41Sopenharmony_ci<div class="api_metadata">
23081cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
23091cb0ef41Sopenharmony_ci<table>
23101cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
23111cb0ef41Sopenharmony_ci<tr><td>v10.0.0</td>
23121cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
23131cb0ef41Sopenharmony_ci</tbody></table>
23141cb0ef41Sopenharmony_ci</details>
23151cb0ef41Sopenharmony_ci</div>
23161cb0ef41Sopenharmony_ci<p>Type: Documentation-only (supports <a href="cli.html#--pending-deprecation"><code>--pending-deprecation</code></a>)</p>
23171cb0ef41Sopenharmony_ci<p>When assigning a non-string property to <a href="process.html#processenv"><code>process.env</code></a>, the assigned value is
23181cb0ef41Sopenharmony_ciimplicitly converted to a string. This behavior is deprecated if the assigned
23191cb0ef41Sopenharmony_civalue is not a string, boolean, or number. In the future, such assignment might
23201cb0ef41Sopenharmony_ciresult in a thrown error. Please convert the property to a string before
23211cb0ef41Sopenharmony_ciassigning it to <code>process.env</code>.</p>
23221cb0ef41Sopenharmony_ci<h4 id="DEP0105">DEP0105: <code>decipher.finaltol</code><span><a class="mark" href="#dep0105-decipherfinaltol" id="dep0105-decipherfinaltol">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0105_decipher_finaltol"></a></h4>
23231cb0ef41Sopenharmony_ci<div class="api_metadata">
23241cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
23251cb0ef41Sopenharmony_ci<table>
23261cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
23271cb0ef41Sopenharmony_ci<tr><td>v11.0.0</td>
23281cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
23291cb0ef41Sopenharmony_ci<tr><td>v10.0.0</td>
23301cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
23311cb0ef41Sopenharmony_ci</tbody></table>
23321cb0ef41Sopenharmony_ci</details>
23331cb0ef41Sopenharmony_ci</div>
23341cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
23351cb0ef41Sopenharmony_ci<p><code>decipher.finaltol()</code> has never been documented and was an alias for
23361cb0ef41Sopenharmony_ci<a href="crypto.html#decipherfinaloutputencoding"><code>decipher.final()</code></a>. This API has been removed, and it is recommended to use
23371cb0ef41Sopenharmony_ci<a href="crypto.html#decipherfinaloutputencoding"><code>decipher.final()</code></a> instead.</p>
23381cb0ef41Sopenharmony_ci<h4 id="DEP0106">DEP0106: <code>crypto.createCipher</code> and <code>crypto.createDecipher</code><span><a class="mark" href="#dep0106-cryptocreatecipher-and-cryptocreatedecipher" id="dep0106-cryptocreatecipher-and-cryptocreatedecipher">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0106_crypto_createcipher_and_crypto_createdecipher"></a></h4>
23391cb0ef41Sopenharmony_ci<div class="api_metadata">
23401cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
23411cb0ef41Sopenharmony_ci<table>
23421cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
23431cb0ef41Sopenharmony_ci<tr><td>v11.0.0</td>
23441cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
23451cb0ef41Sopenharmony_ci<tr><td>v10.0.0</td>
23461cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
23471cb0ef41Sopenharmony_ci</tbody></table>
23481cb0ef41Sopenharmony_ci</details>
23491cb0ef41Sopenharmony_ci</div>
23501cb0ef41Sopenharmony_ci<p>Type: Runtime</p>
23511cb0ef41Sopenharmony_ci<p>Using <a href="crypto.html#cryptocreatecipheralgorithm-password-options"><code>crypto.createCipher()</code></a> and <a href="crypto.html#cryptocreatedecipheralgorithm-password-options"><code>crypto.createDecipher()</code></a> must be
23521cb0ef41Sopenharmony_ciavoided as they use a weak key derivation function (MD5 with no salt) and static
23531cb0ef41Sopenharmony_ciinitialization vectors. It is recommended to derive a key using
23541cb0ef41Sopenharmony_ci<a href="crypto.html#cryptopbkdf2password-salt-iterations-keylen-digest-callback"><code>crypto.pbkdf2()</code></a> or <a href="crypto.html#cryptoscryptpassword-salt-keylen-options-callback"><code>crypto.scrypt()</code></a> with random salts and to use
23551cb0ef41Sopenharmony_ci<a href="crypto.html#cryptocreatecipherivalgorithm-key-iv-options"><code>crypto.createCipheriv()</code></a> and <a href="crypto.html#cryptocreatedecipherivalgorithm-key-iv-options"><code>crypto.createDecipheriv()</code></a> to obtain the
23561cb0ef41Sopenharmony_ci<a href="crypto.html#class-cipher"><code>Cipher</code></a> and <a href="crypto.html#class-decipher"><code>Decipher</code></a> objects respectively.</p>
23571cb0ef41Sopenharmony_ci<h4 id="DEP0107">DEP0107: <code>tls.convertNPNProtocols()</code><span><a class="mark" href="#dep0107-tlsconvertnpnprotocols" id="dep0107-tlsconvertnpnprotocols">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0107_tls_convertnpnprotocols"></a></h4>
23581cb0ef41Sopenharmony_ci<div class="api_metadata">
23591cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
23601cb0ef41Sopenharmony_ci<table>
23611cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
23621cb0ef41Sopenharmony_ci<tr><td>v11.0.0</td>
23631cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
23641cb0ef41Sopenharmony_ci<tr><td>v10.0.0</td>
23651cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
23661cb0ef41Sopenharmony_ci</tbody></table>
23671cb0ef41Sopenharmony_ci</details>
23681cb0ef41Sopenharmony_ci</div>
23691cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
23701cb0ef41Sopenharmony_ci<p>This was an undocumented helper function not intended for use outside Node.js
23711cb0ef41Sopenharmony_cicore and obsoleted by the removal of NPN (Next Protocol Negotiation) support.</p>
23721cb0ef41Sopenharmony_ci<h4 id="DEP0108">DEP0108: <code>zlib.bytesRead</code><span><a class="mark" href="#dep0108-zlibbytesread" id="dep0108-zlibbytesread">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0108_zlib_bytesread"></a></h4>
23731cb0ef41Sopenharmony_ci<div class="api_metadata">
23741cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
23751cb0ef41Sopenharmony_ci<table>
23761cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
23771cb0ef41Sopenharmony_ci<tr><td>v11.0.0</td>
23781cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
23791cb0ef41Sopenharmony_ci<tr><td>v10.0.0</td>
23801cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
23811cb0ef41Sopenharmony_ci</tbody></table>
23821cb0ef41Sopenharmony_ci</details>
23831cb0ef41Sopenharmony_ci</div>
23841cb0ef41Sopenharmony_ci<p>Type: Runtime</p>
23851cb0ef41Sopenharmony_ci<p>Deprecated alias for <a href="zlib.html#zlibbyteswritten"><code>zlib.bytesWritten</code></a>. This original name was chosen
23861cb0ef41Sopenharmony_cibecause it also made sense to interpret the value as the number of bytes
23871cb0ef41Sopenharmony_ciread by the engine, but is inconsistent with other streams in Node.js that
23881cb0ef41Sopenharmony_ciexpose values under these names.</p>
23891cb0ef41Sopenharmony_ci<h4 id="DEP0109">DEP0109: <code>http</code>, <code>https</code>, and <code>tls</code> support for invalid URLs<span><a class="mark" href="#dep0109-http-https-and-tls-support-for-invalid-urls" id="dep0109-http-https-and-tls-support-for-invalid-urls">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0109_http_https_and_tls_support_for_invalid_urls"></a></h4>
23901cb0ef41Sopenharmony_ci<div class="api_metadata">
23911cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
23921cb0ef41Sopenharmony_ci<table>
23931cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
23941cb0ef41Sopenharmony_ci<tr><td>v16.0.0</td>
23951cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
23961cb0ef41Sopenharmony_ci<tr><td>v11.0.0</td>
23971cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
23981cb0ef41Sopenharmony_ci</tbody></table>
23991cb0ef41Sopenharmony_ci</details>
24001cb0ef41Sopenharmony_ci</div>
24011cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
24021cb0ef41Sopenharmony_ci<p>Some previously supported (but strictly invalid) URLs were accepted through the
24031cb0ef41Sopenharmony_ci<a href="http.html#httprequestoptions-callback"><code>http.request()</code></a>, <a href="http.html#httpgetoptions-callback"><code>http.get()</code></a>, <a href="https.html#httpsrequestoptions-callback"><code>https.request()</code></a>,
24041cb0ef41Sopenharmony_ci<a href="https.html#httpsgetoptions-callback"><code>https.get()</code></a>, and <a href="tls.html#tlscheckserveridentityhostname-cert"><code>tls.checkServerIdentity()</code></a> APIs because those were
24051cb0ef41Sopenharmony_ciaccepted by the legacy <code>url.parse()</code> API. The mentioned APIs now use the WHATWG
24061cb0ef41Sopenharmony_ciURL parser that requires strictly valid URLs. Passing an invalid URL is
24071cb0ef41Sopenharmony_cideprecated and support will be removed in the future.</p>
24081cb0ef41Sopenharmony_ci<h4 id="DEP0110">DEP0110: <code>vm.Script</code> cached data<span><a class="mark" href="#dep0110-vmscript-cached-data" id="dep0110-vmscript-cached-data">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0110_vm_script_cached_data"></a></h4>
24091cb0ef41Sopenharmony_ci<div class="api_metadata">
24101cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
24111cb0ef41Sopenharmony_ci<table>
24121cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
24131cb0ef41Sopenharmony_ci<tr><td>v10.6.0</td>
24141cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
24151cb0ef41Sopenharmony_ci</tbody></table>
24161cb0ef41Sopenharmony_ci</details>
24171cb0ef41Sopenharmony_ci</div>
24181cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
24191cb0ef41Sopenharmony_ci<p>The <code>produceCachedData</code> option is deprecated. Use
24201cb0ef41Sopenharmony_ci<a href="vm.html#scriptcreatecacheddata"><code>script.createCachedData()</code></a> instead.</p>
24211cb0ef41Sopenharmony_ci<h4 id="DEP0111">DEP0111: <code>process.binding()</code><span><a class="mark" href="#dep0111-processbinding" id="dep0111-processbinding">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0111_process_binding"></a></h4>
24221cb0ef41Sopenharmony_ci<div class="api_metadata">
24231cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
24241cb0ef41Sopenharmony_ci<table>
24251cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
24261cb0ef41Sopenharmony_ci<tr><td>v11.12.0</td>
24271cb0ef41Sopenharmony_ci<td><p>Added support for <code>--pending-deprecation</code>.</p></td></tr>
24281cb0ef41Sopenharmony_ci<tr><td>v10.9.0</td>
24291cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
24301cb0ef41Sopenharmony_ci</tbody></table>
24311cb0ef41Sopenharmony_ci</details>
24321cb0ef41Sopenharmony_ci</div>
24331cb0ef41Sopenharmony_ci<p>Type: Documentation-only (supports <a href="cli.html#--pending-deprecation"><code>--pending-deprecation</code></a>)</p>
24341cb0ef41Sopenharmony_ci<p><code>process.binding()</code> is for use by Node.js internal code only.</p>
24351cb0ef41Sopenharmony_ci<p>While <code>process.binding()</code> has not reached End-of-Life status in general, it is
24361cb0ef41Sopenharmony_ciunavailable when <a href="permissions.html#policies">policies</a> are enabled.</p>
24371cb0ef41Sopenharmony_ci<h4 id="DEP0112">DEP0112: <code>dgram</code> private APIs<span><a class="mark" href="#dep0112-dgram-private-apis" id="dep0112-dgram-private-apis">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0112_dgram_private_apis"></a></h4>
24381cb0ef41Sopenharmony_ci<div class="api_metadata">
24391cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
24401cb0ef41Sopenharmony_ci<table>
24411cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
24421cb0ef41Sopenharmony_ci<tr><td>v11.0.0</td>
24431cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
24441cb0ef41Sopenharmony_ci</tbody></table>
24451cb0ef41Sopenharmony_ci</details>
24461cb0ef41Sopenharmony_ci</div>
24471cb0ef41Sopenharmony_ci<p>Type: Runtime</p>
24481cb0ef41Sopenharmony_ci<p>The <code>node:dgram</code> module previously contained several APIs that were never meant
24491cb0ef41Sopenharmony_cito accessed outside of Node.js core: <code>Socket.prototype._handle</code>,
24501cb0ef41Sopenharmony_ci<code>Socket.prototype._receiving</code>, <code>Socket.prototype._bindState</code>,
24511cb0ef41Sopenharmony_ci<code>Socket.prototype._queue</code>, <code>Socket.prototype._reuseAddr</code>,
24521cb0ef41Sopenharmony_ci<code>Socket.prototype._healthCheck()</code>, <code>Socket.prototype._stopReceiving()</code>, and
24531cb0ef41Sopenharmony_ci<code>dgram._createSocketHandle()</code>.</p>
24541cb0ef41Sopenharmony_ci<h4 id="DEP0113">DEP0113: <code>Cipher.setAuthTag()</code>, <code>Decipher.getAuthTag()</code><span><a class="mark" href="#dep0113-ciphersetauthtag-deciphergetauthtag" id="dep0113-ciphersetauthtag-deciphergetauthtag">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0113_cipher_setauthtag_decipher_getauthtag"></a></h4>
24551cb0ef41Sopenharmony_ci<div class="api_metadata">
24561cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
24571cb0ef41Sopenharmony_ci<table>
24581cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
24591cb0ef41Sopenharmony_ci<tr><td>v12.0.0</td>
24601cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
24611cb0ef41Sopenharmony_ci<tr><td>v11.0.0</td>
24621cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
24631cb0ef41Sopenharmony_ci</tbody></table>
24641cb0ef41Sopenharmony_ci</details>
24651cb0ef41Sopenharmony_ci</div>
24661cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
24671cb0ef41Sopenharmony_ci<p><code>Cipher.setAuthTag()</code> and <code>Decipher.getAuthTag()</code> are no longer available. They
24681cb0ef41Sopenharmony_ciwere never documented and would throw when called.</p>
24691cb0ef41Sopenharmony_ci<h4 id="DEP0114">DEP0114: <code>crypto._toBuf()</code><span><a class="mark" href="#dep0114-crypto_tobuf" id="dep0114-crypto_tobuf">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0114_crypto_tobuf"></a></h4>
24701cb0ef41Sopenharmony_ci<div class="api_metadata">
24711cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
24721cb0ef41Sopenharmony_ci<table>
24731cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
24741cb0ef41Sopenharmony_ci<tr><td>v12.0.0</td>
24751cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
24761cb0ef41Sopenharmony_ci<tr><td>v11.0.0</td>
24771cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
24781cb0ef41Sopenharmony_ci</tbody></table>
24791cb0ef41Sopenharmony_ci</details>
24801cb0ef41Sopenharmony_ci</div>
24811cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
24821cb0ef41Sopenharmony_ci<p>The <code>crypto._toBuf()</code> function was not designed to be used by modules outside
24831cb0ef41Sopenharmony_ciof Node.js core and was removed.</p>
24841cb0ef41Sopenharmony_ci<!--lint disable nodejs-yaml-comments -->
24851cb0ef41Sopenharmony_ci<h4 id="DEP0115">DEP0115: <code>crypto.prng()</code>, <code>crypto.pseudoRandomBytes()</code>, <code>crypto.rng()</code><span><a class="mark" href="#dep0115-cryptoprng-cryptopseudorandombytes-cryptorng" id="dep0115-cryptoprng-cryptopseudorandombytes-cryptorng">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0115_crypto_prng_crypto_pseudorandombytes_crypto_rng"></a></h4>
24861cb0ef41Sopenharmony_ci<div class="api_metadata">
24871cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
24881cb0ef41Sopenharmony_ci<table>
24891cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
24901cb0ef41Sopenharmony_ci<tr><td>v11.0.0</td>
24911cb0ef41Sopenharmony_ci<td><p>Added documentation-only deprecation with <code>--pending-deprecation</code> support.</p></td></tr>
24921cb0ef41Sopenharmony_ci</tbody></table>
24931cb0ef41Sopenharmony_ci</details>
24941cb0ef41Sopenharmony_ci</div>
24951cb0ef41Sopenharmony_ci<p>Type: Documentation-only (supports <a href="cli.html#--pending-deprecation"><code>--pending-deprecation</code></a>)</p>
24961cb0ef41Sopenharmony_ci<!--lint enable nodejs-yaml-comments -->
24971cb0ef41Sopenharmony_ci<p>In recent versions of Node.js, there is no difference between
24981cb0ef41Sopenharmony_ci<a href="crypto.html#cryptorandombytessize-callback"><code>crypto.randomBytes()</code></a> and <code>crypto.pseudoRandomBytes()</code>. The latter is
24991cb0ef41Sopenharmony_cideprecated along with the undocumented aliases <code>crypto.prng()</code> and
25001cb0ef41Sopenharmony_ci<code>crypto.rng()</code> in favor of <a href="crypto.html#cryptorandombytessize-callback"><code>crypto.randomBytes()</code></a> and might be removed in a
25011cb0ef41Sopenharmony_cifuture release.</p>
25021cb0ef41Sopenharmony_ci<h4 id="DEP0116">DEP0116: Legacy URL API<span><a class="mark" href="#dep0116-legacy-url-api" id="dep0116-legacy-url-api">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0116_legacy_url_api"></a></h4>
25031cb0ef41Sopenharmony_ci<div class="api_metadata">
25041cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
25051cb0ef41Sopenharmony_ci<table>
25061cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
25071cb0ef41Sopenharmony_ci<tr><td>v18.13.0</td>
25081cb0ef41Sopenharmony_ci<td><p>`url.parse()` is deprecated again in DEP0169.</p></td></tr>
25091cb0ef41Sopenharmony_ci<tr><td>v15.13.0, v14.17.0</td>
25101cb0ef41Sopenharmony_ci<td><p>Deprecation revoked. Status changed to "Legacy".</p></td></tr>
25111cb0ef41Sopenharmony_ci<tr><td>v11.0.0</td>
25121cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
25131cb0ef41Sopenharmony_ci</tbody></table>
25141cb0ef41Sopenharmony_ci</details>
25151cb0ef41Sopenharmony_ci</div>
25161cb0ef41Sopenharmony_ci<p>Type: Deprecation revoked</p>
25171cb0ef41Sopenharmony_ci<p>The <a href="url.html#legacy-url-api">legacy URL API</a> is deprecated. This includes <a href="url.html#urlformaturlobject"><code>url.format()</code></a>,
25181cb0ef41Sopenharmony_ci<a href="url.html#urlparseurlstring-parsequerystring-slashesdenotehost"><code>url.parse()</code></a>, <a href="url.html#urlresolvefrom-to"><code>url.resolve()</code></a>, and the <a href="url.html#legacy-urlobject">legacy <code>urlObject</code></a>. Please
25191cb0ef41Sopenharmony_ciuse the <a href="url.html#the-whatwg-url-api">WHATWG URL API</a> instead.</p>
25201cb0ef41Sopenharmony_ci<h4 id="DEP0117">DEP0117: Native crypto handles<span><a class="mark" href="#dep0117-native-crypto-handles" id="dep0117-native-crypto-handles">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0117_native_crypto_handles"></a></h4>
25211cb0ef41Sopenharmony_ci<div class="api_metadata">
25221cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
25231cb0ef41Sopenharmony_ci<table>
25241cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
25251cb0ef41Sopenharmony_ci<tr><td>v12.0.0</td>
25261cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
25271cb0ef41Sopenharmony_ci<tr><td>v11.0.0</td>
25281cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
25291cb0ef41Sopenharmony_ci</tbody></table>
25301cb0ef41Sopenharmony_ci</details>
25311cb0ef41Sopenharmony_ci</div>
25321cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
25331cb0ef41Sopenharmony_ci<p>Previous versions of Node.js exposed handles to internal native objects through
25341cb0ef41Sopenharmony_cithe <code>_handle</code> property of the <code>Cipher</code>, <code>Decipher</code>, <code>DiffieHellman</code>,
25351cb0ef41Sopenharmony_ci<code>DiffieHellmanGroup</code>, <code>ECDH</code>, <code>Hash</code>, <code>Hmac</code>, <code>Sign</code>, and <code>Verify</code> classes.
25361cb0ef41Sopenharmony_ciThe <code>_handle</code> property has been removed because improper use of the native
25371cb0ef41Sopenharmony_ciobject can lead to crashing the application.</p>
25381cb0ef41Sopenharmony_ci<h4 id="DEP0118">DEP0118: <code>dns.lookup()</code> support for a falsy host name<span><a class="mark" href="#dep0118-dnslookup-support-for-a-falsy-host-name" id="dep0118-dnslookup-support-for-a-falsy-host-name">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0118_dns_lookup_support_for_a_falsy_host_name"></a></h4>
25391cb0ef41Sopenharmony_ci<div class="api_metadata">
25401cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
25411cb0ef41Sopenharmony_ci<table>
25421cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
25431cb0ef41Sopenharmony_ci<tr><td>v11.0.0</td>
25441cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
25451cb0ef41Sopenharmony_ci</tbody></table>
25461cb0ef41Sopenharmony_ci</details>
25471cb0ef41Sopenharmony_ci</div>
25481cb0ef41Sopenharmony_ci<p>Type: Runtime</p>
25491cb0ef41Sopenharmony_ci<p>Previous versions of Node.js supported <code>dns.lookup()</code> with a falsy host name
25501cb0ef41Sopenharmony_cilike <code>dns.lookup(false)</code> due to backward compatibility.
25511cb0ef41Sopenharmony_ciThis behavior is undocumented and is thought to be unused in real world apps.
25521cb0ef41Sopenharmony_ciIt will become an error in future versions of Node.js.</p>
25531cb0ef41Sopenharmony_ci<h4 id="DEP0119">DEP0119: <code>process.binding('uv').errname()</code> private API<span><a class="mark" href="#dep0119-processbindinguverrname-private-api" id="dep0119-processbindinguverrname-private-api">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0119_process_binding_uv_errname_private_api"></a></h4>
25541cb0ef41Sopenharmony_ci<div class="api_metadata">
25551cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
25561cb0ef41Sopenharmony_ci<table>
25571cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
25581cb0ef41Sopenharmony_ci<tr><td>v11.0.0</td>
25591cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
25601cb0ef41Sopenharmony_ci</tbody></table>
25611cb0ef41Sopenharmony_ci</details>
25621cb0ef41Sopenharmony_ci</div>
25631cb0ef41Sopenharmony_ci<p>Type: Documentation-only (supports <a href="cli.html#--pending-deprecation"><code>--pending-deprecation</code></a>)</p>
25641cb0ef41Sopenharmony_ci<p><code>process.binding('uv').errname()</code> is deprecated. Please use
25651cb0ef41Sopenharmony_ci<a href="util.html#utilgetsystemerrornameerr"><code>util.getSystemErrorName()</code></a> instead.</p>
25661cb0ef41Sopenharmony_ci<h4 id="DEP0120">DEP0120: Windows Performance Counter support<span><a class="mark" href="#dep0120-windows-performance-counter-support" id="dep0120-windows-performance-counter-support">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0120_windows_performance_counter_support"></a></h4>
25671cb0ef41Sopenharmony_ci<div class="api_metadata">
25681cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
25691cb0ef41Sopenharmony_ci<table>
25701cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
25711cb0ef41Sopenharmony_ci<tr><td>v12.0.0</td>
25721cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
25731cb0ef41Sopenharmony_ci<tr><td>v11.0.0</td>
25741cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
25751cb0ef41Sopenharmony_ci</tbody></table>
25761cb0ef41Sopenharmony_ci</details>
25771cb0ef41Sopenharmony_ci</div>
25781cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
25791cb0ef41Sopenharmony_ci<p>Windows Performance Counter support has been removed from Node.js. The
25801cb0ef41Sopenharmony_ciundocumented <code>COUNTER_NET_SERVER_CONNECTION()</code>,
25811cb0ef41Sopenharmony_ci<code>COUNTER_NET_SERVER_CONNECTION_CLOSE()</code>, <code>COUNTER_HTTP_SERVER_REQUEST()</code>,
25821cb0ef41Sopenharmony_ci<code>COUNTER_HTTP_SERVER_RESPONSE()</code>, <code>COUNTER_HTTP_CLIENT_REQUEST()</code>, and
25831cb0ef41Sopenharmony_ci<code>COUNTER_HTTP_CLIENT_RESPONSE()</code> functions have been deprecated.</p>
25841cb0ef41Sopenharmony_ci<h4 id="DEP0121">DEP0121: <code>net._setSimultaneousAccepts()</code><span><a class="mark" href="#dep0121-net_setsimultaneousaccepts" id="dep0121-net_setsimultaneousaccepts">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0121_net_setsimultaneousaccepts"></a></h4>
25851cb0ef41Sopenharmony_ci<div class="api_metadata">
25861cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
25871cb0ef41Sopenharmony_ci<table>
25881cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
25891cb0ef41Sopenharmony_ci<tr><td>v12.0.0</td>
25901cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
25911cb0ef41Sopenharmony_ci</tbody></table>
25921cb0ef41Sopenharmony_ci</details>
25931cb0ef41Sopenharmony_ci</div>
25941cb0ef41Sopenharmony_ci<p>Type: Runtime</p>
25951cb0ef41Sopenharmony_ci<p>The undocumented <code>net._setSimultaneousAccepts()</code> function was originally
25961cb0ef41Sopenharmony_ciintended for debugging and performance tuning when using the
25971cb0ef41Sopenharmony_ci<code>node:child_process</code> and <code>node:cluster</code> modules on Windows. The function is not
25981cb0ef41Sopenharmony_cigenerally useful and is being removed. See discussion here:
25991cb0ef41Sopenharmony_ci<a href="https://github.com/nodejs/node/issues/18391">https://github.com/nodejs/node/issues/18391</a></p>
26001cb0ef41Sopenharmony_ci<h4 id="DEP0122">DEP0122: <code>tls</code> <code>Server.prototype.setOptions()</code><span><a class="mark" href="#dep0122-tls-serverprototypesetoptions" id="dep0122-tls-serverprototypesetoptions">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0122_tls_server_prototype_setoptions"></a></h4>
26011cb0ef41Sopenharmony_ci<div class="api_metadata">
26021cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
26031cb0ef41Sopenharmony_ci<table>
26041cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
26051cb0ef41Sopenharmony_ci<tr><td>v12.0.0</td>
26061cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
26071cb0ef41Sopenharmony_ci</tbody></table>
26081cb0ef41Sopenharmony_ci</details>
26091cb0ef41Sopenharmony_ci</div>
26101cb0ef41Sopenharmony_ci<p>Type: Runtime</p>
26111cb0ef41Sopenharmony_ci<p>Please use <code>Server.prototype.setSecureContext()</code> instead.</p>
26121cb0ef41Sopenharmony_ci<h4 id="DEP0123">DEP0123: setting the TLS ServerName to an IP address<span><a class="mark" href="#dep0123-setting-the-tls-servername-to-an-ip-address" id="dep0123-setting-the-tls-servername-to-an-ip-address">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0123_setting_the_tls_servername_to_an_ip_address"></a></h4>
26131cb0ef41Sopenharmony_ci<div class="api_metadata">
26141cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
26151cb0ef41Sopenharmony_ci<table>
26161cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
26171cb0ef41Sopenharmony_ci<tr><td>v12.0.0</td>
26181cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
26191cb0ef41Sopenharmony_ci</tbody></table>
26201cb0ef41Sopenharmony_ci</details>
26211cb0ef41Sopenharmony_ci</div>
26221cb0ef41Sopenharmony_ci<p>Type: Runtime</p>
26231cb0ef41Sopenharmony_ci<p>Setting the TLS ServerName to an IP address is not permitted by
26241cb0ef41Sopenharmony_ci<a href="https://tools.ietf.org/html/rfc6066#section-3">RFC 6066</a>. This will be ignored in a future version.</p>
26251cb0ef41Sopenharmony_ci<h4 id="DEP0124">DEP0124: using <code>REPLServer.rli</code><span><a class="mark" href="#dep0124-using-replserverrli" id="dep0124-using-replserverrli">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0124_using_replserver_rli"></a></h4>
26261cb0ef41Sopenharmony_ci<div class="api_metadata">
26271cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
26281cb0ef41Sopenharmony_ci<table>
26291cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
26301cb0ef41Sopenharmony_ci<tr><td>v15.0.0</td>
26311cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
26321cb0ef41Sopenharmony_ci<tr><td>v12.0.0</td>
26331cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
26341cb0ef41Sopenharmony_ci</tbody></table>
26351cb0ef41Sopenharmony_ci</details>
26361cb0ef41Sopenharmony_ci</div>
26371cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
26381cb0ef41Sopenharmony_ci<p>This property is a reference to the instance itself.</p>
26391cb0ef41Sopenharmony_ci<h4 id="DEP0125">DEP0125: <code>require('node:_stream_wrap')</code><span><a class="mark" href="#dep0125-requirenode_stream_wrap" id="dep0125-requirenode_stream_wrap">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0125_require_node_stream_wrap"></a></h4>
26401cb0ef41Sopenharmony_ci<div class="api_metadata">
26411cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
26421cb0ef41Sopenharmony_ci<table>
26431cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
26441cb0ef41Sopenharmony_ci<tr><td>v12.0.0</td>
26451cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
26461cb0ef41Sopenharmony_ci</tbody></table>
26471cb0ef41Sopenharmony_ci</details>
26481cb0ef41Sopenharmony_ci</div>
26491cb0ef41Sopenharmony_ci<p>Type: Runtime</p>
26501cb0ef41Sopenharmony_ci<p>The <code>node:_stream_wrap</code> module is deprecated.</p>
26511cb0ef41Sopenharmony_ci<h4 id="DEP0126">DEP0126: <code>timers.active()</code><span><a class="mark" href="#dep0126-timersactive" id="dep0126-timersactive">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0126_timers_active"></a></h4>
26521cb0ef41Sopenharmony_ci<div class="api_metadata">
26531cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
26541cb0ef41Sopenharmony_ci<table>
26551cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
26561cb0ef41Sopenharmony_ci<tr><td>v11.14.0</td>
26571cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
26581cb0ef41Sopenharmony_ci</tbody></table>
26591cb0ef41Sopenharmony_ci</details>
26601cb0ef41Sopenharmony_ci</div>
26611cb0ef41Sopenharmony_ci<p>Type: Runtime</p>
26621cb0ef41Sopenharmony_ci<p>The previously undocumented <code>timers.active()</code> is deprecated.
26631cb0ef41Sopenharmony_ciPlease use the publicly documented <a href="timers.html#timeoutrefresh"><code>timeout.refresh()</code></a> instead.
26641cb0ef41Sopenharmony_ciIf re-referencing the timeout is necessary, <a href="timers.html#timeoutref"><code>timeout.ref()</code></a> can be used
26651cb0ef41Sopenharmony_ciwith no performance impact since Node.js 10.</p>
26661cb0ef41Sopenharmony_ci<h4 id="DEP0127">DEP0127: <code>timers._unrefActive()</code><span><a class="mark" href="#dep0127-timers_unrefactive" id="dep0127-timers_unrefactive">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0127_timers_unrefactive"></a></h4>
26671cb0ef41Sopenharmony_ci<div class="api_metadata">
26681cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
26691cb0ef41Sopenharmony_ci<table>
26701cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
26711cb0ef41Sopenharmony_ci<tr><td>v11.14.0</td>
26721cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
26731cb0ef41Sopenharmony_ci</tbody></table>
26741cb0ef41Sopenharmony_ci</details>
26751cb0ef41Sopenharmony_ci</div>
26761cb0ef41Sopenharmony_ci<p>Type: Runtime</p>
26771cb0ef41Sopenharmony_ci<p>The previously undocumented and "private" <code>timers._unrefActive()</code> is deprecated.
26781cb0ef41Sopenharmony_ciPlease use the publicly documented <a href="timers.html#timeoutrefresh"><code>timeout.refresh()</code></a> instead.
26791cb0ef41Sopenharmony_ciIf unreferencing the timeout is necessary, <a href="timers.html#timeoutunref"><code>timeout.unref()</code></a> can be used
26801cb0ef41Sopenharmony_ciwith no performance impact since Node.js 10.</p>
26811cb0ef41Sopenharmony_ci<h4 id="DEP0128">DEP0128: modules with an invalid <code>main</code> entry and an <code>index.js</code> file<span><a class="mark" href="#dep0128-modules-with-an-invalid-main-entry-and-an-indexjs-file" id="dep0128-modules-with-an-invalid-main-entry-and-an-indexjs-file">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0128_modules_with_an_invalid_main_entry_and_an_index_js_file"></a></h4>
26821cb0ef41Sopenharmony_ci<div class="api_metadata">
26831cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
26841cb0ef41Sopenharmony_ci<table>
26851cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
26861cb0ef41Sopenharmony_ci<tr><td>v16.0.0</td>
26871cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
26881cb0ef41Sopenharmony_ci<tr><td>v12.0.0</td>
26891cb0ef41Sopenharmony_ci<td><p>Documentation-only.</p></td></tr>
26901cb0ef41Sopenharmony_ci</tbody></table>
26911cb0ef41Sopenharmony_ci</details>
26921cb0ef41Sopenharmony_ci</div>
26931cb0ef41Sopenharmony_ci<p>Type: Runtime</p>
26941cb0ef41Sopenharmony_ci<p>Modules that have an invalid <code>main</code> entry (e.g., <code>./does-not-exist.js</code>) and
26951cb0ef41Sopenharmony_cialso have an <code>index.js</code> file in the top level directory will resolve the
26961cb0ef41Sopenharmony_ci<code>index.js</code> file. That is deprecated and is going to throw an error in future
26971cb0ef41Sopenharmony_ciNode.js versions.</p>
26981cb0ef41Sopenharmony_ci<h4 id="DEP0129">DEP0129: <code>ChildProcess._channel</code><span><a class="mark" href="#dep0129-childprocess_channel" id="dep0129-childprocess_channel">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0129_childprocess_channel"></a></h4>
26991cb0ef41Sopenharmony_ci<div class="api_metadata">
27001cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
27011cb0ef41Sopenharmony_ci<table>
27021cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
27031cb0ef41Sopenharmony_ci<tr><td>v13.0.0</td>
27041cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
27051cb0ef41Sopenharmony_ci<tr><td>v11.14.0</td>
27061cb0ef41Sopenharmony_ci<td><p>Documentation-only.</p></td></tr>
27071cb0ef41Sopenharmony_ci</tbody></table>
27081cb0ef41Sopenharmony_ci</details>
27091cb0ef41Sopenharmony_ci</div>
27101cb0ef41Sopenharmony_ci<p>Type: Runtime</p>
27111cb0ef41Sopenharmony_ci<p>The <code>_channel</code> property of child process objects returned by <code>spawn()</code> and
27121cb0ef41Sopenharmony_cisimilar functions is not intended for public use. Use <code>ChildProcess.channel</code>
27131cb0ef41Sopenharmony_ciinstead.</p>
27141cb0ef41Sopenharmony_ci<h4 id="DEP0130">DEP0130: <code>Module.createRequireFromPath()</code><span><a class="mark" href="#dep0130-modulecreaterequirefrompath" id="dep0130-modulecreaterequirefrompath">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0130_module_createrequirefrompath"></a></h4>
27151cb0ef41Sopenharmony_ci<div class="api_metadata">
27161cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
27171cb0ef41Sopenharmony_ci<table>
27181cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
27191cb0ef41Sopenharmony_ci<tr><td>v16.0.0</td>
27201cb0ef41Sopenharmony_ci<td><p>End-of-life.</p></td></tr>
27211cb0ef41Sopenharmony_ci<tr><td>v13.0.0</td>
27221cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
27231cb0ef41Sopenharmony_ci<tr><td>v12.2.0</td>
27241cb0ef41Sopenharmony_ci<td><p>Documentation-only.</p></td></tr>
27251cb0ef41Sopenharmony_ci</tbody></table>
27261cb0ef41Sopenharmony_ci</details>
27271cb0ef41Sopenharmony_ci</div>
27281cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
27291cb0ef41Sopenharmony_ci<p>Use <a href="module.html#modulecreaterequirefilename"><code>module.createRequire()</code></a> instead.</p>
27301cb0ef41Sopenharmony_ci<h4 id="DEP0131">DEP0131: Legacy HTTP parser<span><a class="mark" href="#dep0131-legacy-http-parser" id="dep0131-legacy-http-parser">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0131_legacy_http_parser"></a></h4>
27311cb0ef41Sopenharmony_ci<div class="api_metadata">
27321cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
27331cb0ef41Sopenharmony_ci<table>
27341cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
27351cb0ef41Sopenharmony_ci<tr><td>v13.0.0</td>
27361cb0ef41Sopenharmony_ci<td><p>This feature has been removed.</p></td></tr>
27371cb0ef41Sopenharmony_ci<tr><td>v12.22.0</td>
27381cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
27391cb0ef41Sopenharmony_ci<tr><td>v12.3.0</td>
27401cb0ef41Sopenharmony_ci<td><p>Documentation-only.</p></td></tr>
27411cb0ef41Sopenharmony_ci</tbody></table>
27421cb0ef41Sopenharmony_ci</details>
27431cb0ef41Sopenharmony_ci</div>
27441cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
27451cb0ef41Sopenharmony_ci<p>The legacy HTTP parser, used by default in versions of Node.js prior to 12.0.0,
27461cb0ef41Sopenharmony_ciis deprecated and has been removed in v13.0.0. Prior to v13.0.0, the
27471cb0ef41Sopenharmony_ci<code>--http-parser=legacy</code> command-line flag could be used to revert to using the
27481cb0ef41Sopenharmony_cilegacy parser.</p>
27491cb0ef41Sopenharmony_ci<h4 id="DEP0132">DEP0132: <code>worker.terminate()</code> with callback<span><a class="mark" href="#dep0132-workerterminate-with-callback" id="dep0132-workerterminate-with-callback">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0132_worker_terminate_with_callback"></a></h4>
27501cb0ef41Sopenharmony_ci<div class="api_metadata">
27511cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
27521cb0ef41Sopenharmony_ci<table>
27531cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
27541cb0ef41Sopenharmony_ci<tr><td>v12.5.0</td>
27551cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
27561cb0ef41Sopenharmony_ci</tbody></table>
27571cb0ef41Sopenharmony_ci</details>
27581cb0ef41Sopenharmony_ci</div>
27591cb0ef41Sopenharmony_ci<p>Type: Runtime</p>
27601cb0ef41Sopenharmony_ci<p>Passing a callback to <a href="worker_threads.html#workerterminate"><code>worker.terminate()</code></a> is deprecated. Use the returned
27611cb0ef41Sopenharmony_ci<code>Promise</code> instead, or a listener to the worker's <code>'exit'</code> event.</p>
27621cb0ef41Sopenharmony_ci<h4 id="DEP0133">DEP0133: <code>http</code> <code>connection</code><span><a class="mark" href="#dep0133-http-connection" id="dep0133-http-connection">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0133_http_connection"></a></h4>
27631cb0ef41Sopenharmony_ci<div class="api_metadata">
27641cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
27651cb0ef41Sopenharmony_ci<table>
27661cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
27671cb0ef41Sopenharmony_ci<tr><td>v12.12.0</td>
27681cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
27691cb0ef41Sopenharmony_ci</tbody></table>
27701cb0ef41Sopenharmony_ci</details>
27711cb0ef41Sopenharmony_ci</div>
27721cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
27731cb0ef41Sopenharmony_ci<p>Prefer <a href="http.html#responsesocket"><code>response.socket</code></a> over <a href="http.html#responseconnection"><code>response.connection</code></a> and
27741cb0ef41Sopenharmony_ci<a href="http.html#requestsocket"><code>request.socket</code></a> over <a href="http.html#requestconnection"><code>request.connection</code></a>.</p>
27751cb0ef41Sopenharmony_ci<h4 id="DEP0134">DEP0134: <code>process._tickCallback</code><span><a class="mark" href="#dep0134-process_tickcallback" id="dep0134-process_tickcallback">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0134_process_tickcallback"></a></h4>
27761cb0ef41Sopenharmony_ci<div class="api_metadata">
27771cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
27781cb0ef41Sopenharmony_ci<table>
27791cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
27801cb0ef41Sopenharmony_ci<tr><td>v12.12.0</td>
27811cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
27821cb0ef41Sopenharmony_ci</tbody></table>
27831cb0ef41Sopenharmony_ci</details>
27841cb0ef41Sopenharmony_ci</div>
27851cb0ef41Sopenharmony_ci<p>Type: Documentation-only (supports <a href="cli.html#--pending-deprecation"><code>--pending-deprecation</code></a>)</p>
27861cb0ef41Sopenharmony_ci<p>The <code>process._tickCallback</code> property was never documented as
27871cb0ef41Sopenharmony_cian officially supported API.</p>
27881cb0ef41Sopenharmony_ci<h4 id="DEP0135">DEP0135: <code>WriteStream.open()</code> and <code>ReadStream.open()</code> are internal<span><a class="mark" href="#dep0135-writestreamopen-and-readstreamopen-are-internal" id="dep0135-writestreamopen-and-readstreamopen-are-internal">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0135_writestream_open_and_readstream_open_are_internal"></a></h4>
27891cb0ef41Sopenharmony_ci<div class="api_metadata">
27901cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
27911cb0ef41Sopenharmony_ci<table>
27921cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
27931cb0ef41Sopenharmony_ci<tr><td>v13.0.0</td>
27941cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
27951cb0ef41Sopenharmony_ci</tbody></table>
27961cb0ef41Sopenharmony_ci</details>
27971cb0ef41Sopenharmony_ci</div>
27981cb0ef41Sopenharmony_ci<p>Type: Runtime</p>
27991cb0ef41Sopenharmony_ci<p><a href="fs.html#class-fswritestream"><code>WriteStream.open()</code></a> and <a href="fs.html#class-fsreadstream"><code>ReadStream.open()</code></a> are undocumented internal
28001cb0ef41Sopenharmony_ciAPIs that do not make sense to use in userland. File streams should always be
28011cb0ef41Sopenharmony_ciopened through their corresponding factory methods <a href="fs.html#fscreatewritestreampath-options"><code>fs.createWriteStream()</code></a>
28021cb0ef41Sopenharmony_ciand <a href="fs.html#fscreatereadstreampath-options"><code>fs.createReadStream()</code></a>) or by passing a file descriptor in options.</p>
28031cb0ef41Sopenharmony_ci<h4 id="DEP0136">DEP0136: <code>http</code> <code>finished</code><span><a class="mark" href="#dep0136-http-finished" id="dep0136-http-finished">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0136_http_finished"></a></h4>
28041cb0ef41Sopenharmony_ci<div class="api_metadata">
28051cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
28061cb0ef41Sopenharmony_ci<table>
28071cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
28081cb0ef41Sopenharmony_ci<tr><td>v13.4.0, v12.16.0</td>
28091cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
28101cb0ef41Sopenharmony_ci</tbody></table>
28111cb0ef41Sopenharmony_ci</details>
28121cb0ef41Sopenharmony_ci</div>
28131cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
28141cb0ef41Sopenharmony_ci<p><a href="http.html#responsefinished"><code>response.finished</code></a> indicates whether <a href="http.html#responseenddata-encoding-callback"><code>response.end()</code></a> has been
28151cb0ef41Sopenharmony_cicalled, not whether <code>'finish'</code> has been emitted and the underlying data
28161cb0ef41Sopenharmony_ciis flushed.</p>
28171cb0ef41Sopenharmony_ci<p>Use <a href="http.html#responsewritablefinished"><code>response.writableFinished</code></a> or <a href="http.html#responsewritableended"><code>response.writableEnded</code></a>
28181cb0ef41Sopenharmony_ciaccordingly instead to avoid the ambiguity.</p>
28191cb0ef41Sopenharmony_ci<p>To maintain existing behavior <code>response.finished</code> should be replaced with
28201cb0ef41Sopenharmony_ci<code>response.writableEnded</code>.</p>
28211cb0ef41Sopenharmony_ci<h4 id="DEP0137">DEP0137: Closing fs.FileHandle on garbage collection<span><a class="mark" href="#dep0137-closing-fsfilehandle-on-garbage-collection" id="dep0137-closing-fsfilehandle-on-garbage-collection">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0137_closing_fs_filehandle_on_garbage_collection"></a></h4>
28221cb0ef41Sopenharmony_ci<div class="api_metadata">
28231cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
28241cb0ef41Sopenharmony_ci<table>
28251cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
28261cb0ef41Sopenharmony_ci<tr><td>v14.0.0</td>
28271cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
28281cb0ef41Sopenharmony_ci</tbody></table>
28291cb0ef41Sopenharmony_ci</details>
28301cb0ef41Sopenharmony_ci</div>
28311cb0ef41Sopenharmony_ci<p>Type: Runtime</p>
28321cb0ef41Sopenharmony_ci<p>Allowing a <a href="fs.html#class-filehandle"><code>fs.FileHandle</code></a> object to be closed on garbage collection is
28331cb0ef41Sopenharmony_cideprecated. In the future, doing so might result in a thrown error that will
28341cb0ef41Sopenharmony_citerminate the process.</p>
28351cb0ef41Sopenharmony_ci<p>Please ensure that all <code>fs.FileHandle</code> objects are explicitly closed using
28361cb0ef41Sopenharmony_ci<code>FileHandle.prototype.close()</code> when the <code>fs.FileHandle</code> is no longer needed:</p>
28371cb0ef41Sopenharmony_ci<pre><code class="language-js"><span class="hljs-keyword">const</span> fsPromises = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node:fs'</span>).<span class="hljs-property">promises</span>;
28381cb0ef41Sopenharmony_ci<span class="hljs-keyword">async</span> <span class="hljs-keyword">function</span> <span class="hljs-title function_">openAndClose</span>(<span class="hljs-params"></span>) {
28391cb0ef41Sopenharmony_ci  <span class="hljs-keyword">let</span> filehandle;
28401cb0ef41Sopenharmony_ci  <span class="hljs-keyword">try</span> {
28411cb0ef41Sopenharmony_ci    filehandle = <span class="hljs-keyword">await</span> fsPromises.<span class="hljs-title function_">open</span>(<span class="hljs-string">'thefile.txt'</span>, <span class="hljs-string">'r'</span>);
28421cb0ef41Sopenharmony_ci  } <span class="hljs-keyword">finally</span> {
28431cb0ef41Sopenharmony_ci    <span class="hljs-keyword">if</span> (filehandle !== <span class="hljs-literal">undefined</span>)
28441cb0ef41Sopenharmony_ci      <span class="hljs-keyword">await</span> filehandle.<span class="hljs-title function_">close</span>();
28451cb0ef41Sopenharmony_ci  }
28461cb0ef41Sopenharmony_ci}</code> <button class="copy-button">copy</button></pre>
28471cb0ef41Sopenharmony_ci<h4 id="DEP0138">DEP0138: <code>process.mainModule</code><span><a class="mark" href="#dep0138-processmainmodule" id="dep0138-processmainmodule">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0138_process_mainmodule"></a></h4>
28481cb0ef41Sopenharmony_ci<div class="api_metadata">
28491cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
28501cb0ef41Sopenharmony_ci<table>
28511cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
28521cb0ef41Sopenharmony_ci<tr><td>v14.0.0</td>
28531cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
28541cb0ef41Sopenharmony_ci</tbody></table>
28551cb0ef41Sopenharmony_ci</details>
28561cb0ef41Sopenharmony_ci</div>
28571cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
28581cb0ef41Sopenharmony_ci<p><a href="process.html#processmainmodule"><code>process.mainModule</code></a> is a CommonJS-only feature while <code>process</code> global
28591cb0ef41Sopenharmony_ciobject is shared with non-CommonJS environment. Its use within ECMAScript
28601cb0ef41Sopenharmony_cimodules is unsupported.</p>
28611cb0ef41Sopenharmony_ci<p>It is deprecated in favor of <a href="modules.html#accessing-the-main-module"><code>require.main</code></a>, because it serves the same
28621cb0ef41Sopenharmony_cipurpose and is only available on CommonJS environment.</p>
28631cb0ef41Sopenharmony_ci<h4 id="DEP0139">DEP0139: <code>process.umask()</code> with no arguments<span><a class="mark" href="#dep0139-processumask-with-no-arguments" id="dep0139-processumask-with-no-arguments">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0139_process_umask_with_no_arguments"></a></h4>
28641cb0ef41Sopenharmony_ci<div class="api_metadata">
28651cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
28661cb0ef41Sopenharmony_ci<table>
28671cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
28681cb0ef41Sopenharmony_ci<tr><td>v14.0.0, v12.19.0</td>
28691cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
28701cb0ef41Sopenharmony_ci</tbody></table>
28711cb0ef41Sopenharmony_ci</details>
28721cb0ef41Sopenharmony_ci</div>
28731cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
28741cb0ef41Sopenharmony_ci<p>Calling <code>process.umask()</code> with no argument causes the process-wide umask to be
28751cb0ef41Sopenharmony_ciwritten twice. This introduces a race condition between threads, and is a
28761cb0ef41Sopenharmony_cipotential security vulnerability. There is no safe, cross-platform alternative
28771cb0ef41Sopenharmony_ciAPI.</p>
28781cb0ef41Sopenharmony_ci<h4 id="DEP0140">DEP0140: Use <code>request.destroy()</code> instead of <code>request.abort()</code><span><a class="mark" href="#dep0140-use-requestdestroy-instead-of-requestabort" id="dep0140-use-requestdestroy-instead-of-requestabort">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0140_use_request_destroy_instead_of_request_abort"></a></h4>
28791cb0ef41Sopenharmony_ci<div class="api_metadata">
28801cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
28811cb0ef41Sopenharmony_ci<table>
28821cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
28831cb0ef41Sopenharmony_ci<tr><td>v14.1.0, v13.14.0</td>
28841cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
28851cb0ef41Sopenharmony_ci</tbody></table>
28861cb0ef41Sopenharmony_ci</details>
28871cb0ef41Sopenharmony_ci</div>
28881cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
28891cb0ef41Sopenharmony_ci<p>Use <a href="http.html#requestdestroyerror"><code>request.destroy()</code></a> instead of <a href="http.html#requestabort"><code>request.abort()</code></a>.</p>
28901cb0ef41Sopenharmony_ci<h4 id="DEP0141">DEP0141: <code>repl.inputStream</code> and <code>repl.outputStream</code><span><a class="mark" href="#dep0141-replinputstream-and-reploutputstream" id="dep0141-replinputstream-and-reploutputstream">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0141_repl_inputstream_and_repl_outputstream"></a></h4>
28911cb0ef41Sopenharmony_ci<div class="api_metadata">
28921cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
28931cb0ef41Sopenharmony_ci<table>
28941cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
28951cb0ef41Sopenharmony_ci<tr><td>v14.3.0</td>
28961cb0ef41Sopenharmony_ci<td><p>Documentation-only (supports [<code>--pending-deprecation</code>][]).</p></td></tr>
28971cb0ef41Sopenharmony_ci</tbody></table>
28981cb0ef41Sopenharmony_ci</details>
28991cb0ef41Sopenharmony_ci</div>
29001cb0ef41Sopenharmony_ci<p>Type: Documentation-only (supports <a href="cli.html#--pending-deprecation"><code>--pending-deprecation</code></a>)</p>
29011cb0ef41Sopenharmony_ci<p>The <code>node:repl</code> module exported the input and output stream twice. Use <code>.input</code>
29021cb0ef41Sopenharmony_ciinstead of <code>.inputStream</code> and <code>.output</code> instead of <code>.outputStream</code>.</p>
29031cb0ef41Sopenharmony_ci<h4 id="DEP0142">DEP0142: <code>repl._builtinLibs</code><span><a class="mark" href="#dep0142-repl_builtinlibs" id="dep0142-repl_builtinlibs">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0142_repl_builtinlibs"></a></h4>
29041cb0ef41Sopenharmony_ci<div class="api_metadata">
29051cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
29061cb0ef41Sopenharmony_ci<table>
29071cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
29081cb0ef41Sopenharmony_ci<tr><td>v14.3.0</td>
29091cb0ef41Sopenharmony_ci<td><p>Documentation-only (supports [<code>--pending-deprecation</code>][]).</p></td></tr>
29101cb0ef41Sopenharmony_ci</tbody></table>
29111cb0ef41Sopenharmony_ci</details>
29121cb0ef41Sopenharmony_ci</div>
29131cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
29141cb0ef41Sopenharmony_ci<p>The <code>node:repl</code> module exports a <code>_builtinLibs</code> property that contains an array
29151cb0ef41Sopenharmony_ciof built-in modules. It was incomplete so far and instead it's better to rely
29161cb0ef41Sopenharmony_ciupon <code>require('node:module').builtinModules</code>.</p>
29171cb0ef41Sopenharmony_ci<h4 id="DEP0143">DEP0143: <code>Transform._transformState</code><span><a class="mark" href="#dep0143-transform_transformstate" id="dep0143-transform_transformstate">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0143_transform_transformstate"></a></h4>
29181cb0ef41Sopenharmony_ci<div class="api_metadata">
29191cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
29201cb0ef41Sopenharmony_ci<table>
29211cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
29221cb0ef41Sopenharmony_ci<tr><td>v14.5.0</td>
29231cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
29241cb0ef41Sopenharmony_ci</tbody></table>
29251cb0ef41Sopenharmony_ci</details>
29261cb0ef41Sopenharmony_ci</div>
29271cb0ef41Sopenharmony_ci<p>Type: Runtime
29281cb0ef41Sopenharmony_ci<code>Transform._transformState</code> will be removed in future versions where it is
29291cb0ef41Sopenharmony_cino longer required due to simplification of the implementation.</p>
29301cb0ef41Sopenharmony_ci<h4 id="DEP0144">DEP0144: <code>module.parent</code><span><a class="mark" href="#dep0144-moduleparent" id="dep0144-moduleparent">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0144_module_parent"></a></h4>
29311cb0ef41Sopenharmony_ci<div class="api_metadata">
29321cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
29331cb0ef41Sopenharmony_ci<table>
29341cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
29351cb0ef41Sopenharmony_ci<tr><td>v14.6.0, v12.19.0</td>
29361cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
29371cb0ef41Sopenharmony_ci</tbody></table>
29381cb0ef41Sopenharmony_ci</details>
29391cb0ef41Sopenharmony_ci</div>
29401cb0ef41Sopenharmony_ci<p>Type: Documentation-only (supports <a href="cli.html#--pending-deprecation"><code>--pending-deprecation</code></a>)</p>
29411cb0ef41Sopenharmony_ci<p>A CommonJS module can access the first module that required it using
29421cb0ef41Sopenharmony_ci<code>module.parent</code>. This feature is deprecated because it does not work
29431cb0ef41Sopenharmony_ciconsistently in the presence of ECMAScript modules and because it gives an
29441cb0ef41Sopenharmony_ciinaccurate representation of the CommonJS module graph.</p>
29451cb0ef41Sopenharmony_ci<p>Some modules use it to check if they are the entry point of the current process.
29461cb0ef41Sopenharmony_ciInstead, it is recommended to compare <code>require.main</code> and <code>module</code>:</p>
29471cb0ef41Sopenharmony_ci<pre><code class="language-js"><span class="hljs-keyword">if</span> (<span class="hljs-built_in">require</span>.<span class="hljs-property">main</span> === <span class="hljs-variable language_">module</span>) {
29481cb0ef41Sopenharmony_ci  <span class="hljs-comment">// Code section that will run only if current file is the entry point.</span>
29491cb0ef41Sopenharmony_ci}</code> <button class="copy-button">copy</button></pre>
29501cb0ef41Sopenharmony_ci<p>When looking for the CommonJS modules that have required the current one,
29511cb0ef41Sopenharmony_ci<code>require.cache</code> and <code>module.children</code> can be used:</p>
29521cb0ef41Sopenharmony_ci<pre><code class="language-js"><span class="hljs-keyword">const</span> moduleParents = <span class="hljs-title class_">Object</span>.<span class="hljs-title function_">values</span>(<span class="hljs-built_in">require</span>.<span class="hljs-property">cache</span>)
29531cb0ef41Sopenharmony_ci  .<span class="hljs-title function_">filter</span>(<span class="hljs-function">(<span class="hljs-params">m</span>) =></span> m.<span class="hljs-property">children</span>.<span class="hljs-title function_">includes</span>(<span class="hljs-variable language_">module</span>));</code> <button class="copy-button">copy</button></pre>
29541cb0ef41Sopenharmony_ci<h4 id="DEP0145">DEP0145: <code>socket.bufferSize</code><span><a class="mark" href="#dep0145-socketbuffersize" id="dep0145-socketbuffersize">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0145_socket_buffersize"></a></h4>
29551cb0ef41Sopenharmony_ci<div class="api_metadata">
29561cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
29571cb0ef41Sopenharmony_ci<table>
29581cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
29591cb0ef41Sopenharmony_ci<tr><td>v14.6.0</td>
29601cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
29611cb0ef41Sopenharmony_ci</tbody></table>
29621cb0ef41Sopenharmony_ci</details>
29631cb0ef41Sopenharmony_ci</div>
29641cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
29651cb0ef41Sopenharmony_ci<p><a href="net.html#socketbuffersize"><code>socket.bufferSize</code></a> is just an alias for <a href="stream.html#writablewritablelength"><code>writable.writableLength</code></a>.</p>
29661cb0ef41Sopenharmony_ci<h4 id="DEP0146">DEP0146: <code>new crypto.Certificate()</code><span><a class="mark" href="#dep0146-new-cryptocertificate" id="dep0146-new-cryptocertificate">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0146_new_crypto_certificate"></a></h4>
29671cb0ef41Sopenharmony_ci<div class="api_metadata">
29681cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
29691cb0ef41Sopenharmony_ci<table>
29701cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
29711cb0ef41Sopenharmony_ci<tr><td>v14.9.0</td>
29721cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
29731cb0ef41Sopenharmony_ci</tbody></table>
29741cb0ef41Sopenharmony_ci</details>
29751cb0ef41Sopenharmony_ci</div>
29761cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
29771cb0ef41Sopenharmony_ci<p>The <a href="crypto.html#legacy-api"><code>crypto.Certificate()</code> constructor</a> is deprecated. Use
29781cb0ef41Sopenharmony_ci<a href="crypto.html#class-certificate">static methods of <code>crypto.Certificate()</code></a> instead.</p>
29791cb0ef41Sopenharmony_ci<h4 id="DEP0147">DEP0147: <code>fs.rmdir(path, { recursive: true })</code><span><a class="mark" href="#dep0147-fsrmdirpath--recursive-true-" id="dep0147-fsrmdirpath--recursive-true-">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0147_fs_rmdir_path_recursive_true"></a></h4>
29801cb0ef41Sopenharmony_ci<div class="api_metadata">
29811cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
29821cb0ef41Sopenharmony_ci<table>
29831cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
29841cb0ef41Sopenharmony_ci<tr><td>v16.0.0</td>
29851cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
29861cb0ef41Sopenharmony_ci<tr><td>v15.0.0</td>
29871cb0ef41Sopenharmony_ci<td><p>Runtime deprecation for permissive behavior.</p></td></tr>
29881cb0ef41Sopenharmony_ci<tr><td>v14.14.0</td>
29891cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
29901cb0ef41Sopenharmony_ci</tbody></table>
29911cb0ef41Sopenharmony_ci</details>
29921cb0ef41Sopenharmony_ci</div>
29931cb0ef41Sopenharmony_ci<p>Type: Runtime</p>
29941cb0ef41Sopenharmony_ci<p>In future versions of Node.js, <code>recursive</code> option will be ignored for
29951cb0ef41Sopenharmony_ci<code>fs.rmdir</code>, <code>fs.rmdirSync</code>, and <code>fs.promises.rmdir</code>.</p>
29961cb0ef41Sopenharmony_ci<p>Use <code>fs.rm(path, { recursive: true, force: true })</code>,
29971cb0ef41Sopenharmony_ci<code>fs.rmSync(path, { recursive: true, force: true })</code> or
29981cb0ef41Sopenharmony_ci<code>fs.promises.rm(path, { recursive: true, force: true })</code> instead.</p>
29991cb0ef41Sopenharmony_ci<h4 id="DEP0148">DEP0148: Folder mappings in <code>"exports"</code> (trailing <code>"/"</code>)<span><a class="mark" href="#dep0148-folder-mappings-in-exports-trailing-" id="dep0148-folder-mappings-in-exports-trailing-">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0148_folder_mappings_in_exports_trailing"></a></h4>
30001cb0ef41Sopenharmony_ci<div class="api_metadata">
30011cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
30021cb0ef41Sopenharmony_ci<table>
30031cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
30041cb0ef41Sopenharmony_ci<tr><td>v17.0.0</td>
30051cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
30061cb0ef41Sopenharmony_ci<tr><td>v16.0.0</td>
30071cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
30081cb0ef41Sopenharmony_ci<tr><td>v15.1.0</td>
30091cb0ef41Sopenharmony_ci<td><p>Runtime deprecation for self-referencing imports.</p></td></tr>
30101cb0ef41Sopenharmony_ci<tr><td>v14.13.0</td>
30111cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
30121cb0ef41Sopenharmony_ci</tbody></table>
30131cb0ef41Sopenharmony_ci</details>
30141cb0ef41Sopenharmony_ci</div>
30151cb0ef41Sopenharmony_ci<p>Type: Runtime</p>
30161cb0ef41Sopenharmony_ci<p>Using a trailing <code>"/"</code> to define subpath folder mappings in the
30171cb0ef41Sopenharmony_ci<a href="packages.html#subpath-exports">subpath exports</a> or <a href="packages.html#subpath-imports">subpath imports</a> fields is deprecated. Use
30181cb0ef41Sopenharmony_ci<a href="packages.html#subpath-patterns">subpath patterns</a> instead.</p>
30191cb0ef41Sopenharmony_ci<h4 id="DEP0149">DEP0149: <code>http.IncomingMessage#connection</code><span><a class="mark" href="#dep0149-httpincomingmessageconnection" id="dep0149-httpincomingmessageconnection">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0149_http_incomingmessage_connection"></a></h4>
30201cb0ef41Sopenharmony_ci<div class="api_metadata">
30211cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
30221cb0ef41Sopenharmony_ci<table>
30231cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
30241cb0ef41Sopenharmony_ci<tr><td>v16.0.0</td>
30251cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
30261cb0ef41Sopenharmony_ci</tbody></table>
30271cb0ef41Sopenharmony_ci</details>
30281cb0ef41Sopenharmony_ci</div>
30291cb0ef41Sopenharmony_ci<p>Type: Documentation-only.</p>
30301cb0ef41Sopenharmony_ci<p>Prefer <a href="http.html#messagesocket"><code>message.socket</code></a> over <a href="http.html#messageconnection"><code>message.connection</code></a>.</p>
30311cb0ef41Sopenharmony_ci<h4 id="DEP0150">DEP0150: Changing the value of <code>process.config</code><span><a class="mark" href="#dep0150-changing-the-value-of-processconfig" id="dep0150-changing-the-value-of-processconfig">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0150_changing_the_value_of_process_config"></a></h4>
30321cb0ef41Sopenharmony_ci<div class="api_metadata">
30331cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
30341cb0ef41Sopenharmony_ci<table>
30351cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
30361cb0ef41Sopenharmony_ci<tr><td>v19.0.0</td>
30371cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
30381cb0ef41Sopenharmony_ci<tr><td>v16.0.0</td>
30391cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
30401cb0ef41Sopenharmony_ci</tbody></table>
30411cb0ef41Sopenharmony_ci</details>
30421cb0ef41Sopenharmony_ci</div>
30431cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
30441cb0ef41Sopenharmony_ci<p>The <code>process.config</code> property provides access to Node.js compile-time settings.
30451cb0ef41Sopenharmony_ciHowever, the property is mutable and therefore subject to tampering. The ability
30461cb0ef41Sopenharmony_cito change the value will be removed in a future version of Node.js.</p>
30471cb0ef41Sopenharmony_ci<h4 id="DEP0151">DEP0151: Main index lookup and extension searching<span><a class="mark" href="#dep0151-main-index-lookup-and-extension-searching" id="dep0151-main-index-lookup-and-extension-searching">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0151_main_index_lookup_and_extension_searching"></a></h4>
30481cb0ef41Sopenharmony_ci<div class="api_metadata">
30491cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
30501cb0ef41Sopenharmony_ci<table>
30511cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
30521cb0ef41Sopenharmony_ci<tr><td>v16.0.0</td>
30531cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
30541cb0ef41Sopenharmony_ci<tr><td>v15.8.0, v14.18.0</td>
30551cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation with <code>--pending-deprecation</code> support.</p></td></tr>
30561cb0ef41Sopenharmony_ci</tbody></table>
30571cb0ef41Sopenharmony_ci</details>
30581cb0ef41Sopenharmony_ci</div>
30591cb0ef41Sopenharmony_ci<p>Type: Runtime</p>
30601cb0ef41Sopenharmony_ci<p>Previously, <code>index.js</code> and extension searching lookups would apply to
30611cb0ef41Sopenharmony_ci<code>import 'pkg'</code> main entry point resolution, even when resolving ES modules.</p>
30621cb0ef41Sopenharmony_ci<p>With this deprecation, all ES module main entry point resolutions require
30631cb0ef41Sopenharmony_cian explicit <a href="packages.html#main-entry-point-export"><code>"exports"</code> or <code>"main"</code> entry</a> with the exact file extension.</p>
30641cb0ef41Sopenharmony_ci<h4 id="DEP0152">DEP0152: Extension PerformanceEntry properties<span><a class="mark" href="#dep0152-extension-performanceentry-properties" id="dep0152-extension-performanceentry-properties">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0152_extension_performanceentry_properties"></a></h4>
30651cb0ef41Sopenharmony_ci<div class="api_metadata">
30661cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
30671cb0ef41Sopenharmony_ci<table>
30681cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
30691cb0ef41Sopenharmony_ci<tr><td>v16.0.0</td>
30701cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
30711cb0ef41Sopenharmony_ci</tbody></table>
30721cb0ef41Sopenharmony_ci</details>
30731cb0ef41Sopenharmony_ci</div>
30741cb0ef41Sopenharmony_ci<p>Type: Runtime</p>
30751cb0ef41Sopenharmony_ci<p>The <code>'gc'</code>, <code>'http2'</code>, and <code>'http'</code> <a href="perf_hooks.html#class-performanceentry" class="type">&#x3C;PerformanceEntry></a> object types have
30761cb0ef41Sopenharmony_ciadditional properties assigned to them that provide additional information.
30771cb0ef41Sopenharmony_ciThese properties are now available within the standard <code>detail</code> property
30781cb0ef41Sopenharmony_ciof the <code>PerformanceEntry</code> object. The existing accessors have been
30791cb0ef41Sopenharmony_cideprecated and should no longer be used.</p>
30801cb0ef41Sopenharmony_ci<h4 id="DEP0153">DEP0153: <code>dns.lookup</code> and <code>dnsPromises.lookup</code> options type coercion<span><a class="mark" href="#dep0153-dnslookup-and-dnspromiseslookup-options-type-coercion" id="dep0153-dnslookup-and-dnspromiseslookup-options-type-coercion">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0153_dns_lookup_and_dnspromises_lookup_options_type_coercion"></a></h4>
30811cb0ef41Sopenharmony_ci<div class="api_metadata">
30821cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
30831cb0ef41Sopenharmony_ci<table>
30841cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
30851cb0ef41Sopenharmony_ci<tr><td>v18.0.0</td>
30861cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
30871cb0ef41Sopenharmony_ci<tr><td>v17.0.0</td>
30881cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
30891cb0ef41Sopenharmony_ci<tr><td>v16.8.0</td>
30901cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
30911cb0ef41Sopenharmony_ci</tbody></table>
30921cb0ef41Sopenharmony_ci</details>
30931cb0ef41Sopenharmony_ci</div>
30941cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
30951cb0ef41Sopenharmony_ci<p>Using a non-nullish non-integer value for <code>family</code> option, a non-nullish
30961cb0ef41Sopenharmony_cinon-number value for <code>hints</code> option, a non-nullish non-boolean value for <code>all</code>
30971cb0ef41Sopenharmony_cioption, or a non-nullish non-boolean value for <code>verbatim</code> option in
30981cb0ef41Sopenharmony_ci<a href="dns.html#dnslookuphostname-options-callback"><code>dns.lookup()</code></a> and <a href="dns.html#dnspromiseslookuphostname-options"><code>dnsPromises.lookup()</code></a> throws an
30991cb0ef41Sopenharmony_ci<code>ERR_INVALID_ARG_TYPE</code> error.</p>
31001cb0ef41Sopenharmony_ci<h4 id="DEP0154">DEP0154: RSA-PSS generate key pair options<span><a class="mark" href="#dep0154-rsa-pss-generate-key-pair-options" id="dep0154-rsa-pss-generate-key-pair-options">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0154_rsa_pss_generate_key_pair_options"></a></h4>
31011cb0ef41Sopenharmony_ci<div class="api_metadata">
31021cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
31031cb0ef41Sopenharmony_ci<table>
31041cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
31051cb0ef41Sopenharmony_ci<tr><td>v16.10.0</td>
31061cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
31071cb0ef41Sopenharmony_ci</tbody></table>
31081cb0ef41Sopenharmony_ci</details>
31091cb0ef41Sopenharmony_ci</div>
31101cb0ef41Sopenharmony_ci<p>Type: Documentation-only (supports <a href="cli.html#--pending-deprecation"><code>--pending-deprecation</code></a>)</p>
31111cb0ef41Sopenharmony_ci<p>The <code>'hash'</code> and <code>'mgf1Hash'</code> options are replaced with <code>'hashAlgorithm'</code>
31121cb0ef41Sopenharmony_ciand <code>'mgf1HashAlgorithm'</code>.</p>
31131cb0ef41Sopenharmony_ci<h4 id="DEP0155">DEP0155: Trailing slashes in pattern specifier resolutions<span><a class="mark" href="#dep0155-trailing-slashes-in-pattern-specifier-resolutions" id="dep0155-trailing-slashes-in-pattern-specifier-resolutions">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0155_trailing_slashes_in_pattern_specifier_resolutions"></a></h4>
31141cb0ef41Sopenharmony_ci<div class="api_metadata">
31151cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
31161cb0ef41Sopenharmony_ci<table>
31171cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
31181cb0ef41Sopenharmony_ci<tr><td>v17.0.0</td>
31191cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
31201cb0ef41Sopenharmony_ci<tr><td>v16.10.0</td>
31211cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation with <code>--pending-deprecation</code> support.</p></td></tr>
31221cb0ef41Sopenharmony_ci</tbody></table>
31231cb0ef41Sopenharmony_ci</details>
31241cb0ef41Sopenharmony_ci</div>
31251cb0ef41Sopenharmony_ci<p>Type: Runtime</p>
31261cb0ef41Sopenharmony_ci<p>The remapping of specifiers ending in <code>"/"</code> like <code>import 'pkg/x/'</code> is deprecated
31271cb0ef41Sopenharmony_cifor package <code>"exports"</code> and <code>"imports"</code> pattern resolutions.</p>
31281cb0ef41Sopenharmony_ci<h4 id="DEP0156">DEP0156: <code>.aborted</code> property and <code>'abort'</code>, <code>'aborted'</code> event in <code>http</code><span><a class="mark" href="#dep0156-aborted-property-and-abort-aborted-event-in-http" id="dep0156-aborted-property-and-abort-aborted-event-in-http">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0156_aborted_property_and_abort_aborted_event_in_http"></a></h4>
31291cb0ef41Sopenharmony_ci<div class="api_metadata">
31301cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
31311cb0ef41Sopenharmony_ci<table>
31321cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
31331cb0ef41Sopenharmony_ci<tr><td>v17.0.0, v16.12.0</td>
31341cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
31351cb0ef41Sopenharmony_ci</tbody></table>
31361cb0ef41Sopenharmony_ci</details>
31371cb0ef41Sopenharmony_ci</div>
31381cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
31391cb0ef41Sopenharmony_ci<p>Move to <a href="stream.html#stream" class="type">&#x3C;Stream></a> API instead, as the <a href="http.html#class-httpclientrequest"><code>http.ClientRequest</code></a>,
31401cb0ef41Sopenharmony_ci<a href="http.html#class-httpserverresponse"><code>http.ServerResponse</code></a>, and <a href="http.html#class-httpincomingmessage"><code>http.IncomingMessage</code></a> are all stream-based.
31411cb0ef41Sopenharmony_ciCheck <code>stream.destroyed</code> instead of the <code>.aborted</code> property, and listen for
31421cb0ef41Sopenharmony_ci<code>'close'</code> instead of <code>'abort'</code>, <code>'aborted'</code> event.</p>
31431cb0ef41Sopenharmony_ci<p>The <code>.aborted</code> property and <code>'abort'</code> event are only useful for detecting
31441cb0ef41Sopenharmony_ci<code>.abort()</code> calls. For closing a request early, use the Stream
31451cb0ef41Sopenharmony_ci<code>.destroy([error])</code> then check the <code>.destroyed</code> property and <code>'close'</code> event
31461cb0ef41Sopenharmony_cishould have the same effect. The receiving end should also check the
31471cb0ef41Sopenharmony_ci<a href="stream.html#readablereadableended"><code>readable.readableEnded</code></a> value on <a href="http.html#class-httpincomingmessage"><code>http.IncomingMessage</code></a> to get whether
31481cb0ef41Sopenharmony_ciit was an aborted or graceful destroy.</p>
31491cb0ef41Sopenharmony_ci<h4 id="DEP0157">DEP0157: Thenable support in streams<span><a class="mark" href="#dep0157-thenable-support-in-streams" id="dep0157-thenable-support-in-streams">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0157_thenable_support_in_streams"></a></h4>
31501cb0ef41Sopenharmony_ci<div class="api_metadata">
31511cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
31521cb0ef41Sopenharmony_ci<table>
31531cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
31541cb0ef41Sopenharmony_ci<tr><td>v18.0.0</td>
31551cb0ef41Sopenharmony_ci<td><p>End-of-life.</p></td></tr>
31561cb0ef41Sopenharmony_ci<tr><td>v17.2.0, v16.14.0</td>
31571cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
31581cb0ef41Sopenharmony_ci</tbody></table>
31591cb0ef41Sopenharmony_ci</details>
31601cb0ef41Sopenharmony_ci</div>
31611cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
31621cb0ef41Sopenharmony_ci<p>An undocumented feature of Node.js streams was to support thenables in
31631cb0ef41Sopenharmony_ciimplementation methods. This is now deprecated, use callbacks instead and avoid
31641cb0ef41Sopenharmony_ciuse of async function for streams implementation methods.</p>
31651cb0ef41Sopenharmony_ci<p>This feature caused users to encounter unexpected problems where the user
31661cb0ef41Sopenharmony_ciimplements the function in callback style but uses e.g. an async method which
31671cb0ef41Sopenharmony_ciwould cause an error since mixing promise and callback semantics is not valid.</p>
31681cb0ef41Sopenharmony_ci<pre><code class="language-js"><span class="hljs-keyword">const</span> w = <span class="hljs-keyword">new</span> <span class="hljs-title class_">Writable</span>({
31691cb0ef41Sopenharmony_ci  <span class="hljs-keyword">async</span> <span class="hljs-title function_">final</span>(<span class="hljs-params">callback</span>) {
31701cb0ef41Sopenharmony_ci    <span class="hljs-keyword">await</span> <span class="hljs-title function_">someOp</span>();
31711cb0ef41Sopenharmony_ci    <span class="hljs-title function_">callback</span>();
31721cb0ef41Sopenharmony_ci  },
31731cb0ef41Sopenharmony_ci});</code> <button class="copy-button">copy</button></pre>
31741cb0ef41Sopenharmony_ci<h4 id="DEP0158">DEP0158: <code>buffer.slice(start, end)</code><span><a class="mark" href="#dep0158-bufferslicestart-end" id="dep0158-bufferslicestart-end">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0158_buffer_slice_start_end"></a></h4>
31751cb0ef41Sopenharmony_ci<div class="api_metadata">
31761cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
31771cb0ef41Sopenharmony_ci<table>
31781cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
31791cb0ef41Sopenharmony_ci<tr><td>v17.5.0, v16.15.0</td>
31801cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
31811cb0ef41Sopenharmony_ci</tbody></table>
31821cb0ef41Sopenharmony_ci</details>
31831cb0ef41Sopenharmony_ci</div>
31841cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
31851cb0ef41Sopenharmony_ci<p>This method was deprecated because it is not compatible with
31861cb0ef41Sopenharmony_ci<code>Uint8Array.prototype.slice()</code>, which is a superclass of <code>Buffer</code>.</p>
31871cb0ef41Sopenharmony_ci<p>Use <a href="buffer.html#bufsubarraystart-end"><code>buffer.subarray</code></a> which does the same thing instead.</p>
31881cb0ef41Sopenharmony_ci<h4 id="DEP0159">DEP0159: <code>ERR_INVALID_CALLBACK</code><span><a class="mark" href="#dep0159-err_invalid_callback" id="dep0159-err_invalid_callback">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0159_err_invalid_callback"></a></h4>
31891cb0ef41Sopenharmony_ci<div class="api_metadata">
31901cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
31911cb0ef41Sopenharmony_ci<table>
31921cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
31931cb0ef41Sopenharmony_ci<tr><td>v18.0.0</td>
31941cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
31951cb0ef41Sopenharmony_ci</tbody></table>
31961cb0ef41Sopenharmony_ci</details>
31971cb0ef41Sopenharmony_ci</div>
31981cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
31991cb0ef41Sopenharmony_ci<p>This error code was removed due to adding more confusion to
32001cb0ef41Sopenharmony_cithe errors used for value type validation.</p>
32011cb0ef41Sopenharmony_ci<h4 id="DEP0160">DEP0160: <code>process.on('multipleResolves', handler)</code><span><a class="mark" href="#dep0160-processonmultipleresolves-handler" id="dep0160-processonmultipleresolves-handler">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0160_process_on_multipleresolves_handler"></a></h4>
32021cb0ef41Sopenharmony_ci<div class="api_metadata">
32031cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
32041cb0ef41Sopenharmony_ci<table>
32051cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
32061cb0ef41Sopenharmony_ci<tr><td>v18.0.0</td>
32071cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
32081cb0ef41Sopenharmony_ci<tr><td>v17.6.0, v16.15.0</td>
32091cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
32101cb0ef41Sopenharmony_ci</tbody></table>
32111cb0ef41Sopenharmony_ci</details>
32121cb0ef41Sopenharmony_ci</div>
32131cb0ef41Sopenharmony_ci<p>Type: Runtime.</p>
32141cb0ef41Sopenharmony_ci<p>This event was deprecated because it did not work with V8 promise combinators
32151cb0ef41Sopenharmony_ciwhich diminished its usefulness.</p>
32161cb0ef41Sopenharmony_ci<h4 id="DEP0161">DEP0161: <code>process._getActiveRequests()</code> and <code>process._getActiveHandles()</code><span><a class="mark" href="#dep0161-process_getactiverequests-and-process_getactivehandles" id="dep0161-process_getactiverequests-and-process_getactivehandles">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0161_process_getactiverequests_and_process_getactivehandles"></a></h4>
32171cb0ef41Sopenharmony_ci<div class="api_metadata">
32181cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
32191cb0ef41Sopenharmony_ci<table>
32201cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
32211cb0ef41Sopenharmony_ci<tr><td>v17.6.0, v16.15.0</td>
32221cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
32231cb0ef41Sopenharmony_ci</tbody></table>
32241cb0ef41Sopenharmony_ci</details>
32251cb0ef41Sopenharmony_ci</div>
32261cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
32271cb0ef41Sopenharmony_ci<p>The <code>process._getActiveHandles()</code> and <code>process._getActiveRequests()</code>
32281cb0ef41Sopenharmony_cifunctions are not intended for public use and can be removed in future
32291cb0ef41Sopenharmony_cireleases.</p>
32301cb0ef41Sopenharmony_ci<p>Use <a href="process.html#processgetactiveresourcesinfo"><code>process.getActiveResourcesInfo()</code></a> to get a list of types of active
32311cb0ef41Sopenharmony_ciresources and not the actual references.</p>
32321cb0ef41Sopenharmony_ci<h4 id="DEP0162">DEP0162: <code>fs.write()</code>, <code>fs.writeFileSync()</code> coercion to string<span><a class="mark" href="#dep0162-fswrite-fswritefilesync-coercion-to-string" id="dep0162-fswrite-fswritefilesync-coercion-to-string">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0162_fs_write_fs_writefilesync_coercion_to_string"></a></h4>
32331cb0ef41Sopenharmony_ci<div class="api_metadata">
32341cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
32351cb0ef41Sopenharmony_ci<table>
32361cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
32371cb0ef41Sopenharmony_ci<tr><td>v19.0.0</td>
32381cb0ef41Sopenharmony_ci<td><p>End-of-Life.</p></td></tr>
32391cb0ef41Sopenharmony_ci<tr><td>v18.0.0</td>
32401cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
32411cb0ef41Sopenharmony_ci<tr><td>v17.8.0, v16.15.0</td>
32421cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
32431cb0ef41Sopenharmony_ci</tbody></table>
32441cb0ef41Sopenharmony_ci</details>
32451cb0ef41Sopenharmony_ci</div>
32461cb0ef41Sopenharmony_ci<p>Type: End-of-Life</p>
32471cb0ef41Sopenharmony_ci<p>Implicit coercion of objects with own <code>toString</code> property, passed as second
32481cb0ef41Sopenharmony_ciparameter in <a href="fs.html#fswritefd-buffer-offset-length-position-callback"><code>fs.write()</code></a>, <a href="fs.html#fswritefilefile-data-options-callback"><code>fs.writeFile()</code></a>, <a href="fs.html#fsappendfilepath-data-options-callback"><code>fs.appendFile()</code></a>,
32491cb0ef41Sopenharmony_ci<a href="fs.html#fswritefilesyncfile-data-options"><code>fs.writeFileSync()</code></a>, and <a href="fs.html#fsappendfilesyncpath-data-options"><code>fs.appendFileSync()</code></a> is deprecated.
32501cb0ef41Sopenharmony_ciConvert them to primitive strings.</p>
32511cb0ef41Sopenharmony_ci<h4 id="DEP0163">DEP0163: <code>channel.subscribe(onMessage)</code>, <code>channel.unsubscribe(onMessage)</code><span><a class="mark" href="#dep0163-channelsubscribeonmessage-channelunsubscribeonmessage" id="dep0163-channelsubscribeonmessage-channelunsubscribeonmessage">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0163_channel_subscribe_onmessage_channel_unsubscribe_onmessage"></a></h4>
32521cb0ef41Sopenharmony_ci<div class="api_metadata">
32531cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
32541cb0ef41Sopenharmony_ci<table>
32551cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
32561cb0ef41Sopenharmony_ci<tr><td>v18.7.0, v16.17.0</td>
32571cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
32581cb0ef41Sopenharmony_ci</tbody></table>
32591cb0ef41Sopenharmony_ci</details>
32601cb0ef41Sopenharmony_ci</div>
32611cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
32621cb0ef41Sopenharmony_ci<p>These methods were deprecated because they can be used in a way which does not
32631cb0ef41Sopenharmony_cihold the channel reference alive long enough to receive the events.</p>
32641cb0ef41Sopenharmony_ci<p>Use <a href="diagnostics_channel.html#diagnostics_channelsubscribename-onmessage"><code>diagnostics_channel.subscribe(name, onMessage)</code></a> or
32651cb0ef41Sopenharmony_ci<a href="diagnostics_channel.html#diagnostics_channelunsubscribename-onmessage"><code>diagnostics_channel.unsubscribe(name, onMessage)</code></a> which does the same
32661cb0ef41Sopenharmony_cithing instead.</p>
32671cb0ef41Sopenharmony_ci<h4 id="DEP0164">DEP0164: <code>process.exit(code)</code>, <code>process.exitCode</code> coercion to integer<span><a class="mark" href="#dep0164-processexitcode-processexitcode-coercion-to-integer" id="dep0164-processexitcode-processexitcode-coercion-to-integer">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0164_process_exit_code_process_exitcode_coercion_to_integer"></a></h4>
32681cb0ef41Sopenharmony_ci<div class="api_metadata">
32691cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
32701cb0ef41Sopenharmony_ci<table>
32711cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
32721cb0ef41Sopenharmony_ci<tr><td>v18.10.0</td>
32731cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation of <code>process.exitCode</code> integer coercion.</p></td></tr>
32741cb0ef41Sopenharmony_ci<tr><td>v18.7.0, v16.17.0</td>
32751cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation of <code>process.exit(code)</code> integer coercion.</p></td></tr>
32761cb0ef41Sopenharmony_ci</tbody></table>
32771cb0ef41Sopenharmony_ci</details>
32781cb0ef41Sopenharmony_ci</div>
32791cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
32801cb0ef41Sopenharmony_ci<p>Values other than <code>undefined</code>, <code>null</code>, integer numbers, and integer strings
32811cb0ef41Sopenharmony_ci(e.g., <code>'1'</code>) are deprecated as value for the <code>code</code> parameter in
32821cb0ef41Sopenharmony_ci<a href="process.html#processexitcode"><code>process.exit()</code></a> and as value to assign to <a href="process.html#processexitcode_1"><code>process.exitCode</code></a>.</p>
32831cb0ef41Sopenharmony_ci<h4 id="DEP0165">DEP0165: <code>--trace-atomics-wait</code><span><a class="mark" href="#dep0165---trace-atomics-wait" id="dep0165---trace-atomics-wait">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0165_trace_atomics_wait"></a></h4>
32841cb0ef41Sopenharmony_ci<div class="api_metadata">
32851cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
32861cb0ef41Sopenharmony_ci<table>
32871cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
32881cb0ef41Sopenharmony_ci<tr><td>v18.8.0</td>
32891cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
32901cb0ef41Sopenharmony_ci</tbody></table>
32911cb0ef41Sopenharmony_ci</details>
32921cb0ef41Sopenharmony_ci</div>
32931cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
32941cb0ef41Sopenharmony_ci<p>The <a href="cli.html#--trace-atomics-wait"><code>--trace-atomics-wait</code></a> flag is deprecated.</p>
32951cb0ef41Sopenharmony_ci<h4 id="DEP0166">DEP0166: Double slashes in imports and exports targets<span><a class="mark" href="#dep0166-double-slashes-in-imports-and-exports-targets" id="dep0166-double-slashes-in-imports-and-exports-targets">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0166_double_slashes_in_imports_and_exports_targets"></a></h4>
32961cb0ef41Sopenharmony_ci<div class="api_metadata">
32971cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
32981cb0ef41Sopenharmony_ci<table>
32991cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
33001cb0ef41Sopenharmony_ci<tr><td>v19.0.0</td>
33011cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
33021cb0ef41Sopenharmony_ci<tr><td>v18.10.0</td>
33031cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation with <code>--pending-deprecation</code> support.</p></td></tr>
33041cb0ef41Sopenharmony_ci</tbody></table>
33051cb0ef41Sopenharmony_ci</details>
33061cb0ef41Sopenharmony_ci</div>
33071cb0ef41Sopenharmony_ci<p>Type: Runtime</p>
33081cb0ef41Sopenharmony_ci<p>Package imports and exports targets mapping into paths including a double slash
33091cb0ef41Sopenharmony_ci(of <em>"/"</em> or <em>"\"</em>) are deprecated and will fail with a resolution validation
33101cb0ef41Sopenharmony_cierror in a future release. This same deprecation also applies to pattern matches
33111cb0ef41Sopenharmony_cistarting or ending in a slash.</p>
33121cb0ef41Sopenharmony_ci<h4 id="DEP0167">DEP0167: Weak <code>DiffieHellmanGroup</code> instances (<code>modp1</code>, <code>modp2</code>, <code>modp5</code>)<span><a class="mark" href="#dep0167-weak-diffiehellmangroup-instances-modp1-modp2-modp5" id="dep0167-weak-diffiehellmangroup-instances-modp1-modp2-modp5">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0167_weak_diffiehellmangroup_instances_modp1_modp2_modp5"></a></h4>
33131cb0ef41Sopenharmony_ci<div class="api_metadata">
33141cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
33151cb0ef41Sopenharmony_ci<table>
33161cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
33171cb0ef41Sopenharmony_ci<tr><td>v18.10.0</td>
33181cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
33191cb0ef41Sopenharmony_ci</tbody></table>
33201cb0ef41Sopenharmony_ci</details>
33211cb0ef41Sopenharmony_ci</div>
33221cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
33231cb0ef41Sopenharmony_ci<p>The well-known MODP groups <code>modp1</code>, <code>modp2</code>, and <code>modp5</code> are deprecated because
33241cb0ef41Sopenharmony_cithey are not secure against practical attacks. See <a href="https://www.rfc-editor.org/rfc/rfc8247#section-2.4">RFC 8247 Section 2.4</a> for
33251cb0ef41Sopenharmony_cidetails.</p>
33261cb0ef41Sopenharmony_ci<p>These groups might be removed in future versions of Node.js. Applications that
33271cb0ef41Sopenharmony_cirely on these groups should evaluate using stronger MODP groups instead.</p>
33281cb0ef41Sopenharmony_ci<h4 id="DEP0168">DEP0168: Unhandled exception in Node-API callbacks<span><a class="mark" href="#dep0168-unhandled-exception-in-node-api-callbacks" id="dep0168-unhandled-exception-in-node-api-callbacks">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0168_unhandled_exception_in_node_api_callbacks"></a></h4>
33291cb0ef41Sopenharmony_ci<div class="api_metadata">
33301cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
33311cb0ef41Sopenharmony_ci<table>
33321cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
33331cb0ef41Sopenharmony_ci<tr><td>v18.3.0, v16.17.0</td>
33341cb0ef41Sopenharmony_ci<td><p>Runtime deprecation.</p></td></tr>
33351cb0ef41Sopenharmony_ci</tbody></table>
33361cb0ef41Sopenharmony_ci</details>
33371cb0ef41Sopenharmony_ci</div>
33381cb0ef41Sopenharmony_ci<p>Type: Runtime</p>
33391cb0ef41Sopenharmony_ci<p>The implicit suppression of uncaught exceptions in Node-API callbacks is now
33401cb0ef41Sopenharmony_cideprecated.</p>
33411cb0ef41Sopenharmony_ci<p>Set the flag <a href="cli.html#--force-node-api-uncaught-exceptions-policy"><code>--force-node-api-uncaught-exceptions-policy</code></a> to force Node.js
33421cb0ef41Sopenharmony_cito emit an <a href="process.html#event-uncaughtexception"><code>'uncaughtException'</code></a> event if the exception is not handled in
33431cb0ef41Sopenharmony_ciNode-API callbacks.</p>
33441cb0ef41Sopenharmony_ci<h4 id="DEP0169">DEP0169: Insecure url.parse()<span><a class="mark" href="#dep0169-insecure-urlparse" id="dep0169-insecure-urlparse">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0169_insecure_url_parse"></a></h4>
33451cb0ef41Sopenharmony_ci<div class="api_metadata">
33461cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
33471cb0ef41Sopenharmony_ci<table>
33481cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
33491cb0ef41Sopenharmony_ci<tr><td>v18.17.0</td>
33501cb0ef41Sopenharmony_ci<td><p>Added support for <code>--pending-deprecation</code>.</p></td></tr>
33511cb0ef41Sopenharmony_ci<tr><td>v18.13.0</td>
33521cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
33531cb0ef41Sopenharmony_ci</tbody></table>
33541cb0ef41Sopenharmony_ci</details>
33551cb0ef41Sopenharmony_ci</div>
33561cb0ef41Sopenharmony_ci<p>Type: Documentation-only (supports <a href="cli.html#--pending-deprecation"><code>--pending-deprecation</code></a>)</p>
33571cb0ef41Sopenharmony_ci<p><a href="url.html#urlparseurlstring-parsequerystring-slashesdenotehost"><code>url.parse()</code></a> behavior is not standardized and prone to errors that
33581cb0ef41Sopenharmony_cihave security implications. Use the <a href="url.html#the-whatwg-url-api">WHATWG URL API</a> instead. CVEs are not
33591cb0ef41Sopenharmony_ciissued for <code>url.parse()</code> vulnerabilities.</p>
33601cb0ef41Sopenharmony_ci<h4 id="DEP0170">DEP0170: Invalid port when using <code>url.parse()</code><span><a class="mark" href="#dep0170-invalid-port-when-using-urlparse" id="dep0170-invalid-port-when-using-urlparse">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0170_invalid_port_when_using_url_parse"></a></h4>
33611cb0ef41Sopenharmony_ci<div class="api_metadata">
33621cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
33631cb0ef41Sopenharmony_ci<table>
33641cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
33651cb0ef41Sopenharmony_ci<tr><td>v18.13.0</td>
33661cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
33671cb0ef41Sopenharmony_ci</tbody></table>
33681cb0ef41Sopenharmony_ci</details>
33691cb0ef41Sopenharmony_ci</div>
33701cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
33711cb0ef41Sopenharmony_ci<p><a href="url.html#urlparseurlstring-parsequerystring-slashesdenotehost"><code>url.parse()</code></a> accepts URLs with ports that are not numbers. This behavior
33721cb0ef41Sopenharmony_cimight result in host name spoofing with unexpected input. These URLs will throw
33731cb0ef41Sopenharmony_cian error in future versions of Node.js, as the <a href="url.html#the-whatwg-url-api">WHATWG URL API</a> does already.</p>
33741cb0ef41Sopenharmony_ci<h4 id="DEP0171">DEP0171: Setters for <code>http.IncomingMessage</code> headers and trailers<span><a class="mark" href="#dep0171-setters-for-httpincomingmessage-headers-and-trailers" id="dep0171-setters-for-httpincomingmessage-headers-and-trailers">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0171_setters_for_http_incomingmessage_headers_and_trailers"></a></h4>
33751cb0ef41Sopenharmony_ci<div class="api_metadata">
33761cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
33771cb0ef41Sopenharmony_ci<table>
33781cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
33791cb0ef41Sopenharmony_ci<tr><td>v18.13.0</td>
33801cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
33811cb0ef41Sopenharmony_ci</tbody></table>
33821cb0ef41Sopenharmony_ci</details>
33831cb0ef41Sopenharmony_ci</div>
33841cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
33851cb0ef41Sopenharmony_ci<p>In a future version of Node.js, <a href="http.html#messageheaders"><code>message.headers</code></a>,
33861cb0ef41Sopenharmony_ci<a href="http.html#messageheadersdistinct"><code>message.headersDistinct</code></a>, <a href="http.html#messagetrailers"><code>message.trailers</code></a>, and
33871cb0ef41Sopenharmony_ci<a href="http.html#messagetrailersdistinct"><code>message.trailersDistinct</code></a> will be read-only.</p>
33881cb0ef41Sopenharmony_ci<!-- md-lint skip-deprecation DEP0172 -->
33891cb0ef41Sopenharmony_ci<!-- md-lint skip-deprecation DEP0173 -->
33901cb0ef41Sopenharmony_ci<!-- md-lint skip-deprecation DEP0174 -->
33911cb0ef41Sopenharmony_ci<!-- md-lint skip-deprecation DEP0175 -->
33921cb0ef41Sopenharmony_ci<!-- md-lint skip-deprecation DEP0176 -->
33931cb0ef41Sopenharmony_ci<!-- md-lint skip-deprecation DEP0177 -->
33941cb0ef41Sopenharmony_ci<h4 id="DEP0178">DEP0178: <code>dirent.path</code><span><a class="mark" href="#dep0178-direntpath" id="dep0178-direntpath">#</a></span><a aria-hidden="true" class="legacy" id="deprecations_dep0178_dirent_path"></a></h4>
33951cb0ef41Sopenharmony_ci<div class="api_metadata">
33961cb0ef41Sopenharmony_ci<details class="changelog"><summary>History</summary>
33971cb0ef41Sopenharmony_ci<table>
33981cb0ef41Sopenharmony_ci<tbody><tr><th>Version</th><th>Changes</th></tr>
33991cb0ef41Sopenharmony_ci<tr><td>v18.20.0</td>
34001cb0ef41Sopenharmony_ci<td><p>Documentation-only deprecation.</p></td></tr>
34011cb0ef41Sopenharmony_ci</tbody></table>
34021cb0ef41Sopenharmony_ci</details>
34031cb0ef41Sopenharmony_ci</div>
34041cb0ef41Sopenharmony_ci<p>Type: Documentation-only</p>
34051cb0ef41Sopenharmony_ci<p>The <a href="fs.html#direntpath"><code>dirent.path</code></a> is deprecated due to its lack of consistency across
34061cb0ef41Sopenharmony_cirelease lines. Please use <a href="fs.html#direntparentpath"><code>dirent.parentPath</code></a> instead.</p></section>
34071cb0ef41Sopenharmony_ci        <!-- API END -->
34081cb0ef41Sopenharmony_ci      </div>
34091cb0ef41Sopenharmony_ci    </div>
34101cb0ef41Sopenharmony_ci  </div>
34111cb0ef41Sopenharmony_ci</body>
34121cb0ef41Sopenharmony_ci</html>
3413