1# About this documentation 2 3<!--introduced_in=v0.10.0--> 4 5<!-- type=misc --> 6 7Welcome to the official API reference documentation for Node.js! 8 9Node.js is a JavaScript runtime built on the [V8 JavaScript engine][]. 10 11## Contributing 12 13Report errors in this documentation in [the issue tracker][]. See 14[the contributing guide][] for directions on how to submit pull requests. 15 16## Stability index 17 18<!--type=misc--> 19 20Throughout the documentation are indications of a section's stability. Some APIs 21are so proven and so relied upon that they are unlikely to ever change at all. 22Others are brand new and experimental, or known to be hazardous. 23 24The stability indices are as follows: 25 26> Stability: 0 - Deprecated. The feature may emit warnings. Backward 27> compatibility is not guaranteed. 28 29<!-- separator --> 30 31> Stability: 1 - Experimental. The feature is not subject to 32> [semantic versioning][] rules. Non-backward compatible changes or removal may 33> occur in any future release. Use of the feature is not recommended in 34> production environments. 35 36<!-- separator --> 37 38> Stability: 2 - Stable. Compatibility with the npm ecosystem is a high 39> priority. 40 41<!-- separator --> 42 43> Stability: 3 - Legacy. Although this feature is unlikely to be removed and is 44> still covered by semantic versioning guarantees, it is no longer actively 45> maintained, and other alternatives are available. 46 47Features are marked as legacy rather than being deprecated if their use does no 48harm, and they are widely relied upon within the npm ecosystem. Bugs found in 49legacy features are unlikely to be fixed. 50 51Use caution when making use of Experimental features, particularly within 52modules. Users may not be aware that experimental features are being used. 53Bugs or behavior changes may surprise users when Experimental API 54modifications occur. To avoid surprises, use of an Experimental feature may need 55a command-line flag. Experimental features may also emit a [warning][]. 56 57## Stability overview 58 59<!-- STABILITY_OVERVIEW_SLOT_BEGIN --> 60| API | Stability | 61| --- | --------- | 62| [Assert](assert.html) | (2) Stable | 63| [Async hooks](async_hooks.html) | (1) Experimental | 64| [Asynchronous context tracking](async_context.html) | (2) Stable | 65| [Buffer](buffer.html) | (2) Stable | 66| [Child process](child_process.html) | (2) Stable | 67| [Cluster](cluster.html) | (2) Stable | 68| [Console](console.html) | (2) Stable | 69| [Crypto](crypto.html) | (2) Stable | 70| [Diagnostics Channel](diagnostics_channel.html) | (2) Stable | 71| [DNS](dns.html) | (2) Stable | 72| [Domain](domain.html) | (0) Deprecated | 73| [File system](fs.html) | (2) Stable | 74| [HTTP](http.html) | (2) Stable | 75| [HTTP/2](http2.html) | (2) Stable | 76| [HTTPS](https.html) | (2) Stable | 77| [Inspector](inspector.html) | (2) Stable | 78| [Modules: `node:module` API](module.html) | (1) .1 - Active development | 79| [Modules: CommonJS modules](modules.html) | (2) Stable | 80| [OS](os.html) | (2) Stable | 81| [Path](path.html) | (2) Stable | 82| [Performance measurement APIs](perf_hooks.html) | (2) Stable | 83| [Punycode](punycode.html) | (0) Deprecated | 84| [Query string](querystring.html) | (2) Stable | 85| [Readline](readline.html) | (2) Stable | 86| [REPL](repl.html) | (2) Stable | 87| [Single executable applications](single-executable-applications.html) | (1) Experimental: This feature is being designed and will change. | 88| [Stream](stream.html) | (2) Stable | 89| [String decoder](string_decoder.html) | (2) Stable | 90| [Test runner](test.html) | (1) Experimental | 91| [Timers](timers.html) | (2) Stable | 92| [TLS (SSL)](tls.html) | (2) Stable | 93| [Trace events](tracing.html) | (1) Experimental | 94| [TTY](tty.html) | (2) Stable | 95| [UDP/datagram sockets](dgram.html) | (2) Stable | 96| [URL](url.html) | (2) Stable | 97| [Util](util.html) | (2) Stable | 98| [VM (executing JavaScript)](vm.html) | (2) Stable | 99| [Web Crypto API](webcrypto.html) | (1) Experimental | 100| [Web Streams API](webstreams.html) | (1) Experimental. | 101| [WebAssembly System Interface (WASI)](wasi.html) | (1) Experimental | 102| [Worker threads](worker_threads.html) | (2) Stable | 103| [Zlib](zlib.html) | (2) Stable | 104<!-- STABILITY_OVERVIEW_SLOT_END --> 105 106## JSON output 107 108<!-- YAML 109added: v0.6.12 110--> 111 112Every `.html` document has a corresponding `.json` document. This is for IDEs 113and other utilities that consume the documentation. 114 115## System calls and man pages 116 117Node.js functions which wrap a system call will document that. The docs link 118to the corresponding man pages which describe how the system call works. 119 120Most Unix system calls have Windows analogues. Still, behavior differences may 121be unavoidable. 122 123[V8 JavaScript engine]: https://v8.dev/ 124[semantic versioning]: https://semver.org/ 125[the contributing guide]: https://github.com/nodejs/node/blob/HEAD/CONTRIBUTING.md 126[the issue tracker]: https://github.com/nodejs/node/issues/new 127[warning]: process.md#event-warning 128