1# Deprecated APIs 2 3<!--introduced_in=v7.7.0--> 4<!-- type=misc --> 5 6Node.js may deprecate APIs when either: (a) use of the API is considered to be 7unsafe, (b) an improved alternative API is available, or (c) breaking changes to 8the API are expected in a future major release. 9 10Node.js utilizes three kinds of Deprecations: 11 12* Documentation-only 13* Runtime 14* End-of-Life 15 16A Documentation-only deprecation is one that is expressed only within the 17Node.js API docs. These generate no side-effects while running Node.js. 18Some Documentation-only deprecations trigger a runtime warning when launched 19with [`--pending-deprecation`][] flag (or its alternative, 20`NODE_PENDING_DEPRECATION=1` environment variable), similarly to Runtime 21deprecations below. Documentation-only deprecations that support that flag 22are explicitly labeled as such in the 23[list of Deprecated APIs](#deprecations_list_of_deprecated_apis). 24 25A Runtime deprecation will, by default, generate a process warning that will 26be printed to `stderr` the first time the deprecated API is used. When the 27`--throw-deprecation` command-line flag is used, a Runtime deprecation will 28cause an error to be thrown. 29 30An End-of-Life deprecation is used when functionality is or will soon be removed 31from Node.js. 32 33## Revoking deprecations 34 35Occasionally, the deprecation of an API may be reversed. In such situations, 36this document will be updated with information relevant to the decision. 37However, the deprecation identifier will not be modified. 38 39## List of Deprecated APIs 40 41<a id="DEP0001"></a> 42### DEP0001: http.OutgoingMessage.prototype.flush 43<!-- YAML 44changes: 45 - version: 46 - v4.8.6 47 - v6.12.0 48 pr-url: https://github.com/nodejs/node/pull/10116 49 description: A deprecation code has been assigned. 50 - version: v1.6.0 51 pr-url: https://github.com/nodejs/node/pull/1156 52 description: Runtime deprecation. 53--> 54 55Type: Runtime 56 57The `OutgoingMessage.prototype.flush()` method is deprecated. Use 58`OutgoingMessage.prototype.flushHeaders()` instead. 59 60<a id="DEP0002"></a> 61### DEP0002: require('\_linklist') 62<!-- YAML 63changes: 64 - version: v8.0.0 65 pr-url: https://github.com/nodejs/node/pull/12113 66 description: End-of-Life. 67 - version: v6.12.0 68 pr-url: https://github.com/nodejs/node/pull/10116 69 description: A deprecation code has been assigned. 70 - version: v5.0.0 71 pr-url: https://github.com/nodejs/node/pull/3078 72 description: Runtime deprecation. 73--> 74 75Type: End-of-Life 76 77The `_linklist` module is deprecated. Please use a userland alternative. 78 79<a id="DEP0003"></a> 80### DEP0003: \_writableState.buffer 81<!-- YAML 82changes: 83 - version: 84 - v4.8.6 85 - v6.12.0 86 pr-url: https://github.com/nodejs/node/pull/10116 87 description: A deprecation code has been assigned. 88 - version: v0.11.15 89 pr-url: https://github.com/nodejs/node-v0.x-archive/pull/8826 90 description: Runtime deprecation. 91--> 92 93Type: Runtime 94 95The `_writableState.buffer` property is deprecated. Use the 96`_writableState.getBuffer()` method instead. 97 98<a id="DEP0004"></a> 99### DEP0004: CryptoStream.prototype.readyState 100<!-- YAML 101changes: 102 - version: v10.0.0 103 pr-url: https://github.com/nodejs/node/pull/17882 104 description: End-of-Life. 105 - version: 106 - v4.8.6 107 - v6.12.0 108 pr-url: https://github.com/nodejs/node/pull/10116 109 description: A deprecation code has been assigned. 110 - version: 0.4.0 111 commit: 9c7f89bf56abd37a796fea621ad2e47dd33d2b82 112 description: Documentation-only deprecation. 113--> 114 115Type: End-of-Life 116 117The `CryptoStream.prototype.readyState` property was removed. 118 119<a id="DEP0005"></a> 120### DEP0005: Buffer() constructor 121<!-- YAML 122changes: 123 - version: v10.0.0 124 pr-url: https://github.com/nodejs/node/pull/19524 125 description: Runtime deprecation. 126 - version: v6.12.0 127 pr-url: https://github.com/nodejs/node/pull/10116 128 description: A deprecation code has been assigned. 129 - version: v6.0.0 130 pr-url: https://github.com/nodejs/node/pull/4682 131 description: Documentation-only deprecation. 132--> 133 134Type: Runtime (supports [`--pending-deprecation`][]) 135 136The `Buffer()` function and `new Buffer()` constructor are deprecated due to 137API usability issues that can potentially lead to accidental security issues. 138 139As an alternative, use of the following methods of constructing `Buffer` objects 140is strongly recommended: 141 142* [`Buffer.alloc(size[, fill[, encoding]])`][alloc] - Create a `Buffer` with 143 *initialized* memory. 144* [`Buffer.allocUnsafe(size)`][alloc_unsafe_size] - Create a `Buffer` with 145 *uninitialized* memory. 146* [`Buffer.allocUnsafeSlow(size)`][] - Create a `Buffer` with *uninitialized* 147 memory. 148* [`Buffer.from(array)`][] - Create a `Buffer` with a copy of `array` 149* [`Buffer.from(arrayBuffer[, byteOffset[, length]])`][from_arraybuffer] - 150 Create a `Buffer` that wraps the given `arrayBuffer`. 151* [`Buffer.from(buffer)`][] - Create a `Buffer` that copies `buffer`. 152* [`Buffer.from(string[, encoding])`][from_string_encoding] - Create a `Buffer` 153 that copies `string`. 154 155As of v10.0.0, a deprecation warning is printed at runtime when 156`--pending-deprecation` is used or when the calling code is 157outside `node_modules` in order to better target developers, rather than users. 158 159<a id="DEP0006"></a> 160### DEP0006: child\_process options.customFds 161<!-- YAML 162changes: 163 - version: 164 - v4.8.6 165 - v6.12.0 166 pr-url: https://github.com/nodejs/node/pull/10116 167 description: A deprecation code has been assigned. 168 - version: v0.11.14 169 description: Runtime deprecation. 170 - version: v0.5.11 171 description: Documentation-only deprecation. 172--> 173 174Type: Runtime 175 176Within the [`child_process`][] module's `spawn()`, `fork()`, and `exec()` 177methods, the `options.customFds` option is deprecated. The `options.stdio` 178option should be used instead. 179 180<a id="DEP0007"></a> 181### DEP0007: Replace cluster worker.suicide with worker.exitedAfterDisconnect 182<!-- YAML 183changes: 184 - version: v9.0.0 185 pr-url: https://github.com/nodejs/node/pull/13702 186 description: End-of-Life. 187 - version: v7.0.0 188 pr-url: https://github.com/nodejs/node/pull/3747 189 description: Runtime deprecation. 190 - version: v6.12.0 191 pr-url: https://github.com/nodejs/node/pull/10116 192 description: A deprecation code has been assigned. 193 - version: v6.0.0 194 pr-url: https://github.com/nodejs/node/pull/3743 195 description: Documentation-only deprecation. 196--> 197 198Type: End-of-Life 199 200In an earlier version of the Node.js `cluster`, a boolean property with the name 201`suicide` was added to the `Worker` object. The intent of this property was to 202provide an indication of how and why the `Worker` instance exited. In Node.js 2036.0.0, the old property was deprecated and replaced with a new 204[`worker.exitedAfterDisconnect`][] property. The old property name did not 205precisely describe the actual semantics and was unnecessarily emotion-laden. 206 207<a id="DEP0008"></a> 208### DEP0008: require('constants') 209<!-- YAML 210changes: 211 - version: v6.12.0 212 pr-url: https://github.com/nodejs/node/pull/10116 213 description: A deprecation code has been assigned. 214 - version: v6.3.0 215 pr-url: https://github.com/nodejs/node/pull/6534 216 description: Documentation-only deprecation. 217--> 218 219Type: Documentation-only 220 221The `constants` module is deprecated. When requiring access to constants 222relevant to specific Node.js builtin modules, developers should instead refer 223to the `constants` property exposed by the relevant module. For instance, 224`require('fs').constants` and `require('os').constants`. 225 226<a id="DEP0009"></a> 227### DEP0009: crypto.pbkdf2 without digest 228<!-- YAML 229changes: 230 - version: v8.0.0 231 pr-url: https://github.com/nodejs/node/pull/11305 232 description: End-of-Life. 233 - version: v6.12.0 234 pr-url: https://github.com/nodejs/node/pull/10116 235 description: A deprecation code has been assigned. 236 - version: v6.0.0 237 pr-url: https://github.com/nodejs/node/pull/4047 238 description: Runtime deprecation. 239--> 240 241Type: End-of-Life 242 243Use of the [`crypto.pbkdf2()`][] API without specifying a digest was deprecated 244in Node.js 6.0 because the method defaulted to using the non-recommended 245`'SHA1'` digest. Previously, a deprecation warning was printed. Starting in 246Node.js 8.0.0, calling `crypto.pbkdf2()` or `crypto.pbkdf2Sync()` with an 247undefined `digest` will throw a `TypeError`. 248 249<a id="DEP0010"></a> 250### DEP0010: crypto.createCredentials 251<!-- YAML 252changes: 253 - version: 254 - v4.8.6 255 - v6.12.0 256 pr-url: https://github.com/nodejs/node/pull/10116 257 description: A deprecation code has been assigned. 258 - version: v0.11.13 259 pr-url: https://github.com/nodejs/node-v0.x-archive/pull/7265 260 description: Runtime deprecation. 261--> 262 263Type: Runtime 264 265The [`crypto.createCredentials()`][] API is deprecated. Please use 266[`tls.createSecureContext()`][] instead. 267 268<a id="DEP0011"></a> 269### DEP0011: crypto.Credentials 270<!-- YAML 271changes: 272 - version: 273 - v4.8.6 274 - v6.12.0 275 pr-url: https://github.com/nodejs/node/pull/10116 276 description: A deprecation code has been assigned. 277 - version: v0.11.13 278 pr-url: https://github.com/nodejs/node-v0.x-archive/pull/7265 279 description: Runtime deprecation. 280--> 281 282Type: Runtime 283 284The `crypto.Credentials` class is deprecated. Please use [`tls.SecureContext`][] 285instead. 286 287<a id="DEP0012"></a> 288### DEP0012: Domain.dispose 289<!-- YAML 290changes: 291 - version: v9.0.0 292 pr-url: https://github.com/nodejs/node/pull/15412 293 description: End-of-Life. 294 - version: 295 - v4.8.6 296 - v6.12.0 297 pr-url: https://github.com/nodejs/node/pull/10116 298 description: A deprecation code has been assigned. 299 - version: v0.11.7 300 pr-url: https://github.com/nodejs/node-v0.x-archive/pull/5021 301 description: Runtime deprecation. 302--> 303 304Type: End-of-Life 305 306`Domain.dispose()` has been removed. Recover from failed I/O actions 307explicitly via error event handlers set on the domain instead. 308 309<a id="DEP0013"></a> 310### DEP0013: fs asynchronous function without callback 311<!-- YAML 312changes: 313 - version: v10.0.0 314 pr-url: https://github.com/nodejs/node/pull/18668 315 description: End-of-Life. 316 - version: v7.0.0 317 pr-url: https://github.com/nodejs/node/pull/7897 318 description: Runtime deprecation. 319--> 320 321Type: End-of-Life 322 323Calling an asynchronous function without a callback throws a `TypeError` 324in Node.js 10.0.0 onwards. (See <https://github.com/nodejs/node/pull/12562>.) 325 326<a id="DEP0014"></a> 327### DEP0014: fs.read legacy String interface 328<!-- YAML 329changes: 330 - version: v8.0.0 331 pr-url: https://github.com/nodejs/node/pull/9683 332 description: End-of-Life. 333 - version: v6.0.0 334 pr-url: https://github.com/nodejs/node/pull/4525 335 description: Runtime deprecation. 336 - version: 337 - v4.8.6 338 - v6.12.0 339 pr-url: https://github.com/nodejs/node/pull/10116 340 description: A deprecation code has been assigned. 341 - version: v0.1.96 342 commit: c93e0aaf062081db3ec40ac45b3e2c979d5759d6 343 description: Documentation-only deprecation. 344--> 345 346Type: End-of-Life 347 348The [`fs.read()`][] legacy `String` interface is deprecated. Use the `Buffer` 349API as mentioned in the documentation instead. 350 351<a id="DEP0015"></a> 352### DEP0015: fs.readSync legacy String interface 353<!-- YAML 354changes: 355 - version: v8.0.0 356 pr-url: https://github.com/nodejs/node/pull/9683 357 description: End-of-Life. 358 - version: v6.0.0 359 pr-url: https://github.com/nodejs/node/pull/4525 360 description: Runtime deprecation. 361 - version: 362 - v4.8.6 363 - v6.12.0 364 pr-url: https://github.com/nodejs/node/pull/10116 365 description: A deprecation code has been assigned. 366 - version: v0.1.96 367 commit: c93e0aaf062081db3ec40ac45b3e2c979d5759d6 368 description: Documentation-only deprecation. 369--> 370 371Type: End-of-Life 372 373The [`fs.readSync()`][] legacy `String` interface is deprecated. Use the 374`Buffer` API as mentioned in the documentation instead. 375 376<a id="DEP0016"></a> 377### DEP0016: GLOBAL/root 378<!-- YAML 379changes: 380 - version: v6.12.0 381 pr-url: https://github.com/nodejs/node/pull/10116 382 description: A deprecation code has been assigned. 383 - version: v6.0.0 384 pr-url: https://github.com/nodejs/node/pull/1838 385 description: Runtime deprecation. 386--> 387 388Type: Runtime 389 390The `GLOBAL` and `root` aliases for the `global` property are deprecated 391and should no longer be used. 392 393<a id="DEP0017"></a> 394### DEP0017: Intl.v8BreakIterator 395<!-- YAML 396changes: 397 - version: v9.0.0 398 pr-url: https://github.com/nodejs/node/pull/15238 399 description: End-of-Life. 400 - version: v7.0.0 401 pr-url: https://github.com/nodejs/node/pull/8908 402 description: Runtime deprecation. 403--> 404 405Type: End-of-Life 406 407`Intl.v8BreakIterator` was a non-standard extension and has been removed. 408See [`Intl.Segmenter`](https://github.com/tc39/proposal-intl-segmenter). 409 410<a id="DEP0018"></a> 411### DEP0018: Unhandled promise rejections 412<!-- YAML 413changes: 414 - version: v7.0.0 415 pr-url: https://github.com/nodejs/node/pull/8217 416 description: Runtime deprecation. 417--> 418 419Type: Runtime 420 421Unhandled promise rejections are deprecated. In the future, promise rejections 422that are not handled will terminate the Node.js process with a non-zero exit 423code. 424 425<a id="DEP0019"></a> 426### DEP0019: require('.') resolved outside directory 427<!-- YAML 428changes: 429 - version: 430 - v4.8.6 431 - v6.12.0 432 pr-url: https://github.com/nodejs/node/pull/10116 433 description: A deprecation code has been assigned. 434 - version: v1.8.1 435 pr-url: https://github.com/nodejs/node/pull/1363 436 description: Runtime deprecation. 437--> 438 439Type: Runtime 440 441In certain cases, `require('.')` may resolve outside the package directory. 442This behavior is deprecated and will be removed in a future major Node.js 443release. 444 445<a id="DEP0020"></a> 446### DEP0020: Server.connections 447<!-- YAML 448changes: 449 - version: 450 - v4.8.6 451 - v6.12.0 452 pr-url: https://github.com/nodejs/node/pull/10116 453 description: A deprecation code has been assigned. 454 - version: v0.9.7 455 pr-url: https://github.com/nodejs/node-v0.x-archive/pull/4595 456 description: Runtime deprecation. 457--> 458 459Type: Runtime 460 461The [`Server.connections`][] property is deprecated. Please use the 462[`Server.getConnections()`][] method instead. 463 464<a id="DEP0021"></a> 465### DEP0021: Server.listenFD 466<!-- YAML 467changes: 468 - version: 469 - v4.8.6 470 - v6.12.0 471 pr-url: https://github.com/nodejs/node/pull/10116 472 description: A deprecation code has been assigned. 473 - version: v0.7.12 474 commit: 41421ff9da1288aa241a5e9dcf915b685ade1c23 475 description: Runtime deprecation. 476--> 477 478Type: Runtime 479 480The `Server.listenFD()` method is deprecated. Please use 481[`Server.listen({fd: <number>})`][] instead. 482 483<a id="DEP0022"></a> 484### DEP0022: os.tmpDir() 485<!-- YAML 486changes: 487 - version: v7.0.0 488 pr-url: https://github.com/nodejs/node/pull/6739 489 description: Runtime deprecation. 490--> 491 492Type: Runtime 493 494The `os.tmpDir()` API is deprecated. Please use [`os.tmpdir()`][] instead. 495 496<a id="DEP0023"></a> 497### DEP0023: os.getNetworkInterfaces() 498<!-- YAML 499changes: 500 - version: 501 - v4.8.6 502 - v6.12.0 503 pr-url: https://github.com/nodejs/node/pull/10116 504 description: A deprecation code has been assigned. 505 - version: v0.6.0 506 commit: 37bb37d151fb6ee4696730e63ff28bb7a4924f97 507 description: Runtime deprecation. 508--> 509 510Type: Runtime 511 512The `os.getNetworkInterfaces()` method is deprecated. Please use the 513[`os.networkInterfaces`][] property instead. 514 515<a id="DEP0024"></a> 516### DEP0024: REPLServer.prototype.convertToContext() 517<!-- YAML 518changes: 519 - version: v9.0.0 520 pr-url: https://github.com/nodejs/node/pull/13434 521 description: End-of-Life. 522 - version: v7.0.0 523 pr-url: https://github.com/nodejs/node/pull/7829 524 description: Runtime deprecation. 525--> 526 527Type: End-of-Life 528 529The `REPLServer.prototype.convertToContext()` API has been removed. 530 531<a id="DEP0025"></a> 532### DEP0025: require('sys') 533<!-- YAML 534changes: 535 - version: 536 - v4.8.6 537 - v6.12.0 538 pr-url: https://github.com/nodejs/node/pull/10116 539 description: A deprecation code has been assigned. 540 - version: v1.0.0 541 pr-url: https://github.com/nodejs/node/pull/317 542 description: Runtime deprecation. 543--> 544 545Type: Runtime 546 547The `sys` module is deprecated. Please use the [`util`][] module instead. 548 549<a id="DEP0026"></a> 550### DEP0026: util.print() 551<!-- YAML 552changes: 553 - version: 554 - v4.8.6 555 - v6.12.0 556 pr-url: https://github.com/nodejs/node/pull/10116 557 description: A deprecation code has been assigned. 558 - version: v0.11.3 559 commit: 896b2aa7074fc886efd7dd0a397d694763cac7ce 560 description: Runtime deprecation. 561--> 562 563Type: Runtime 564 565The [`util.print()`][] API is deprecated. Please use [`console.log()`][] 566instead. 567 568<a id="DEP0027"></a> 569### DEP0027: util.puts() 570<!-- YAML 571changes: 572 - version: 573 - v4.8.6 574 - v6.12.0 575 pr-url: https://github.com/nodejs/node/pull/10116 576 description: A deprecation code has been assigned. 577 - version: v0.11.3 578 commit: 896b2aa7074fc886efd7dd0a397d694763cac7ce 579 description: Runtime deprecation. 580--> 581 582Type: Runtime 583 584The [`util.puts()`][] API is deprecated. Please use [`console.log()`][] instead. 585 586<a id="DEP0028"></a> 587### DEP0028: util.debug() 588<!-- YAML 589changes: 590 - version: 591 - v4.8.6 592 - v6.12.0 593 pr-url: https://github.com/nodejs/node/pull/10116 594 description: A deprecation code has been assigned. 595 - version: v0.11.3 596 commit: 896b2aa7074fc886efd7dd0a397d694763cac7ce 597 description: Runtime deprecation. 598--> 599 600Type: Runtime 601 602The [`util.debug()`][] API is deprecated. Please use [`console.error()`][] 603instead. 604 605<a id="DEP0029"></a> 606### DEP0029: util.error() 607<!-- YAML 608changes: 609 - version: 610 - v4.8.6 611 - v6.12.0 612 pr-url: https://github.com/nodejs/node/pull/10116 613 description: A deprecation code has been assigned. 614 - version: v0.11.3 615 commit: 896b2aa7074fc886efd7dd0a397d694763cac7ce 616 description: Runtime deprecation. 617--> 618 619Type: Runtime 620 621The [`util.error()`][] API is deprecated. Please use [`console.error()`][] 622instead. 623 624<a id="DEP0030"></a> 625### DEP0030: SlowBuffer 626<!-- YAML 627changes: 628 - version: v6.12.0 629 pr-url: https://github.com/nodejs/node/pull/10116 630 description: A deprecation code has been assigned. 631 - version: v6.0.0 632 pr-url: https://github.com/nodejs/node/pull/5833 633 description: Documentation-only deprecation. 634--> 635 636Type: Documentation-only 637 638The [`SlowBuffer`][] class is deprecated. Please use 639[`Buffer.allocUnsafeSlow(size)`][] instead. 640 641<a id="DEP0031"></a> 642### DEP0031: ecdh.setPublicKey() 643<!-- YAML 644changes: 645 - version: v6.12.0 646 pr-url: https://github.com/nodejs/node/pull/10116 647 description: A deprecation code has been assigned. 648 - version: v5.2.0 649 pr-url: https://github.com/nodejs/node/pull/3511 650 description: Documentation-only deprecation. 651--> 652 653Type: Documentation-only 654 655The [`ecdh.setPublicKey()`][] method is now deprecated as its inclusion in the 656API is not useful. 657 658<a id="DEP0032"></a> 659### DEP0032: domain module 660<!-- YAML 661changes: 662 - version: 663 - v4.8.6 664 - v6.12.0 665 pr-url: https://github.com/nodejs/node/pull/10116 666 description: A deprecation code has been assigned. 667 - version: v1.4.2 668 pr-url: https://github.com/nodejs/node/pull/943 669 description: Documentation-only deprecation. 670--> 671 672Type: Documentation-only 673 674The [`domain`][] module is deprecated and should not be used. 675 676<a id="DEP0033"></a> 677### DEP0033: EventEmitter.listenerCount() 678<!-- YAML 679changes: 680 - version: 681 - v4.8.6 682 - v6.12.0 683 pr-url: https://github.com/nodejs/node/pull/10116 684 description: A deprecation code has been assigned. 685 - version: v3.2.0 686 pr-url: https://github.com/nodejs/node/pull/2349 687 description: Documentation-only deprecation. 688--> 689 690Type: Documentation-only 691 692The [`EventEmitter.listenerCount(emitter, eventName)`][] API is 693deprecated. Please use [`emitter.listenerCount(eventName)`][] instead. 694 695<a id="DEP0034"></a> 696### DEP0034: fs.exists(path, callback) 697<!-- YAML 698changes: 699 - version: 700 - v4.8.6 701 - v6.12.0 702 pr-url: https://github.com/nodejs/node/pull/10116 703 description: A deprecation code has been assigned. 704 - version: v1.0.0 705 pr-url: https://github.com/iojs/io.js/pull/166 706 description: Documentation-only deprecation. 707--> 708 709Type: Documentation-only 710 711The [`fs.exists(path, callback)`][] API is deprecated. Please use 712[`fs.stat()`][] or [`fs.access()`][] instead. 713 714<a id="DEP0035"></a> 715### DEP0035: fs.lchmod(path, mode, callback) 716<!-- YAML 717changes: 718 - version: 719 - v4.8.6 720 - v6.12.0 721 pr-url: https://github.com/nodejs/node/pull/10116 722 description: A deprecation code has been assigned. 723 - version: v0.4.7 724 description: Documentation-only deprecation. 725--> 726 727Type: Documentation-only 728 729The [`fs.lchmod(path, mode, callback)`][] API is deprecated. 730 731<a id="DEP0036"></a> 732### DEP0036: fs.lchmodSync(path, mode) 733<!-- YAML 734changes: 735 - version: 736 - v4.8.6 737 - v6.12.0 738 pr-url: https://github.com/nodejs/node/pull/10116 739 description: A deprecation code has been assigned. 740 - version: v0.4.7 741 description: Documentation-only deprecation. 742--> 743 744Type: Documentation-only 745 746The [`fs.lchmodSync(path, mode)`][] API is deprecated. 747 748<a id="DEP0037"></a> 749### DEP0037: fs.lchown(path, uid, gid, callback) 750<!-- YAML 751changes: 752 - version: v10.6.0 753 pr-url: https://github.com/nodejs/node/pull/21498 754 description: Deprecation revoked. 755 - version: 756 - v4.8.6 757 - v6.12.0 758 pr-url: https://github.com/nodejs/node/pull/10116 759 description: A deprecation code has been assigned. 760 - version: v0.4.7 761 description: Documentation-only deprecation. 762--> 763 764Type: Deprecation revoked 765 766The [`fs.lchown(path, uid, gid, callback)`][] API is deprecated. 767 768<a id="DEP0038"></a> 769### DEP0038: fs.lchownSync(path, uid, gid) 770<!-- YAML 771changes: 772 - version: v10.6.0 773 pr-url: https://github.com/nodejs/node/pull/21498 774 description: Deprecation revoked. 775 - version: 776 - v4.8.6 777 - v6.12.0 778 pr-url: https://github.com/nodejs/node/pull/10116 779 description: A deprecation code has been assigned. 780 - version: v0.4.7 781 description: Documentation-only deprecation. 782--> 783 784Type: Deprecation revoked 785 786The [`fs.lchownSync(path, uid, gid)`][] API is deprecated. 787 788<a id="DEP0039"></a> 789### DEP0039: require.extensions 790<!-- YAML 791changes: 792 - version: 793 - v4.8.6 794 - v6.12.0 795 pr-url: https://github.com/nodejs/node/pull/10116 796 description: A deprecation code has been assigned. 797 - version: v0.10.6 798 commit: 7bd8a5a2a60b75266f89f9a32877d55294a3881c 799 description: Documentation-only deprecation. 800--> 801 802Type: Documentation-only 803 804The [`require.extensions`][] property is deprecated. 805 806<a id="DEP0040"></a> 807### DEP0040: punycode module 808<!-- YAML 809changes: 810 - version: v7.0.0 811 pr-url: https://github.com/nodejs/node/pull/7941 812 description: Documentation-only deprecation. 813--> 814 815Type: Documentation-only 816 817The [`punycode`][] module is deprecated. Please use a userland alternative 818instead. 819 820<a id="DEP0041"></a> 821### DEP0041: NODE\_REPL\_HISTORY\_FILE environment variable 822<!-- YAML 823changes: 824 - version: v10.0.0 825 pr-url: https://github.com/nodejs/node/pull/13876 826 description: End-of-Life. 827 - version: 828 - v4.8.6 829 - v6.12.0 830 pr-url: https://github.com/nodejs/node/pull/10116 831 description: A deprecation code has been assigned. 832 - version: v3.0.0 833 pr-url: https://github.com/nodejs/node/pull/2224 834 description: Documentation-only deprecation. 835--> 836 837Type: End-of-Life 838 839The `NODE_REPL_HISTORY_FILE` environment variable was removed. Please use 840`NODE_REPL_HISTORY` instead. 841 842<a id="DEP0042"></a> 843### DEP0042: tls.CryptoStream 844<!-- YAML 845changes: 846 - version: v10.0.0 847 pr-url: https://github.com/nodejs/node/pull/17882 848 description: End-of-Life. 849 - version: 850 - v4.8.6 851 - v6.12.0 852 pr-url: https://github.com/nodejs/node/pull/10116 853 description: A deprecation code has been assigned. 854 - version: v0.11.3 855 commit: af80e7bc6e6f33c582eb1f7d37c7f5bbe9f910f7 856 description: Documentation-only deprecation. 857--> 858 859Type: End-of-Life 860 861The [`tls.CryptoStream`][] class was removed. Please use 862[`tls.TLSSocket`][] instead. 863 864<a id="DEP0043"></a> 865### DEP0043: tls.SecurePair 866<!-- YAML 867changes: 868 - version: v8.0.0 869 pr-url: https://github.com/nodejs/node/pull/11349 870 description: Runtime deprecation. 871 - version: v6.12.0 872 pr-url: https://github.com/nodejs/node/pull/10116 873 description: A deprecation code has been assigned. 874 - version: v6.0.0 875 pr-url: https://github.com/nodejs/node/pull/6063 876 description: Documentation-only deprecation. 877 - version: v0.11.15 878 pr-url: 879 - https://github.com/nodejs/node-v0.x-archive/pull/8695 880 - https://github.com/nodejs/node-v0.x-archive/pull/8700 881 description: Deprecation revoked. 882 - version: v0.11.3 883 commit: af80e7bc6e6f33c582eb1f7d37c7f5bbe9f910f7 884 description: Runtime deprecation. 885--> 886 887Type: Documentation-only 888 889The [`tls.SecurePair`][] class is deprecated. Please use 890[`tls.TLSSocket`][] instead. 891 892<a id="DEP0044"></a> 893### DEP0044: util.isArray() 894<!-- YAML 895changes: 896 - version: 897 - v4.8.6 898 - v6.12.0 899 pr-url: https://github.com/nodejs/node/pull/10116 900 description: A deprecation code has been assigned. 901 - version: 902 - v3.3.1 903 - v4.0.0 904 pr-url: https://github.com/nodejs/node/pull/2447 905 description: Documentation-only deprecation. 906--> 907 908Type: Documentation-only 909 910The [`util.isArray()`][] API is deprecated. Please use `Array.isArray()` 911instead. 912 913<a id="DEP0045"></a> 914### DEP0045: util.isBoolean() 915<!-- YAML 916changes: 917 - version: 918 - v4.8.6 919 - v6.12.0 920 pr-url: https://github.com/nodejs/node/pull/10116 921 description: A deprecation code has been assigned. 922 - version: 923 - v3.3.1 924 - v4.0.0 925 pr-url: https://github.com/nodejs/node/pull/2447 926 description: Documentation-only deprecation. 927--> 928 929Type: Documentation-only 930 931The [`util.isBoolean()`][] API is deprecated. 932 933<a id="DEP0046"></a> 934### DEP0046: util.isBuffer() 935<!-- YAML 936changes: 937 - version: 938 - v4.8.6 939 - v6.12.0 940 pr-url: https://github.com/nodejs/node/pull/10116 941 description: A deprecation code has been assigned. 942 - version: 943 - v3.3.1 944 - v4.0.0 945 pr-url: https://github.com/nodejs/node/pull/2447 946 description: Documentation-only deprecation. 947--> 948 949Type: Documentation-only 950 951The [`util.isBuffer()`][] API is deprecated. Please use 952[`Buffer.isBuffer()`][] instead. 953 954<a id="DEP0047"></a> 955### DEP0047: util.isDate() 956<!-- YAML 957changes: 958 - version: 959 - v4.8.6 960 - v6.12.0 961 pr-url: https://github.com/nodejs/node/pull/10116 962 description: A deprecation code has been assigned. 963 - version: 964 - v3.3.1 965 - v4.0.0 966 pr-url: https://github.com/nodejs/node/pull/2447 967 description: Documentation-only deprecation. 968--> 969 970Type: Documentation-only 971 972The [`util.isDate()`][] API is deprecated. 973 974<a id="DEP0048"></a> 975### DEP0048: util.isError() 976<!-- YAML 977changes: 978 - version: 979 - v4.8.6 980 - v6.12.0 981 pr-url: https://github.com/nodejs/node/pull/10116 982 description: A deprecation code has been assigned. 983 - version: 984 - v3.3.1 985 - v4.0.0 986 pr-url: https://github.com/nodejs/node/pull/2447 987 description: Documentation-only deprecation. 988--> 989 990Type: Documentation-only 991 992The [`util.isError()`][] API is deprecated. 993 994<a id="DEP0049"></a> 995### DEP0049: util.isFunction() 996<!-- YAML 997changes: 998 - version: 999 - v4.8.6 1000 - v6.12.0 1001 pr-url: https://github.com/nodejs/node/pull/10116 1002 description: A deprecation code has been assigned. 1003 - version: 1004 - v3.3.1 1005 - v4.0.0 1006 pr-url: https://github.com/nodejs/node/pull/2447 1007 description: Documentation-only deprecation. 1008--> 1009 1010Type: Documentation-only 1011 1012The [`util.isFunction()`][] API is deprecated. 1013 1014<a id="DEP0050"></a> 1015### DEP0050: util.isNull() 1016<!-- YAML 1017changes: 1018 - version: 1019 - v4.8.6 1020 - v6.12.0 1021 pr-url: https://github.com/nodejs/node/pull/10116 1022 description: A deprecation code has been assigned. 1023 - version: 1024 - v3.3.1 1025 - v4.0.0 1026 pr-url: https://github.com/nodejs/node/pull/2447 1027 description: Documentation-only deprecation. 1028--> 1029 1030Type: Documentation-only 1031 1032The [`util.isNull()`][] API is deprecated. 1033 1034<a id="DEP0051"></a> 1035### DEP0051: util.isNullOrUndefined() 1036<!-- YAML 1037changes: 1038 - version: 1039 - v4.8.6 1040 - v6.12.0 1041 pr-url: https://github.com/nodejs/node/pull/10116 1042 description: A deprecation code has been assigned. 1043 - version: 1044 - v3.3.1 1045 - v4.0.0 1046 pr-url: https://github.com/nodejs/node/pull/2447 1047 description: Documentation-only deprecation. 1048--> 1049 1050Type: Documentation-only 1051 1052The [`util.isNullOrUndefined()`][] API is deprecated. 1053 1054<a id="DEP0052"></a> 1055### DEP0052: util.isNumber() 1056<!-- YAML 1057changes: 1058 - version: 1059 - v4.8.6 1060 - v6.12.0 1061 pr-url: https://github.com/nodejs/node/pull/10116 1062 description: A deprecation code has been assigned. 1063 - version: 1064 - v3.3.1 1065 - v4.0.0 1066 pr-url: https://github.com/nodejs/node/pull/2447 1067 description: Documentation-only deprecation. 1068--> 1069 1070Type: Documentation-only 1071 1072The [`util.isNumber()`][] API is deprecated. 1073 1074<a id="DEP0053"></a> 1075### DEP0053 util.isObject() 1076<!-- YAML 1077changes: 1078 - version: 1079 - v4.8.6 1080 - v6.12.0 1081 pr-url: https://github.com/nodejs/node/pull/10116 1082 description: A deprecation code has been assigned. 1083 - version: 1084 - v3.3.1 1085 - v4.0.0 1086 pr-url: https://github.com/nodejs/node/pull/2447 1087 description: Documentation-only deprecation. 1088--> 1089 1090Type: Documentation-only 1091 1092The [`util.isObject()`][] API is deprecated. 1093 1094<a id="DEP0054"></a> 1095### DEP0054: util.isPrimitive() 1096<!-- YAML 1097changes: 1098 - version: 1099 - v4.8.6 1100 - v6.12.0 1101 pr-url: https://github.com/nodejs/node/pull/10116 1102 description: A deprecation code has been assigned. 1103 - version: 1104 - v3.3.1 1105 - v4.0.0 1106 pr-url: https://github.com/nodejs/node/pull/2447 1107 description: Documentation-only deprecation. 1108--> 1109 1110Type: Documentation-only 1111 1112The [`util.isPrimitive()`][] API is deprecated. 1113 1114<a id="DEP0055"></a> 1115### DEP0055: util.isRegExp() 1116<!-- YAML 1117changes: 1118 - version: 1119 - v4.8.6 1120 - v6.12.0 1121 pr-url: https://github.com/nodejs/node/pull/10116 1122 description: A deprecation code has been assigned. 1123 - version: 1124 - v3.3.1 1125 - v4.0.0 1126 pr-url: https://github.com/nodejs/node/pull/2447 1127 description: Documentation-only deprecation. 1128--> 1129 1130Type: Documentation-only 1131 1132The [`util.isRegExp()`][] API is deprecated. 1133 1134<a id="DEP0056"></a> 1135### DEP0056: util.isString() 1136<!-- YAML 1137changes: 1138 - version: 1139 - v4.8.6 1140 - v6.12.0 1141 pr-url: https://github.com/nodejs/node/pull/10116 1142 description: A deprecation code has been assigned. 1143 - version: 1144 - v3.3.1 1145 - v4.0.0 1146 pr-url: https://github.com/nodejs/node/pull/2447 1147 description: Documentation-only deprecation. 1148--> 1149 1150Type: Documentation-only 1151 1152The [`util.isString()`][] API is deprecated. 1153 1154<a id="DEP0057"></a> 1155### DEP0057: util.isSymbol() 1156<!-- YAML 1157changes: 1158 - version: 1159 - v4.8.6 1160 - v6.12.0 1161 pr-url: https://github.com/nodejs/node/pull/10116 1162 description: A deprecation code has been assigned. 1163 - version: 1164 - v3.3.1 1165 - v4.0.0 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<a id="DEP0058"></a> 1175### DEP0058: util.isUndefined() 1176<!-- YAML 1177changes: 1178 - version: 1179 - v4.8.6 1180 - v6.12.0 1181 pr-url: https://github.com/nodejs/node/pull/10116 1182 description: A deprecation code has been assigned. 1183 - version: 1184 - v3.3.1 1185 - v4.0.0 1186 pr-url: https://github.com/nodejs/node/pull/2447 1187 description: Documentation-only deprecation. 1188--> 1189 1190Type: Documentation-only 1191 1192The [`util.isUndefined()`][] API is deprecated. 1193 1194<a id="DEP0059"></a> 1195### DEP0059: util.log() 1196<!-- YAML 1197changes: 1198 - version: v6.12.0 1199 pr-url: https://github.com/nodejs/node/pull/10116 1200 description: A deprecation code has been assigned. 1201 - version: v6.0.0 1202 pr-url: https://github.com/nodejs/node/pull/6161 1203 description: Documentation-only deprecation. 1204--> 1205 1206Type: Documentation-only 1207 1208The [`util.log()`][] API is deprecated. 1209 1210<a id="DEP0060"></a> 1211### DEP0060: util.\_extend() 1212<!-- YAML 1213changes: 1214 - version: v6.12.0 1215 pr-url: https://github.com/nodejs/node/pull/10116 1216 description: A deprecation code has been assigned. 1217 - version: v6.0.0 1218 pr-url: https://github.com/nodejs/node/pull/4903 1219 description: Documentation-only deprecation. 1220--> 1221 1222Type: Documentation-only 1223 1224The [`util._extend()`][] API is deprecated. 1225 1226<a id="DEP0061"></a> 1227### DEP0061: fs.SyncWriteStream 1228<!-- YAML 1229changes: 1230 - version: v8.0.0 1231 pr-url: https://github.com/nodejs/node/pull/10467 1232 description: Runtime deprecation. 1233 - version: v7.0.0 1234 pr-url: https://github.com/nodejs/node/pull/6749 1235 description: Documentation-only deprecation. 1236--> 1237 1238Type: Runtime 1239 1240The `fs.SyncWriteStream` class was never intended to be a publicly accessible 1241API. No alternative API is available. Please use a userland alternative. 1242 1243<a id="DEP0062"></a> 1244### DEP0062: node --debug 1245<!-- YAML 1246changes: 1247 - version: v8.0.0 1248 pr-url: https://github.com/nodejs/node/pull/10970 1249 description: Runtime deprecation. 1250--> 1251 1252Type: Runtime 1253 1254`--debug` activates the legacy V8 debugger interface, which was removed as 1255of V8 5.8. It is replaced by Inspector which is activated with `--inspect` 1256instead. 1257 1258<a id="DEP0063"></a> 1259### DEP0063: ServerResponse.prototype.writeHeader() 1260<!-- YAML 1261changes: 1262 - version: v8.0.0 1263 pr-url: https://github.com/nodejs/node/pull/11355 1264 description: Documentation-only deprecation. 1265--> 1266 1267Type: Documentation-only 1268 1269The `http` module `ServerResponse.prototype.writeHeader()` API is 1270deprecated. Please use `ServerResponse.prototype.writeHead()` instead. 1271 1272The `ServerResponse.prototype.writeHeader()` method was never documented as an 1273officially supported API. 1274 1275<a id="DEP0064"></a> 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<a id="DEP0065"></a> 1304### DEP0065: repl.REPL_MODE_MAGIC and NODE_REPL_MODE=magic 1305<!-- YAML 1306changes: 1307 - version: v10.0.0 1308 pr-url: https://github.com/nodejs/node/pull/19187 1309 description: End-of-Life. 1310 - version: v8.0.0 1311 pr-url: https://github.com/nodejs/node/pull/11599 1312 description: Documentation-only deprecation. 1313--> 1314 1315Type: End-of-Life 1316 1317The `repl` module's `REPL_MODE_MAGIC` constant, used for `replMode` option, has 1318been removed. Its behavior has been functionally identical to that of 1319`REPL_MODE_SLOPPY` since Node.js 6.0.0, when V8 5.0 was imported. Please use 1320`REPL_MODE_SLOPPY` instead. 1321 1322The `NODE_REPL_MODE` environment variable is used to set the underlying 1323`replMode` of an interactive `node` session. Its value, `magic`, is also 1324removed. Please use `sloppy` instead. 1325 1326<a id="DEP0066"></a> 1327### DEP0066: outgoingMessage.\_headers, outgoingMessage.\_headerNames 1328<!-- YAML 1329changes: 1330 - version: v8.0.0 1331 pr-url: https://github.com/nodejs/node/pull/10941 1332 description: Documentation-only deprecation. 1333--> 1334 1335Type: Documentation-only 1336 1337The `http` module `outgoingMessage._headers` and `outgoingMessage._headerNames` 1338properties are deprecated. Use one of the public methods 1339(e.g. `outgoingMessage.getHeader()`, `outgoingMessage.getHeaders()`, 1340`outgoingMessage.getHeaderNames()`, `outgoingMessage.hasHeader()`, 1341`outgoingMessage.removeHeader()`, `outgoingMessage.setHeader()`) for working 1342with outgoing headers. 1343 1344The `outgoingMessage._headers` and `outgoingMessage._headerNames` properties 1345were never documented as officially supported properties. 1346 1347<a id="DEP0067"></a> 1348### DEP0067: OutgoingMessage.prototype.\_renderHeaders 1349<!-- YAML 1350changes: 1351 - version: v8.0.0 1352 pr-url: https://github.com/nodejs/node/pull/10941 1353 description: Documentation-only deprecation. 1354--> 1355 1356Type: Documentation-only 1357 1358The `http` module `OutgoingMessage.prototype._renderHeaders()` API is 1359deprecated. 1360 1361The `OutgoingMessage.prototype._renderHeaders` property was never documented as 1362an officially supported API. 1363 1364<a id="DEP0068"></a> 1365### DEP0068: node debug 1366<!-- YAML 1367changes: 1368 - version: v8.0.0 1369 pr-url: https://github.com/nodejs/node/pull/11441 1370 description: Runtime deprecation. 1371--> 1372 1373Type: Runtime 1374 1375`node debug` corresponds to the legacy CLI debugger which has been replaced with 1376a V8-inspector based CLI debugger available through `node inspect`. 1377 1378<a id="DEP0069"></a> 1379### DEP0069: vm.runInDebugContext(string) 1380<!-- YAML 1381changes: 1382 - version: v10.0.0 1383 pr-url: https://github.com/nodejs/node/pull/13295 1384 description: End-of-Life. 1385 - version: v9.0.0 1386 pr-url: https://github.com/nodejs/node/pull/12815 1387 description: Runtime deprecation. 1388 - version: v8.0.0 1389 pr-url: https://github.com/nodejs/node/pull/12243 1390 description: Documentation-only deprecation. 1391--> 1392 1393Type: End-of-Life 1394 1395DebugContext has been removed in V8 and is not available in Node.js 10+. 1396 1397DebugContext was an experimental API. 1398 1399<a id="DEP0070"></a> 1400### DEP0070: async_hooks.currentId() 1401<!-- YAML 1402changes: 1403 - version: v9.0.0 1404 pr-url: https://github.com/nodejs/node/pull/14414 1405 description: End-of-Life. 1406 - version: v8.2.0 1407 pr-url: https://github.com/nodejs/node/pull/13490 1408 description: Runtime deprecation. 1409--> 1410 1411Type: End-of-Life 1412 1413`async_hooks.currentId()` was renamed to `async_hooks.executionAsyncId()` for 1414clarity. 1415 1416This change was made while `async_hooks` was an experimental API. 1417 1418<a id="DEP0071"></a> 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<a id="DEP0072"></a> 1438### DEP0072: async_hooks.AsyncResource.triggerId() 1439<!-- YAML 1440changes: 1441 - version: v9.0.0 1442 pr-url: https://github.com/nodejs/node/pull/14414 1443 description: End-of-Life. 1444 - version: v8.2.0 1445 pr-url: https://github.com/nodejs/node/pull/13490 1446 description: Runtime deprecation. 1447--> 1448 1449Type: End-of-Life 1450 1451`async_hooks.AsyncResource.triggerId()` was renamed to 1452`async_hooks.AsyncResource.triggerAsyncId()` for clarity. 1453 1454This change was made while `async_hooks` was an experimental API. 1455 1456<a id="DEP0073"></a> 1457### DEP0073: Several internal properties of net.Server 1458<!-- YAML 1459changes: 1460 - version: v10.0.0 1461 pr-url: https://github.com/nodejs/node/pull/17141 1462 description: End-of-Life. 1463 - version: v9.0.0 1464 pr-url: https://github.com/nodejs/node/pull/14449 1465 description: Runtime deprecation. 1466--> 1467 1468Type: End-of-Life 1469 1470Accessing several internal, undocumented properties of `net.Server` instances 1471with inappropriate names is deprecated. 1472 1473As the original API was undocumented and not generally useful for non-internal 1474code, no replacement API is provided. 1475 1476<a id="DEP0074"></a> 1477### DEP0074: REPLServer.bufferedCommand 1478<!-- YAML 1479changes: 1480 - version: v9.0.0 1481 pr-url: https://github.com/nodejs/node/pull/13687 1482 description: Runtime deprecation. 1483--> 1484 1485Type: Runtime 1486 1487The `REPLServer.bufferedCommand` property was deprecated in favor of 1488[`REPLServer.clearBufferedCommand()`][]. 1489 1490<a id="DEP0075"></a> 1491### DEP0075: REPLServer.parseREPLKeyword() 1492<!-- YAML 1493changes: 1494 - version: v9.0.0 1495 pr-url: https://github.com/nodejs/node/pull/14223 1496 description: Runtime deprecation. 1497--> 1498 1499Type: Runtime 1500 1501`REPLServer.parseREPLKeyword()` was removed from userland visibility. 1502 1503<a id="DEP0076"></a> 1504### DEP0076: tls.parseCertString() 1505<!-- YAML 1506changes: 1507 - version: v9.0.0 1508 pr-url: https://github.com/nodejs/node/pull/14249 1509 description: Runtime deprecation. 1510 - version: v8.6.0 1511 pr-url: https://github.com/nodejs/node/pull/14245 1512 description: Documentation-only deprecation. 1513--> 1514 1515Type: Runtime 1516 1517`tls.parseCertString()` is a trivial parsing helper that was made public by 1518mistake. This function can usually be replaced with: 1519 1520```js 1521const querystring = require('querystring'); 1522querystring.parse(str, '\n', '='); 1523``` 1524 1525This function is not completely equivalent to `querystring.parse()`. One 1526difference is that `querystring.parse()` does url decoding: 1527 1528```sh 1529> querystring.parse('%E5%A5%BD=1', '\n', '='); 1530{ '好': '1' } 1531> tls.parseCertString('%E5%A5%BD=1'); 1532{ '%E5%A5%BD': '1' } 1533``` 1534 1535<a id="DEP0077"></a> 1536### DEP0077: Module.\_debug() 1537<!-- YAML 1538changes: 1539 - version: v9.0.0 1540 pr-url: https://github.com/nodejs/node/pull/13948 1541 description: Runtime deprecation. 1542--> 1543 1544Type: Runtime 1545 1546`Module._debug()` is deprecated. 1547 1548The `Module._debug()` function was never documented as an officially 1549supported API. 1550 1551<a id="DEP0078"></a> 1552### DEP0078: REPLServer.turnOffEditorMode() 1553<!-- YAML 1554changes: 1555 - version: v9.0.0 1556 pr-url: https://github.com/nodejs/node/pull/15136 1557 description: Runtime deprecation. 1558--> 1559 1560Type: Runtime 1561 1562`REPLServer.turnOffEditorMode()` was removed from userland visibility. 1563 1564<a id="DEP0079"></a> 1565### DEP0079: Custom inspection function on Objects via .inspect() 1566<!-- YAML 1567changes: 1568 - version: v10.0.0 1569 pr-url: https://github.com/nodejs/node/pull/16393 1570 description: Runtime deprecation. 1571 - version: v8.7.0 1572 pr-url: https://github.com/nodejs/node/pull/15631 1573 description: Documentation-only deprecation. 1574--> 1575 1576Type: Runtime 1577 1578Using a property named `inspect` on an object to specify a custom inspection 1579function for [`util.inspect()`][] is deprecated. Use [`util.inspect.custom`][] 1580instead. For backward compatibility with Node.js prior to version 6.4.0, both 1581may be specified. 1582 1583<a id="DEP0080"></a> 1584### DEP0080: path.\_makeLong() 1585<!-- YAML 1586changes: 1587 - version: v9.0.0 1588 pr-url: https://github.com/nodejs/node/pull/14956 1589 description: Documentation-only deprecation. 1590--> 1591 1592Type: Documentation-only 1593 1594The internal `path._makeLong()` was not intended for public use. However, 1595userland modules have found it useful. The internal API is deprecated 1596and replaced with an identical, public `path.toNamespacedPath()` method. 1597 1598<a id="DEP0081"></a> 1599### DEP0081: fs.truncate() using a file descriptor 1600<!-- YAML 1601changes: 1602 - version: v9.0.0 1603 pr-url: https://github.com/nodejs/node/pull/15990 1604 description: Runtime deprecation. 1605--> 1606 1607Type: Runtime 1608 1609`fs.truncate()` `fs.truncateSync()` usage with a file descriptor is 1610deprecated. Please use `fs.ftruncate()` or `fs.ftruncateSync()` to work with 1611file descriptors. 1612 1613<a id="DEP0082"></a> 1614### DEP0082: REPLServer.prototype.memory() 1615<!-- YAML 1616changes: 1617 - version: v9.0.0 1618 pr-url: https://github.com/nodejs/node/pull/16242 1619 description: Runtime deprecation. 1620--> 1621 1622Type: Runtime 1623 1624`REPLServer.prototype.memory()` is only necessary for the internal mechanics of 1625the `REPLServer` itself. Do not use this function. 1626 1627<a id="DEP0083"></a> 1628### DEP0083: Disabling ECDH by setting ecdhCurve to false 1629<!-- YAML 1630changes: 1631 - version: v10.0.0 1632 pr-url: https://github.com/nodejs/node/pull/19794 1633 description: End-of-Life. 1634 - version: v9.2.0 1635 pr-url: https://github.com/nodejs/node/pull/16130 1636 description: Runtime deprecation. 1637--> 1638 1639Type: End-of-Life. 1640 1641The `ecdhCurve` option to `tls.createSecureContext()` and `tls.TLSSocket` could 1642be set to `false` to disable ECDH entirely on the server only. This mode was 1643deprecated in preparation for migrating to OpenSSL 1.1.0 and consistency with 1644the client and is now unsupported. Use the `ciphers` parameter instead. 1645 1646<a id="DEP0084"></a> 1647### DEP0084: requiring bundled internal dependencies 1648<!-- YAML 1649changes: 1650 - version: v10.0.0 1651 pr-url: https://github.com/nodejs/node/pull/16392 1652 description: Runtime deprecation. 1653--> 1654 1655Type: Runtime 1656 1657Since Node.js versions 4.4.0 and 5.2.0, several modules only intended for 1658internal usage are mistakenly exposed to user code through `require()`. These 1659modules are: 1660 1661- `v8/tools/codemap` 1662- `v8/tools/consarray` 1663- `v8/tools/csvparser` 1664- `v8/tools/logreader` 1665- `v8/tools/profile_view` 1666- `v8/tools/profile` 1667- `v8/tools/SourceMap` 1668- `v8/tools/splaytree` 1669- `v8/tools/tickprocessor-driver` 1670- `v8/tools/tickprocessor` 1671- `node-inspect/lib/_inspect` (from 7.6.0) 1672- `node-inspect/lib/internal/inspect_client` (from 7.6.0) 1673- `node-inspect/lib/internal/inspect_repl` (from 7.6.0) 1674 1675The `v8/*` modules do not have any exports, and if not imported in a specific 1676order would in fact throw errors. As such there are virtually no legitimate use 1677cases for importing them through `require()`. 1678 1679On the other hand, `node-inspect` may be installed locally through a package 1680manager, as it is published on the npm registry under the same name. No source 1681code modification is necessary if that is done. 1682 1683<a id="DEP0085"></a> 1684### DEP0085: AsyncHooks Sensitive API 1685<!-- YAML 1686changes: 1687 - version: 10.0.0 1688 pr-url: https://github.com/nodejs/node/pull/17147 1689 description: End-of-Life. 1690 - version: 1691 - v8.10.0 1692 - v9.4.0 1693 pr-url: https://github.com/nodejs/node/pull/16972 1694 description: Runtime deprecation. 1695--> 1696 1697Type: End-of-Life 1698 1699The AsyncHooks Sensitive API was never documented and had various minor issues. 1700(See <https://github.com/nodejs/node/issues/15572>.) Use the `AsyncResource` 1701API instead. 1702 1703<a id="DEP0086"></a> 1704### DEP0086: Remove runInAsyncIdScope 1705<!-- YAML 1706changes: 1707 - version: 10.0.0 1708 pr-url: https://github.com/nodejs/node/pull/17147 1709 description: End-of-Life. 1710 - version: 1711 - v8.10.0 1712 - v9.4.0 1713 pr-url: https://github.com/nodejs/node/pull/16972 1714 description: Runtime deprecation. 1715--> 1716 1717Type: End-of-Life 1718 1719`runInAsyncIdScope` doesn't emit the `'before'` or `'after'` event and can thus 1720cause a lot of issues. See <https://github.com/nodejs/node/issues/14328> for 1721more details. 1722 1723<a id="DEP0089"></a> 1724### DEP0089: require('assert') 1725<!-- YAML 1726changes: 1727 - version: 1728 - v9.9.0 1729 - v10.0.0 1730 pr-url: https://github.com/nodejs/node/pull/17002 1731 description: Documentation-only deprecation. 1732--> 1733 1734Type: Documentation-only 1735 1736Importing assert directly is not recommended as the exposed functions will use 1737loose equality checks. Use `require('assert').strict` instead. The API is the 1738same as the legacy assert but it will always use strict equality checks. 1739 1740<a id="DEP0090"></a> 1741### DEP0090: Invalid GCM authentication tag lengths 1742<!-- YAML 1743changes: 1744 - version: v10.0.0 1745 pr-url: https://github.com/nodejs/node/pull/18017 1746 description: Runtime deprecation. 1747--> 1748 1749Type: Runtime 1750 1751Node.js supports all GCM authentication tag lengths which are accepted by 1752OpenSSL when calling [`decipher.setAuthTag()`][]. This behavior will change in 1753a future version at which point only authentication tag lengths of 128, 120, 1754112, 104, 96, 64, and 32 bits will be allowed. Authentication tags whose length 1755is not included in this list will be considered invalid in compliance with 1756[NIST SP 800-38D][]. 1757 1758<a id="DEP0091"></a> 1759### DEP0091: crypto.DEFAULT_ENCODING 1760<!-- YAML 1761changes: 1762 - version: v10.0.0 1763 pr-url: https://github.com/nodejs/node/pull/18333 1764 description: Runtime deprecation. 1765--> 1766 1767Type: Runtime 1768 1769The [`crypto.DEFAULT_ENCODING`][] property is deprecated. 1770 1771<a id="DEP0092"></a> 1772### DEP0092: Top-level `this` bound to `module.exports` 1773<!-- YAML 1774changes: 1775 - version: v10.0.0 1776 pr-url: https://github.com/nodejs/node/pull/16878 1777 description: Documentation-only deprecation. 1778--> 1779 1780Type: Documentation-only 1781 1782Assigning properties to the top-level `this` as an alternative 1783to `module.exports` is deprecated. Developers should use `exports` 1784or `module.exports` instead. 1785 1786<a id="DEP0093"></a> 1787### DEP0093: crypto.fips is deprecated and replaced. 1788<!-- YAML 1789changes: 1790 - version: v10.0.0 1791 pr-url: https://github.com/nodejs/node/pull/18335 1792 description: Documentation-only deprecation. 1793--> 1794 1795Type: Documentation-only 1796 1797The [`crypto.fips`][] property is deprecated. Please use `crypto.setFips()` 1798and `crypto.getFips()` instead. 1799 1800<a id="DEP0094"></a> 1801### DEP0094: Using `assert.fail()` with more than one argument. 1802<!-- YAML 1803changes: 1804 - version: v10.0.0 1805 pr-url: https://github.com/nodejs/node/pull/18418 1806 description: Runtime deprecation. 1807--> 1808 1809Type: Runtime 1810 1811Using `assert.fail()` with more than one argument is deprecated. Use 1812`assert.fail()` with only one argument or use a different `assert` module 1813method. 1814 1815<a id="DEP0095"></a> 1816### DEP0095: timers.enroll() 1817<!-- YAML 1818changes: 1819 - version: v10.0.0 1820 pr-url: https://github.com/nodejs/node/pull/18066 1821 description: Runtime deprecation. 1822--> 1823 1824Type: Runtime 1825 1826`timers.enroll()` is deprecated. Please use the publicly documented 1827[`setTimeout()`][] or [`setInterval()`][] instead. 1828 1829<a id="DEP0096"></a> 1830### DEP0096: timers.unenroll() 1831<!-- YAML 1832changes: 1833 - version: v10.0.0 1834 pr-url: https://github.com/nodejs/node/pull/18066 1835 description: Runtime deprecation. 1836--> 1837 1838Type: Runtime 1839 1840`timers.unenroll()` is deprecated. Please use the publicly documented 1841[`clearTimeout()`][] or [`clearInterval()`][] instead. 1842 1843<a id="DEP0097"></a> 1844### DEP0097: MakeCallback with domain property 1845<!-- YAML 1846changes: 1847 - version: v10.0.0 1848 pr-url: https://github.com/nodejs/node/pull/17417 1849 description: Runtime deprecation. 1850--> 1851 1852Type: Runtime 1853 1854Users of `MakeCallback` that add the `domain` property to carry context, 1855should start using the `async_context` variant of `MakeCallback` or 1856`CallbackScope`, or the high-level `AsyncResource` class. 1857 1858<a id="DEP0098"></a> 1859### DEP0098: AsyncHooks Embedder AsyncResource.emitBefore and AsyncResource.emitAfter APIs 1860<!-- YAML 1861changes: 1862 - version: 1863 - v8.12.0 1864 - v9.6.0 1865 - v10.0.0 1866 pr-url: https://github.com/nodejs/node/pull/18632 1867 description: Runtime deprecation. 1868--> 1869 1870Type: Runtime 1871 1872The embedded API provided by AsyncHooks exposes `.emitBefore()` and 1873`.emitAfter()` methods which are very easy to use incorrectly which can lead 1874to unrecoverable errors. 1875 1876Use [`asyncResource.runInAsyncScope()`][] API instead which provides a much 1877safer, and more convenient, alternative. See 1878<https://github.com/nodejs/node/pull/18513> for more details. 1879 1880<a id="DEP0099"></a> 1881### DEP0099: async context-unaware node::MakeCallback C++ APIs 1882<!-- YAML 1883changes: 1884 - version: v10.0.0 1885 pr-url: https://github.com/nodejs/node/pull/18632 1886 description: Compile-time deprecation. 1887--> 1888 1889Type: Compile-time 1890 1891Certain versions of `node::MakeCallback` APIs available to native modules are 1892deprecated. Please use the versions of the API that accept an `async_context` 1893parameter. 1894 1895<a id="DEP0100"></a> 1896### DEP0100: process.assert() 1897<!-- YAML 1898changes: 1899 - version: v10.0.0 1900 pr-url: https://github.com/nodejs/node/pull/18666 1901 description: Runtime deprecation. 1902 - version: v0.3.7 1903 description: Documentation-only deprecation. 1904--> 1905 1906Type: Runtime 1907 1908`process.assert()` is deprecated. Please use the [`assert`][] module instead. 1909 1910This was never a documented feature. 1911 1912<a id="DEP0101"></a> 1913### DEP0101: --with-lttng 1914<!-- YAML 1915changes: 1916 - version: v10.0.0 1917 pr-url: https://github.com/nodejs/node/pull/18982 1918 description: End-of-Life. 1919--> 1920 1921Type: End-of-Life 1922 1923The `--with-lttng` compile-time option has been removed. 1924 1925<a id="DEP0102"></a> 1926### DEP0102: Using `noAssert` in Buffer#(read|write) operations. 1927<!-- YAML 1928changes: 1929 - version: v10.0.0 1930 pr-url: https://github.com/nodejs/node/pull/18395 1931 description: End-of-Life. 1932--> 1933 1934Type: End-of-Life 1935 1936Using the `noAssert` argument has no functionality anymore. All input is going 1937to be verified, no matter if it is set to true or not. Skipping the verification 1938could lead to hard to find errors and crashes. 1939 1940<a id="DEP0103"></a> 1941### DEP0103: process.binding('util').is[...] typechecks 1942<!-- YAML 1943changes: 1944 - version: v10.9.0 1945 pr-url: https://github.com/nodejs/node/pull/22004 1946 description: Superseded by [DEP0111](#DEP0111). 1947 - version: v10.0.0 1948 pr-url: https://github.com/nodejs/node/pull/18415 1949 description: Documentation-only deprecation. 1950--> 1951 1952Type: Documentation-only (supports [`--pending-deprecation`][]) 1953 1954Using `process.binding()` in general should be avoided. The type checking 1955methods in particular can be replaced by using [`util.types`][]. 1956 1957This deprecation has been superseded by the deprecation of the 1958`process.binding()` API ([DEP0111](#DEP0111)). 1959 1960<a id="DEP0104"></a> 1961### DEP0104: process.env string coercion 1962<!-- YAML 1963changes: 1964 - version: v10.0.0 1965 pr-url: https://github.com/nodejs/node/pull/18990 1966 description: Documentation-only deprecation. 1967--> 1968 1969Type: Documentation-only (supports [`--pending-deprecation`][]) 1970 1971When assigning a non-string property to [`process.env`][], the assigned value is 1972implicitly converted to a string. This behavior is deprecated if the assigned 1973value is not a string, boolean, or number. In the future, such assignment may 1974result in a thrown error. Please convert the property to a string before 1975assigning it to `process.env`. 1976 1977<a id="DEP0105"></a> 1978### DEP0105: decipher.finaltol 1979<!-- YAML 1980changes: 1981 - version: v10.0.0 1982 pr-url: https://github.com/nodejs/node/pull/19353 1983 description: Runtime deprecation. 1984--> 1985 1986Type: Runtime 1987 1988`decipher.finaltol()` has never been documented and is currently an alias for 1989[`decipher.final()`][]. In the future, this API will likely be removed, and it 1990is recommended to use [`decipher.final()`][] instead. 1991 1992<a id="DEP0106"></a> 1993### DEP0106: crypto.createCipher and crypto.createDecipher 1994<!-- YAML 1995changes: 1996 - version: v10.0.0 1997 pr-url: https://github.com/nodejs/node/pull/19343 1998 description: Documentation-only deprecation. 1999--> 2000 2001Type: Documentation-only 2002 2003Using [`crypto.createCipher()`][] and [`crypto.createDecipher()`][] should be 2004avoided as they use a weak key derivation function (MD5 with no salt) and static 2005initialization vectors. It is recommended to derive a key using 2006[`crypto.pbkdf2()`][] or [`crypto.scrypt()`][] and to use 2007[`crypto.createCipheriv()`][] and [`crypto.createDecipheriv()`][] to obtain the 2008[`Cipher`][] and [`Decipher`][] objects respectively. 2009 2010<a id="DEP0107"></a> 2011### DEP0107: tls.convertNPNProtocols() 2012<!-- YAML 2013changes: 2014 - version: v10.0.0 2015 pr-url: https://github.com/nodejs/node/pull/19403 2016 description: Runtime deprecation. 2017--> 2018 2019Type: Runtime 2020 2021This was an undocumented helper function not intended for use outside Node.js 2022core and obsoleted by the removal of NPN (Next Protocol Negotiation) support. 2023 2024<a id="DEP0108"></a> 2025### DEP0108: zlib.bytesRead 2026<!-- YAML 2027changes: 2028 - version: v10.0.0 2029 pr-url: https://github.com/nodejs/node/pull/19414 2030 description: Documentation-only deprecation. 2031--> 2032 2033Type: Documentation-only 2034 2035Deprecated alias for [`zlib.bytesWritten`][]. This original name was chosen 2036because it also made sense to interpret the value as the number of bytes 2037read by the engine, but is inconsistent with other streams in Node.js that 2038expose values under these names. 2039 2040<a id="DEP0110"></a> 2041### DEP0110: vm.Script cached data 2042<!-- YAML 2043changes: 2044 - version: v10.6.0 2045 pr-url: https://github.com/nodejs/node/pull/20300 2046 description: Documentation-only deprecation. 2047--> 2048 2049Type: Documentation-only 2050 2051The `produceCachedData` option is deprecated. Use 2052[`script.createCachedData()`][] instead. 2053 2054<a id="DEP0111"></a> 2055### DEP0111: process.binding() 2056<!-- YAML 2057changes: 2058 - version: v10.9.0 2059 pr-url: https://github.com/nodejs/node/pull/22004 2060 description: Documentation-only deprecation. 2061--> 2062 2063Type: Documentation-only 2064 2065`process.binding()` is for use by Node.js internal code only. 2066 2067[`--pending-deprecation`]: cli.html#cli_pending_deprecation 2068[`Buffer.allocUnsafeSlow(size)`]: buffer.html#buffer_class_method_buffer_allocunsafeslow_size 2069[`Buffer.from(array)`]: buffer.html#buffer_class_method_buffer_from_array 2070[`Buffer.from(buffer)`]: buffer.html#buffer_class_method_buffer_from_buffer 2071[`Buffer.isBuffer()`]: buffer.html#buffer_class_method_buffer_isbuffer_obj 2072[`Cipher`]: crypto.html#crypto_class_cipher 2073[`Decipher`]: crypto.html#crypto_class_decipher 2074[`EventEmitter.listenerCount(emitter, eventName)`]: events.html#events_eventemitter_listenercount_emitter_eventname 2075[`REPLServer.clearBufferedCommand()`]: repl.html#repl_replserver_clearbufferedcommand 2076[`Server.connections`]: net.html#net_server_connections 2077[`Server.getConnections()`]: net.html#net_server_getconnections_callback 2078[`Server.listen({fd: <number>})`]: net.html#net_server_listen_handle_backlog_callback 2079[`SlowBuffer`]: buffer.html#buffer_class_slowbuffer 2080[`assert`]: assert.html 2081[`asyncResource.runInAsyncScope()`]: async_hooks.html#async_hooks_asyncresource_runinasyncscope_fn_thisarg_args 2082[`child_process`]: child_process.html 2083[`clearInterval()`]: timers.html#timers_clearinterval_timeout 2084[`clearTimeout()`]: timers.html#timers_cleartimeout_timeout 2085[`console.error()`]: console.html#console_console_error_data_args 2086[`console.log()`]: console.html#console_console_log_data_args 2087[`crypto.DEFAULT_ENCODING`]: crypto.html#crypto_crypto_default_encoding 2088[`crypto.createCipher()`]: crypto.html#crypto_crypto_createcipher_algorithm_password_options 2089[`crypto.createCipheriv()`]: crypto.html#crypto_crypto_createcipheriv_algorithm_key_iv_options 2090[`crypto.createCredentials()`]: crypto.html#crypto_crypto_createcredentials_details 2091[`crypto.createDecipher()`]: crypto.html#crypto_crypto_createdecipher_algorithm_password_options 2092[`crypto.createDecipheriv()`]: crypto.html#crypto_crypto_createdecipheriv_algorithm_key_iv_options 2093[`crypto.fips`]: crypto.html#crypto_crypto_fips 2094[`crypto.pbkdf2()`]: crypto.html#crypto_crypto_pbkdf2_password_salt_iterations_keylen_digest_callback 2095[`crypto.scrypt()`]: crypto.html#crypto_crypto_scrypt_password_salt_keylen_options_callback 2096[`decipher.final()`]: crypto.html#crypto_decipher_final_outputencoding 2097[`decipher.setAuthTag()`]: crypto.html#crypto_decipher_setauthtag_buffer 2098[`domain`]: domain.html 2099[`ecdh.setPublicKey()`]: crypto.html#crypto_ecdh_setpublickey_publickey_encoding 2100[`emitter.listenerCount(eventName)`]: events.html#events_emitter_listenercount_eventname 2101[`fs.access()`]: fs.html#fs_fs_access_path_mode_callback 2102[`fs.exists(path, callback)`]: fs.html#fs_fs_exists_path_callback 2103[`fs.lchmod(path, mode, callback)`]: fs.html#fs_fs_lchmod_path_mode_callback 2104[`fs.lchmodSync(path, mode)`]: fs.html#fs_fs_lchmodsync_path_mode 2105[`fs.lchown(path, uid, gid, callback)`]: fs.html#fs_fs_lchown_path_uid_gid_callback 2106[`fs.lchownSync(path, uid, gid)`]: fs.html#fs_fs_lchownsync_path_uid_gid 2107[`fs.read()`]: fs.html#fs_fs_read_fd_buffer_offset_length_position_callback 2108[`fs.readSync()`]: fs.html#fs_fs_readsync_fd_buffer_offset_length_position 2109[`fs.stat()`]: fs.html#fs_fs_stat_path_options_callback 2110[`os.networkInterfaces`]: os.html#os_os_networkinterfaces 2111[`os.tmpdir()`]: os.html#os_os_tmpdir 2112[`process.env`]: process.html#process_process_env 2113[`punycode`]: punycode.html 2114[`require.extensions`]: modules.html#modules_require_extensions 2115[`script.createCachedData()`]: vm.html#vm_script_createcacheddata 2116[`setInterval()`]: timers.html#timers_setinterval_callback_delay_args 2117[`setTimeout()`]: timers.html#timers_settimeout_callback_delay_args 2118[`tls.CryptoStream`]: tls.html#tls_class_cryptostream 2119[`tls.SecureContext`]: tls.html#tls_tls_createsecurecontext_options 2120[`tls.SecurePair`]: tls.html#tls_class_securepair 2121[`tls.TLSSocket`]: tls.html#tls_class_tls_tlssocket 2122[`tls.createSecureContext()`]: tls.html#tls_tls_createsecurecontext_options 2123[`util._extend()`]: util.html#util_util_extend_target_source 2124[`util.debug()`]: util.html#util_util_debug_string 2125[`util.error()`]: util.html#util_util_error_strings 2126[`util.inspect()`]: util.html#util_util_inspect_object_options 2127[`util.inspect.custom`]: util.html#util_util_inspect_custom 2128[`util.isArray()`]: util.html#util_util_isarray_object 2129[`util.isBoolean()`]: util.html#util_util_isboolean_object 2130[`util.isBuffer()`]: util.html#util_util_isbuffer_object 2131[`util.isDate()`]: util.html#util_util_isdate_object 2132[`util.isError()`]: util.html#util_util_iserror_object 2133[`util.isFunction()`]: util.html#util_util_isfunction_object 2134[`util.isNull()`]: util.html#util_util_isnull_object 2135[`util.isNullOrUndefined()`]: util.html#util_util_isnullorundefined_object 2136[`util.isNumber()`]: util.html#util_util_isnumber_object 2137[`util.isObject()`]: util.html#util_util_isobject_object 2138[`util.isPrimitive()`]: util.html#util_util_isprimitive_object 2139[`util.isRegExp()`]: util.html#util_util_isregexp_object 2140[`util.isString()`]: util.html#util_util_isstring_object 2141[`util.isSymbol()`]: util.html#util_util_issymbol_object 2142[`util.isUndefined()`]: util.html#util_util_isundefined_object 2143[`util.log()`]: util.html#util_util_log_string 2144[`util.print()`]: util.html#util_util_print_strings 2145[`util.puts()`]: util.html#util_util_puts_strings 2146[`util.types`]: util.html#util_util_types 2147[`util`]: util.html 2148[`worker.exitedAfterDisconnect`]: cluster.html#cluster_worker_exitedafterdisconnect 2149[`zlib.bytesWritten`]: zlib.html#zlib_zlib_byteswritten 2150[NIST SP 800-38D]: https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf 2151[alloc]: buffer.html#buffer_class_method_buffer_alloc_size_fill_encoding 2152[alloc_unsafe_size]: buffer.html#buffer_class_method_buffer_allocunsafe_size 2153[from_arraybuffer]: buffer.html#buffer_class_method_buffer_from_arraybuffer_byteoffset_length 2154[from_string_encoding]: buffer.html#buffer_class_method_buffer_from_string_encoding 2155