1# Deprecated APIs 2 3<!--introduced_in=v7.7.0--> 4<!-- type=misc --> 5 6Node.js APIs might be deprecated for any of the following reasons: 7 8* Use of the API is unsafe. 9* An improved alternative API is available. 10* Breaking changes to the API are expected in a future major release. 11 12Node.js uses three kinds of Deprecations: 13 14* Documentation-only 15* Runtime 16* End-of-Life 17 18A Documentation-only deprecation is one that is expressed only within the 19Node.js API docs. These generate no side-effects while running Node.js. 20Some Documentation-only deprecations trigger a runtime warning when launched 21with [`--pending-deprecation`][] flag (or its alternative, 22`NODE_PENDING_DEPRECATION=1` environment variable), similarly to Runtime 23deprecations below. Documentation-only deprecations that support that flag 24are explicitly labeled as such in the 25[list of Deprecated APIs](#deprecations_list_of_deprecated_apis). 26 27A Runtime deprecation will, by default, generate a process warning that will 28be printed to `stderr` the first time the deprecated API is used. When the 29[`--throw-deprecation`][] command-line flag is used, a Runtime deprecation will 30cause an error to be thrown. 31 32An End-of-Life deprecation is used when functionality is or will soon be removed 33from Node.js. 34 35## Revoking deprecations 36 37Occasionally, the deprecation of an API might be reversed. In such situations, 38this document will be updated with information relevant to the decision. 39However, the deprecation identifier will not be modified. 40 41## List of deprecated APIs 42 43### DEP0001: `http.OutgoingMessage.prototype.flush` 44<!-- YAML 45changes: 46 - version: v14.0.0 47 pr-url: https://github.com/nodejs/node/pull/31164 48 description: End-of-Life. 49 - version: 50 - v6.12.0 51 - v4.8.6 52 pr-url: https://github.com/nodejs/node/pull/10116 53 description: A deprecation code has been assigned. 54 - version: v1.6.0 55 pr-url: https://github.com/nodejs/node/pull/1156 56 description: Runtime deprecation. 57--> 58 59Type: End-of-Life 60 61`OutgoingMessage.prototype.flush()` has been removed. Use 62`OutgoingMessage.prototype.flushHeaders()` instead. 63 64### DEP0002: `require('_linklist')` 65<!-- YAML 66changes: 67 - version: v8.0.0 68 pr-url: https://github.com/nodejs/node/pull/12113 69 description: End-of-Life. 70 - version: v6.12.0 71 pr-url: https://github.com/nodejs/node/pull/10116 72 description: A deprecation code has been assigned. 73 - version: v5.0.0 74 pr-url: https://github.com/nodejs/node/pull/3078 75 description: Runtime deprecation. 76--> 77 78Type: End-of-Life 79 80The `_linklist` module is deprecated. Please use a userland alternative. 81 82### DEP0003: `_writableState.buffer` 83<!-- YAML 84changes: 85 - version: v14.0.0 86 pr-url: https://github.com/nodejs/node/pull/31165 87 description: End-of-Life. 88 - version: 89 - v6.12.0 90 - v4.8.6 91 pr-url: https://github.com/nodejs/node/pull/10116 92 description: A deprecation code has been assigned. 93 - version: v0.11.15 94 pr-url: https://github.com/nodejs/node-v0.x-archive/pull/8826 95 description: Runtime deprecation. 96--> 97 98Type: End-of-Life 99 100The `_writableState.buffer` has been removed. Use `_writableState.getBuffer()` 101instead. 102 103### DEP0004: `CryptoStream.prototype.readyState` 104<!-- YAML 105changes: 106 - version: v10.0.0 107 pr-url: https://github.com/nodejs/node/pull/17882 108 description: End-of-Life. 109 - version: 110 - v6.12.0 111 - v4.8.6 112 pr-url: https://github.com/nodejs/node/pull/10116 113 description: A deprecation code has been assigned. 114 - version: v0.4.0 115 commit: 9c7f89bf56abd37a796fea621ad2e47dd33d2b82 116 description: Documentation-only deprecation. 117--> 118 119Type: End-of-Life 120 121The `CryptoStream.prototype.readyState` property was removed. 122 123### DEP0005: `Buffer()` constructor 124<!-- YAML 125changes: 126 - version: v10.0.0 127 pr-url: https://github.com/nodejs/node/pull/19524 128 description: Runtime deprecation. 129 - version: v6.12.0 130 pr-url: https://github.com/nodejs/node/pull/10116 131 description: A deprecation code has been assigned. 132 - version: v6.0.0 133 pr-url: https://github.com/nodejs/node/pull/4682 134 description: Documentation-only deprecation. 135--> 136 137Type: Runtime (supports [`--pending-deprecation`][]) 138 139The `Buffer()` function and `new Buffer()` constructor are deprecated due to 140API usability issues that can lead to accidental security issues. 141 142As an alternative, use one of the following methods of constructing `Buffer` 143objects: 144 145* [`Buffer.alloc(size[, fill[, encoding]])`][alloc]: Create a `Buffer` with 146 *initialized* memory. 147* [`Buffer.allocUnsafe(size)`][alloc_unsafe_size]: Create a `Buffer` with 148 *uninitialized* memory. 149* [`Buffer.allocUnsafeSlow(size)`][]: Create a `Buffer` with *uninitialized* 150 memory. 151* [`Buffer.from(array)`][]: Create a `Buffer` with a copy of `array` 152* [`Buffer.from(arrayBuffer[, byteOffset[, length]])`][from_arraybuffer] - 153 Create a `Buffer` that wraps the given `arrayBuffer`. 154* [`Buffer.from(buffer)`][]: Create a `Buffer` that copies `buffer`. 155* [`Buffer.from(string[, encoding])`][from_string_encoding]: Create a `Buffer` 156 that copies `string`. 157 158Without `--pending-deprecation`, runtime warnings occur only for code not in 159`node_modules`. This means there will not be deprecation warnings for 160`Buffer()` usage in dependencies. With `--pending-deprecation`, a runtime 161warning results no matter where the `Buffer()` usage occurs. 162 163### DEP0006: `child_process` `options.customFds` 164<!-- YAML 165changes: 166 - version: v12.0.0 167 pr-url: https://github.com/nodejs/node/pull/25279 168 description: End-of-Life. 169 - version: 170 - v6.12.0 171 - v4.8.6 172 pr-url: https://github.com/nodejs/node/pull/10116 173 description: A deprecation code has been assigned. 174 - version: v0.11.14 175 description: Runtime deprecation. 176 - version: v0.5.10 177 description: Documentation-only deprecation. 178--> 179 180Type: End-of-Life 181 182Within the [`child_process`][] module's `spawn()`, `fork()`, and `exec()` 183methods, the `options.customFds` option is deprecated. The `options.stdio` 184option should be used instead. 185 186### DEP0007: Replace `cluster` `worker.suicide` with `worker.exitedAfterDisconnect` 187<!-- YAML 188changes: 189 - version: v9.0.0 190 pr-url: https://github.com/nodejs/node/pull/13702 191 description: End-of-Life. 192 - version: v7.0.0 193 pr-url: https://github.com/nodejs/node/pull/3747 194 description: Runtime deprecation. 195 - version: v6.12.0 196 pr-url: https://github.com/nodejs/node/pull/10116 197 description: A deprecation code has been assigned. 198 - version: v6.0.0 199 pr-url: https://github.com/nodejs/node/pull/3743 200 description: Documentation-only deprecation. 201--> 202 203Type: End-of-Life 204 205In an earlier version of the Node.js `cluster`, a boolean property with the name 206`suicide` was added to the `Worker` object. The intent of this property was to 207provide an indication of how and why the `Worker` instance exited. In Node.js 2086.0.0, the old property was deprecated and replaced with a new 209[`worker.exitedAfterDisconnect`][] property. The old property name did not 210precisely describe the actual semantics and was unnecessarily emotion-laden. 211 212### DEP0008: `require('constants')` 213<!-- YAML 214changes: 215 - version: v6.12.0 216 pr-url: https://github.com/nodejs/node/pull/10116 217 description: A deprecation code has been assigned. 218 - version: v6.3.0 219 pr-url: https://github.com/nodejs/node/pull/6534 220 description: Documentation-only deprecation. 221--> 222 223Type: Documentation-only 224 225The `constants` module is deprecated. When requiring access to constants 226relevant to specific Node.js builtin modules, developers should instead refer 227to the `constants` property exposed by the relevant module. For instance, 228`require('fs').constants` and `require('os').constants`. 229 230### DEP0009: `crypto.pbkdf2` without digest 231<!-- YAML 232changes: 233 - version: v14.0.0 234 pr-url: https://github.com/nodejs/node/pull/31166 235 description: End-of-Life (for `digest === null`). 236 - version: v11.0.0 237 pr-url: https://github.com/nodejs/node/pull/22861 238 description: Runtime deprecation (for `digest === null`). 239 - version: v8.0.0 240 pr-url: https://github.com/nodejs/node/pull/11305 241 description: End-of-Life (for `digest === undefined`). 242 - version: v6.12.0 243 pr-url: https://github.com/nodejs/node/pull/10116 244 description: A deprecation code has been assigned. 245 - version: v6.0.0 246 pr-url: https://github.com/nodejs/node/pull/4047 247 description: Runtime deprecation (for `digest === undefined`). 248--> 249 250Type: End-of-Life 251 252Use of the [`crypto.pbkdf2()`][] API without specifying a digest was deprecated 253in Node.js 6.0 because the method defaulted to using the non-recommended 254`'SHA1'` digest. Previously, a deprecation warning was printed. Starting in 255Node.js 8.0.0, calling `crypto.pbkdf2()` or `crypto.pbkdf2Sync()` with 256`digest` set to `undefined` will throw a `TypeError`. 257 258Beginning in Node.js v11.0.0, calling these functions with `digest` set to 259`null` would print a deprecation warning to align with the behavior when `digest` 260is `undefined`. 261 262Now, however, passing either `undefined` or `null` will throw a `TypeError`. 263 264### DEP0010: `crypto.createCredentials` 265<!-- YAML 266changes: 267 - version: v11.0.0 268 pr-url: https://github.com/nodejs/node/pull/21153 269 description: End-of-Life. 270 - version: 271 - v6.12.0 272 - v4.8.6 273 pr-url: https://github.com/nodejs/node/pull/10116 274 description: A deprecation code has been assigned. 275 - version: v0.11.13 276 pr-url: https://github.com/nodejs/node-v0.x-archive/pull/7265 277 description: Runtime deprecation. 278--> 279 280Type: End-of-Life 281 282The `crypto.createCredentials()` API was removed. Please use 283[`tls.createSecureContext()`][] instead. 284 285### DEP0011: `crypto.Credentials` 286<!-- YAML 287changes: 288 - version: v11.0.0 289 pr-url: https://github.com/nodejs/node/pull/21153 290 description: End-of-Life. 291 - version: 292 - v6.12.0 293 - v4.8.6 294 pr-url: https://github.com/nodejs/node/pull/10116 295 description: A deprecation code has been assigned. 296 - version: v0.11.13 297 pr-url: https://github.com/nodejs/node-v0.x-archive/pull/7265 298 description: Runtime deprecation. 299--> 300 301Type: End-of-Life 302 303The `crypto.Credentials` class was removed. Please use [`tls.SecureContext`][] 304instead. 305 306### DEP0012: `Domain.dispose` 307<!-- YAML 308changes: 309 - version: v9.0.0 310 pr-url: https://github.com/nodejs/node/pull/15412 311 description: End-of-Life. 312 - version: 313 - v6.12.0 314 - v4.8.6 315 pr-url: https://github.com/nodejs/node/pull/10116 316 description: A deprecation code has been assigned. 317 - version: v0.11.7 318 pr-url: https://github.com/nodejs/node-v0.x-archive/pull/5021 319 description: Runtime deprecation. 320--> 321 322Type: End-of-Life 323 324`Domain.dispose()` has been removed. Recover from failed I/O actions 325explicitly via error event handlers set on the domain instead. 326 327### DEP0013: `fs` asynchronous function without callback 328<!-- YAML 329changes: 330 - version: v10.0.0 331 pr-url: https://github.com/nodejs/node/pull/18668 332 description: End-of-Life. 333 - version: v7.0.0 334 pr-url: https://github.com/nodejs/node/pull/7897 335 description: Runtime deprecation. 336--> 337 338Type: End-of-Life 339 340Calling an asynchronous function without a callback throws a `TypeError` 341in Node.js 10.0.0 onwards. See <https://github.com/nodejs/node/pull/12562>. 342 343### DEP0014: `fs.read` legacy String interface 344<!-- YAML 345changes: 346 - version: v8.0.0 347 pr-url: https://github.com/nodejs/node/pull/9683 348 description: End-of-Life. 349 - version: 350 - v6.12.0 351 - v4.8.6 352 pr-url: https://github.com/nodejs/node/pull/10116 353 description: A deprecation code has been assigned. 354 - version: v6.0.0 355 pr-url: https://github.com/nodejs/node/pull/4525 356 description: Runtime deprecation. 357 - version: v0.1.96 358 commit: c93e0aaf062081db3ec40ac45b3e2c979d5759d6 359 description: Documentation-only deprecation. 360--> 361 362Type: End-of-Life 363 364The [`fs.read()`][] legacy `String` interface is deprecated. Use the `Buffer` 365API as mentioned in the documentation instead. 366 367### DEP0015: `fs.readSync` legacy String interface 368<!-- YAML 369changes: 370 - version: v8.0.0 371 pr-url: https://github.com/nodejs/node/pull/9683 372 description: End-of-Life. 373 - version: 374 - v6.12.0 375 - v4.8.6 376 pr-url: https://github.com/nodejs/node/pull/10116 377 description: A deprecation code has been assigned. 378 - version: v6.0.0 379 pr-url: https://github.com/nodejs/node/pull/4525 380 description: Runtime deprecation. 381 - version: v0.1.96 382 commit: c93e0aaf062081db3ec40ac45b3e2c979d5759d6 383 description: Documentation-only deprecation. 384--> 385 386Type: End-of-Life 387 388The [`fs.readSync()`][] legacy `String` interface is deprecated. Use the 389`Buffer` API as mentioned in the documentation instead. 390 391### DEP0016: `GLOBAL`/`root` 392<!-- YAML 393changes: 394 - version: v14.0.0 395 pr-url: https://github.com/nodejs/node/pull/31167 396 description: End-of-Life. 397 - version: v6.12.0 398 pr-url: https://github.com/nodejs/node/pull/10116 399 description: A deprecation code has been assigned. 400 - version: v6.0.0 401 pr-url: https://github.com/nodejs/node/pull/1838 402 description: Runtime deprecation. 403--> 404 405Type: End-of-Life 406 407The `GLOBAL` and `root` aliases for the `global` property were deprecated 408in Node.js 6.0.0 and have since been removed. 409 410### DEP0017: `Intl.v8BreakIterator` 411<!-- YAML 412changes: 413 - version: v9.0.0 414 pr-url: https://github.com/nodejs/node/pull/15238 415 description: End-of-Life. 416 - version: v7.0.0 417 pr-url: https://github.com/nodejs/node/pull/8908 418 description: Runtime deprecation. 419--> 420 421Type: End-of-Life 422 423`Intl.v8BreakIterator` was a non-standard extension and has been removed. 424See [`Intl.Segmenter`](https://github.com/tc39/proposal-intl-segmenter). 425 426### DEP0018: Unhandled promise rejections 427<!-- YAML 428changes: 429 - version: v7.0.0 430 pr-url: https://github.com/nodejs/node/pull/8217 431 description: Runtime deprecation. 432--> 433 434Type: Runtime 435 436Unhandled promise rejections are deprecated. In the future, promise rejections 437that are not handled will terminate the Node.js process with a non-zero exit 438code. 439 440### DEP0019: `require('.')` resolved outside directory 441<!-- YAML 442changes: 443 - version: v12.0.0 444 pr-url: https://github.com/nodejs/node/pull/26973 445 description: Removed functionality. 446 - version: 447 - v6.12.0 448 - v4.8.6 449 pr-url: https://github.com/nodejs/node/pull/10116 450 description: A deprecation code has been assigned. 451 - version: v1.8.1 452 pr-url: https://github.com/nodejs/node/pull/1363 453 description: Runtime deprecation. 454--> 455 456Type: End-of-Life 457 458In certain cases, `require('.')` could resolve outside the package directory. 459This behavior has been removed. 460 461### DEP0020: `Server.connections` 462<!-- YAML 463changes: 464 - version: 465 - v6.12.0 466 - v4.8.6 467 pr-url: https://github.com/nodejs/node/pull/10116 468 description: A deprecation code has been assigned. 469 - version: v0.9.7 470 pr-url: https://github.com/nodejs/node-v0.x-archive/pull/4595 471 description: Runtime deprecation. 472--> 473 474Type: Runtime 475 476The [`Server.connections`][] property is deprecated. Please use the 477[`Server.getConnections()`][] method instead. 478 479### DEP0021: `Server.listenFD` 480<!-- YAML 481changes: 482 - version: v12.0.0 483 pr-url: https://github.com/nodejs/node/pull/27127 484 description: End-of-Life. 485 - version: 486 - v6.12.0 487 - v4.8.6 488 pr-url: https://github.com/nodejs/node/pull/10116 489 description: A deprecation code has been assigned. 490 - version: v0.7.12 491 commit: 41421ff9da1288aa241a5e9dcf915b685ade1c23 492 description: Runtime deprecation. 493--> 494 495Type: End-of-Life 496 497The `Server.listenFD()` method was deprecated and removed. Please use 498[`Server.listen({fd: <number>})`][] instead. 499 500### DEP0022: `os.tmpDir()` 501<!-- YAML 502changes: 503 - version: v14.0.0 504 pr-url: https://github.com/nodejs/node/pull/31169 505 description: End-of-Life. 506 - version: v7.0.0 507 pr-url: https://github.com/nodejs/node/pull/6739 508 description: Runtime deprecation. 509--> 510 511Type: End-of-Life 512 513The `os.tmpDir()` API was deprecated in Node.js 7.0.0 and has since been 514removed. Please use [`os.tmpdir()`][] instead. 515 516### DEP0023: `os.getNetworkInterfaces()` 517<!-- YAML 518changes: 519 - version: v12.0.0 520 pr-url: https://github.com/nodejs/node/pull/25280 521 description: End-of-Life. 522 - version: 523 - v6.12.0 524 - v4.8.6 525 pr-url: https://github.com/nodejs/node/pull/10116 526 description: A deprecation code has been assigned. 527 - version: v0.6.0 528 commit: 37bb37d151fb6ee4696730e63ff28bb7a4924f97 529 description: Runtime deprecation. 530--> 531 532Type: End-of-Life 533 534The `os.getNetworkInterfaces()` method is deprecated. Please use the 535[`os.networkInterfaces()`][] method instead. 536 537### DEP0024: `REPLServer.prototype.convertToContext()` 538<!-- YAML 539changes: 540 - version: v9.0.0 541 pr-url: https://github.com/nodejs/node/pull/13434 542 description: End-of-Life. 543 - version: v7.0.0 544 pr-url: https://github.com/nodejs/node/pull/7829 545 description: Runtime deprecation. 546--> 547 548Type: End-of-Life 549 550The `REPLServer.prototype.convertToContext()` API has been removed. 551 552### DEP0025: `require('sys')` 553<!-- YAML 554changes: 555 - version: 556 - v6.12.0 557 - v4.8.6 558 pr-url: https://github.com/nodejs/node/pull/10116 559 description: A deprecation code has been assigned. 560 - version: v1.0.0 561 pr-url: https://github.com/nodejs/node/pull/317 562 description: Runtime deprecation. 563--> 564 565Type: Runtime 566 567The `sys` module is deprecated. Please use the [`util`][] module instead. 568 569### DEP0026: `util.print()` 570<!-- YAML 571changes: 572 - version: v12.0.0 573 pr-url: https://github.com/nodejs/node/pull/25377 574 description: End-of-Life. 575 - version: 576 - v6.12.0 577 - v4.8.6 578 pr-url: https://github.com/nodejs/node/pull/10116 579 description: A deprecation code has been assigned. 580 - version: v0.11.3 581 commit: 896b2aa7074fc886efd7dd0a397d694763cac7ce 582 description: Runtime deprecation. 583--> 584 585Type: End-of-Life 586 587`util.print()` has been removed. Please use [`console.log()`][] instead. 588 589### DEP0027: `util.puts()` 590<!-- YAML 591changes: 592 - version: v12.0.0 593 pr-url: https://github.com/nodejs/node/pull/25377 594 description: End-of-Life. 595 - version: 596 - v6.12.0 597 - v4.8.6 598 pr-url: https://github.com/nodejs/node/pull/10116 599 description: A deprecation code has been assigned. 600 - version: v0.11.3 601 commit: 896b2aa7074fc886efd7dd0a397d694763cac7ce 602 description: Runtime deprecation. 603--> 604 605Type: End-of-Life 606 607`util.puts()` has been removed. Please use [`console.log()`][] instead. 608 609### DEP0028: `util.debug()` 610<!-- YAML 611changes: 612 - version: v12.0.0 613 pr-url: https://github.com/nodejs/node/pull/25377 614 description: End-of-Life. 615 - version: 616 - v6.12.0 617 - v4.8.6 618 pr-url: https://github.com/nodejs/node/pull/10116 619 description: A deprecation code has been assigned. 620 - version: v0.11.3 621 commit: 896b2aa7074fc886efd7dd0a397d694763cac7ce 622 description: Runtime deprecation. 623--> 624 625Type: End-of-Life 626 627`util.debug()` has been removed. Please use [`console.error()`][] instead. 628 629### DEP0029: `util.error()` 630<!-- YAML 631changes: 632 - version: v12.0.0 633 pr-url: https://github.com/nodejs/node/pull/25377 634 description: End-of-Life. 635 - version: 636 - v6.12.0 637 - v4.8.6 638 pr-url: https://github.com/nodejs/node/pull/10116 639 description: A deprecation code has been assigned. 640 - version: v0.11.3 641 commit: 896b2aa7074fc886efd7dd0a397d694763cac7ce 642 description: Runtime deprecation. 643--> 644 645Type: End-of-Life 646 647`util.error()` has been removed. Please use [`console.error()`][] instead. 648 649### DEP0030: `SlowBuffer` 650<!-- YAML 651changes: 652 - version: v6.12.0 653 pr-url: https://github.com/nodejs/node/pull/10116 654 description: A deprecation code has been assigned. 655 - version: v6.0.0 656 pr-url: https://github.com/nodejs/node/pull/5833 657 description: Documentation-only deprecation. 658--> 659 660Type: Documentation-only 661 662The [`SlowBuffer`][] class is deprecated. Please use 663[`Buffer.allocUnsafeSlow(size)`][] instead. 664 665### DEP0031: `ecdh.setPublicKey()` 666<!-- YAML 667changes: 668 - version: v6.12.0 669 pr-url: https://github.com/nodejs/node/pull/10116 670 description: A deprecation code has been assigned. 671 - version: v5.2.0 672 pr-url: https://github.com/nodejs/node/pull/3511 673 description: Documentation-only deprecation. 674--> 675 676Type: Documentation-only 677 678The [`ecdh.setPublicKey()`][] method is now deprecated as its inclusion in the 679API is not useful. 680 681### DEP0032: `domain` module 682<!-- YAML 683changes: 684 - version: 685 - v6.12.0 686 - v4.8.6 687 pr-url: https://github.com/nodejs/node/pull/10116 688 description: A deprecation code has been assigned. 689 - version: v1.4.2 690 pr-url: https://github.com/nodejs/node/pull/943 691 description: Documentation-only deprecation. 692--> 693 694Type: Documentation-only 695 696The [`domain`][] module is deprecated and should not be used. 697 698### DEP0033: `EventEmitter.listenerCount()` 699<!-- YAML 700changes: 701 - version: 702 - v6.12.0 703 - v4.8.6 704 pr-url: https://github.com/nodejs/node/pull/10116 705 description: A deprecation code has been assigned. 706 - version: v3.2.0 707 pr-url: https://github.com/nodejs/node/pull/2349 708 description: Documentation-only deprecation. 709--> 710 711Type: Documentation-only 712 713The [`events.listenerCount(emitter, eventName)`][] API is 714deprecated. Please use [`emitter.listenerCount(eventName)`][] instead. 715 716### DEP0034: `fs.exists(path, callback)` 717<!-- YAML 718changes: 719 - version: 720 - v6.12.0 721 - v4.8.6 722 pr-url: https://github.com/nodejs/node/pull/10116 723 description: A deprecation code has been assigned. 724 - version: v1.0.0 725 pr-url: https://github.com/nodejs/node/pull/166 726 description: Documentation-only deprecation. 727--> 728 729Type: Documentation-only 730 731The [`fs.exists(path, callback)`][] API is deprecated. Please use 732[`fs.stat()`][] or [`fs.access()`][] instead. 733 734### DEP0035: `fs.lchmod(path, mode, callback)` 735<!-- YAML 736changes: 737 - version: 738 - v6.12.0 739 - v4.8.6 740 pr-url: https://github.com/nodejs/node/pull/10116 741 description: A deprecation code has been assigned. 742 - version: v0.4.7 743 description: Documentation-only deprecation. 744--> 745 746Type: Documentation-only 747 748The [`fs.lchmod(path, mode, callback)`][] API is deprecated. 749 750### DEP0036: `fs.lchmodSync(path, mode)` 751<!-- YAML 752changes: 753 - version: 754 - v6.12.0 755 - v4.8.6 756 pr-url: https://github.com/nodejs/node/pull/10116 757 description: A deprecation code has been assigned. 758 - version: v0.4.7 759 description: Documentation-only deprecation. 760--> 761 762Type: Documentation-only 763 764The [`fs.lchmodSync(path, mode)`][] API is deprecated. 765 766### DEP0037: `fs.lchown(path, uid, gid, callback)` 767<!-- YAML 768changes: 769 - version: v10.6.0 770 pr-url: https://github.com/nodejs/node/pull/21498 771 description: Deprecation revoked. 772 - version: 773 - v6.12.0 774 - v4.8.6 775 pr-url: https://github.com/nodejs/node/pull/10116 776 description: A deprecation code has been assigned. 777 - version: v0.4.7 778 description: Documentation-only deprecation. 779--> 780 781Type: Deprecation revoked 782 783The [`fs.lchown(path, uid, gid, callback)`][] API was deprecated. The 784deprecation was revoked because the requisite supporting APIs were added in 785libuv. 786 787### DEP0038: `fs.lchownSync(path, uid, gid)` 788<!-- YAML 789changes: 790 - version: v10.6.0 791 pr-url: https://github.com/nodejs/node/pull/21498 792 description: Deprecation revoked. 793 - version: 794 - v6.12.0 795 - v4.8.6 796 pr-url: https://github.com/nodejs/node/pull/10116 797 description: A deprecation code has been assigned. 798 - version: v0.4.7 799 description: Documentation-only deprecation. 800--> 801 802Type: Deprecation revoked 803 804The [`fs.lchownSync(path, uid, gid)`][] API was deprecated. The deprecation was 805revoked because the requisite supporting APIs were added in libuv. 806 807### DEP0039: `require.extensions` 808<!-- YAML 809changes: 810 - version: 811 - v6.12.0 812 - v4.8.6 813 pr-url: https://github.com/nodejs/node/pull/10116 814 description: A deprecation code has been assigned. 815 - version: v0.10.6 816 commit: 7bd8a5a2a60b75266f89f9a32877d55294a3881c 817 description: Documentation-only deprecation. 818--> 819 820Type: Documentation-only 821 822The [`require.extensions`][] property is deprecated. 823 824### DEP0040: `punycode` module 825<!-- YAML 826changes: 827 - version: v7.0.0 828 pr-url: https://github.com/nodejs/node/pull/7941 829 description: Documentation-only deprecation. 830--> 831 832Type: Documentation-only 833 834The [`punycode`][] module is deprecated. Please use a userland alternative 835instead. 836 837### DEP0041: `NODE_REPL_HISTORY_FILE` environment variable 838<!-- YAML 839changes: 840 - version: v10.0.0 841 pr-url: https://github.com/nodejs/node/pull/13876 842 description: End-of-Life. 843 - version: 844 - v6.12.0 845 - v4.8.6 846 pr-url: https://github.com/nodejs/node/pull/10116 847 description: A deprecation code has been assigned. 848 - version: v3.0.0 849 pr-url: https://github.com/nodejs/node/pull/2224 850 description: Documentation-only deprecation. 851--> 852 853Type: End-of-Life 854 855The `NODE_REPL_HISTORY_FILE` environment variable was removed. Please use 856`NODE_REPL_HISTORY` instead. 857 858### DEP0042: `tls.CryptoStream` 859<!-- YAML 860changes: 861 - version: v10.0.0 862 pr-url: https://github.com/nodejs/node/pull/17882 863 description: End-of-Life. 864 - version: 865 - v6.12.0 866 - v4.8.6 867 pr-url: https://github.com/nodejs/node/pull/10116 868 description: A deprecation code has been assigned. 869 - version: v0.11.3 870 commit: af80e7bc6e6f33c582eb1f7d37c7f5bbe9f910f7 871 description: Documentation-only deprecation. 872--> 873 874Type: End-of-Life 875 876The [`tls.CryptoStream`][] class was removed. Please use 877[`tls.TLSSocket`][] instead. 878 879### DEP0043: `tls.SecurePair` 880<!-- YAML 881changes: 882 - version: v8.0.0 883 pr-url: https://github.com/nodejs/node/pull/11349 884 description: Runtime deprecation. 885 - version: v6.12.0 886 pr-url: https://github.com/nodejs/node/pull/10116 887 description: A deprecation code has been assigned. 888 - version: v6.0.0 889 pr-url: https://github.com/nodejs/node/pull/6063 890 description: Documentation-only deprecation. 891 - version: v0.11.15 892 pr-url: 893 - https://github.com/nodejs/node-v0.x-archive/pull/8695 894 - https://github.com/nodejs/node-v0.x-archive/pull/8700 895 description: Deprecation revoked. 896 - version: v0.11.3 897 commit: af80e7bc6e6f33c582eb1f7d37c7f5bbe9f910f7 898 description: Runtime deprecation. 899--> 900 901Type: Documentation-only 902 903The [`tls.SecurePair`][] class is deprecated. Please use 904[`tls.TLSSocket`][] instead. 905 906### DEP0044: `util.isArray()` 907<!-- YAML 908changes: 909 - version: 910 - v6.12.0 911 - v4.8.6 912 pr-url: https://github.com/nodejs/node/pull/10116 913 description: A deprecation code has been assigned. 914 - version: 915 - v4.0.0 916 - v3.3.1 917 pr-url: https://github.com/nodejs/node/pull/2447 918 description: Documentation-only deprecation. 919--> 920 921Type: Documentation-only 922 923The [`util.isArray()`][] API is deprecated. Please use `Array.isArray()` 924instead. 925 926### DEP0045: `util.isBoolean()` 927<!-- YAML 928changes: 929 - version: 930 - v6.12.0 931 - v4.8.6 932 pr-url: https://github.com/nodejs/node/pull/10116 933 description: A deprecation code has been assigned. 934 - version: 935 - v4.0.0 936 - v3.3.1 937 pr-url: https://github.com/nodejs/node/pull/2447 938 description: Documentation-only deprecation. 939--> 940 941Type: Documentation-only 942 943The [`util.isBoolean()`][] API is deprecated. 944 945### DEP0046: `util.isBuffer()` 946<!-- YAML 947changes: 948 - version: 949 - v6.12.0 950 - v4.8.6 951 pr-url: https://github.com/nodejs/node/pull/10116 952 description: A deprecation code has been assigned. 953 - version: 954 - v4.0.0 955 - v3.3.1 956 pr-url: https://github.com/nodejs/node/pull/2447 957 description: Documentation-only deprecation. 958--> 959 960Type: Documentation-only 961 962The [`util.isBuffer()`][] API is deprecated. Please use 963[`Buffer.isBuffer()`][] instead. 964 965### DEP0047: `util.isDate()` 966<!-- YAML 967changes: 968 - version: 969 - v6.12.0 970 - v4.8.6 971 pr-url: https://github.com/nodejs/node/pull/10116 972 description: A deprecation code has been assigned. 973 - version: 974 - v4.0.0 975 - v3.3.1 976 pr-url: https://github.com/nodejs/node/pull/2447 977 description: Documentation-only deprecation. 978--> 979 980Type: Documentation-only 981 982The [`util.isDate()`][] API is deprecated. 983 984### DEP0048: `util.isError()` 985<!-- YAML 986changes: 987 - version: 988 - v6.12.0 989 - v4.8.6 990 pr-url: https://github.com/nodejs/node/pull/10116 991 description: A deprecation code has been assigned. 992 - version: 993 - v4.0.0 994 - v3.3.1 995 pr-url: https://github.com/nodejs/node/pull/2447 996 description: Documentation-only deprecation. 997--> 998 999Type: Documentation-only 1000 1001The [`util.isError()`][] API is deprecated. 1002 1003### DEP0049: `util.isFunction()` 1004<!-- YAML 1005changes: 1006 - version: 1007 - v6.12.0 1008 - v4.8.6 1009 pr-url: https://github.com/nodejs/node/pull/10116 1010 description: A deprecation code has been assigned. 1011 - version: 1012 - v4.0.0 1013 - v3.3.1 1014 pr-url: https://github.com/nodejs/node/pull/2447 1015 description: Documentation-only deprecation. 1016--> 1017 1018Type: Documentation-only 1019 1020The [`util.isFunction()`][] API is deprecated. 1021 1022### DEP0050: `util.isNull()` 1023<!-- YAML 1024changes: 1025 - version: 1026 - v6.12.0 1027 - v4.8.6 1028 pr-url: https://github.com/nodejs/node/pull/10116 1029 description: A deprecation code has been assigned. 1030 - version: 1031 - v4.0.0 1032 - v3.3.1 1033 pr-url: https://github.com/nodejs/node/pull/2447 1034 description: Documentation-only deprecation. 1035--> 1036 1037Type: Documentation-only 1038 1039The [`util.isNull()`][] API is deprecated. 1040 1041### DEP0051: `util.isNullOrUndefined()` 1042<!-- YAML 1043changes: 1044 - version: 1045 - v6.12.0 1046 - v4.8.6 1047 pr-url: https://github.com/nodejs/node/pull/10116 1048 description: A deprecation code has been assigned. 1049 - version: 1050 - v4.0.0 1051 - v3.3.1 1052 pr-url: https://github.com/nodejs/node/pull/2447 1053 description: Documentation-only deprecation. 1054--> 1055 1056Type: Documentation-only 1057 1058The [`util.isNullOrUndefined()`][] API is deprecated. 1059 1060### DEP0052: `util.isNumber()` 1061<!-- YAML 1062changes: 1063 - version: 1064 - v6.12.0 1065 - v4.8.6 1066 pr-url: https://github.com/nodejs/node/pull/10116 1067 description: A deprecation code has been assigned. 1068 - version: 1069 - v4.0.0 1070 - v3.3.1 1071 pr-url: https://github.com/nodejs/node/pull/2447 1072 description: Documentation-only deprecation. 1073--> 1074 1075Type: Documentation-only 1076 1077The [`util.isNumber()`][] API is deprecated. 1078 1079### DEP0053: `util.isObject()` 1080<!-- YAML 1081changes: 1082 - version: 1083 - v6.12.0 1084 - v4.8.6 1085 pr-url: https://github.com/nodejs/node/pull/10116 1086 description: A deprecation code has been assigned. 1087 - version: 1088 - v4.0.0 1089 - v3.3.1 1090 pr-url: https://github.com/nodejs/node/pull/2447 1091 description: Documentation-only deprecation. 1092--> 1093 1094Type: Documentation-only 1095 1096The [`util.isObject()`][] API is deprecated. 1097 1098### DEP0054: `util.isPrimitive()` 1099<!-- YAML 1100changes: 1101 - version: 1102 - v6.12.0 1103 - v4.8.6 1104 pr-url: https://github.com/nodejs/node/pull/10116 1105 description: A deprecation code has been assigned. 1106 - version: 1107 - v4.0.0 1108 - v3.3.1 1109 pr-url: https://github.com/nodejs/node/pull/2447 1110 description: Documentation-only deprecation. 1111--> 1112 1113Type: Documentation-only 1114 1115The [`util.isPrimitive()`][] API is deprecated. 1116 1117### DEP0055: `util.isRegExp()` 1118<!-- YAML 1119changes: 1120 - version: 1121 - v6.12.0 1122 - v4.8.6 1123 pr-url: https://github.com/nodejs/node/pull/10116 1124 description: A deprecation code has been assigned. 1125 - version: 1126 - v4.0.0 1127 - v3.3.1 1128 pr-url: https://github.com/nodejs/node/pull/2447 1129 description: Documentation-only deprecation. 1130--> 1131 1132Type: Documentation-only 1133 1134The [`util.isRegExp()`][] API is deprecated. 1135 1136### DEP0056: `util.isString()` 1137<!-- YAML 1138changes: 1139 - version: 1140 - v6.12.0 1141 - v4.8.6 1142 pr-url: https://github.com/nodejs/node/pull/10116 1143 description: A deprecation code has been assigned. 1144 - version: 1145 - v4.0.0 1146 - v3.3.1 1147 pr-url: https://github.com/nodejs/node/pull/2447 1148 description: Documentation-only deprecation. 1149--> 1150 1151Type: Documentation-only 1152 1153The [`util.isString()`][] API is deprecated. 1154 1155### DEP0057: `util.isSymbol()` 1156<!-- YAML 1157changes: 1158 - version: 1159 - v6.12.0 1160 - v4.8.6 1161 pr-url: https://github.com/nodejs/node/pull/10116 1162 description: A deprecation code has been assigned. 1163 - version: 1164 - v4.0.0 1165 - v3.3.1 1166 pr-url: https://github.com/nodejs/node/pull/2447 1167 description: Documentation-only deprecation. 1168--> 1169 1170Type: Documentation-only 1171 1172The [`util.isSymbol()`][] API is deprecated. 1173 1174### DEP0058: `util.isUndefined()` 1175<!-- YAML 1176changes: 1177 - version: 1178 - v6.12.0 1179 - v4.8.6 1180 pr-url: https://github.com/nodejs/node/pull/10116 1181 description: A deprecation code has been assigned. 1182 - version: 1183 - v4.0.0 1184 - v3.3.1 1185 pr-url: https://github.com/nodejs/node/pull/2447 1186 description: Documentation-only deprecation. 1187--> 1188 1189Type: Documentation-only 1190 1191The [`util.isUndefined()`][] API is deprecated. 1192 1193### DEP0059: `util.log()` 1194<!-- YAML 1195changes: 1196 - version: v6.12.0 1197 pr-url: https://github.com/nodejs/node/pull/10116 1198 description: A deprecation code has been assigned. 1199 - version: v6.0.0 1200 pr-url: https://github.com/nodejs/node/pull/6161 1201 description: Documentation-only deprecation. 1202--> 1203 1204Type: Documentation-only 1205 1206The [`util.log()`][] API is deprecated. 1207 1208### DEP0060: `util._extend()` 1209<!-- YAML 1210changes: 1211 - version: v6.12.0 1212 pr-url: https://github.com/nodejs/node/pull/10116 1213 description: A deprecation code has been assigned. 1214 - version: v6.0.0 1215 pr-url: https://github.com/nodejs/node/pull/4903 1216 description: Documentation-only deprecation. 1217--> 1218 1219Type: Documentation-only 1220 1221The [`util._extend()`][] API is deprecated. 1222 1223### DEP0061: `fs.SyncWriteStream` 1224<!-- YAML 1225changes: 1226 - version: v11.0.0 1227 pr-url: https://github.com/nodejs/node/pull/20735 1228 description: End-of-Life. 1229 - version: v8.0.0 1230 pr-url: https://github.com/nodejs/node/pull/10467 1231 description: Runtime deprecation. 1232 - version: v7.0.0 1233 pr-url: https://github.com/nodejs/node/pull/6749 1234 description: Documentation-only deprecation. 1235--> 1236 1237Type: End-of-Life 1238 1239The `fs.SyncWriteStream` class was never intended to be a publicly accessible 1240API and has been removed. No alternative API is available. Please use a userland 1241alternative. 1242 1243### DEP0062: `node --debug` 1244<!-- YAML 1245changes: 1246 - version: v12.0.0 1247 pr-url: https://github.com/nodejs/node/pull/25828 1248 description: End-of-Life. 1249 - version: v8.0.0 1250 pr-url: https://github.com/nodejs/node/pull/10970 1251 description: Runtime deprecation. 1252--> 1253 1254Type: End-of-Life 1255 1256`--debug` activates the legacy V8 debugger interface, which was removed as 1257of V8 5.8. It is replaced by Inspector which is activated with `--inspect` 1258instead. 1259 1260### DEP0063: `ServerResponse.prototype.writeHeader()` 1261<!-- YAML 1262changes: 1263 - version: v8.0.0 1264 pr-url: https://github.com/nodejs/node/pull/11355 1265 description: Documentation-only deprecation. 1266--> 1267 1268Type: Documentation-only 1269 1270The `http` module `ServerResponse.prototype.writeHeader()` API is 1271deprecated. Please use `ServerResponse.prototype.writeHead()` instead. 1272 1273The `ServerResponse.prototype.writeHeader()` method was never documented as an 1274officially supported API. 1275 1276### DEP0064: `tls.createSecurePair()` 1277<!-- YAML 1278changes: 1279 - version: v8.0.0 1280 pr-url: https://github.com/nodejs/node/pull/11349 1281 description: Runtime deprecation. 1282 - version: v6.12.0 1283 pr-url: https://github.com/nodejs/node/pull/10116 1284 description: A deprecation code has been assigned. 1285 - version: v6.0.0 1286 pr-url: https://github.com/nodejs/node/pull/6063 1287 description: Documentation-only deprecation. 1288 - version: v0.11.15 1289 pr-url: 1290 - https://github.com/nodejs/node-v0.x-archive/pull/8695 1291 - https://github.com/nodejs/node-v0.x-archive/pull/8700 1292 description: Deprecation revoked. 1293 - version: v0.11.3 1294 commit: af80e7bc6e6f33c582eb1f7d37c7f5bbe9f910f7 1295 description: Runtime deprecation. 1296--> 1297 1298Type: Runtime 1299 1300The `tls.createSecurePair()` API was deprecated in documentation in Node.js 13010.11.3. Users should use `tls.Socket` instead. 1302 1303### DEP0065: `repl.REPL_MODE_MAGIC` and `NODE_REPL_MODE=magic` 1304<!-- YAML 1305changes: 1306 - version: v10.0.0 1307 pr-url: https://github.com/nodejs/node/pull/19187 1308 description: End-of-Life. 1309 - version: v8.0.0 1310 pr-url: https://github.com/nodejs/node/pull/11599 1311 description: Documentation-only deprecation. 1312--> 1313 1314Type: End-of-Life 1315 1316The `repl` module's `REPL_MODE_MAGIC` constant, used for `replMode` option, has 1317been removed. Its behavior has been functionally identical to that of 1318`REPL_MODE_SLOPPY` since Node.js 6.0.0, when V8 5.0 was imported. Please use 1319`REPL_MODE_SLOPPY` instead. 1320 1321The `NODE_REPL_MODE` environment variable is used to set the underlying 1322`replMode` of an interactive `node` session. Its value, `magic`, is also 1323removed. Please use `sloppy` instead. 1324 1325### DEP0066: `OutgoingMessage.prototype._headers, OutgoingMessage.prototype._headerNames` 1326<!-- YAML 1327changes: 1328 - version: v12.0.0 1329 pr-url: https://github.com/nodejs/node/pull/24167 1330 description: Runtime deprecation. 1331 - version: v8.0.0 1332 pr-url: https://github.com/nodejs/node/pull/10941 1333 description: Documentation-only deprecation. 1334--> 1335 1336Type: Runtime 1337 1338The `http` module `OutgoingMessage.prototype._headers` and 1339`OutgoingMessage.prototype._headerNames` properties are deprecated. Use one of 1340the public methods (e.g. `OutgoingMessage.prototype.getHeader()`, 1341`OutgoingMessage.prototype.getHeaders()`, 1342`OutgoingMessage.prototype.getHeaderNames()`, 1343`OutgoingMessage.prototype.getRawHeaderNames()`, 1344`OutgoingMessage.prototype.hasHeader()`, 1345`OutgoingMessage.prototype.removeHeader()`, 1346`OutgoingMessage.prototype.setHeader()`) for working with outgoing headers. 1347 1348The `OutgoingMessage.prototype._headers` and 1349`OutgoingMessage.prototype._headerNames` properties were never documented as 1350officially supported properties. 1351 1352### DEP0067: `OutgoingMessage.prototype._renderHeaders` 1353<!-- YAML 1354changes: 1355 - version: v8.0.0 1356 pr-url: https://github.com/nodejs/node/pull/10941 1357 description: Documentation-only deprecation. 1358--> 1359 1360Type: Documentation-only 1361 1362The `http` module `OutgoingMessage.prototype._renderHeaders()` API is 1363deprecated. 1364 1365The `OutgoingMessage.prototype._renderHeaders` property was never documented as 1366an officially supported API. 1367 1368### DEP0068: `node debug` 1369<!-- YAML 1370changes: 1371 - version: v8.0.0 1372 pr-url: https://github.com/nodejs/node/pull/11441 1373 description: Runtime deprecation. 1374--> 1375 1376Type: Runtime 1377 1378`node debug` corresponds to the legacy CLI debugger which has been replaced with 1379a V8-inspector based CLI debugger available through `node inspect`. 1380 1381### DEP0069: `vm.runInDebugContext(string)` 1382<!-- YAML 1383changes: 1384 - version: v10.0.0 1385 pr-url: https://github.com/nodejs/node/pull/13295 1386 description: End-of-Life. 1387 - version: v9.0.0 1388 pr-url: https://github.com/nodejs/node/pull/12815 1389 description: Runtime deprecation. 1390 - version: v8.0.0 1391 pr-url: https://github.com/nodejs/node/pull/12243 1392 description: Documentation-only deprecation. 1393--> 1394 1395Type: End-of-Life 1396 1397DebugContext has been removed in V8 and is not available in Node.js 10+. 1398 1399DebugContext was an experimental API. 1400 1401### DEP0070: `async_hooks.currentId()` 1402<!-- YAML 1403changes: 1404 - version: v9.0.0 1405 pr-url: https://github.com/nodejs/node/pull/14414 1406 description: End-of-Life. 1407 - version: v8.2.0 1408 pr-url: https://github.com/nodejs/node/pull/13490 1409 description: Runtime deprecation. 1410--> 1411 1412Type: End-of-Life 1413 1414`async_hooks.currentId()` was renamed to `async_hooks.executionAsyncId()` for 1415clarity. 1416 1417This change was made while `async_hooks` was an experimental API. 1418 1419### DEP0071: `async_hooks.triggerId()` 1420<!-- YAML 1421changes: 1422 - version: v9.0.0 1423 pr-url: https://github.com/nodejs/node/pull/14414 1424 description: End-of-Life. 1425 - version: v8.2.0 1426 pr-url: https://github.com/nodejs/node/pull/13490 1427 description: Runtime deprecation. 1428--> 1429 1430Type: End-of-Life 1431 1432`async_hooks.triggerId()` was renamed to `async_hooks.triggerAsyncId()` for 1433clarity. 1434 1435This change was made while `async_hooks` was an experimental API. 1436 1437### DEP0072: `async_hooks.AsyncResource.triggerId()` 1438<!-- YAML 1439changes: 1440 - version: v9.0.0 1441 pr-url: https://github.com/nodejs/node/pull/14414 1442 description: End-of-Life. 1443 - version: v8.2.0 1444 pr-url: https://github.com/nodejs/node/pull/13490 1445 description: Runtime deprecation. 1446--> 1447 1448Type: End-of-Life 1449 1450`async_hooks.AsyncResource.triggerId()` was renamed to 1451`async_hooks.AsyncResource.triggerAsyncId()` for clarity. 1452 1453This change was made while `async_hooks` was an experimental API. 1454 1455### DEP0073: Several internal properties of `net.Server` 1456<!-- YAML 1457changes: 1458 - version: v10.0.0 1459 pr-url: https://github.com/nodejs/node/pull/17141 1460 description: End-of-Life. 1461 - version: v9.0.0 1462 pr-url: https://github.com/nodejs/node/pull/14449 1463 description: Runtime deprecation. 1464--> 1465 1466Type: End-of-Life 1467 1468Accessing several internal, undocumented properties of `net.Server` instances 1469with inappropriate names is deprecated. 1470 1471As the original API was undocumented and not generally useful for non-internal 1472code, no replacement API is provided. 1473 1474### DEP0074: `REPLServer.bufferedCommand` 1475<!-- YAML 1476changes: 1477 - version: v9.0.0 1478 pr-url: https://github.com/nodejs/node/pull/13687 1479 description: Runtime deprecation. 1480--> 1481 1482Type: Runtime 1483 1484The `REPLServer.bufferedCommand` property was deprecated in favor of 1485[`REPLServer.clearBufferedCommand()`][]. 1486 1487### DEP0075: `REPLServer.parseREPLKeyword()` 1488<!-- YAML 1489changes: 1490 - version: v9.0.0 1491 pr-url: https://github.com/nodejs/node/pull/14223 1492 description: Runtime deprecation. 1493--> 1494 1495Type: Runtime 1496 1497`REPLServer.parseREPLKeyword()` was removed from userland visibility. 1498 1499### DEP0076: `tls.parseCertString()` 1500<!-- YAML 1501changes: 1502 - version: v9.0.0 1503 pr-url: https://github.com/nodejs/node/pull/14249 1504 description: Runtime deprecation. 1505 - version: v8.6.0 1506 pr-url: https://github.com/nodejs/node/pull/14245 1507 description: Documentation-only deprecation. 1508--> 1509 1510Type: Runtime 1511 1512`tls.parseCertString()` is a trivial parsing helper that was made public by 1513mistake. This function can usually be replaced with: 1514 1515```js 1516const querystring = require('querystring'); 1517querystring.parse(str, '\n', '='); 1518``` 1519 1520This function is not completely equivalent to `querystring.parse()`. One 1521difference is that `querystring.parse()` does url decoding: 1522 1523```console 1524> querystring.parse('%E5%A5%BD=1', '\n', '='); 1525{ '好': '1' } 1526> tls.parseCertString('%E5%A5%BD=1'); 1527{ '%E5%A5%BD': '1' } 1528``` 1529 1530### DEP0077: `Module._debug()` 1531<!-- YAML 1532changes: 1533 - version: v9.0.0 1534 pr-url: https://github.com/nodejs/node/pull/13948 1535 description: Runtime deprecation. 1536--> 1537 1538Type: Runtime 1539 1540`Module._debug()` is deprecated. 1541 1542The `Module._debug()` function was never documented as an officially 1543supported API. 1544 1545### DEP0078: `REPLServer.turnOffEditorMode()` 1546<!-- YAML 1547changes: 1548 - version: v9.0.0 1549 pr-url: https://github.com/nodejs/node/pull/15136 1550 description: Runtime deprecation. 1551--> 1552 1553Type: Runtime 1554 1555`REPLServer.turnOffEditorMode()` was removed from userland visibility. 1556 1557### DEP0079: Custom inspection function on objects via `.inspect()` 1558<!-- YAML 1559changes: 1560 - version: v11.0.0 1561 pr-url: https://github.com/nodejs/node/pull/20722 1562 description: End-of-Life. 1563 - version: v10.0.0 1564 pr-url: https://github.com/nodejs/node/pull/16393 1565 description: Runtime deprecation. 1566 - version: v8.7.0 1567 pr-url: https://github.com/nodejs/node/pull/15631 1568 description: Documentation-only deprecation. 1569--> 1570 1571Type: End-of-Life 1572 1573Using a property named `inspect` on an object to specify a custom inspection 1574function for [`util.inspect()`][] is deprecated. Use [`util.inspect.custom`][] 1575instead. For backward compatibility with Node.js prior to version 6.4.0, both 1576can be specified. 1577 1578### DEP0080: `path._makeLong()` 1579<!-- YAML 1580changes: 1581 - version: v9.0.0 1582 pr-url: https://github.com/nodejs/node/pull/14956 1583 description: Documentation-only deprecation. 1584--> 1585 1586Type: Documentation-only 1587 1588The internal `path._makeLong()` was not intended for public use. However, 1589userland modules have found it useful. The internal API is deprecated 1590and replaced with an identical, public `path.toNamespacedPath()` method. 1591 1592### DEP0081: `fs.truncate()` using a file descriptor 1593<!-- YAML 1594changes: 1595 - version: v9.0.0 1596 pr-url: https://github.com/nodejs/node/pull/15990 1597 description: Runtime deprecation. 1598--> 1599 1600Type: Runtime 1601 1602`fs.truncate()` `fs.truncateSync()` usage with a file descriptor is 1603deprecated. Please use `fs.ftruncate()` or `fs.ftruncateSync()` to work with 1604file descriptors. 1605 1606### DEP0082: `REPLServer.prototype.memory()` 1607<!-- YAML 1608changes: 1609 - version: v9.0.0 1610 pr-url: https://github.com/nodejs/node/pull/16242 1611 description: Runtime deprecation. 1612--> 1613 1614Type: Runtime 1615 1616`REPLServer.prototype.memory()` is only necessary for the internal mechanics of 1617the `REPLServer` itself. Do not use this function. 1618 1619### DEP0083: Disabling ECDH by setting `ecdhCurve` to `false` 1620<!-- YAML 1621changes: 1622 - version: v10.0.0 1623 pr-url: https://github.com/nodejs/node/pull/19794 1624 description: End-of-Life. 1625 - version: v9.2.0 1626 pr-url: https://github.com/nodejs/node/pull/16130 1627 description: Runtime deprecation. 1628--> 1629 1630Type: End-of-Life. 1631 1632The `ecdhCurve` option to `tls.createSecureContext()` and `tls.TLSSocket` could 1633be set to `false` to disable ECDH entirely on the server only. This mode was 1634deprecated in preparation for migrating to OpenSSL 1.1.0 and consistency with 1635the client and is now unsupported. Use the `ciphers` parameter instead. 1636 1637### DEP0084: requiring bundled internal dependencies 1638<!-- YAML 1639changes: 1640 - version: v12.0.0 1641 pr-url: https://github.com/nodejs/node/pull/25138 1642 description: This functionality has been removed. 1643 - version: v10.0.0 1644 pr-url: https://github.com/nodejs/node/pull/16392 1645 description: Runtime deprecation. 1646--> 1647 1648Type: End-of-Life 1649 1650Since Node.js versions 4.4.0 and 5.2.0, several modules only intended for 1651internal usage were mistakenly exposed to user code through `require()`. These 1652modules were: 1653 1654* `v8/tools/codemap` 1655* `v8/tools/consarray` 1656* `v8/tools/csvparser` 1657* `v8/tools/logreader` 1658* `v8/tools/profile_view` 1659* `v8/tools/profile` 1660* `v8/tools/SourceMap` 1661* `v8/tools/splaytree` 1662* `v8/tools/tickprocessor-driver` 1663* `v8/tools/tickprocessor` 1664* `node-inspect/lib/_inspect` (from 7.6.0) 1665* `node-inspect/lib/internal/inspect_client` (from 7.6.0) 1666* `node-inspect/lib/internal/inspect_repl` (from 7.6.0) 1667 1668The `v8/*` modules do not have any exports, and if not imported in a specific 1669order would in fact throw errors. As such there are virtually no legitimate use 1670cases for importing them through `require()`. 1671 1672On the other hand, `node-inspect` can be installed locally through a package 1673manager, as it is published on the npm registry under the same name. No source 1674code modification is necessary if that is done. 1675 1676### DEP0085: AsyncHooks sensitive API 1677<!-- YAML 1678changes: 1679 - version: v10.0.0 1680 pr-url: https://github.com/nodejs/node/pull/17147 1681 description: End-of-Life. 1682 - version: 1683 - v9.4.0 1684 - v8.10.0 1685 pr-url: https://github.com/nodejs/node/pull/16972 1686 description: Runtime deprecation. 1687--> 1688 1689Type: End-of-Life 1690 1691The AsyncHooks sensitive API was never documented and had various minor issues. 1692Use the `AsyncResource` API instead. See 1693<https://github.com/nodejs/node/issues/15572>. 1694 1695### DEP0086: Remove `runInAsyncIdScope` 1696<!-- YAML 1697changes: 1698 - version: v10.0.0 1699 pr-url: https://github.com/nodejs/node/pull/17147 1700 description: End-of-Life. 1701 - version: 1702 - v9.4.0 1703 - v8.10.0 1704 pr-url: https://github.com/nodejs/node/pull/16972 1705 description: Runtime deprecation. 1706--> 1707 1708Type: End-of-Life 1709 1710`runInAsyncIdScope` doesn't emit the `'before'` or `'after'` event and can thus 1711cause a lot of issues. See <https://github.com/nodejs/node/issues/14328>. 1712 1713### DEP0089: `require('assert')` 1714<!-- YAML 1715changes: 1716 - version: v12.8.0 1717 pr-url: https://github.com/nodejs/node/pull/28892 1718 description: Deprecation revoked. 1719 - version: 1720 - v9.9.0 1721 - v8.13.0 1722 pr-url: https://github.com/nodejs/node/pull/17002 1723 description: Documentation-only deprecation. 1724--> 1725 1726Type: Deprecation revoked 1727 1728Importing assert directly was not recommended as the exposed functions use 1729loose equality checks. The deprecation was revoked because use of the `assert` 1730module is not discouraged, and the deprecation caused developer confusion. 1731 1732### DEP0090: Invalid GCM authentication tag lengths 1733<!-- YAML 1734changes: 1735 - version: v11.0.0 1736 pr-url: https://github.com/nodejs/node/pull/17825 1737 description: End-of-Life. 1738 - version: v10.0.0 1739 pr-url: https://github.com/nodejs/node/pull/18017 1740 description: Runtime deprecation. 1741--> 1742 1743Type: End-of-Life 1744 1745Node.js used to support all GCM authentication tag lengths which are accepted by 1746OpenSSL when calling [`decipher.setAuthTag()`][]. Beginning with Node.js 1747v11.0.0, only authentication tag lengths of 128, 120, 112, 104, 96, 64, and 32 1748bits are allowed. Authentication tags of other lengths are invalid per 1749[NIST SP 800-38D][]. 1750 1751### DEP0091: `crypto.DEFAULT_ENCODING` 1752<!-- YAML 1753changes: 1754 - version: v10.0.0 1755 pr-url: https://github.com/nodejs/node/pull/18333 1756 description: Runtime deprecation. 1757--> 1758 1759Type: Runtime 1760 1761The [`crypto.DEFAULT_ENCODING`][] property is deprecated. 1762 1763### DEP0092: Top-level `this` bound to `module.exports` 1764<!-- YAML 1765changes: 1766 - version: v10.0.0 1767 pr-url: https://github.com/nodejs/node/pull/16878 1768 description: Documentation-only deprecation. 1769--> 1770 1771Type: Documentation-only 1772 1773Assigning properties to the top-level `this` as an alternative 1774to `module.exports` is deprecated. Developers should use `exports` 1775or `module.exports` instead. 1776 1777### DEP0093: `crypto.fips` is deprecated and replaced 1778<!-- YAML 1779changes: 1780 - version: v10.0.0 1781 pr-url: https://github.com/nodejs/node/pull/18335 1782 description: Documentation-only deprecation. 1783--> 1784 1785Type: Documentation-only 1786 1787The [`crypto.fips`][] property is deprecated. Please use `crypto.setFips()` 1788and `crypto.getFips()` instead. 1789 1790### DEP0094: Using `assert.fail()` with more than one argument 1791<!-- YAML 1792changes: 1793 - version: v10.0.0 1794 pr-url: https://github.com/nodejs/node/pull/18418 1795 description: Runtime deprecation. 1796--> 1797 1798Type: Runtime 1799 1800Using `assert.fail()` with more than one argument is deprecated. Use 1801`assert.fail()` with only one argument or use a different `assert` module 1802method. 1803 1804### DEP0095: `timers.enroll()` 1805<!-- YAML 1806changes: 1807 - version: v10.0.0 1808 pr-url: https://github.com/nodejs/node/pull/18066 1809 description: Runtime deprecation. 1810--> 1811 1812Type: Runtime 1813 1814`timers.enroll()` is deprecated. Please use the publicly documented 1815[`setTimeout()`][] or [`setInterval()`][] instead. 1816 1817### DEP0096: `timers.unenroll()` 1818<!-- YAML 1819changes: 1820 - version: v10.0.0 1821 pr-url: https://github.com/nodejs/node/pull/18066 1822 description: Runtime deprecation. 1823--> 1824 1825Type: Runtime 1826 1827`timers.unenroll()` is deprecated. Please use the publicly documented 1828[`clearTimeout()`][] or [`clearInterval()`][] instead. 1829 1830### DEP0097: `MakeCallback` with `domain` property 1831<!-- YAML 1832changes: 1833 - version: v10.0.0 1834 pr-url: https://github.com/nodejs/node/pull/17417 1835 description: Runtime deprecation. 1836--> 1837 1838Type: Runtime 1839 1840Users of `MakeCallback` that add the `domain` property to carry context, 1841should start using the `async_context` variant of `MakeCallback` or 1842`CallbackScope`, or the high-level `AsyncResource` class. 1843 1844### DEP0098: AsyncHooks embedder `AsyncResource.emitBefore` and `AsyncResource.emitAfter` APIs 1845<!-- YAML 1846changes: 1847 - version: v12.0.0 1848 pr-url: https://github.com/nodejs/node/pull/26530 1849 description: End-of-Life. 1850 - version: 1851 - v10.0.0 1852 - v9.6.0 1853 - v8.12.0 1854 pr-url: https://github.com/nodejs/node/pull/18632 1855 description: Runtime deprecation. 1856--> 1857 1858Type: End-of-Life 1859 1860The embedded API provided by AsyncHooks exposes `.emitBefore()` and 1861`.emitAfter()` methods which are very easy to use incorrectly which can lead 1862to unrecoverable errors. 1863 1864Use [`asyncResource.runInAsyncScope()`][] API instead which provides a much 1865safer, and more convenient, alternative. See 1866<https://github.com/nodejs/node/pull/18513>. 1867 1868### DEP0099: Async context-unaware `node::MakeCallback` C++ APIs 1869<!-- YAML 1870changes: 1871 - version: v10.0.0 1872 pr-url: https://github.com/nodejs/node/pull/18632 1873 description: Compile-time deprecation. 1874--> 1875 1876Type: Compile-time 1877 1878Certain versions of `node::MakeCallback` APIs available to native modules are 1879deprecated. Please use the versions of the API that accept an `async_context` 1880parameter. 1881 1882### DEP0100: `process.assert()` 1883<!-- YAML 1884changes: 1885 - version: v10.0.0 1886 pr-url: https://github.com/nodejs/node/pull/18666 1887 description: Runtime deprecation. 1888 - version: v0.3.7 1889 description: Documentation-only deprecation. 1890--> 1891 1892Type: Runtime 1893 1894`process.assert()` is deprecated. Please use the [`assert`][] module instead. 1895 1896This was never a documented feature. 1897 1898### DEP0101: `--with-lttng` 1899<!-- YAML 1900changes: 1901 - version: v10.0.0 1902 pr-url: https://github.com/nodejs/node/pull/18982 1903 description: End-of-Life. 1904--> 1905 1906Type: End-of-Life 1907 1908The `--with-lttng` compile-time option has been removed. 1909 1910### DEP0102: Using `noAssert` in `Buffer#(read|write)` operations 1911<!-- YAML 1912changes: 1913 - version: v10.0.0 1914 pr-url: https://github.com/nodejs/node/pull/18395 1915 description: End-of-Life. 1916--> 1917 1918Type: End-of-Life 1919 1920Using the `noAssert` argument has no functionality anymore. All input is going 1921to be verified, no matter if it is set to true or not. Skipping the verification 1922could lead to hard to find errors and crashes. 1923 1924### DEP0103: `process.binding('util').is[...]` typechecks 1925<!-- YAML 1926changes: 1927 - version: v10.9.0 1928 pr-url: https://github.com/nodejs/node/pull/22004 1929 description: Superseded by [DEP0111](#DEP0111). 1930 - version: v10.0.0 1931 pr-url: https://github.com/nodejs/node/pull/18415 1932 description: Documentation-only deprecation. 1933--> 1934 1935Type: Documentation-only (supports [`--pending-deprecation`][]) 1936 1937Using `process.binding()` in general should be avoided. The type checking 1938methods in particular can be replaced by using [`util.types`][]. 1939 1940This deprecation has been superseded by the deprecation of the 1941`process.binding()` API ([DEP0111](#DEP0111)). 1942 1943### DEP0104: `process.env` string coercion 1944<!-- YAML 1945changes: 1946 - version: v10.0.0 1947 pr-url: https://github.com/nodejs/node/pull/18990 1948 description: Documentation-only deprecation. 1949--> 1950 1951Type: Documentation-only (supports [`--pending-deprecation`][]) 1952 1953When assigning a non-string property to [`process.env`][], the assigned value is 1954implicitly converted to a string. This behavior is deprecated if the assigned 1955value is not a string, boolean, or number. In the future, such assignment might 1956result in a thrown error. Please convert the property to a string before 1957assigning it to `process.env`. 1958 1959### DEP0105: `decipher.finaltol` 1960<!-- YAML 1961changes: 1962 - version: v11.0.0 1963 pr-url: https://github.com/nodejs/node/pull/19941 1964 description: End-of-Life. 1965 - version: v10.0.0 1966 pr-url: https://github.com/nodejs/node/pull/19353 1967 description: Runtime deprecation. 1968--> 1969 1970Type: End-of-Life 1971 1972`decipher.finaltol()` has never been documented and was an alias for 1973[`decipher.final()`][]. This API has been removed, and it is recommended to use 1974[`decipher.final()`][] instead. 1975 1976### DEP0106: `crypto.createCipher` and `crypto.createDecipher` 1977<!-- YAML 1978changes: 1979 - version: v11.0.0 1980 pr-url: https://github.com/nodejs/node/pull/22089 1981 description: Runtime deprecation. 1982 - version: v10.0.0 1983 pr-url: https://github.com/nodejs/node/pull/19343 1984 description: Documentation-only deprecation. 1985--> 1986 1987Type: Runtime 1988 1989Using [`crypto.createCipher()`][] and [`crypto.createDecipher()`][] should be 1990avoided as they use a weak key derivation function (MD5 with no salt) and static 1991initialization vectors. It is recommended to derive a key using 1992[`crypto.pbkdf2()`][] or [`crypto.scrypt()`][] and to use 1993[`crypto.createCipheriv()`][] and [`crypto.createDecipheriv()`][] to obtain the 1994[`Cipher`][] and [`Decipher`][] objects respectively. 1995 1996### DEP0107: `tls.convertNPNProtocols()` 1997<!-- YAML 1998changes: 1999 - version: v11.0.0 2000 pr-url: https://github.com/nodejs/node/pull/20736 2001 description: End-of-Life. 2002 - version: v10.0.0 2003 pr-url: https://github.com/nodejs/node/pull/19403 2004 description: Runtime deprecation. 2005--> 2006 2007Type: End-of-Life 2008 2009This was an undocumented helper function not intended for use outside Node.js 2010core and obsoleted by the removal of NPN (Next Protocol Negotiation) support. 2011 2012### DEP0108: `zlib.bytesRead` 2013<!-- YAML 2014changes: 2015 - version: v11.0.0 2016 pr-url: https://github.com/nodejs/node/pull/23308 2017 description: Runtime deprecation. 2018 - version: v10.0.0 2019 pr-url: https://github.com/nodejs/node/pull/19414 2020 description: Documentation-only deprecation. 2021--> 2022 2023Type: Runtime 2024 2025Deprecated alias for [`zlib.bytesWritten`][]. This original name was chosen 2026because it also made sense to interpret the value as the number of bytes 2027read by the engine, but is inconsistent with other streams in Node.js that 2028expose values under these names. 2029 2030### DEP0109: `http`, `https`, and `tls` support for invalid URLs 2031<!-- YAML 2032changes: 2033 - version: v11.0.0 2034 pr-url: https://github.com/nodejs/node/pull/20270 2035 description: Runtime deprecation. 2036--> 2037 2038Type: Runtime 2039 2040Some previously supported (but strictly invalid) URLs were accepted through the 2041[`http.request()`][], [`http.get()`][], [`https.request()`][], 2042[`https.get()`][], and [`tls.checkServerIdentity()`][] APIs because those were 2043accepted by the legacy `url.parse()` API. The mentioned APIs now use the WHATWG 2044URL parser that requires strictly valid URLs. Passing an invalid URL is 2045deprecated and support will be removed in the future. 2046 2047### DEP0110: `vm.Script` cached data 2048<!-- YAML 2049changes: 2050 - version: v10.6.0 2051 pr-url: https://github.com/nodejs/node/pull/20300 2052 description: Documentation-only deprecation. 2053--> 2054 2055Type: Documentation-only 2056 2057The `produceCachedData` option is deprecated. Use 2058[`script.createCachedData()`][] instead. 2059 2060### DEP0111: `process.binding()` 2061<!-- YAML 2062changes: 2063 - version: v11.12.0 2064 pr-url: https://github.com/nodejs/node/pull/26500 2065 description: Added support for `--pending-deprecation`. 2066 - version: v10.9.0 2067 pr-url: https://github.com/nodejs/node/pull/22004 2068 description: Documentation-only deprecation. 2069--> 2070 2071Type: Documentation-only (supports [`--pending-deprecation`][]) 2072 2073`process.binding()` is for use by Node.js internal code only. 2074 2075### DEP0112: `dgram` private APIs 2076<!-- YAML 2077changes: 2078 - version: v11.0.0 2079 pr-url: https://github.com/nodejs/node/pull/22011 2080 description: Runtime deprecation. 2081--> 2082 2083Type: Runtime 2084 2085The `dgram` module previously contained several APIs that were never meant to 2086accessed outside of Node.js core: `Socket.prototype._handle`, 2087`Socket.prototype._receiving`, `Socket.prototype._bindState`, 2088`Socket.prototype._queue`, `Socket.prototype._reuseAddr`, 2089`Socket.prototype._healthCheck()`, `Socket.prototype._stopReceiving()`, and 2090`dgram._createSocketHandle()`. 2091 2092### DEP0113: `Cipher.setAuthTag()`, `Decipher.getAuthTag()` 2093<!-- YAML 2094changes: 2095 - version: v12.0.0 2096 pr-url: https://github.com/nodejs/node/pull/26249 2097 description: End-of-Life. 2098 - version: v11.0.0 2099 pr-url: https://github.com/nodejs/node/pull/22126 2100 description: Runtime deprecation. 2101--> 2102 2103Type: End-of-Life 2104 2105`Cipher.setAuthTag()` and `Decipher.getAuthTag()` are no longer available. They 2106were never documented and would throw when called. 2107 2108### DEP0114: `crypto._toBuf()` 2109<!-- YAML 2110changes: 2111 - version: v12.0.0 2112 pr-url: https://github.com/nodejs/node/pull/25338 2113 description: End-of-Life. 2114 - version: v11.0.0 2115 pr-url: https://github.com/nodejs/node/pull/22501 2116 description: Runtime deprecation. 2117--> 2118 2119Type: End-of-Life 2120 2121The `crypto._toBuf()` function was not designed to be used by modules outside 2122of Node.js core and was removed. 2123 2124### DEP0115: `crypto.prng()`, `crypto.pseudoRandomBytes()`, `crypto.rng()` 2125 2126<!--lint disable nodejs-yaml-comments --> 2127 2128<!-- YAML 2129changes: 2130 - version: v11.0.0 2131 pr-url: 2132 - https://github.com/nodejs/node/pull/22519 2133 - https://github.com/nodejs/node/pull/23017 2134 description: Added documentation-only deprecation 2135 with `--pending-deprecation` support. 2136--> 2137 2138<!--lint enable nodejs-yaml-comments --> 2139 2140Type: Documentation-only (supports [`--pending-deprecation`][]) 2141 2142In recent versions of Node.js, there is no difference between 2143[`crypto.randomBytes()`][] and `crypto.pseudoRandomBytes()`. The latter is 2144deprecated along with the undocumented aliases `crypto.prng()` and 2145`crypto.rng()` in favor of [`crypto.randomBytes()`][] and might be removed in a 2146future release. 2147 2148### DEP0116: Legacy URL API 2149<!-- YAML 2150changes: 2151 - version: v14.17.0 2152 pr-url: https://github.com/nodejs/node/pull/37784 2153 description: Deprecation revoked. Status changed to "Legacy". 2154 - version: v11.0.0 2155 pr-url: https://github.com/nodejs/node/pull/22715 2156 description: Documentation-only deprecation. 2157--> 2158 2159Type: Deprecation revoked 2160 2161The [Legacy URL API][] is deprecated. This includes [`url.format()`][], 2162[`url.parse()`][], [`url.resolve()`][], and the [legacy `urlObject`][]. Please 2163use the [WHATWG URL API][] instead. 2164 2165### DEP0117: Native crypto handles 2166<!-- YAML 2167changes: 2168 - version: v12.0.0 2169 pr-url: https://github.com/nodejs/node/pull/27011 2170 description: End-of-Life. 2171 - version: v11.0.0 2172 pr-url: https://github.com/nodejs/node/pull/22747 2173 description: Runtime deprecation. 2174--> 2175 2176Type: End-of-Life 2177 2178Previous versions of Node.js exposed handles to internal native objects through 2179the `_handle` property of the `Cipher`, `Decipher`, `DiffieHellman`, 2180`DiffieHellmanGroup`, `ECDH`, `Hash`, `Hmac`, `Sign`, and `Verify` classes. 2181The `_handle` property has been removed because improper use of the native 2182object can lead to crashing the application. 2183 2184### DEP0118: `dns.lookup()` support for a falsy host name 2185<!-- YAML 2186changes: 2187 - version: v11.0.0 2188 pr-url: https://github.com/nodejs/node/pull/23173 2189 description: Runtime deprecation. 2190--> 2191 2192Type: Runtime 2193 2194Previous versions of Node.js supported `dns.lookup()` with a falsy host name 2195like `dns.lookup(false)` due to backward compatibility. 2196This behavior is undocumented and is thought to be unused in real world apps. 2197It will become an error in future versions of Node.js. 2198 2199### DEP0119: `process.binding('uv').errname()` private API 2200<!-- YAML 2201changes: 2202 - version: v11.0.0 2203 pr-url: https://github.com/nodejs/node/pull/23597 2204 description: Documentation-only deprecation. 2205--> 2206 2207Type: Documentation-only (supports [`--pending-deprecation`][]) 2208 2209`process.binding('uv').errname()` is deprecated. Please use 2210[`util.getSystemErrorName()`][] instead. 2211 2212### DEP0120: Windows Performance Counter support 2213<!-- YAML 2214changes: 2215 - version: v12.0.0 2216 pr-url: https://github.com/nodejs/node/pull/24862 2217 description: End-of-Life. 2218 - version: v11.0.0 2219 pr-url: https://github.com/nodejs/node/pull/22485 2220 description: Runtime deprecation. 2221--> 2222 2223Type: End-of-Life 2224 2225Windows Performance Counter support has been removed from Node.js. The 2226undocumented `COUNTER_NET_SERVER_CONNECTION()`, 2227`COUNTER_NET_SERVER_CONNECTION_CLOSE()`, `COUNTER_HTTP_SERVER_REQUEST()`, 2228`COUNTER_HTTP_SERVER_RESPONSE()`, `COUNTER_HTTP_CLIENT_REQUEST()`, and 2229`COUNTER_HTTP_CLIENT_RESPONSE()` functions have been deprecated. 2230 2231### DEP0121: `net._setSimultaneousAccepts()` 2232<!-- YAML 2233changes: 2234 - version: v12.0.0 2235 pr-url: https://github.com/nodejs/node/pull/23760 2236 description: Runtime deprecation. 2237--> 2238 2239Type: Runtime 2240 2241The undocumented `net._setSimultaneousAccepts()` function was originally 2242intended for debugging and performance tuning when using the `child_process` 2243and `cluster` modules on Windows. The function is not generally useful and 2244is being removed. See discussion here: 2245<https://github.com/nodejs/node/issues/18391> 2246 2247### DEP0122: `tls` `Server.prototype.setOptions()` 2248<!-- YAML 2249changes: 2250 - version: v12.0.0 2251 pr-url: https://github.com/nodejs/node/pull/23820 2252 description: Runtime deprecation. 2253--> 2254 2255Type: Runtime 2256 2257Please use `Server.prototype.setSecureContext()` instead. 2258 2259### DEP0123: setting the TLS ServerName to an IP address 2260<!-- YAML 2261changes: 2262 - version: v12.0.0 2263 pr-url: https://github.com/nodejs/node/pull/23329 2264 description: Runtime deprecation. 2265--> 2266 2267Type: Runtime 2268 2269Setting the TLS ServerName to an IP address is not permitted by 2270[RFC 6066][]. This will be ignored in a future version. 2271 2272### DEP0124: using `REPLServer.rli` 2273<!-- YAML 2274changes: 2275 - version: v12.0.0 2276 pr-url: https://github.com/nodejs/node/pull/26260 2277 description: Runtime deprecation. 2278--> 2279 2280Type: Runtime 2281 2282This property is a reference to the instance itself. 2283 2284### DEP0125: `require('_stream_wrap')` 2285<!-- YAML 2286changes: 2287 - version: v12.0.0 2288 pr-url: https://github.com/nodejs/node/pull/26245 2289 description: Runtime deprecation. 2290--> 2291 2292Type: Runtime 2293 2294The `_stream_wrap` module is deprecated. 2295 2296### DEP0126: `timers.active()` 2297<!-- YAML 2298changes: 2299 - version: v11.14.0 2300 pr-url: https://github.com/nodejs/node/pull/26760 2301 description: Runtime deprecation. 2302--> 2303 2304Type: Runtime 2305 2306The previously undocumented `timers.active()` is deprecated. 2307Please use the publicly documented [`timeout.refresh()`][] instead. 2308If re-referencing the timeout is necessary, [`timeout.ref()`][] can be used 2309with no performance impact since Node.js 10. 2310 2311### DEP0127: `timers._unrefActive()` 2312<!-- YAML 2313changes: 2314 - version: v11.14.0 2315 pr-url: https://github.com/nodejs/node/pull/26760 2316 description: Runtime deprecation. 2317--> 2318 2319Type: Runtime 2320 2321The previously undocumented and "private" `timers._unrefActive()` is deprecated. 2322Please use the publicly documented [`timeout.refresh()`][] instead. 2323If unreferencing the timeout is necessary, [`timeout.unref()`][] can be used 2324with no performance impact since Node.js 10. 2325 2326### DEP0128: modules with an invalid `main` entry and an `index.js` file 2327<!-- YAML 2328changes: 2329 - version: v12.0.0 2330 pr-url: https://github.com/nodejs/node/pull/26823 2331 description: Documentation-only. 2332--> 2333 2334Type: Documentation-only (supports [`--pending-deprecation`][]) 2335 2336Modules that have an invalid `main` entry (e.g., `./does-not-exist.js`) and 2337also have an `index.js` file in the top level directory will resolve the 2338`index.js` file. That is deprecated and is going to throw an error in future 2339Node.js versions. 2340 2341### DEP0129: `ChildProcess._channel` 2342<!-- YAML 2343changes: 2344 - version: v13.0.0 2345 pr-url: https://github.com/nodejs/node/pull/27949 2346 description: Runtime deprecation. 2347 - version: v11.14.0 2348 pr-url: https://github.com/nodejs/node/pull/26982 2349 description: Documentation-only. 2350--> 2351 2352Type: Runtime 2353 2354The `_channel` property of child process objects returned by `spawn()` and 2355similar functions is not intended for public use. Use `ChildProcess.channel` 2356instead. 2357 2358### DEP0130: `Module.createRequireFromPath()` 2359<!-- YAML 2360changes: 2361 - version: v13.0.0 2362 pr-url: https://github.com/nodejs/node/pull/27951 2363 description: Runtime deprecation. 2364 - version: v12.2.0 2365 pr-url: https://github.com/nodejs/node/pull/27405 2366 description: Documentation-only. 2367--> 2368 2369Type: Runtime 2370 2371Module.createRequireFromPath() is deprecated. Please use 2372[`module.createRequire()`][] instead. 2373 2374### DEP0131: Legacy HTTP parser 2375<!-- YAML 2376changes: 2377 - version: v13.0.0 2378 pr-url: https://github.com/nodejs/node/pull/29589 2379 description: This feature has been removed. 2380 - version: v12.3.0 2381 pr-url: https://github.com/nodejs/node/pull/27498 2382 description: Documentation-only. 2383--> 2384 2385Type: End-of-Life 2386 2387The legacy HTTP parser, used by default in versions of Node.js prior to 12.0.0, 2388is deprecated and has been removed in v13.0.0. Prior to v13.0.0, the 2389`--http-parser=legacy` command-line flag could be used to revert to using the 2390legacy parser. 2391 2392### DEP0132: `worker.terminate()` with callback 2393<!-- YAML 2394changes: 2395 - version: v12.5.0 2396 pr-url: https://github.com/nodejs/node/pull/28021 2397 description: Runtime deprecation. 2398--> 2399 2400Type: Runtime 2401 2402Passing a callback to [`worker.terminate()`][] is deprecated. Use the returned 2403`Promise` instead, or a listener to the worker’s `'exit'` event. 2404 2405### DEP0133: `http` `connection` 2406<!-- YAML 2407changes: 2408 - version: v12.12.0 2409 pr-url: https://github.com/nodejs/node/pull/29015 2410 description: Documentation-only deprecation. 2411--> 2412 2413Type: Documentation-only 2414 2415Prefer [`response.socket`][] over [`response.connection`][] and 2416[`request.socket`][] over [`request.connection`][]. 2417 2418### DEP0134: `process._tickCallback` 2419<!-- YAML 2420changes: 2421 - version: v12.12.0 2422 pr-url: https://github.com/nodejs/node/pull/29781 2423 description: Documentation-only deprecation. 2424--> 2425Type: Documentation-only (supports [`--pending-deprecation`][]) 2426 2427The `process._tickCallback` property was never documented as 2428an officially supported API. 2429 2430### DEP0135: `WriteStream.open()` and `ReadStream.open()` are internal 2431<!-- YAML 2432changes: 2433 - version: v13.0.0 2434 pr-url: https://github.com/nodejs/node/pull/29061 2435 description: Runtime deprecation. 2436--> 2437 2438Type: Runtime 2439 2440[`WriteStream.open()`][] and [`ReadStream.open()`][] are undocumented internal 2441APIs that do not make sense to use in userland. File streams should always be 2442opened through their corresponding factory methods [`fs.createWriteStream()`][] 2443and [`fs.createReadStream()`][]) or by passing a file descriptor in options. 2444 2445### DEP0136: `http` `finished` 2446<!-- YAML 2447changes: 2448 - version: 2449 - v13.4.0 2450 - v12.16.0 2451 pr-url: https://github.com/nodejs/node/pull/28679 2452 description: Documentation-only deprecation. 2453--> 2454 2455Type: Documentation-only 2456 2457[`response.finished`][] indicates whether [`response.end()`][] has been 2458called, not whether `'finish'` has been emitted and the underlying data 2459is flushed. 2460 2461Use [`response.writableFinished`][] or [`response.writableEnded`][] 2462accordingly instead to avoid the ambiguity. 2463 2464To maintain existing behaviour `response.finished` should be replaced with 2465`response.writableEnded`. 2466 2467### DEP0137: Closing fs.FileHandle on garbage collection 2468<!-- YAML 2469changes: 2470 - version: v14.0.0 2471 pr-url: https://github.com/nodejs/node/pull/28396 2472 description: Runtime deprecation. 2473--> 2474 2475Type: Runtime 2476 2477Allowing a [`fs.FileHandle`][] object to be closed on garbage collection is 2478deprecated. In the future, doing so might result in a thrown error that will 2479terminate the process. 2480 2481Please ensure that all `fs.FileHandle` objects are explicitly closed using 2482`FileHandle.prototype.close()` when the `fs.FileHandle` is no longer needed: 2483 2484```js 2485const fsPromises = require('fs').promises; 2486async function openAndClose() { 2487 let filehandle; 2488 try { 2489 filehandle = await fsPromises.open('thefile.txt', 'r'); 2490 } finally { 2491 if (filehandle !== undefined) 2492 await filehandle.close(); 2493 } 2494} 2495``` 2496 2497### DEP0138: `process.mainModule` 2498<!-- YAML 2499changes: 2500 - version: v14.0.0 2501 pr-url: https://github.com/nodejs/node/pull/32232 2502 description: Documentation-only deprecation. 2503--> 2504 2505Type: Documentation-only 2506 2507[`process.mainModule`][] is a CommonJS-only feature while `process` global 2508object is shared with non-CommonJS environment. Its use within ECMAScript 2509modules is unsupported. 2510 2511It is deprecated in favor of [`require.main`][], because it serves the same 2512purpose and is only available on CommonJS environment. 2513 2514### DEP0139: `process.umask()` with no arguments 2515<!-- YAML 2516changes: 2517 - version: 2518 - v14.0.0 2519 - v12.19.0 2520 pr-url: https://github.com/nodejs/node/pull/32499 2521 description: Documentation-only deprecation. 2522--> 2523 2524Type: Documentation-only 2525 2526Calling `process.umask()` with no argument causes the process-wide umask to be 2527written twice. This introduces a race condition between threads, and is a 2528potential security vulnerability. There is no safe, cross-platform alternative 2529API. 2530 2531### DEP0140: Use `request.destroy()` instead of `request.abort()` 2532<!-- YAML 2533changes: 2534 - version: 2535 - v14.1.0 2536 - v13.14.0 2537 pr-url: https://github.com/nodejs/node/pull/32807 2538 description: Documentation-only deprecation. 2539--> 2540 2541Type: Documentation-only 2542 2543Use [`request.destroy()`][] instead of [`request.abort()`][]. 2544 2545### DEP0141: `repl.inputStream` and `repl.outputStream` 2546<!-- YAML 2547changes: 2548 - version: v14.3.0 2549 pr-url: https://github.com/nodejs/node/pull/33294 2550 description: Documentation-only (supports [`--pending-deprecation`][]). 2551--> 2552 2553Type: Documentation-only (supports [`--pending-deprecation`][]) 2554 2555The `repl` module exported the input and output stream twice. Use `.input` 2556instead of `.inputStream` and `.output` instead of `.outputStream`. 2557 2558### DEP0142: `repl._builtinLibs` 2559<!-- YAML 2560changes: 2561 - version: v14.3.0 2562 pr-url: https://github.com/nodejs/node/pull/33294 2563 description: Documentation-only (supports [`--pending-deprecation`][]). 2564--> 2565 2566Type: Documentation-only 2567 2568The `repl` module exports a `_builtinLibs` property that contains an array with 2569native modules. It was incomplete so far and instead it's better to rely upon 2570`require('module').builtinModules`. 2571 2572### DEP0143: `Transform._transformState` 2573<!-- YAML 2574changes: 2575 - version: v14.5.0 2576 pr-url: https://github.com/nodejs/node/pull/33126 2577 description: Runtime deprecation. 2578--> 2579Type: Runtime 2580`Transform._transformState` will be removed in future versions where it is 2581no longer required due to simplification of the implementation. 2582 2583### DEP0144: `module.parent` 2584<!-- YAML 2585changes: 2586 - version: 2587 - v14.6.0 2588 - v12.19.0 2589 pr-url: https://github.com/nodejs/node/pull/32217 2590 description: Documentation-only deprecation. 2591--> 2592 2593Type: Documentation-only 2594 2595A CommonJS module can access the first module that required it using 2596`module.parent`. This feature is deprecated because it does not work 2597consistently in the presence of ECMAScript modules and because it gives an 2598inaccurate representation of the CommonJS module graph. 2599 2600Some modules use it to check if they are the entry point of the current process. 2601Instead, it is recommended to compare `require.main` and `module`: 2602 2603```js 2604if (require.main === module) { 2605 // Code section that will run only if current file is the entry point. 2606} 2607``` 2608 2609When looking for the CommonJS modules that have required the current one, 2610`require.cache` and `module.children` can be used: 2611 2612```js 2613const moduleParents = Object.values(require.cache) 2614 .filter((m) => m.children.includes(module)); 2615``` 2616 2617### DEP0145: `socket.bufferSize` 2618<!-- YAML 2619changes: 2620 - version: v14.6.0 2621 pr-url: https://github.com/nodejs/node/pull/34088 2622 description: Documentation-only deprecation. 2623--> 2624 2625Type: Documentation-only 2626 2627[`socket.bufferSize`][] is just an alias for [`writable.writableLength`][]. 2628 2629### DEP0146: `new crypto.Certificate()` 2630<!-- YAML 2631changes: 2632 - version: v14.9.0 2633 pr-url: https://github.com/nodejs/node/pull/34697 2634 description: Documentation-only deprecation. 2635--> 2636 2637Type: Documentation-only 2638 2639The [`crypto.Certificate()` constructor][] is deprecated. Use 2640[static methods of `crypto.Certificate()`][] instead. 2641 2642### DEP0147: `fs.rmdir(path, { recursive: true })` 2643<!-- YAML 2644changes: 2645 - version: v14.14.0 2646 pr-url: https://github.com/nodejs/node/pull/35579 2647 description: Documentation-only deprecation. 2648--> 2649 2650Type: Documentation-only 2651 2652In future versions of Node.js, `fs.rmdir(path, { recursive: true })` will throw 2653on nonexistent paths, or when given a file as a target. 2654Use `fs.rm(path, { recursive: true, force: true })` instead. 2655 2656### DEP0151: Main index lookup and extension searching 2657<!-- YAML 2658changes: 2659 - version: v14.18.0 2660 pr-url: https://github.com/nodejs/node/pull/36918 2661 description: Documentation-only deprecation 2662 with `--pending-deprecation` support. 2663--> 2664 2665Type: Documentation-only (supports [`--pending-deprecation`][]) 2666 2667Previously, `index.js` and extension searching lookups would apply to 2668`import 'pkg'` main entry point resolution, even when resolving ES modules. 2669 2670With this deprecation, all ES module main entry point resolutions require 2671an explicit [`"exports"` or `"main"` entry][] with the exact file extension. 2672 2673[Legacy URL API]: url.md#url_legacy_url_api 2674[NIST SP 800-38D]: https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf 2675[RFC 6066]: https://tools.ietf.org/html/rfc6066#section-3 2676[WHATWG URL API]: url.md#url_the_whatwg_url_api 2677[`"exports"` or `"main"` entry]: packages.md#packages_main_entry_point_export 2678[`--pending-deprecation`]: cli.md#cli_pending_deprecation 2679[`--throw-deprecation`]: cli.md#cli_throw_deprecation 2680[`Buffer.allocUnsafeSlow(size)`]: buffer.md#buffer_static_method_buffer_allocunsafeslow_size 2681[`Buffer.from(array)`]: buffer.md#buffer_static_method_buffer_from_array 2682[`Buffer.from(buffer)`]: buffer.md#buffer_static_method_buffer_from_buffer 2683[`Buffer.isBuffer()`]: buffer.md#buffer_static_method_buffer_isbuffer_obj 2684[`Cipher`]: crypto.md#crypto_class_cipher 2685[`Decipher`]: crypto.md#crypto_class_decipher 2686[`REPLServer.clearBufferedCommand()`]: repl.md#repl_replserver_clearbufferedcommand 2687[`ReadStream.open()`]: fs.md#fs_class_fs_readstream 2688[`Server.connections`]: net.md#net_server_connections 2689[`Server.getConnections()`]: net.md#net_server_getconnections_callback 2690[`Server.listen({fd: <number>})`]: net.md#net_server_listen_handle_backlog_callback 2691[`SlowBuffer`]: buffer.md#buffer_class_slowbuffer 2692[`WriteStream.open()`]: fs.md#fs_class_fs_writestream 2693[`assert`]: assert.md 2694[`asyncResource.runInAsyncScope()`]: async_hooks.md#async_hooks_asyncresource_runinasyncscope_fn_thisarg_args 2695[`child_process`]: child_process.md 2696[`clearInterval()`]: timers.md#timers_clearinterval_timeout 2697[`clearTimeout()`]: timers.md#timers_cleartimeout_timeout 2698[`console.error()`]: console.md#console_console_error_data_args 2699[`console.log()`]: console.md#console_console_log_data_args 2700[`crypto.Certificate()` constructor]: crypto.md#crypto_legacy_api 2701[`crypto.DEFAULT_ENCODING`]: crypto.md#crypto_crypto_default_encoding 2702[`crypto.createCipher()`]: crypto.md#crypto_crypto_createcipher_algorithm_password_options 2703[`crypto.createCipheriv()`]: crypto.md#crypto_crypto_createcipheriv_algorithm_key_iv_options 2704[`crypto.createDecipher()`]: crypto.md#crypto_crypto_createdecipher_algorithm_password_options 2705[`crypto.createDecipheriv()`]: crypto.md#crypto_crypto_createdecipheriv_algorithm_key_iv_options 2706[`crypto.fips`]: crypto.md#crypto_crypto_fips 2707[`crypto.pbkdf2()`]: crypto.md#crypto_crypto_pbkdf2_password_salt_iterations_keylen_digest_callback 2708[`crypto.randomBytes()`]: crypto.md#crypto_crypto_randombytes_size_callback 2709[`crypto.scrypt()`]: crypto.md#crypto_crypto_scrypt_password_salt_keylen_options_callback 2710[`decipher.final()`]: crypto.md#crypto_decipher_final_outputencoding 2711[`decipher.setAuthTag()`]: crypto.md#crypto_decipher_setauthtag_buffer 2712[`domain`]: domain.md 2713[`ecdh.setPublicKey()`]: crypto.md#crypto_ecdh_setpublickey_publickey_encoding 2714[`emitter.listenerCount(eventName)`]: events.md#events_emitter_listenercount_eventname 2715[`events.listenerCount(emitter, eventName)`]: events.md#events_events_listenercount_emitter_eventname 2716[`fs.FileHandle`]: fs.md#fs_class_filehandle 2717[`fs.access()`]: fs.md#fs_fs_access_path_mode_callback 2718[`fs.createReadStream()`]: fs.md#fs_fs_createreadstream_path_options 2719[`fs.createWriteStream()`]: fs.md#fs_fs_createwritestream_path_options 2720[`fs.exists(path, callback)`]: fs.md#fs_fs_exists_path_callback 2721[`fs.lchmod(path, mode, callback)`]: fs.md#fs_fs_lchmod_path_mode_callback 2722[`fs.lchmodSync(path, mode)`]: fs.md#fs_fs_lchmodsync_path_mode 2723[`fs.lchown(path, uid, gid, callback)`]: fs.md#fs_fs_lchown_path_uid_gid_callback 2724[`fs.lchownSync(path, uid, gid)`]: fs.md#fs_fs_lchownsync_path_uid_gid 2725[`fs.read()`]: fs.md#fs_fs_read_fd_buffer_offset_length_position_callback 2726[`fs.readSync()`]: fs.md#fs_fs_readsync_fd_buffer_offset_length_position 2727[`fs.stat()`]: fs.md#fs_fs_stat_path_options_callback 2728[`http.get()`]: http.md#http_http_get_options_callback 2729[`http.request()`]: http.md#http_http_request_options_callback 2730[`https.get()`]: https.md#https_https_get_options_callback 2731[`https.request()`]: https.md#https_https_request_options_callback 2732[`module.createRequire()`]: module.md#module_module_createrequire_filename 2733[`os.networkInterfaces()`]: os.md#os_os_networkinterfaces 2734[`os.tmpdir()`]: os.md#os_os_tmpdir 2735[`process.env`]: process.md#process_process_env 2736[`process.mainModule`]: process.md#process_process_mainmodule 2737[`punycode`]: punycode.md 2738[`request.abort()`]: http.md#http_request_abort 2739[`request.connection`]: http.md#http_request_connection 2740[`request.destroy()`]: http.md#http_request_destroy_error 2741[`request.socket`]: http.md#http_request_socket 2742[`require.extensions`]: modules.md#modules_require_extensions 2743[`require.main`]: modules.md#modules_accessing_the_main_module 2744[`response.connection`]: http.md#http_response_connection 2745[`response.end()`]: http.md#http_response_end_data_encoding_callback 2746[`response.finished`]: http.md#http_response_finished 2747[`response.socket`]: http.md#http_response_socket 2748[`response.writableEnded`]: http.md#http_response_writableended 2749[`response.writableFinished`]: http.md#http_response_writablefinished 2750[`script.createCachedData()`]: vm.md#vm_script_createcacheddata 2751[`setInterval()`]: timers.md#timers_setinterval_callback_delay_args 2752[`setTimeout()`]: timers.md#timers_settimeout_callback_delay_args 2753[`socket.bufferSize`]: net.md#net_socket_buffersize 2754[`timeout.ref()`]: timers.md#timers_timeout_ref 2755[`timeout.refresh()`]: timers.md#timers_timeout_refresh 2756[`timeout.unref()`]: timers.md#timers_timeout_unref 2757[`tls.CryptoStream`]: tls.md#tls_class_tls_cryptostream 2758[`tls.SecureContext`]: tls.md#tls_tls_createsecurecontext_options 2759[`tls.SecurePair`]: tls.md#tls_class_tls_securepair 2760[`tls.TLSSocket`]: tls.md#tls_class_tls_tlssocket 2761[`tls.checkServerIdentity()`]: tls.md#tls_tls_checkserveridentity_hostname_cert 2762[`tls.createSecureContext()`]: tls.md#tls_tls_createsecurecontext_options 2763[`url.format()`]: url.md#url_url_format_urlobject 2764[`url.parse()`]: url.md#url_url_parse_urlstring_parsequerystring_slashesdenotehost 2765[`url.resolve()`]: url.md#url_url_resolve_from_to 2766[`util._extend()`]: util.md#util_util_extend_target_source 2767[`util.getSystemErrorName()`]: util.md#util_util_getsystemerrorname_err 2768[`util.inspect()`]: util.md#util_util_inspect_object_options 2769[`util.inspect.custom`]: util.md#util_util_inspect_custom 2770[`util.isArray()`]: util.md#util_util_isarray_object 2771[`util.isBoolean()`]: util.md#util_util_isboolean_object 2772[`util.isBuffer()`]: util.md#util_util_isbuffer_object 2773[`util.isDate()`]: util.md#util_util_isdate_object 2774[`util.isError()`]: util.md#util_util_iserror_object 2775[`util.isFunction()`]: util.md#util_util_isfunction_object 2776[`util.isNull()`]: util.md#util_util_isnull_object 2777[`util.isNullOrUndefined()`]: util.md#util_util_isnullorundefined_object 2778[`util.isNumber()`]: util.md#util_util_isnumber_object 2779[`util.isObject()`]: util.md#util_util_isobject_object 2780[`util.isPrimitive()`]: util.md#util_util_isprimitive_object 2781[`util.isRegExp()`]: util.md#util_util_isregexp_object 2782[`util.isString()`]: util.md#util_util_isstring_object 2783[`util.isSymbol()`]: util.md#util_util_issymbol_object 2784[`util.isUndefined()`]: util.md#util_util_isundefined_object 2785[`util.log()`]: util.md#util_util_log_string 2786[`util.types`]: util.md#util_util_types 2787[`util`]: util.md 2788[`worker.exitedAfterDisconnect`]: cluster.md#cluster_worker_exitedafterdisconnect 2789[`worker.terminate()`]: worker_threads.md#worker_threads_worker_terminate 2790[`writable.writableLength`]: stream.md#stream_writable_writablelength 2791[`zlib.bytesWritten`]: zlib.md#zlib_zlib_byteswritten 2792[alloc]: buffer.md#buffer_static_method_buffer_alloc_size_fill_encoding 2793[alloc_unsafe_size]: buffer.md#buffer_static_method_buffer_allocunsafe_size 2794[from_arraybuffer]: buffer.md#buffer_static_method_buffer_from_arraybuffer_byteoffset_length 2795[from_string_encoding]: buffer.md#buffer_static_method_buffer_from_string_encoding 2796[legacy `urlObject`]: url.md#url_legacy_urlobject 2797[static methods of `crypto.Certificate()`]: crypto.md#crypto_class_certificate 2798