diff --git a/BUILDING.md b/BUILDING.md
index f7e1ebb69932ed..685e88a8042d9e 100644
--- a/BUILDING.md
+++ b/BUILDING.md
@@ -121,7 +121,7 @@ platforms. This is true regardless of entries in the table below.
[^1]: GCC 8 is not provided on the base platform. Users will
need the
- [Toolchain test builds PPA](https://launchpad.net/\~ubuntu-toolchain-r/+archive/ubuntu/test?field.series\_filter=xenial)
+ [Toolchain test builds PPA](https://launchpad.net/\~ubuntu-toolchain-r/+archive/ubuntu/test?field.series_filter=xenial)
or similar to source a newer compiler.
[^2]: GCC 8 is not provided on the base platform. Users will
@@ -272,7 +272,7 @@ $ make -j4
The `-j4` option will cause `make` to run 4 simultaneous compilation jobs which
may reduce build time. For more information, see the
-[GNU Make Documentation](https://www.gnu.org/software/make/manual/html\_node/Parallel.html).
+[GNU Make Documentation](https://www.gnu.org/software/make/manual/html_node/Parallel.html).
The above requires that `python` resolves to a supported version of
Python. See [Prerequisites](#prerequisites).
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e6406a2940f349..3d8f25569bcdb1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,23 +2,24 @@
Select a Node.js version below to view the changelog history:
-* [Node.js 16](doc/changelogs/CHANGELOG\_V16.md) **Long Term Support**
-* [Node.js 15](doc/changelogs/CHANGELOG\_V15.md) End-of-Life
-* [Node.js 14](doc/changelogs/CHANGELOG\_V14.md) Long Term Support
-* [Node.js 13](doc/changelogs/CHANGELOG\_V13.md) End-of-Life
-* [Node.js 12](doc/changelogs/CHANGELOG\_V12.md) Long Term Support
-* [Node.js 11](doc/changelogs/CHANGELOG\_V11.md) End-of-Life
-* [Node.js 10](doc/changelogs/CHANGELOG\_V10.md) End-of-Life
-* [Node.js 9](doc/changelogs/CHANGELOG\_V9.md) End-of-Life
-* [Node.js 8](doc/changelogs/CHANGELOG\_V8.md) End-of-Life
-* [Node.js 7](doc/changelogs/CHANGELOG\_V7.md) End-of-Life
-* [Node.js 6](doc/changelogs/CHANGELOG\_V6.md) End-of-Life
-* [Node.js 5](doc/changelogs/CHANGELOG\_V5.md) End-of-Life
-* [Node.js 4](doc/changelogs/CHANGELOG\_V4.md) End-of-Life
-* [io.js](doc/changelogs/CHANGELOG\_IOJS.md) End-of-Life
-* [Node.js 0.12](doc/changelogs/CHANGELOG\_V012.md) End-of-Life
-* [Node.js 0.10](doc/changelogs/CHANGELOG\_V010.md) End-of-Life
-* [Archive](doc/changelogs/CHANGELOG\_ARCHIVE.md)
+* [Node.js 17](doc/changelogs/CHANGELOG_V17.md) **Current**
+* [Node.js 16](doc/changelogs/CHANGELOG_V16.md) **Long Term Support**
+* [Node.js 15](doc/changelogs/CHANGELOG_V15.md) End-of-Life
+* [Node.js 14](doc/changelogs/CHANGELOG_V14.md) Long Term Support
+* [Node.js 13](doc/changelogs/CHANGELOG_V13.md) End-of-Life
+* [Node.js 12](doc/changelogs/CHANGELOG_V12.md) Long Term Support
+* [Node.js 11](doc/changelogs/CHANGELOG_V11.md) End-of-Life
+* [Node.js 10](doc/changelogs/CHANGELOG_V10.md) End-of-Life
+* [Node.js 9](doc/changelogs/CHANGELOG_V9.md) End-of-Life
+* [Node.js 8](doc/changelogs/CHANGELOG_V8.md) End-of-Life
+* [Node.js 7](doc/changelogs/CHANGELOG_V7.md) End-of-Life
+* [Node.js 6](doc/changelogs/CHANGELOG_V6.md) End-of-Life
+* [Node.js 5](doc/changelogs/CHANGELOG_V5.md) End-of-Life
+* [Node.js 4](doc/changelogs/CHANGELOG_V4.md) End-of-Life
+* [io.js](doc/changelogs/CHANGELOG_IOJS.md) End-of-Life
+* [Node.js 0.12](doc/changelogs/CHANGELOG_V012.md) End-of-Life
+* [Node.js 0.10](doc/changelogs/CHANGELOG_V010.md) End-of-Life
+* [Archive](doc/changelogs/CHANGELOG_ARCHIVE.md)
Please use the following table to find the changelog for a specific Node.js
release.
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index 9a45c12f5489b0..d724027fd9aadb 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -1,4 +1,4 @@
# Code of Conduct
-* [Node.js Code of Conduct](https://github.com/nodejs/admin/blob/HEAD/CODE\_OF\_CONDUCT.md)
+* [Node.js Code of Conduct](https://github.com/nodejs/admin/blob/HEAD/CODE_OF_CONDUCT.md)
* [Node.js Moderation Policy](https://github.com/nodejs/admin/blob/HEAD/Moderation-Policy.md)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 1c3bf6c65cdd27..d0d3f4f648ef96 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -8,7 +8,7 @@
## [Code of Conduct](./doc/guides/contributing/code-of-conduct.md)
The Node.js project has a
-[Code of Conduct](https://github.com/nodejs/admin/blob/HEAD/CODE\_OF\_CONDUCT.md)
+[Code of Conduct](https://github.com/nodejs/admin/blob/HEAD/CODE_OF_CONDUCT.md)
to which all contributors must adhere.
See [details on our policy on Code of Conduct](./doc/guides/contributing/code-of-conduct.md).
diff --git a/SECURITY.md b/SECURITY.md
index 3486e71f32a7bd..859b88e8a175a9 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -26,7 +26,7 @@ maintainers and should also be coordinated through the Node.js Ecosystem
Security Team via [HackerOne](https://hackerone.com/nodejs-ecosystem).
Details regarding this process can be found in the
-[Security Working Group repository](https://github.com/nodejs/security-wg/blob/HEAD/processes/third\_party\_vuln\_process.md).
+[Security Working Group repository](https://github.com/nodejs/security-wg/blob/HEAD/processes/third_party_vuln_process.md).
Thank you for improving the security of Node.js and its ecosystem. Your efforts
and responsible disclosure are greatly appreciated and will be acknowledged.
diff --git a/doc/api/child_process.md b/doc/api/child_process.md
index 9674590d057c2c..a3c544a32dc6b0 100644
--- a/doc/api/child_process.md
+++ b/doc/api/child_process.md
@@ -189,7 +189,7 @@ changes:
Spawns a shell then executes the `command` within that shell, buffering any
generated output. The `command` string passed to the exec function is processed
directly by the shell and special characters (vary based on
-[shell](https://en.wikipedia.org/wiki/List\_of\_command-line\_interpreters))
+[shell](https://en.wikipedia.org/wiki/List_of_command-line_interpreters))
need to be dealt with accordingly:
```js
diff --git a/doc/api/index.md b/doc/api/index.md
index 7aba47edcb35af..c0980fd798cb06 100644
--- a/doc/api/index.md
+++ b/doc/api/index.md
@@ -11,13 +11,13 @@
* [Assertion testing](assert.md)
-* [Asynchronous context tracking](async\_context.md)
-* [Async hooks](async\_hooks.md)
+* [Asynchronous context tracking](async_context.md)
+* [Async hooks](async_hooks.md)
* [Buffer](buffer.md)
* [C++ addons](addons.md)
* [C/C++ addons with Node-API](n-api.md)
* [C++ embedder API](embedding.md)
-* [Child processes](child\_process.md)
+* [Child processes](child_process.md)
* [Cluster](cluster.md)
* [Command-line options](cli.md)
* [Console](console.md)
@@ -25,7 +25,7 @@
* [Crypto](crypto.md)
* [Debugger](debugger.md)
* [Deprecated APIs](deprecations.md)
-* [Diagnostics Channel](diagnostics\_channel.md)
+* [Diagnostics Channel](diagnostics_channel.md)
* [DNS](dns.md)
* [Domain](domain.md)
* [Errors](errors.md)
@@ -44,7 +44,7 @@
* [Net](net.md)
* [OS](os.md)
* [Path](path.md)
-* [Performance hooks](perf\_hooks.md)
+* [Performance hooks](perf_hooks.md)
* [Policies](policy.md)
* [Process](process.md)
* [Punycode](punycode.md)
@@ -53,7 +53,7 @@
* [REPL](repl.md)
* [Report](report.md)
* [Stream](stream.md)
-* [String decoder](string\_decoder.md)
+* [String decoder](string_decoder.md)
* [Timers](timers.md)
* [TLS/SSL](tls.md)
* [Trace events](tracing.md)
@@ -66,7 +66,7 @@
* [WASI](wasi.md)
* [Web Crypto API](webcrypto.md)
* [Web Streams API](webstreams.md)
-* [Worker threads](worker\_threads.md)
+* [Worker threads](worker_threads.md)
* [Zlib](zlib.md)
diff --git a/doc/api/modules.md b/doc/api/modules.md
index 983c8266723e5d..5f9dd5be0ea979 100644
--- a/doc/api/modules.md
+++ b/doc/api/modules.md
@@ -99,7 +99,7 @@ package may itself have dependencies, and in some cases, these may even collide
or form cyclic dependencies.
Because Node.js looks up the `realpath` of any modules it loads (that is, it
-resolves symlinks) and then [looks for their dependencies in `node_modules` folders](#loading-from-node\_modules-folders),
+resolves symlinks) and then [looks for their dependencies in `node_modules` folders](#loading-from-node_modules-folders),
this situation can be resolved with the following architecture:
* `/usr/lib/node/foo/1.2.3/`: Contents of the `foo` package, version 1.2.3.
diff --git a/doc/api/process.md b/doc/api/process.md
index 269efb72223ef3..8f192d6939cbce 100644
--- a/doc/api/process.md
+++ b/doc/api/process.md
@@ -2657,7 +2657,7 @@ tarball.
that are no longer supported).
* `'Dubnium'` for the 10.x LTS line beginning with 10.13.0.
* `'Erbium'` for the 12.x LTS line beginning with 12.13.0.
- For other LTS Release code names, see [Node.js Changelog Archive](https://github.com/nodejs/node/blob/HEAD/doc/changelogs/CHANGELOG\_ARCHIVE.md)
+ For other LTS Release code names, see [Node.js Changelog Archive](https://github.com/nodejs/node/blob/HEAD/doc/changelogs/CHANGELOG_ARCHIVE.md)
diff --git a/doc/api/tls.md b/doc/api/tls.md
index 235a8b4c858e97..361da7488a8a47 100644
--- a/doc/api/tls.md
+++ b/doc/api/tls.md
@@ -1073,7 +1073,7 @@ For example:
```
See
-[SSL\_CIPHER\_get\_name](https://www.openssl.org/docs/man1.1.1/man3/SSL\_CIPHER\_get\_name.html)
+[SSL\_CIPHER\_get\_name](https://www.openssl.org/docs/man1.1.1/man3/SSL_CIPHER_get_name.html)
for more information.
### `tlsSocket.getEphemeralKeyInfo()`
@@ -1303,7 +1303,7 @@ added: v12.11.0
the client in the order of decreasing preference.
See
-[SSL\_get\_shared\_sigalgs](https://www.openssl.org/docs/man1.1.1/man3/SSL\_get\_shared\_sigalgs.html)
+[SSL\_get\_shared\_sigalgs](https://www.openssl.org/docs/man1.1.1/man3/SSL_get_shared_sigalgs.html)
for more information.
### `tlsSocket.getTLSTicket()`
@@ -1776,7 +1776,7 @@ changes:
The list can contain digest algorithms (`SHA256`, `MD5` etc.), public key
algorithms (`RSA-PSS`, `ECDSA` etc.), combination of both (e.g
'RSA+SHA384') or TLS v1.3 scheme names (e.g. `rsa_pss_pss_sha512`).
- See [OpenSSL man pages](https://www.openssl.org/docs/man1.1.1/man3/SSL\_CTX\_set1\_sigalgs\_list.html)
+ See [OpenSSL man pages](https://www.openssl.org/docs/man1.1.1/man3/SSL_CTX_set1_sigalgs_list.html)
for more info.
* `ciphers` {string} Cipher suite specification, replacing the default. For
more information, see [modifying the default cipher suite][]. Permitted
diff --git a/doc/changelogs/CHANGELOG_ARCHIVE.md b/doc/changelogs/CHANGELOG_ARCHIVE.md
index f3d942e57e4e8a..600b54b38834c6 100644
--- a/doc/changelogs/CHANGELOG_ARCHIVE.md
+++ b/doc/changelogs/CHANGELOG_ARCHIVE.md
@@ -154,20 +154,20 @@
* Other Versions
- * [14.x](CHANGELOG\_V14.md)
- * [13.x](CHANGELOG\_V13.md)
- * [12.x](CHANGELOG\_V12.md)
- * [11.x](CHANGELOG\_V11.md)
- * [10.x](CHANGELOG\_V10.md)
- * [9.x](CHANGELOG\_V9.md)
- * [8.x](CHANGELOG\_V8.md)
- * [7.x](CHANGELOG\_V7.md)
- * [6.x](CHANGELOG\_V6.md)
- * [5.x](CHANGELOG\_V5.md)
- * [4.x](CHANGELOG\_V4.md)
- * [0.12.x](CHANGELOG\_V012.md)
- * [0.10.x](CHANGELOG\_V010.md)
- * [io.js](CHANGELOG\_IOJS.md)
+ * [14.x](CHANGELOG_V14.md)
+ * [13.x](CHANGELOG_V13.md)
+ * [12.x](CHANGELOG_V12.md)
+ * [11.x](CHANGELOG_V11.md)
+ * [10.x](CHANGELOG_V10.md)
+ * [9.x](CHANGELOG_V9.md)
+ * [8.x](CHANGELOG_V8.md)
+ * [7.x](CHANGELOG_V7.md)
+ * [6.x](CHANGELOG_V6.md)
+ * [5.x](CHANGELOG_V5.md)
+ * [4.x](CHANGELOG_V4.md)
+ * [0.12.x](CHANGELOG_V012.md)
+ * [0.10.x](CHANGELOG_V010.md)
+ * [io.js](CHANGELOG_IOJS.md)
diff --git a/doc/changelogs/CHANGELOG_IOJS.md b/doc/changelogs/CHANGELOG_IOJS.md
index 57b3946b201d08..c4694ba67d9b27 100644
--- a/doc/changelogs/CHANGELOG_IOJS.md
+++ b/doc/changelogs/CHANGELOG_IOJS.md
@@ -62,21 +62,22 @@
* Other Versions
- * [15.x](CHANGELOG\_V15.md)
- * [14.x](CHANGELOG\_V14.md)
- * [13.x](CHANGELOG\_V13.md)
- * [12.x](CHANGELOG\_V12.md)
- * [11.x](CHANGELOG\_V11.md)
- * [10.x](CHANGELOG\_V10.md)
- * [9.x](CHANGELOG\_V9.md)
- * [8.x](CHANGELOG\_V8.md)
- * [7.x](CHANGELOG\_V7.md)
- * [6.x](CHANGELOG\_V6.md)
- * [5.x](CHANGELOG\_V5.md)
- * [4.x](CHANGELOG\_V4.md)
- * [0.12.x](CHANGELOG\_V012.md)
- * [0.10.x](CHANGELOG\_V010.md)
- * [Archive](CHANGELOG\_ARCHIVE.md)
+ * [17.x](CHANGELOG_V17.md)
+ * [15.x](CHANGELOG_V15.md)
+ * [14.x](CHANGELOG_V14.md)
+ * [13.x](CHANGELOG_V13.md)
+ * [12.x](CHANGELOG_V12.md)
+ * [11.x](CHANGELOG_V11.md)
+ * [10.x](CHANGELOG_V10.md)
+ * [9.x](CHANGELOG_V9.md)
+ * [8.x](CHANGELOG_V8.md)
+ * [7.x](CHANGELOG_V7.md)
+ * [6.x](CHANGELOG_V6.md)
+ * [5.x](CHANGELOG_V5.md)
+ * [4.x](CHANGELOG_V4.md)
+ * [0.12.x](CHANGELOG_V012.md)
+ * [0.10.x](CHANGELOG_V010.md)
+ * [Archive](CHANGELOG_ARCHIVE.md)
@@ -339,8 +340,8 @@ See for complete and curr
* Fixed a couple of minor memory leaks (Karl Skomski) [#2375](https://github.com/nodejs/node/pull/2375).
* Signing now checks for OpenSSL errors (Minqi Pan) [#2342](https://github.com/nodejs/node/pull/2342). **Note that this may expose previously hidden errors in user code.**
* **intl**: Intl support using small-icu is now enabled by default in builds (Steven R. Loomis) [#2264](https://github.com/nodejs/node/pull/2264).
- * [`String#normalize()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global\_Objects/String/normalize) can now be used for unicode normalization.
- * The [`Intl`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global\_Objects/Intl) object and various `String` and `Number` methods are present, but only support the English locale.
+ * [`String#normalize()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize) can now be used for unicode normalization.
+ * The [`Intl`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Intl) object and various `String` and `Number` methods are present, but only support the English locale.
* For support of all locales, node must be built with [full-icu](https://github.com/nodejs/node#build-with-full-icu-support-all-locales-supported-by-icu).
* **tls**: Fixed tls throughput being much lower after an incorrect merge (Fedor Indutny) [#2381](https://github.com/nodejs/node/pull/2381).
* **tools**: The v8 tick processor now comes bundled with node (Matt Loring) [#2090](https://github.com/nodejs/node/pull/2090).
@@ -422,10 +423,10 @@ See for complete and curr
* **smalloc**: The `smalloc` module has been removed as it is no longer possible to provide the API due to changes in V8 (Ben Noordhuis) [#2022](https://github.com/nodejs/node/pull/2022).
* **tls**: Add `server.getTicketKeys()` and `server.setTicketKeys()` methods for [TLS session key](https://www.ietf.org/rfc/rfc5077.txt) rotation (Fedor Indutny) [#2227](https://github.com/nodejs/node/pull/2227).
* **v8**: Upgraded to 4.4.63.26
- * ES6: Enabled [computed property names](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object\_initializer#Computed\_property\_names)
+ * ES6: Enabled [computed property names](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer#Computed_property_names)
* ES6: `Array` can now be subclassed in strict mode
- * ES6: Implement [rest parameters](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/rest\_parameters) in staging, use the `--harmony-rest-parameters` command line flag
- * ES6: Implement the [spread operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread\_operator) in staging, use the `--harmony-spreadcalls` command line flag
+ * ES6: Implement [rest parameters](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/rest_parameters) in staging, use the `--harmony-rest-parameters` command line flag
+ * ES6: Implement the [spread operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator) in staging, use the `--harmony-spreadcalls` command line flag
* Removed `SetIndexedPropertiesToExternalArrayData` and related APIs, forcing a shift to `Buffer` to be reimplemented based on `Uint8Array`
* Introduction of `Maybe` and `MaybeLocal` C++ API for objects which _may_ or _may not_ have a value.
* Added support for PPC
@@ -716,7 +717,7 @@ See for complete and curre
## Notable changes
* **v8**: Fixed an out-of-band write in utf8 decoder. **This is an important security update** as it can be used to cause a denial of service attack.
-* **openssl**: Upgrade to 1.0.2b and 1.0.2c, introduces DHE man-in-the-middle protection (Logjam) and fixes malformed ECParameters causing infinite loop (CVE-2015-1788). See the [security advisory](https://www.openssl.org/news/secadv\_20150611.txt) for full details. (Shigeki Ohtsu) [#1950](https://github.com/nodejs/node/pull/1950) [#1958](https://github.com/nodejs/node/pull/1958)
+* **openssl**: Upgrade to 1.0.2b and 1.0.2c, introduces DHE man-in-the-middle protection (Logjam) and fixes malformed ECParameters causing infinite loop (CVE-2015-1788). See the [security advisory](https://www.openssl.org/news/secadv_20150611.txt) for full details. (Shigeki Ohtsu) [#1950](https://github.com/nodejs/node/pull/1950) [#1958](https://github.com/nodejs/node/pull/1958)
* **build**:
* Added support for compiling with Microsoft Visual C++ 2015
* Started building and distributing headers-only tarballs along with binaries
@@ -905,8 +906,8 @@ See for complete and curre
* **npm**: See full [release notes](https://github.com/npm/npm/releases/tag/v2.11.1) for details. (Kat Marchán) [#1899](https://github.com/nodejs/node/pull/1899). Highlight:
* Use GIT\_SSH\_COMMAND (available as of Git 2.3)
* **openssl**:
- * Upgrade to 1.0.2b and 1.0.2c, introduces DHE man-in-the-middle protection (Logjam) and fixes malformed ECParameters causing infinite loop (CVE-2015-1788). See the [security advisory](https://www.openssl.org/news/secadv\_20150611.txt) for full details. (Shigeki Ohtsu) [#1950](https://github.com/nodejs/node/pull/1950) [#1958](https://github.com/nodejs/node/pull/1958)
- * Support [FIPS](https://en.wikipedia.org/wiki/Federal\_Information\_Processing\_Standards) mode of OpenSSL, see [README](https://github.com/nodejs/node#building-iojs-with-fips-compliant-openssl) for instructions. (Fedor Indutny) [#1890](https://github.com/nodejs/node/pull/1890)
+ * Upgrade to 1.0.2b and 1.0.2c, introduces DHE man-in-the-middle protection (Logjam) and fixes malformed ECParameters causing infinite loop (CVE-2015-1788). See the [security advisory](https://www.openssl.org/news/secadv_20150611.txt) for full details. (Shigeki Ohtsu) [#1950](https://github.com/nodejs/node/pull/1950) [#1958](https://github.com/nodejs/node/pull/1958)
+ * Support [FIPS](https://en.wikipedia.org/wiki/Federal_Information_Processing_Standards) mode of OpenSSL, see [README](https://github.com/nodejs/node#building-iojs-with-fips-compliant-openssl) for instructions. (Fedor Indutny) [#1890](https://github.com/nodejs/node/pull/1890)
* **os**: Add `os.homedir()` method. (Colin Ihrig) [#1791](https://github.com/nodejs/node/pull/1791)
* **smalloc**: Deprecate whole module. (Vladimir Kurchatkin) [#1822](https://github.com/nodejs/node/pull/1822)
* Add new collaborators:
@@ -1926,7 +1927,7 @@ See for complete and curre
### Notable changes
-* **buffer**: New `Buffer#indexOf()` method, modelled off [`Array#indexOf()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global\_Objects/Array/indexOf). Accepts a String, Buffer or a Number. Strings are interpreted as UTF8. (Trevor Norris) [#561](https://github.com/nodejs/node/pull/561)
+* **buffer**: New `Buffer#indexOf()` method, modelled off [`Array#indexOf()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf). Accepts a String, Buffer or a Number. Strings are interpreted as UTF8. (Trevor Norris) [#561](https://github.com/nodejs/node/pull/561)
* **fs**: `options` object properties in `'fs'` methods no longer perform a `hasOwnProperty()` check, thereby allowing options objects to have prototype properties that apply. (Jonathan Ong) [#635](https://github.com/nodejs/node/pull/635)
* **tls**: A likely TLS memory leak was reported by PayPal. Some of the recent changes in **stream\_wrap** appear to be to blame. The initial fix is in [#1078](https://github.com/nodejs/node/pull/1078), you can track the progress toward closing the leak at [#1075](https://github.com/nodejs/node/issues/1075) (Fedor Indutny).
* **npm**: Upgrade npm to 2.7.0. See [npm CHANGELOG.md](https://github.com/npm/npm/blob/master/CHANGELOG.md#v270-2015-02-26) for details including why this is a semver-minor when it could have been semver-major. Summary:
@@ -2771,7 +2772,7 @@ will piping to another stream.
#### Writable streams
The ability to "bulk write" to underlying resources has been added to `Writable` streams. For stream
-implementers, one can signal that a stream is bulk-writable by specifying a [\_writev](https://iojs.org/api/stream.html#stream\_writable\_writev\_chunks\_callback) method.
+implementers, one can signal that a stream is bulk-writable by specifying a [\_writev](https://iojs.org/api/stream.html#stream_writable_writev_chunks_callback) method.
Bulk writes will occur in two situations:
1. When a bulk-writable stream is clearing its backlog of buffered write requests,
diff --git a/doc/changelogs/CHANGELOG_V010.md b/doc/changelogs/CHANGELOG_V010.md
index 4b5d1dfd935355..97038ffea4e7fc 100644
--- a/doc/changelogs/CHANGELOG_V010.md
+++ b/doc/changelogs/CHANGELOG_V010.md
@@ -64,22 +64,23 @@
* Other Versions
- * [16.x](CHANGELOG\_V16.md)
- * [15.x](CHANGELOG\_V15.md)
- * [14.x](CHANGELOG\_V14.md)
- * [13.x](CHANGELOG\_V13.md)
- * [12.x](CHANGELOG\_V12.md)
- * [11.x](CHANGELOG\_V11.md)
- * [10.x](CHANGELOG\_V10.md)
- * [9.x](CHANGELOG\_V9.md)
- * [8.x](CHANGELOG\_V8.md)
- * [7.x](CHANGELOG\_V7.md)
- * [6.x](CHANGELOG\_V6.md)
- * [5.x](CHANGELOG\_V5.md)
- * [4.x](CHANGELOG\_V4.md)
- * [0.12.x](CHANGELOG\_V012.md)
- * [io.js](CHANGELOG\_IOJS.md)
- * [Archive](CHANGELOG\_ARCHIVE.md)
+ * [17.x](CHANGELOG_V17.md)
+ * [16.x](CHANGELOG_V16.md)
+ * [15.x](CHANGELOG_V15.md)
+ * [14.x](CHANGELOG_V14.md)
+ * [13.x](CHANGELOG_V13.md)
+ * [12.x](CHANGELOG_V12.md)
+ * [11.x](CHANGELOG_V11.md)
+ * [10.x](CHANGELOG_V10.md)
+ * [9.x](CHANGELOG_V9.md)
+ * [8.x](CHANGELOG_V8.md)
+ * [7.x](CHANGELOG_V7.md)
+ * [6.x](CHANGELOG_V6.md)
+ * [5.x](CHANGELOG_V5.md)
+ * [4.x](CHANGELOG_V4.md)
+ * [0.12.x](CHANGELOG_V012.md)
+ * [io.js](CHANGELOG_IOJS.md)
+ * [Archive](CHANGELOG_ARCHIVE.md)
_Note_: Node.js v0.10 is covered by the
[Node.js Long Term Support Plan](https://github.com/nodejs/LTS) and
diff --git a/doc/changelogs/CHANGELOG_V012.md b/doc/changelogs/CHANGELOG_V012.md
index 6294737a0a2ea1..e61577e7793e90 100644
--- a/doc/changelogs/CHANGELOG_V012.md
+++ b/doc/changelogs/CHANGELOG_V012.md
@@ -32,22 +32,23 @@
* Other Versions
- * [16.x](CHANGELOG\_V16.md)
- * [15.x](CHANGELOG\_V15.md)
- * [14.x](CHANGELOG\_V14.md)
- * [13.x](CHANGELOG\_V13.md)
- * [12.x](CHANGELOG\_V12.md)
- * [11.x](CHANGELOG\_V11.md)
- * [10.x](CHANGELOG\_V10.md)
- * [9.x](CHANGELOG\_V9.md)
- * [8.x](CHANGELOG\_V8.md)
- * [7.x](CHANGELOG\_V7.md)
- * [6.x](CHANGELOG\_V6.md)
- * [5.x](CHANGELOG\_V5.md)
- * [4.x](CHANGELOG\_V4.md)
- * [0.10.x](CHANGELOG\_V010.md)
- * [io.js](CHANGELOG\_IOJS.md)
- * [Archive](CHANGELOG\_ARCHIVE.md)
+ * [17.x](CHANGELOG_V17.md)
+ * [16.x](CHANGELOG_V16.md)
+ * [15.x](CHANGELOG_V15.md)
+ * [14.x](CHANGELOG_V14.md)
+ * [13.x](CHANGELOG_V13.md)
+ * [12.x](CHANGELOG_V12.md)
+ * [11.x](CHANGELOG_V11.md)
+ * [10.x](CHANGELOG_V10.md)
+ * [9.x](CHANGELOG_V9.md)
+ * [8.x](CHANGELOG_V8.md)
+ * [7.x](CHANGELOG_V7.md)
+ * [6.x](CHANGELOG_V6.md)
+ * [5.x](CHANGELOG_V5.md)
+ * [4.x](CHANGELOG_V4.md)
+ * [0.10.x](CHANGELOG_V010.md)
+ * [io.js](CHANGELOG_IOJS.md)
+ * [Archive](CHANGELOG_ARCHIVE.md)
_Note_: Node.js v0.12 is covered by the
[Node.js Long Term Support Plan](https://github.com/nodejs/LTS) and
diff --git a/doc/changelogs/CHANGELOG_V10.md b/doc/changelogs/CHANGELOG_V10.md
index 2c3ece8a64a32d..48a71cb9eec308 100644
--- a/doc/changelogs/CHANGELOG_V10.md
+++ b/doc/changelogs/CHANGELOG_V10.md
@@ -58,22 +58,23 @@
* Other Versions
- * [16.x](CHANGELOG\_V16.md)
- * [15.x](CHANGELOG\_V15.md)
- * [14.x](CHANGELOG\_V14.md)
- * [13.x](CHANGELOG\_V13.md)
- * [12.x](CHANGELOG\_V12.md)
- * [11.x](CHANGELOG\_V11.md)
- * [9.x](CHANGELOG\_V9.md)
- * [8.x](CHANGELOG\_V8.md)
- * [7.x](CHANGELOG\_V7.md)
- * [6.x](CHANGELOG\_V6.md)
- * [5.x](CHANGELOG\_V5.md)
- * [4.x](CHANGELOG\_V4.md)
- * [0.12.x](CHANGELOG\_V012.md)
- * [0.10.x](CHANGELOG\_V010.md)
- * [io.js](CHANGELOG\_IOJS.md)
- * [Archive](CHANGELOG\_ARCHIVE.md)
+ * [17.x](CHANGELOG_V17.md)
+ * [16.x](CHANGELOG_V16.md)
+ * [15.x](CHANGELOG_V15.md)
+ * [14.x](CHANGELOG_V14.md)
+ * [13.x](CHANGELOG_V13.md)
+ * [12.x](CHANGELOG_V12.md)
+ * [11.x](CHANGELOG_V11.md)
+ * [9.x](CHANGELOG_V9.md)
+ * [8.x](CHANGELOG_V8.md)
+ * [7.x](CHANGELOG_V7.md)
+ * [6.x](CHANGELOG_V6.md)
+ * [5.x](CHANGELOG_V5.md)
+ * [4.x](CHANGELOG_V4.md)
+ * [0.12.x](CHANGELOG_V012.md)
+ * [0.10.x](CHANGELOG_V010.md)
+ * [io.js](CHANGELOG_IOJS.md)
+ * [Archive](CHANGELOG_ARCHIVE.md)
@@ -1982,7 +1983,7 @@ Fixes for the following CVEs are included in this release:
* **http**:
* Headers received by HTTP servers must not exceed 8192 bytes in total to prevent possible Denial of Service attacks. Reported by Trevor Norris. (CVE-2018-12121 / Matteo Collina)
* A timeout of 40 seconds now applies to servers receiving HTTP headers. This value can be adjusted with `server.headersTimeout`. Where headers are not completely received within this period, the socket is destroyed on the next received chunk. In conjunction with `server.setTimeout()`, this aids in protecting against excessive resource retention and possible Denial of Service. Reported by Jan Maybach ([liebdich.com](https://liebdich.com)). (CVE-2018-12122 / Matteo Collina)
-* **url**: Fix a bug that would allow a hostname being spoofed when parsing URLs with `url.parse()` with the `'javascript:'` protocol. Reported by [Martin Bajanik](https://twitter.com/\_bayotop) ([Kentico](https://kenticocloud.com/)). (CVE-2018-12123 / Matteo Collina)
+* **url**: Fix a bug that would allow a hostname being spoofed when parsing URLs with `url.parse()` with the `'javascript:'` protocol. Reported by [Martin Bajanik](https://twitter.com/_bayotop) ([Kentico](https://kenticocloud.com/)). (CVE-2018-12123 / Matteo Collina)
### Commits
diff --git a/doc/changelogs/CHANGELOG_V11.md b/doc/changelogs/CHANGELOG_V11.md
index a5cf63bc230894..95c7e50580fe93 100644
--- a/doc/changelogs/CHANGELOG_V11.md
+++ b/doc/changelogs/CHANGELOG_V11.md
@@ -30,22 +30,23 @@
* Other Versions
- * [16.x](CHANGELOG\_V16.md)
- * [15.x](CHANGELOG\_V15.md)
- * [14.x](CHANGELOG\_V14.md)
- * [13.x](CHANGELOG\_V13.md)
- * [12.x](CHANGELOG\_V12.md)
- * [10.x](CHANGELOG\_V10.md)
- * [9.x](CHANGELOG\_V9.md)
- * [8.x](CHANGELOG\_V8.md)
- * [7.x](CHANGELOG\_V7.md)
- * [6.x](CHANGELOG\_V6.md)
- * [5.x](CHANGELOG\_V5.md)
- * [4.x](CHANGELOG\_V4.md)
- * [0.12.x](CHANGELOG\_V012.md)
- * [0.10.x](CHANGELOG\_V010.md)
- * [io.js](CHANGELOG\_IOJS.md)
- * [Archive](CHANGELOG\_ARCHIVE.md)
+ * [17.x](CHANGELOG_V17.md)
+ * [16.x](CHANGELOG_V16.md)
+ * [15.x](CHANGELOG_V15.md)
+ * [14.x](CHANGELOG_V14.md)
+ * [13.x](CHANGELOG_V13.md)
+ * [12.x](CHANGELOG_V12.md)
+ * [10.x](CHANGELOG_V10.md)
+ * [9.x](CHANGELOG_V9.md)
+ * [8.x](CHANGELOG_V8.md)
+ * [7.x](CHANGELOG_V7.md)
+ * [6.x](CHANGELOG_V6.md)
+ * [5.x](CHANGELOG_V5.md)
+ * [4.x](CHANGELOG_V4.md)
+ * [0.12.x](CHANGELOG_V012.md)
+ * [0.10.x](CHANGELOG_V010.md)
+ * [io.js](CHANGELOG_IOJS.md)
+ * [Archive](CHANGELOG_ARCHIVE.md)
@@ -2117,7 +2118,7 @@ Fixes for the following CVEs are included in this release:
* **http**:
* Headers received by HTTP servers must not exceed 8192 bytes in total to prevent possible Denial of Service attacks. Reported by Trevor Norris. (CVE-2018-12121 / Matteo Collina)
* A timeout of 40 seconds now applies to servers receiving HTTP headers. This value can be adjusted with `server.headersTimeout`. Where headers are not completely received within this period, the socket is destroyed on the next received chunk. In conjunction with `server.setTimeout()`, this aids in protecting against excessive resource retention and possible Denial of Service. Reported by Jan Maybach ([liebdich.com](https://liebdich.com)). (CVE-2018-12122 / Matteo Collina)
-* **url**: Fix a bug that would allow a hostname being spoofed when parsing URLs with `url.parse()` with the `'javascript:'` protocol. Reported by [Martin Bajanik](https://twitter.com/\_bayotop) ([Kentico](https://kenticocloud.com/)). (CVE-2018-12123 / Matteo Collina)
+* **url**: Fix a bug that would allow a hostname being spoofed when parsing URLs with `url.parse()` with the `'javascript:'` protocol. Reported by [Martin Bajanik](https://twitter.com/_bayotop) ([Kentico](https://kenticocloud.com/)). (CVE-2018-12123 / Matteo Collina)
### Commits
diff --git a/doc/changelogs/CHANGELOG_V12.md b/doc/changelogs/CHANGELOG_V12.md
index 445e1722f58ad3..05dbfe4b9f067e 100644
--- a/doc/changelogs/CHANGELOG_V12.md
+++ b/doc/changelogs/CHANGELOG_V12.md
@@ -56,22 +56,23 @@
* Other Versions
- * [16.x](CHANGELOG\_V16.md)
- * [15.x](CHANGELOG\_V15.md)
- * [14.x](CHANGELOG\_V14.md)
- * [13.x](CHANGELOG\_V13.md)
- * [11.x](CHANGELOG\_V11.md)
- * [10.x](CHANGELOG\_V10.md)
- * [9.x](CHANGELOG\_V9.md)
- * [8.x](CHANGELOG\_V8.md)
- * [7.x](CHANGELOG\_V7.md)
- * [6.x](CHANGELOG\_V6.md)
- * [5.x](CHANGELOG\_V5.md)
- * [4.x](CHANGELOG\_V4.md)
- * [0.12.x](CHANGELOG\_V012.md)
- * [0.10.x](CHANGELOG\_V010.md)
- * [io.js](CHANGELOG\_IOJS.md)
- * [Archive](CHANGELOG\_ARCHIVE.md)
+ * [17.x](CHANGELOG_V17.md)
+ * [16.x](CHANGELOG_V16.md)
+ * [15.x](CHANGELOG_V15.md)
+ * [14.x](CHANGELOG_V14.md)
+ * [13.x](CHANGELOG_V13.md)
+ * [11.x](CHANGELOG_V11.md)
+ * [10.x](CHANGELOG_V10.md)
+ * [9.x](CHANGELOG_V9.md)
+ * [8.x](CHANGELOG_V8.md)
+ * [7.x](CHANGELOG_V7.md)
+ * [6.x](CHANGELOG_V6.md)
+ * [5.x](CHANGELOG_V5.md)
+ * [4.x](CHANGELOG_V4.md)
+ * [0.12.x](CHANGELOG_V012.md)
+ * [0.10.x](CHANGELOG_V010.md)
+ * [io.js](CHANGELOG_IOJS.md)
+ * [Archive](CHANGELOG_ARCHIVE.md)
@@ -269,7 +270,7 @@ The default HTTP parser based on llhttp is not affected. By default it is
stricter than the now deprecated legacy HTTP parser. If interoperability with
HTTP implementations that send invalid HTTP headers is required, the HTTP
parser can be started in a less secure mode with the
-[`--insecure-http-parser`](https://nodejs.org/docs/latest-v12.x/api/cli.html#cli\_insecure\_http\_parser)
+[`--insecure-http-parser`](https://nodejs.org/docs/latest-v12.x/api/cli.html#cli_insecure_http_parser)
command line option.
Contributed by Beth Griggs [#37603](https://github.com/nodejs/node/pull/37603).
@@ -1554,7 +1555,7 @@ Contributed by Ruben Bridgewater - [#30907](https://github.com/nodejs/node/pull/
#### REPL reverse-i-search
The REPL supports bi-directional reverse-i-search similar to
-[ZSH](https://en.wikipedia.org/wiki/Z\_shell). It is triggered with ` + R`
+[ZSH](https://en.wikipedia.org/wiki/Z_shell). It is triggered with ` + R`
to search backwards and ` + S` to search forwards.
Entries are accepted as soon as any button is pressed that doesn't correspond
@@ -1682,18 +1683,18 @@ Contributed by rosaxny - [#32392](https://github.com/nodejs/node/pull/32392).
The following N-API features are now stable as part of the N-API 6 release:
-* [`napi_set_instance_data`](https://nodejs.org/dist/latest-v12.x/docs/api/n-api.html#n\_api\_napi\_set\_instance\_data)
-* [`napi_get_instance_data`](https://nodejs.org/dist/latest-v12.x/docs/api/n-api.html#n\_api\_napi\_get\_instance\_data)
-* [`napi_key_collection_mode`](https://nodejs.org/dist/latest-v12.x/docs/api/n-api.html#n\_api\_napi\_key\_collection\_mode)
-* [`napi_key_filter`](https://nodejs.org/dist/latest-v12.x/docs/api/n-api.html#n\_api\_napi\_key\_filter)
-* [`napi_key_conversion`](https://nodejs.org/dist/latest-v12.x/docs/api/n-api.html#n\_api\_napi\_key\_conversion)
-* [`napi_create_bigint_int64`](https://nodejs.org/dist/latest-v12.x/docs/api/n-api.html#n\_api\_napi\_create\_bigint\_int64)
-* [`napi_create_bigint_uint64`](https://nodejs.org/dist/latest-v12.x/docs/api/n-api.html#n\_api\_napi\_create\_bigint\_uint64)
-* [`napi_create_bigint_words`](https://nodejs.org/dist/latest-v12.x/docs/api/n-api.html#n\_api\_napi\_create\_bigint\_words)
-* [`napi_get_value_bigint_int64`](https://nodejs.org/dist/latest-v12.x/docs/api/n-api.html#n\_api\_napi\_get\_value\_bigint\_int64)
-* [`napi_get_value_bigint_uint64`](https://nodejs.org/dist/latest-v12.x/docs/api/n-api.html#n\_api\_napi\_get\_value\_bigint\_uint64)
-* [`napi_get_value_bigint_words`](https://nodejs.org/dist/latest-v12.x/docs/api/n-api.html#n\_api\_napi\_get\_value\_bigint\_words)
-* [`napi_get_all_property_names`](https://nodejs.org/dist/latest-v12.x/docs/api/n-api.html#n\_api\_napi\_get\_all\_property\_names)
+* [`napi_set_instance_data`](https://nodejs.org/dist/latest-v12.x/docs/api/n-api.html#n_api_napi_set_instance_data)
+* [`napi_get_instance_data`](https://nodejs.org/dist/latest-v12.x/docs/api/n-api.html#n_api_napi_get_instance_data)
+* [`napi_key_collection_mode`](https://nodejs.org/dist/latest-v12.x/docs/api/n-api.html#n_api_napi_key_collection_mode)
+* [`napi_key_filter`](https://nodejs.org/dist/latest-v12.x/docs/api/n-api.html#n_api_napi_key_filter)
+* [`napi_key_conversion`](https://nodejs.org/dist/latest-v12.x/docs/api/n-api.html#n_api_napi_key_conversion)
+* [`napi_create_bigint_int64`](https://nodejs.org/dist/latest-v12.x/docs/api/n-api.html#n_api_napi_create_bigint_int64)
+* [`napi_create_bigint_uint64`](https://nodejs.org/dist/latest-v12.x/docs/api/n-api.html#n_api_napi_create_bigint_uint64)
+* [`napi_create_bigint_words`](https://nodejs.org/dist/latest-v12.x/docs/api/n-api.html#n_api_napi_create_bigint_words)
+* [`napi_get_value_bigint_int64`](https://nodejs.org/dist/latest-v12.x/docs/api/n-api.html#n_api_napi_get_value_bigint_int64)
+* [`napi_get_value_bigint_uint64`](https://nodejs.org/dist/latest-v12.x/docs/api/n-api.html#n_api_napi_get_value_bigint_uint64)
+* [`napi_get_value_bigint_words`](https://nodejs.org/dist/latest-v12.x/docs/api/n-api.html#n_api_napi_get_value_bigint_words)
+* [`napi_get_all_property_names`](https://nodejs.org/dist/latest-v12.x/docs/api/n-api.html#n_api_napi_get_all_property_names)
#### Stable diagnostic reports
@@ -2798,7 +2799,7 @@ two values:
* `'json'` (default): `JSON.stringify()` and `JSON.parse()` are used. This is
how message serialization was done before.
* `'advanced'`: The serialization API of the `v8` module is used. It is based on
- the [HTML structured clone algorithm](https://developer.mozilla.org/en-US/docs/Web/API/Web\_Workers\_API/Structured\_clone\_algorithm)
+ the [HTML structured clone algorithm](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm)
and is able to serialize more built-in JavaScript object types, such as
`BigInt`, `Map`, `Set` etc. as well as circular data structures.
@@ -4350,7 +4351,7 @@ This release fixes two regressions in the **http** module:
* Updated V8 to 7.6.303.29 (Michaël Zasso) [#28955](https://github.com/nodejs/node/pull/28955).
* Improves the performance of various APIs such as `JSON.parse` and methods
called on frozen arrays.
- * Adds the [`Promise.allSettled`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global\_Objects/Promise/allSettled) method.
+ * Adds the [`Promise.allSettled`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/allSettled) method.
* Improves support of `BigInt` in `Intl` methods.
* For more information:
* Updated libuv to 1.31.0 (cjihrig) [#29070](https://github.com/nodejs/node/pull/29070).
@@ -4643,7 +4644,7 @@ Vulnerabilities fixed:
we would use the physical memory size to estimate the necessary V8 heap sizes. The physical memory size
is not necessarily the correct limit, e.g. if the process is running inside a docker container or is otherwise
constrained. This change adds the ability to get a memory limit set by linux cgroups, which is used by
- [docker containers to set resource constraints](https://docs.docker.com/config/containers/resource\_constraints/)
+ [docker containers to set resource constraints](https://docs.docker.com/config/containers/resource_constraints/)
(Kelvin Jin) [#27508](https://github.com/nodejs/node/pull/27508).
### Commits
diff --git a/doc/changelogs/CHANGELOG_V13.md b/doc/changelogs/CHANGELOG_V13.md
index d70949bb8f18ca..f759ed07b8beea 100644
--- a/doc/changelogs/CHANGELOG_V13.md
+++ b/doc/changelogs/CHANGELOG_V13.md
@@ -30,22 +30,23 @@
* Other Versions
- * [16.x](CHANGELOG\_V16.md)
- * [15.x](CHANGELOG\_V15.md)
- * [14.x](CHANGELOG\_V14.md)
- * [12.x](CHANGELOG\_V12.md)
- * [11.x](CHANGELOG\_V11.md)
- * [10.x](CHANGELOG\_V10.md)
- * [9.x](CHANGELOG\_V9.md)
- * [8.x](CHANGELOG\_V8.md)
- * [7.x](CHANGELOG\_V7.md)
- * [6.x](CHANGELOG\_V6.md)
- * [5.x](CHANGELOG\_V5.md)
- * [4.x](CHANGELOG\_V4.md)
- * [0.12.x](CHANGELOG\_V012.md)
- * [0.10.x](CHANGELOG\_V010.md)
- * [io.js](CHANGELOG\_IOJS.md)
- * [Archive](CHANGELOG\_ARCHIVE.md)
+ * [17.x](CHANGELOG_V17.md)
+ * [16.x](CHANGELOG_V16.md)
+ * [15.x](CHANGELOG_V15.md)
+ * [14.x](CHANGELOG_V14.md)
+ * [12.x](CHANGELOG_V12.md)
+ * [11.x](CHANGELOG_V11.md)
+ * [10.x](CHANGELOG_V10.md)
+ * [9.x](CHANGELOG_V9.md)
+ * [8.x](CHANGELOG_V8.md)
+ * [7.x](CHANGELOG_V7.md)
+ * [6.x](CHANGELOG_V6.md)
+ * [5.x](CHANGELOG_V5.md)
+ * [4.x](CHANGELOG_V4.md)
+ * [0.12.x](CHANGELOG_V012.md)
+ * [0.10.x](CHANGELOG_V010.md)
+ * [io.js](CHANGELOG_IOJS.md)
+ * [Archive](CHANGELOG_ARCHIVE.md)
diff --git a/doc/changelogs/CHANGELOG_V14.md b/doc/changelogs/CHANGELOG_V14.md
index 0f773648d18ef7..59c4b37442f6d3 100644
--- a/doc/changelogs/CHANGELOG_V14.md
+++ b/doc/changelogs/CHANGELOG_V14.md
@@ -41,22 +41,23 @@
* Other Versions
- * [16.x](CHANGELOG\_V16.md)
- * [15.x](CHANGELOG\_V15.md)
- * [13.x](CHANGELOG\_V13.md)
- * [12.x](CHANGELOG\_V12.md)
- * [11.x](CHANGELOG\_V11.md)
- * [10.x](CHANGELOG\_V10.md)
- * [9.x](CHANGELOG\_V9.md)
- * [8.x](CHANGELOG\_V8.md)
- * [7.x](CHANGELOG\_V7.md)
- * [6.x](CHANGELOG\_V6.md)
- * [5.x](CHANGELOG\_V5.md)
- * [4.x](CHANGELOG\_V4.md)
- * [0.12.x](CHANGELOG\_V012.md)
- * [0.10.x](CHANGELOG\_V010.md)
- * [io.js](CHANGELOG\_IOJS.md)
- * [Archive](CHANGELOG\_ARCHIVE.md)
+ * [17.x](CHANGELOG_V17.md)
+ * [16.x](CHANGELOG_V16.md)
+ * [15.x](CHANGELOG_V15.md)
+ * [13.x](CHANGELOG_V13.md)
+ * [12.x](CHANGELOG_V12.md)
+ * [11.x](CHANGELOG_V11.md)
+ * [10.x](CHANGELOG_V10.md)
+ * [9.x](CHANGELOG_V9.md)
+ * [8.x](CHANGELOG_V8.md)
+ * [7.x](CHANGELOG_V7.md)
+ * [6.x](CHANGELOG_V6.md)
+ * [5.x](CHANGELOG_V5.md)
+ * [4.x](CHANGELOG_V4.md)
+ * [0.12.x](CHANGELOG_V012.md)
+ * [0.10.x](CHANGELOG_V010.md)
+ * [io.js](CHANGELOG_IOJS.md)
+ * [Archive](CHANGELOG_ARCHIVE.md)
@@ -3930,10 +3931,10 @@ interact with `std::shared_ptr`. This is expected to be fixed in a later version
#### Update to V8 8.1
* **(SEMVER-MAJOR)** **deps**: update V8 to 8.1.307.20 (Matheus Marchini) [#32116](https://github.com/nodejs/node/pull/32116)
- * Enables Optional Chaining by default ([MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional\_chaining), [v8.dev](https://v8.dev/features/optional-chaining))
- * Enables Nullish Coalescing by default ([MDN](https://wiki.developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish\_Coalescing\_Operator), [v8.dev](https://v8.dev/features/nullish-coalescing))
- * Enables `Intl.DisplayNames` by default ([MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global\_Objects/DisplayNames), [v8.dev](https://v8.dev/features/intl-displaynames))
- * Enables `calendar` and `numberingSystem` options for `Intl.DateTimeFormat` by default ([MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global\_Objects/DateTimeFormat))
+ * Enables Optional Chaining by default ([MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining), [v8.dev](https://v8.dev/features/optional-chaining))
+ * Enables Nullish Coalescing by default ([MDN](https://wiki.developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_Coalescing_Operator), [v8.dev](https://v8.dev/features/nullish-coalescing))
+ * Enables `Intl.DisplayNames` by default ([MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DisplayNames), [v8.dev](https://v8.dev/features/intl-displaynames))
+ * Enables `calendar` and `numberingSystem` options for `Intl.DateTimeFormat` by default ([MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat))
#### Other Notable Changes:
diff --git a/doc/changelogs/CHANGELOG_V15.md b/doc/changelogs/CHANGELOG_V15.md
index 54803898544284..0acdea3ba80043 100644
--- a/doc/changelogs/CHANGELOG_V15.md
+++ b/doc/changelogs/CHANGELOG_V15.md
@@ -31,22 +31,23 @@
* Other Versions
- * [16.x](CHANGELOG\_V16.md)
- * [14.x](CHANGELOG\_V14.md)
- * [13.x](CHANGELOG\_V13.md)
- * [12.x](CHANGELOG\_V12.md)
- * [11.x](CHANGELOG\_V11.md)
- * [10.x](CHANGELOG\_V10.md)
- * [9.x](CHANGELOG\_V9.md)
- * [8.x](CHANGELOG\_V8.md)
- * [7.x](CHANGELOG\_V7.md)
- * [6.x](CHANGELOG\_V6.md)
- * [5.x](CHANGELOG\_V5.md)
- * [4.x](CHANGELOG\_V4.md)
- * [0.12.x](CHANGELOG\_V012.md)
- * [0.10.x](CHANGELOG\_V010.md)
- * [io.js](CHANGELOG\_IOJS.md)
- * [Archive](CHANGELOG\_ARCHIVE.md)
+ * [17.x](CHANGELOG_V17.md)
+ * [16.x](CHANGELOG_V16.md)
+ * [14.x](CHANGELOG_V14.md)
+ * [13.x](CHANGELOG_V13.md)
+ * [12.x](CHANGELOG_V12.md)
+ * [11.x](CHANGELOG_V11.md)
+ * [10.x](CHANGELOG_V10.md)
+ * [9.x](CHANGELOG_V9.md)
+ * [8.x](CHANGELOG_V8.md)
+ * [7.x](CHANGELOG_V7.md)
+ * [6.x](CHANGELOG_V6.md)
+ * [5.x](CHANGELOG_V5.md)
+ * [4.x](CHANGELOG_V4.md)
+ * [0.12.x](CHANGELOG_V012.md)
+ * [0.10.x](CHANGELOG_V010.md)
+ * [io.js](CHANGELOG_IOJS.md)
+ * [Archive](CHANGELOG_ARCHIVE.md)
diff --git a/doc/changelogs/CHANGELOG_V16.md b/doc/changelogs/CHANGELOG_V16.md
index b04462d61f4f2d..483fef63689ddc 100644
--- a/doc/changelogs/CHANGELOG_V16.md
+++ b/doc/changelogs/CHANGELOG_V16.md
@@ -38,22 +38,23 @@
* Other Versions
- * [15.x](CHANGELOG\_V15.md)
- * [14.x](CHANGELOG\_V14.md)
- * [13.x](CHANGELOG\_V13.md)
- * [12.x](CHANGELOG\_V12.md)
- * [11.x](CHANGELOG\_V11.md)
- * [10.x](CHANGELOG\_V10.md)
- * [9.x](CHANGELOG\_V9.md)
- * [8.x](CHANGELOG\_V8.md)
- * [7.x](CHANGELOG\_V7.md)
- * [6.x](CHANGELOG\_V6.md)
- * [5.x](CHANGELOG\_V5.md)
- * [4.x](CHANGELOG\_V4.md)
- * [0.12.x](CHANGELOG\_V012.md)
- * [0.10.x](CHANGELOG\_V010.md)
- * [io.js](CHANGELOG\_IOJS.md)
- * [Archive](CHANGELOG\_ARCHIVE.md)
+ * [17.x](CHANGELOG_V17.md)
+ * [15.x](CHANGELOG_V15.md)
+ * [14.x](CHANGELOG_V14.md)
+ * [13.x](CHANGELOG_V13.md)
+ * [12.x](CHANGELOG_V12.md)
+ * [11.x](CHANGELOG_V11.md)
+ * [10.x](CHANGELOG_V10.md)
+ * [9.x](CHANGELOG_V9.md)
+ * [8.x](CHANGELOG_V8.md)
+ * [7.x](CHANGELOG_V7.md)
+ * [6.x](CHANGELOG_V6.md)
+ * [5.x](CHANGELOG_V5.md)
+ * [4.x](CHANGELOG_V4.md)
+ * [0.12.x](CHANGELOG_V012.md)
+ * [0.10.x](CHANGELOG_V010.md)
+ * [io.js](CHANGELOG_IOJS.md)
+ * [Archive](CHANGELOG_ARCHIVE.md)
@@ -950,7 +951,7 @@ This is a security release.
The V8 engine is updated to version 9.2.230.21.
-It notably introduces the new [`Array.prototype.at`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global\_Objects/Array/at) method (also on [Typed Arrays](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global\_Objects/TypedArray/at) and [strings](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global\_Objects/String/at)):
+It notably introduces the new [`Array.prototype.at`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/at) method (also on [Typed Arrays](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/at) and [strings](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/at)):
```js
const array = [1, 2, 3];
@@ -1097,7 +1098,7 @@ Contributed by Michaël Zasso - [#39470](https://github.com/nodejs/node/pull/394
#### Experimental Web Streams API
Node.js now exposes an experimental implementation of the
-[Web Streams API](https://developer.mozilla.org/en-US/docs/Web/API/Streams\_API).
+[Web Streams API](https://developer.mozilla.org/en-US/docs/Web/API/Streams_API).
While it is experimental, the API is not exposed on the global object and is only
accessible using the new `stream/web` core module:
diff --git a/doc/changelogs/CHANGELOG_V17.md b/doc/changelogs/CHANGELOG_V17.md
index f400fdb7f13569..abea4661a472bf 100644
--- a/doc/changelogs/CHANGELOG_V17.md
+++ b/doc/changelogs/CHANGELOG_V17.md
@@ -15,23 +15,23 @@
* Other Versions
- * [16.x](CHANGELOG\_V16.md)
- * [15.x](CHANGELOG\_V15.md)
- * [14.x](CHANGELOG\_V14.md)
- * [13.x](CHANGELOG\_V13.md)
- * [12.x](CHANGELOG\_V12.md)
- * [11.x](CHANGELOG\_V11.md)
- * [10.x](CHANGELOG\_V10.md)
- * [9.x](CHANGELOG\_V9.md)
- * [8.x](CHANGELOG\_V8.md)
- * [7.x](CHANGELOG\_V7.md)
- * [6.x](CHANGELOG\_V6.md)
- * [5.x](CHANGELOG\_V5.md)
- * [4.x](CHANGELOG\_V4.md)
- * [0.12.x](CHANGELOG\_V012.md)
- * [0.10.x](CHANGELOG\_V010.md)
- * [io.js](CHANGELOG\_IOJS.md)
- * [Archive](CHANGELOG\_ARCHIVE.md)
+ * [16.x](CHANGELOG_V16.md)
+ * [15.x](CHANGELOG_V15.md)
+ * [14.x](CHANGELOG_V14.md)
+ * [13.x](CHANGELOG_V13.md)
+ * [12.x](CHANGELOG_V12.md)
+ * [11.x](CHANGELOG_V11.md)
+ * [10.x](CHANGELOG_V10.md)
+ * [9.x](CHANGELOG_V9.md)
+ * [8.x](CHANGELOG_V8.md)
+ * [7.x](CHANGELOG_V7.md)
+ * [6.x](CHANGELOG_V6.md)
+ * [5.x](CHANGELOG_V5.md)
+ * [4.x](CHANGELOG_V4.md)
+ * [0.12.x](CHANGELOG_V012.md)
+ * [0.10.x](CHANGELOG_V010.md)
+ * [io.js](CHANGELOG_IOJS.md)
+ * [Archive](CHANGELOG_ARCHIVE.md)
diff --git a/doc/changelogs/CHANGELOG_V4.md b/doc/changelogs/CHANGELOG_V4.md
index d172ccd69e9451..8dac45fb1eee1f 100644
--- a/doc/changelogs/CHANGELOG_V4.md
+++ b/doc/changelogs/CHANGELOG_V4.md
@@ -56,22 +56,23 @@
* Other Versions
- * [16.x](CHANGELOG\_V16.md)
- * [15.x](CHANGELOG\_V15.md)
- * [14.x](CHANGELOG\_V14.md)
- * [13.x](CHANGELOG\_V13.md)
- * [12.x](CHANGELOG\_V12.md)
- * [11.x](CHANGELOG\_V11.md)
- * [10.x](CHANGELOG\_V10.md)
- * [9.x](CHANGELOG\_V9.md)
- * [8.x](CHANGELOG\_V8.md)
- * [7.x](CHANGELOG\_V7.md)
- * [6.x](CHANGELOG\_V6.md)
- * [5.x](CHANGELOG\_V5.md)
- * [0.12.x](CHANGELOG\_V012.md)
- * [0.10.x](CHANGELOG\_V010.md)
- * [io.js](CHANGELOG\_IOJS.md)
- * [Archive](CHANGELOG\_ARCHIVE.md)
+ * [17.x](CHANGELOG_V17.md)
+ * [16.x](CHANGELOG_V16.md)
+ * [15.x](CHANGELOG_V15.md)
+ * [14.x](CHANGELOG_V14.md)
+ * [13.x](CHANGELOG_V13.md)
+ * [12.x](CHANGELOG_V12.md)
+ * [11.x](CHANGELOG_V11.md)
+ * [10.x](CHANGELOG_V10.md)
+ * [9.x](CHANGELOG_V9.md)
+ * [8.x](CHANGELOG_V8.md)
+ * [7.x](CHANGELOG_V7.md)
+ * [6.x](CHANGELOG_V6.md)
+ * [5.x](CHANGELOG_V5.md)
+ * [0.12.x](CHANGELOG_V012.md)
+ * [0.10.x](CHANGELOG_V010.md)
+ * [io.js](CHANGELOG_IOJS.md)
+ * [Archive](CHANGELOG_ARCHIVE.md)
_Note_: Node.js v4 is covered by the
[Node.js Long Term Support Plan](https://github.com/nodejs/LTS) and
@@ -261,7 +262,7 @@ This is a security release. All Node.js users should consult the security releas
### Notable Changes
* **module**:
- * The [module loading global fallback](https://nodejs.org/dist/latest-v4.x/docs/api/modules.html#modules\_loading\_from\_the\_global\_folders) to the Node executable's directory now works correctly on Windows. (Richard Lau) [#9283](https://github.com/nodejs/node/pull/9283)
+ * The [module loading global fallback](https://nodejs.org/dist/latest-v4.x/docs/api/modules.html#modules_loading_from_the_global_folders) to the Node executable's directory now works correctly on Windows. (Richard Lau) [#9283](https://github.com/nodejs/node/pull/9283)
* **src**:
* fix base64 decoding in rare edgecase (Nikolai Vavilov) [#11995](https://github.com/nodejs/node/pull/11995)
* **tls**:
@@ -3225,7 +3226,7 @@ See for complete and curre
### Notable changes
* **buffer**: Fixed a bug introduced in v4.1.0 where allocating a new zero-length buffer can result in the _next_ allocation of a TypedArray in JavaScript not being zero-filled. In certain circumstances this could result in data leakage via reuse of memory space in TypedArrays, breaking the normally safe assumption that TypedArrays should be always zero-filled. (Trevor Norris) [#2931](https://github.com/nodejs/node/pull/2931).
-* **http**: Guard against response-splitting of HTTP trailing headers added via [`response.addTrailers()`](https://nodejs.org/api/http.html#http\_response\_addtrailers\_headers) by removing new-line (`[\r\n]`) characters from values. Note that standard header values are already stripped of new-line characters. The expected security impact is low because trailing headers are rarely used. (Ben Noordhuis) [#2945](https://github.com/nodejs/node/pull/2945).
+* **http**: Guard against response-splitting of HTTP trailing headers added via [`response.addTrailers()`](https://nodejs.org/api/http.html#http_response_addtrailers_headers) by removing new-line (`[\r\n]`) characters from values. Note that standard header values are already stripped of new-line characters. The expected security impact is low because trailing headers are rarely used. (Ben Noordhuis) [#2945](https://github.com/nodejs/node/pull/2945).
* **npm**: Upgrade to npm 2.14.4 from 2.14.3, see [release notes](https://github.com/npm/npm/releases/tag/v2.14.4) for full details (Kat Marchán) [#2958](https://github.com/nodejs/node/pull/2958)
* Upgrades `graceful-fs` on multiple dependencies to no longer rely on monkey-patching `fs`
* Fix `npm link` for pre-release / RC builds of Node
diff --git a/doc/changelogs/CHANGELOG_V5.md b/doc/changelogs/CHANGELOG_V5.md
index 3840f15839442c..b711a0624551df 100644
--- a/doc/changelogs/CHANGELOG_V5.md
+++ b/doc/changelogs/CHANGELOG_V5.md
@@ -32,25 +32,26 @@
* Other Versions
- * [16.x](CHANGELOG\_V16.md)
- * [15.x](CHANGELOG\_V15.md)
- * [14.x](CHANGELOG\_V14.md)
- * [13.x](CHANGELOG\_V13.md)
- * [12.x](CHANGELOG\_V12.md)
- * [11.x](CHANGELOG\_V11.md)
- * [10.x](CHANGELOG\_V10.md)
- * [9.x](CHANGELOG\_V9.md)
- * [8.x](CHANGELOG\_V8.md)
- * [7.x](CHANGELOG\_V7.md)
- * [6.x](CHANGELOG\_V6.md)
- * [4.x](CHANGELOG\_V4.md)
- * [0.12.x](CHANGELOG\_V012.md)
- * [0.10.x](CHANGELOG\_V010.md)
- * [io.js](CHANGELOG\_IOJS.md)
- * [Archive](CHANGELOG\_ARCHIVE.md)
+ * [17.x](CHANGELOG_V17.md)
+ * [16.x](CHANGELOG_V16.md)
+ * [15.x](CHANGELOG_V15.md)
+ * [14.x](CHANGELOG_V14.md)
+ * [13.x](CHANGELOG_V13.md)
+ * [12.x](CHANGELOG_V12.md)
+ * [11.x](CHANGELOG_V11.md)
+ * [10.x](CHANGELOG_V10.md)
+ * [9.x](CHANGELOG_V9.md)
+ * [8.x](CHANGELOG_V8.md)
+ * [7.x](CHANGELOG_V7.md)
+ * [6.x](CHANGELOG_V6.md)
+ * [4.x](CHANGELOG_V4.md)
+ * [0.12.x](CHANGELOG_V012.md)
+ * [0.10.x](CHANGELOG_V010.md)
+ * [io.js](CHANGELOG_IOJS.md)
+ * [Archive](CHANGELOG_ARCHIVE.md)
_Note_: Official support for the v5 release line is scheduled to expire
-around June 2016. Users of v5 should upgrade to [Node.js v6](CHANGELOG\_V6.md).
+around June 2016. Users of v5 should upgrade to [Node.js v6](CHANGELOG_V6.md).
@@ -637,16 +638,16 @@ This is a security release. All Node.js users should consult the security releas
### Notable changes
* **buffer**:
- * You can now supply an `encoding` argument when filling a Buffer `Buffer#fill(string[, start[, end]][, encoding])`, supplying an existing Buffer will also work with `Buffer#fill(buffer[, start[, end]])`. See the [API documentation](https://nodejs.org/api/buffer.html#buffer\_buf\_fill\_value\_offset\_end\_encoding) for details on how this works. (Trevor Norris) [#4935](https://github.com/nodejs/node/pull/4935)
+ * You can now supply an `encoding` argument when filling a Buffer `Buffer#fill(string[, start[, end]][, encoding])`, supplying an existing Buffer will also work with `Buffer#fill(buffer[, start[, end]])`. See the [API documentation](https://nodejs.org/api/buffer.html#buffer_buf_fill_value_offset_end_encoding) for details on how this works. (Trevor Norris) [#4935](https://github.com/nodejs/node/pull/4935)
* `Buffer#indexOf()` no longer requires a `byteOffset` argument if you also wish to specify an `encoding`: `Buffer#indexOf(val[, byteOffset][, encoding])`. (Trevor Norris) [#4803](https://github.com/nodejs/node/pull/4803)
* **child\_process**: `spawn()` and `spawnSync()` now support a `'shell'` option to allow for optional execution of the given command inside a shell. If set to `true`, `cmd.exe` will be used on Windows and `/bin/sh` elsewhere. A path to a custom shell can also be passed to override these defaults. On Windows, this option allows `.bat.` and `.cmd` files to be executed with `spawn()` and `spawnSync()`. (Colin Ihrig) [#4598](https://github.com/nodejs/node/pull/4598)
* **http\_parser**: Update to http-parser 2.6.2 to fix an unintentionally strict limitation of allowable header characters (James M Snell) [#5237](https://github.com/nodejs/node/pull/5237)
-* **dgram**: `socket.send()` now supports accepts an array of Buffers or Strings as the first argument. See the [API docs](https://nodejs.org/download/nightly/v6.0.0-nightly201602102848f84332/docs/api/dgram.html#dgram\_socket\_send\_msg\_offset\_length\_port\_address\_callback) for details on how this works. (Matteo Collina) [#4374](https://github.com/nodejs/node/pull/4374)
+* **dgram**: `socket.send()` now supports accepts an array of Buffers or Strings as the first argument. See the [API docs](https://nodejs.org/download/nightly/v6.0.0-nightly201602102848f84332/docs/api/dgram.html#dgram_socket_send_msg_offset_length_port_address_callback) for details on how this works. (Matteo Collina) [#4374](https://github.com/nodejs/node/pull/4374)
* **http**: Fix a bug where handling headers will mistakenly trigger an `'upgrade'` event where the server is just advertising its protocols. This bug can prevent HTTP clients from communicating with HTTP/2 enabled servers. (Fedor Indutny) [#4337](https://github.com/nodejs/node/pull/4337)
* **net**: Added a `listening` Boolean property to `net` and `http` servers to indicate whether the server is listening for connections. (José Moreira) [#4743](https://github.com/nodejs/node/pull/4743)
* **node**: The C++ `node::MakeCallback()` API is now reentrant and calling it from inside another `MakeCallback()` call no longer causes the `nextTick` queue or Promises microtask queue to be processed out of order. (Trevor Norris) [#4507](https://github.com/nodejs/node/pull/4507)
* **tls**: Add a new `tlsSocket.getProtocol()` method to get the negotiated TLS protocol version of the current connection. (Brian White) [#4995](https://github.com/nodejs/node/pull/4995)
-* **vm**: Introduce new `'produceCachedData'` and `'cachedData'` options to `new vm.Script()` to interact with V8's code cache. When a new `vm.Script` object is created with the `'produceCachedData'` set to `true` a `Buffer` with V8's code cache data will be produced and stored in `cachedData` property of the returned object. This data in turn may be supplied back to another `vm.Script()` object with a `'cachedData'` option if the supplied source is the same. Successfully executing a script from cached data can speed up instantiation time. See the [API docs](https://nodejs.org/api/vm.html#vm\_new\_vm\_script\_code\_options) for details. (Fedor Indutny) [#4777](https://github.com/nodejs/node/pull/4777)
+* **vm**: Introduce new `'produceCachedData'` and `'cachedData'` options to `new vm.Script()` to interact with V8's code cache. When a new `vm.Script` object is created with the `'produceCachedData'` set to `true` a `Buffer` with V8's code cache data will be produced and stored in `cachedData` property of the returned object. This data in turn may be supplied back to another `vm.Script()` object with a `'cachedData'` option if the supplied source is the same. Successfully executing a script from cached data can speed up instantiation time. See the [API docs](https://nodejs.org/api/vm.html#vm_new_vm_script_code_options) for details. (Fedor Indutny) [#4777](https://github.com/nodejs/node/pull/4777)
* **performance**: Improvements in:
* `process.nextTick()` (Ruben Bridgewater) [#5092](https://github.com/nodejs/node/pull/5092)
* `path` module (Brian White) [#5123](https://github.com/nodejs/node/pull/5123)
@@ -1435,7 +1436,7 @@ This is an important security release. All Node.js users should consult the secu
* Also added ACL and IPv6 Zone ID support.
* **npm**: upgrade npm to 3.3.12 from v3.3.6 (Rebecca Turner) [#3685](https://github.com/nodejs/node/pull/3685).
* See the release notes for [v3.3.7](https://github.com/npm/npm/releases/tag/v3.3.7), [v3.3.8](https://github.com/npm/npm/releases/tag/v3.3.8), [v3.3.9](https://github.com/npm/npm/releases/tag/v3.3.9), [v3.3.10](https://github.com/npm/npm/releases/tag/v3.3.10), [v3.3.11](https://github.com/npm/npm/releases/tag/v3.3.11), and [v3.3.12](https://github.com/npm/npm/releases/tag/v3.3.12) for more details.
-* **repl**: The REPL no longer crashes if the [persistent history](https://nodejs.org/api/repl.html#repl\_persistent\_history) file cannot be opened (Evan Lucas) [#3630](https://github.com/nodejs/node/pull/3630).
+* **repl**: The REPL no longer crashes if the [persistent history](https://nodejs.org/api/repl.html#repl_persistent_history) file cannot be opened (Evan Lucas) [#3630](https://github.com/nodejs/node/pull/3630).
* **tls**: The default `sessionIdContext` now uses SHA1 in FIPS mode rather than MD5 (Stefan Budeanu) [#3755](https://github.com/nodejs/node/pull/3755).
* **v8**: Added some more useful post-mortem data (Fedor Indutny) [#3779](https://github.com/nodejs/node/pull/3779).
diff --git a/doc/changelogs/CHANGELOG_V6.md b/doc/changelogs/CHANGELOG_V6.md
index a377cad15ed602..0c5e1ee0d62b9b 100644
--- a/doc/changelogs/CHANGELOG_V6.md
+++ b/doc/changelogs/CHANGELOG_V6.md
@@ -61,22 +61,23 @@
* Other Versions
- * [16.x](CHANGELOG\_V16.md)
- * [15.x](CHANGELOG\_V15.md)
- * [14.x](CHANGELOG\_V14.md)
- * [13.x](CHANGELOG\_V13.md)
- * [12.x](CHANGELOG\_V12.md)
- * [11.x](CHANGELOG\_V11.md)
- * [10.x](CHANGELOG\_V10.md)
- * [9.x](CHANGELOG\_V9.md)
- * [8.x](CHANGELOG\_V8.md)
- * [7.x](CHANGELOG\_V7.md)
- * [5.x](CHANGELOG\_V5.md)
- * [4.x](CHANGELOG\_V4.md)
- * [0.12.x](CHANGELOG\_V012.md)
- * [0.10.x](CHANGELOG\_V010.md)
- * [io.js](CHANGELOG\_IOJS.md)
- * [Archive](CHANGELOG\_ARCHIVE.md)
+ * [17.x](CHANGELOG_V17.md)
+ * [16.x](CHANGELOG_V16.md)
+ * [15.x](CHANGELOG_V15.md)
+ * [14.x](CHANGELOG_V14.md)
+ * [13.x](CHANGELOG_V13.md)
+ * [12.x](CHANGELOG_V12.md)
+ * [11.x](CHANGELOG_V11.md)
+ * [10.x](CHANGELOG_V10.md)
+ * [9.x](CHANGELOG_V9.md)
+ * [8.x](CHANGELOG_V8.md)
+ * [7.x](CHANGELOG_V7.md)
+ * [5.x](CHANGELOG_V5.md)
+ * [4.x](CHANGELOG_V4.md)
+ * [0.12.x](CHANGELOG_V012.md)
+ * [0.10.x](CHANGELOG_V010.md)
+ * [io.js](CHANGELOG_IOJS.md)
+ * [Archive](CHANGELOG_ARCHIVE.md)
_Note_: Node.js v6 is covered by the
[Node.js Long Term Support Plan](https://github.com/nodejs/LTS) and
@@ -202,7 +203,7 @@ Fixes for the following CVEs are included in this release:
* Headers received by HTTP servers must not exceed 8192 bytes in total to prevent possible Denial of Service attacks. Reported by Trevor Norris. (CVE-2018-12121 / Matteo Collina)
* A timeout of 40 seconds now applies to servers receiving HTTP headers. This value can be adjusted with `server.headersTimeout`. Where headers are not completely received within this period, the socket is destroyed on the next received chunk. In conjunction with `server.setTimeout()`, this aids in protecting against excessive resource retention and possible Denial of Service. Reported by Jan Maybach ([liebdich.com](https://liebdich.com)). (CVE-2018-12122 / Matteo Collina)
* Two-byte characters are now strictly disallowed for the `path` option in HTTP client requests. Paths containing characters outside of the range `\u0021` - `\u00ff` will now be rejected with a `TypeError`. This behavior can be reverted if necessary by supplying the `--security-revert=CVE-2018-12116` command line argument (this is not recommended). Reported as security concern for Node.js 6 and 8 by [Arkadiy Tetelman](https://twitter.com/arkadiyt) ([Lob](https://lob.com)), fixed by backporting a change by Benno Fünfstück applied to Node.js 10 and later. (CVE-2018-12116 / Matteo Collina)
-* **url**: Fix a bug that would allow a hostname being spoofed when parsing URLs with `url.parse()` with the `'javascript:'` protocol. Reported by [Martin Bajanik](https://twitter.com/\_bayotop) ([Kentico](https://kenticocloud.com/)). (CVE-2018-12123 / Matteo Collina)
+* **url**: Fix a bug that would allow a hostname being spoofed when parsing URLs with `url.parse()` with the `'javascript:'` protocol. Reported by [Martin Bajanik](https://twitter.com/_bayotop) ([Kentico](https://kenticocloud.com/)). (CVE-2018-12123 / Matteo Collina)
### Commits
@@ -1659,7 +1660,7 @@ This LTS release comes with 221 commits. This includes 80 which are test related
* **configure**:
* add mips64el to valid\_arch (Aditya Anand) [#13620](https://github.com/nodejs/node/pull/13620)
* **crypto**:
- * Updated root certificates based on [NSS 3.30](https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS\_3.30\_release\_notes) (Ben Noordhuis)
+ * Updated root certificates based on [NSS 3.30](https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_3.30_release_notes) (Ben Noordhuis)
* [#13279](https://github.com/nodejs/node/pull/13279)
* [#12402](https://github.com/nodejs/node/pull/12402)
* **deps**:
@@ -2086,7 +2087,7 @@ This LTS release comes with 126 commits. This includes 40 which are test related
### Notable Changes
* **module**:
- * The [module loading global fallback](https://nodejs.org/dist/latest-v4.x/docs/api/modules.html#modules\_loading\_from\_the\_global\_folders) to the Node executable's directory now works correctly on Windows. (Richard Lau) [#9283](https://github.com/nodejs/node/pull/9283)
+ * The [module loading global fallback](https://nodejs.org/dist/latest-v4.x/docs/api/modules.html#modules_loading_from_the_global_folders) to the Node executable's directory now works correctly on Windows. (Richard Lau) [#9283](https://github.com/nodejs/node/pull/9283)
* **src**:
* fix base64 decoding in rare edgecase (Nikolai Vavilov) [#11995](https://github.com/nodejs/node/pull/11995)
* **tls**:
@@ -3696,7 +3697,7 @@ Semver Patch:
* **crypto**: Added `crypto.timingSafeEqual()`. (not-an-aardvark) [#8304](https://github.com/nodejs/node/pull/8304)
* **events**: Made the "max event listeners" memory leak warning more accessible. (Anna Henningsen) [#8298](https://github.com/nodejs/node/pull/8298)
-* **promises**: Unhandled rejections now emit a [process warning](https://nodejs.org/dist/latest-v6.x/docs/api/process.html#process\_event\_warning) after the first tick. (Benjamin Gruenbaum) [#8223](https://github.com/nodejs/node/pull/8223)
+* **promises**: Unhandled rejections now emit a [process warning](https://nodejs.org/dist/latest-v6.x/docs/api/process.html#process_event_warning) after the first tick. (Benjamin Gruenbaum) [#8223](https://github.com/nodejs/node/pull/8223)
* **repl**: Added auto alignment for `.editor` mode. (Prince J Wesley) [#8241](https://github.com/nodejs/node/pull/8241)
* **util**: Some functionality has been added to `util.inspect()`:
* Returning `this` from a custom inspect function now works. (Anna Henningsen) [#8174](https://github.com/nodejs/node/pull/8174)
diff --git a/doc/changelogs/CHANGELOG_V7.md b/doc/changelogs/CHANGELOG_V7.md
index e509034aa96c2d..120179523a8883 100644
--- a/doc/changelogs/CHANGELOG_V7.md
+++ b/doc/changelogs/CHANGELOG_V7.md
@@ -30,22 +30,23 @@
* Other Versions
- * [16.x](CHANGELOG\_V16.md)
- * [15.x](CHANGELOG\_V15.md)
- * [14.x](CHANGELOG\_V14.md)
- * [13.x](CHANGELOG\_V13.md)
- * [12.x](CHANGELOG\_V12.md)
- * [11.x](CHANGELOG\_V11.md)
- * [10.x](CHANGELOG\_V10.md)
- * [9.x](CHANGELOG\_V9.md)
- * [8.x](CHANGELOG\_V8.md)
- * [6.x](CHANGELOG\_V6.md)
- * [5.x](CHANGELOG\_V5.md)
- * [4.x](CHANGELOG\_V4.md)
- * [0.12.x](CHANGELOG\_V012.md)
- * [0.10.x](CHANGELOG\_V010.md)
- * [io.js](CHANGELOG\_IOJS.md)
- * [Archive](CHANGELOG\_ARCHIVE.md)
+ * [17.x](CHANGELOG_V17.md)
+ * [16.x](CHANGELOG_V16.md)
+ * [15.x](CHANGELOG_V15.md)
+ * [14.x](CHANGELOG_V14.md)
+ * [13.x](CHANGELOG_V13.md)
+ * [12.x](CHANGELOG_V12.md)
+ * [11.x](CHANGELOG_V11.md)
+ * [10.x](CHANGELOG_V10.md)
+ * [9.x](CHANGELOG_V9.md)
+ * [8.x](CHANGELOG_V8.md)
+ * [6.x](CHANGELOG_V6.md)
+ * [5.x](CHANGELOG_V5.md)
+ * [4.x](CHANGELOG_V4.md)
+ * [0.12.x](CHANGELOG_V012.md)
+ * [0.10.x](CHANGELOG_V010.md)
+ * [io.js](CHANGELOG_IOJS.md)
+ * [Archive](CHANGELOG_ARCHIVE.md)
@@ -496,7 +497,7 @@ Thank you to @italoacasas for preparing the majority of this release.
### Notable changes
-* **module**: The [module loading global fallback](https://nodejs.org/dist/latest-v6.x/docs/api/modules.html#modules\_loading\_from\_the\_global\_folders) to the Node executable's directory now works correctly on Windows. (Richard Lau) [#9283](https://github.com/nodejs/node/pull/9283)
+* **module**: The [module loading global fallback](https://nodejs.org/dist/latest-v6.x/docs/api/modules.html#modules_loading_from_the_global_folders) to the Node executable's directory now works correctly on Windows. (Richard Lau) [#9283](https://github.com/nodejs/node/pull/9283)
* **net**: `Socket.prototype.connect` now once again functions without a callback. (Juwan Yoo) [#11762](https://github.com/nodejs/node/pull/11762)
* **url**: `URL.prototype.origin` now properly specified an opaque return of `'null'` for `file://` URLs. (Brian White) [#11691](https://github.com/nodejs/node/pull/11691)
diff --git a/doc/changelogs/CHANGELOG_V8.md b/doc/changelogs/CHANGELOG_V8.md
index d62d42cdbd0cd9..8c0b1c5479d3cb 100644
--- a/doc/changelogs/CHANGELOG_V8.md
+++ b/doc/changelogs/CHANGELOG_V8.md
@@ -52,22 +52,23 @@
* Other Versions
- * [16.x](CHANGELOG\_V16.md)
- * [15.x](CHANGELOG\_V15.md)
- * [14.x](CHANGELOG\_V14.md)
- * [13.x](CHANGELOG\_V13.md)
- * [12.x](CHANGELOG\_V12.md)
- * [11.x](CHANGELOG\_V11.md)
- * [10.x](CHANGELOG\_V10.md)
- * [9.x](CHANGELOG\_V9.md)
- * [7.x](CHANGELOG\_V7.md)
- * [6.x](CHANGELOG\_V6.md)
- * [5.x](CHANGELOG\_V5.md)
- * [4.x](CHANGELOG\_V4.md)
- * [0.12.x](CHANGELOG\_V012.md)
- * [0.10.x](CHANGELOG\_V010.md)
- * [io.js](CHANGELOG\_IOJS.md)
- * [Archive](CHANGELOG\_ARCHIVE.md)
+ * [17.x](CHANGELOG_V17.md)
+ * [16.x](CHANGELOG_V16.md)
+ * [15.x](CHANGELOG_V15.md)
+ * [14.x](CHANGELOG_V14.md)
+ * [13.x](CHANGELOG_V13.md)
+ * [12.x](CHANGELOG_V12.md)
+ * [11.x](CHANGELOG_V11.md)
+ * [10.x](CHANGELOG_V10.md)
+ * [9.x](CHANGELOG_V9.md)
+ * [7.x](CHANGELOG_V7.md)
+ * [6.x](CHANGELOG_V6.md)
+ * [5.x](CHANGELOG_V5.md)
+ * [4.x](CHANGELOG_V4.md)
+ * [0.12.x](CHANGELOG_V012.md)
+ * [0.10.x](CHANGELOG_V010.md)
+ * [io.js](CHANGELOG_IOJS.md)
+ * [Archive](CHANGELOG_ARCHIVE.md)
_Note_: Node.js v8 is covered by the
[Node.js Long Term Support Plan](https://github.com/nodejs/LTS) and
@@ -401,7 +402,7 @@ Fixes for the following CVEs are included in this release:
* Headers received by HTTP servers must not exceed 8192 bytes in total to prevent possible Denial of Service attacks. Reported by Trevor Norris. (CVE-2018-12121 / Matteo Collina)
* A timeout of 40 seconds now applies to servers receiving HTTP headers. This value can be adjusted with `server.headersTimeout`. Where headers are not completely received within this period, the socket is destroyed on the next received chunk. In conjunction with `server.setTimeout()`, this aids in protecting against excessive resource retention and possible Denial of Service. Reported by Jan Maybach ([liebdich.com](https://liebdich.com)). (CVE-2018-12122 / Matteo Collina)
* Two-byte characters are now strictly disallowed for the `path` option in HTTP client requests. Paths containing characters outside of the range `\u0021` - `\u00ff` will now be rejected with a `TypeError`. This behavior can be reverted if necessary by supplying the `--security-revert=CVE-2018-12116` command line argument (this is not recommended). Reported as security concern for Node.js 6 and 8 by [Arkadiy Tetelman](https://twitter.com/arkadiyt) ([Lob](https://lob.com)), fixed by backporting a change by Benno Fünfstück applied to Node.js 10 and later. (CVE-2018-12116 / Matteo Collina)
-* **url**: Fix a bug that would allow a hostname being spoofed when parsing URLs with `url.parse()` with the `'javascript:'` protocol. Reported by [Martin Bajanik](https://twitter.com/\_bayotop) ([Kentico](https://kenticocloud.com/)). (CVE-2018-12123 / Matteo Collina)
+* **url**: Fix a bug that would allow a hostname being spoofed when parsing URLs with `url.parse()` with the `'javascript:'` protocol. Reported by [Martin Bajanik](https://twitter.com/_bayotop) ([Kentico](https://kenticocloud.com/)). (CVE-2018-12123 / Matteo Collina)
### Commits
diff --git a/doc/changelogs/CHANGELOG_V9.md b/doc/changelogs/CHANGELOG_V9.md
index 3be3a3c102ff2f..8373b13a524592 100644
--- a/doc/changelogs/CHANGELOG_V9.md
+++ b/doc/changelogs/CHANGELOG_V9.md
@@ -31,22 +31,23 @@
* Other Versions
- * [16.x](CHANGELOG\_V16.md)
- * [15.x](CHANGELOG\_V15.md)
- * [14.x](CHANGELOG\_V14.md)
- * [13.x](CHANGELOG\_V13.md)
- * [12.x](CHANGELOG\_V12.md)
- * [11.x](CHANGELOG\_V11.md)
- * [10.x](CHANGELOG\_V10.md)
- * [8.x](CHANGELOG\_V8.md)
- * [7.x](CHANGELOG\_V7.md)
- * [6.x](CHANGELOG\_V6.md)
- * [5.x](CHANGELOG\_V5.md)
- * [4.x](CHANGELOG\_V4.md)
- * [0.12.x](CHANGELOG\_V012.md)
- * [0.10.x](CHANGELOG\_V010.md)
- * [io.js](CHANGELOG\_IOJS.md)
- * [Archive](CHANGELOG\_ARCHIVE.md)
+ * [17.x](CHANGELOG_V17.md)
+ * [16.x](CHANGELOG_V16.md)
+ * [15.x](CHANGELOG_V15.md)
+ * [14.x](CHANGELOG_V14.md)
+ * [13.x](CHANGELOG_V13.md)
+ * [12.x](CHANGELOG_V12.md)
+ * [11.x](CHANGELOG_V11.md)
+ * [10.x](CHANGELOG_V10.md)
+ * [8.x](CHANGELOG_V8.md)
+ * [7.x](CHANGELOG_V7.md)
+ * [6.x](CHANGELOG_V6.md)
+ * [5.x](CHANGELOG_V5.md)
+ * [4.x](CHANGELOG_V4.md)
+ * [0.12.x](CHANGELOG_V012.md)
+ * [0.10.x](CHANGELOG_V010.md)
+ * [io.js](CHANGELOG_IOJS.md)
+ * [Archive](CHANGELOG_ARCHIVE.md)
diff --git a/doc/guides/collaborator-guide.md b/doc/guides/collaborator-guide.md
index b737ee85fbb9fa..736bfc53b135c3 100644
--- a/doc/guides/collaborator-guide.md
+++ b/doc/guides/collaborator-guide.md
@@ -51,7 +51,7 @@ request. See [Who to CC in the issue tracker](#who-to-cc-in-the-issue-tracker).
Always show courtesy to individuals submitting issues and pull requests. Be
welcoming to first-time contributors, identified by the GitHub
-![First-time contributor](../first\_timer\_badge.png) badge.
+![First-time contributor](../first_timer_badge.png) badge.
For first-time contributors, check if the commit author is the same as the pull
request author. This way, once their pull request lands, GitHub will show them
diff --git a/doc/guides/contributing/issues.md b/doc/guides/contributing/issues.md
index 26c64b773bcf4a..7cd043148ff000 100644
--- a/doc/guides/contributing/issues.md
+++ b/doc/guides/contributing/issues.md
@@ -53,7 +53,7 @@ project's GitHub organization plus a few contributions to the project
(commenting on issues or PRs) can apply for and become a triager. Open a PR
on the README.md of this project with: i) a request to be added as a triager,
ii) the motivation for becoming a triager, and iii) agreement on reading,
-understanding, and adhering to the project's [Code Of Conduct](https://github.com/nodejs/admin/blob/HEAD/CODE\_OF\_CONDUCT.md).
+understanding, and adhering to the project's [Code Of Conduct](https://github.com/nodejs/admin/blob/HEAD/CODE_OF_CONDUCT.md).
The triage role enables the ability to carry out the most common triage
activities, such as applying labels and closing/reopening/assigning issues.
diff --git a/doc/guides/cpp-style-guide.md b/doc/guides/cpp-style-guide.md
index 2d651049322173..0de0d2ec5baeba 100644
--- a/doc/guides/cpp-style-guide.md
+++ b/doc/guides/cpp-style-guide.md
@@ -14,9 +14,9 @@ Node.js codebase not related to stylistic issues.
* [Align function arguments vertically](#align-function-arguments-vertically)
* [Initialization lists](#initialization-lists)
* [CamelCase for methods, functions, and classes](#camelcase-for-methods-functions-and-classes)
- * [`snake_case` for local variables and parameters](#snake\_case-for-local-variables-and-parameters)
- * [`snake_case_` for private class fields](#snake\_case\_-for-private-class-fields)
- * [`snake_case` for C-like structs](#snake\_case-for-c-like-structs)
+ * [`snake_case` for local variables and parameters](#snake_case-for-local-variables-and-parameters)
+ * [`snake_case_` for private class fields](#snake_case_-for-private-class-fields)
+ * [`snake_case` for C-like structs](#snake_case-for-c-like-structs)
* [Space after `template`](#space-after-template)
* [Memory management](#memory-management)
* [Memory allocation](#memory-allocation)
diff --git a/doc/guides/node-postmortem-support.md b/doc/guides/node-postmortem-support.md
index a0b27c65792464..2136f953dcf636 100644
--- a/doc/guides/node-postmortem-support.md
+++ b/doc/guides/node-postmortem-support.md
@@ -67,6 +67,6 @@ sure all Node.js postmortem metadata are calculated correctly.
## Tools and references
* [llnode](https://github.com/nodejs/llnode): LLDB plugin
-* [`mdb_v8`](https://github.com/joyent/mdb\_v8): mdb plugin
+* [`mdb_v8`](https://github.com/joyent/mdb_v8): mdb plugin
* [nodejs/post-mortem](https://github.com/nodejs/post-mortem): Node.js
post-mortem working group
diff --git a/doc/guides/releases.md b/doc/guides/releases.md
index 72a449aeb339b7..afcdf59f8dcc13 100644
--- a/doc/guides/releases.md
+++ b/doc/guides/releases.md
@@ -15,7 +15,7 @@ official release builds for Node.js, hosted on .
* [0. Pre-release steps](#0-pre-release-steps)
* [1. Update the staging branch](#1-update-the-staging-branch)
* [2. Create a new branch for the release](#2-create-a-new-branch-for-the-release)
- * [3. Update `src/node_version.h`](#3-update-srcnode\_versionh)
+ * [3. Update `src/node_version.h`](#3-update-srcnode_versionh)
* [4. Update the changelog](#4-update-the-changelog)
* [5. Create release commit](#5-create-release-commit)
* [6. Propose release on GitHub](#6-propose-release-on-github)
diff --git a/doc/guides/writing-and-running-benchmarks.md b/doc/guides/writing-and-running-benchmarks.md
index bc54e7123c27ca..a5c52eafb8a3d7 100644
--- a/doc/guides/writing-and-running-benchmarks.md
+++ b/doc/guides/writing-and-running-benchmarks.md
@@ -347,7 +347,7 @@ $ cat compare-pr-5134.csv | sed '1p;/encoding='"'"ascii"'"'/!d' | Rscript benchm
...
```
-![compare tool boxplot](doc\_img/compare-boxplot.png)
+![compare tool boxplot](doc_img/compare-boxplot.png)
### Comparing parameters
@@ -427,7 +427,7 @@ chunkLen encoding rate confidence.interval
1024 utf8 2025551.2 81770.69
```
-![compare tool boxplot](doc\_img/scatter-plot.png)
+![compare tool boxplot](doc_img/scatter-plot.png)
### Running benchmarks on the CI
diff --git a/test/README.md b/test/README.md
index 5e678df286868e..0534d0dfb81774 100644
--- a/test/README.md
+++ b/test/README.md
@@ -17,7 +17,7 @@ For the tests to run on Windows, be sure to clone Node.js source code with the
| ---------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `abort` | Yes | Tests that use `--abort-on-uncaught-exception` and other situations where we want to test something but avoid generating a core file. |
| `addons` | Yes | Tests for [addon](https://nodejs.org/api/addons.html) functionality along with some tests that require an addon. |
-| `async-hooks` | Yes | Tests for [async\_hooks](https://nodejs.org/api/async\_hooks.html) functionality. |
+| `async-hooks` | Yes | Tests for [async\_hooks](https://nodejs.org/api/async_hooks.html) functionality. |
| `benchmark` | Yes | Test minimal functionality of benchmarks. |
| `cctest` | Yes | C++ tests that are run as part of the build process. |
| `code-cache` | No | Tests for a Node.js binary compiled with V8 code cache. |
diff --git a/tools/lint-md/lint-md.mjs b/tools/lint-md/lint-md.mjs
index 9d3903a1d4b478..baecd0a3e2d447 100644
--- a/tools/lint-md/lint-md.mjs
+++ b/tools/lint-md/lint-md.mjs
@@ -13579,6 +13579,21 @@ function joinDefaults(left, right, parent, context) {
* @typedef {import('./types.js').Unsafe} Unsafe
*/
+/**
+ * List of constructs that occur in phrasing (paragraphs, headings), but cannot
+ * contain things like attention (emphasis, strong), images, or links.
+ * So they sort of cancel each other out.
+ * Note: could use a better name.
+ */
+const fullPhrasingSpans = [
+ 'autolink',
+ 'destinationLiteral',
+ 'destinationRaw',
+ 'reference',
+ 'titleQuote',
+ 'titleApostrophe'
+];
+
/** @type {Array.} */
const unsafe = [
{character: '\t', after: '[\\r\\n]', inConstruct: 'phrasing'},
@@ -13617,7 +13632,12 @@ const unsafe = [
},
// An exclamation mark can start an image, if it is followed by a link or
// a link reference.
- {character: '!', after: '\\[', inConstruct: 'phrasing'},
+ {
+ character: '!',
+ after: '\\[',
+ inConstruct: 'phrasing',
+ notInConstruct: fullPhrasingSpans
+ },
// A quote can break out of a title.
{character: '"', inConstruct: 'titleQuote'},
// A number sign could start an ATX heading if it starts a line.
@@ -13630,14 +13650,20 @@ const unsafe = [
{character: "'", inConstruct: 'titleApostrophe'},
// A left paren could break out of a destination raw.
{character: '(', inConstruct: 'destinationRaw'},
- {before: '\\]', character: '(', inConstruct: 'phrasing'},
+ // A left paren followed by `]` could make something into a link or image.
+ {
+ before: '\\]',
+ character: '(',
+ inConstruct: 'phrasing',
+ notInConstruct: fullPhrasingSpans
+ },
// A right paren could start a list item or break out of a destination
// raw.
{atBreak: true, before: '\\d+', character: ')'},
{character: ')', inConstruct: 'destinationRaw'},
// An asterisk can start thematic breaks, list items, emphasis, strong.
{atBreak: true, character: '*'},
- {character: '*', inConstruct: 'phrasing'},
+ {character: '*', inConstruct: 'phrasing', notInConstruct: fullPhrasingSpans},
// A plus sign could start a list item.
{atBreak: true, character: '+'},
// A dash can start thematic breaks, list items, and setext heading
@@ -13652,7 +13678,12 @@ const unsafe = [
// An autolink also starts with a letter.
// Finally, it could break out of a destination literal.
{atBreak: true, character: '<', after: '[!/?A-Za-z]'},
- {character: '<', after: '[!/?A-Za-z]', inConstruct: 'phrasing'},
+ {
+ character: '<',
+ after: '[!/?A-Za-z]',
+ inConstruct: 'phrasing',
+ notInConstruct: fullPhrasingSpans
+ },
{character: '<', inConstruct: 'destinationLiteral'},
// An equals to can start setext heading underlines.
{atBreak: true, character: '='},
@@ -13663,7 +13694,8 @@ const unsafe = [
// Question mark and at sign are not used in markdown for constructs.
// A left bracket can start definitions, references, labels,
{atBreak: true, character: '['},
- {character: '[', inConstruct: ['phrasing', 'label', 'reference']},
+ {character: '[', inConstruct: 'phrasing', notInConstruct: fullPhrasingSpans},
+ {character: '[', inConstruct: ['label', 'reference']},
// A backslash can start an escape (when followed by punctuation) or a
// hard break (when followed by an eol).
// Note: typical escapes are handled in `safe`!
@@ -13673,18 +13705,15 @@ const unsafe = [
// Caret is not used in markdown for constructs.
// An underscore can start emphasis, strong, or a thematic break.
{atBreak: true, character: '_'},
- {character: '_', inConstruct: 'phrasing'},
+ {character: '_', inConstruct: 'phrasing', notInConstruct: fullPhrasingSpans},
// A grave accent can start code (fenced or text), or it can break out of
// a grave accent code fence.
{atBreak: true, character: '`'},
{
character: '`',
- inConstruct: [
- 'codeFencedLangGraveAccent',
- 'codeFencedMetaGraveAccent',
- 'phrasing'
- ]
+ inConstruct: ['codeFencedLangGraveAccent', 'codeFencedMetaGraveAccent']
},
+ {character: '`', inConstruct: 'phrasing', notInConstruct: fullPhrasingSpans},
// Left brace, vertical bar, right brace are not used in markdown for
// constructs.
// A tilde can start code (fenced).
diff --git a/tools/lint-md/package-lock.json b/tools/lint-md/package-lock.json
index 75e4ea906e72b5..59eb027bd9d132 100644
--- a/tools/lint-md/package-lock.json
+++ b/tools/lint-md/package-lock.json
@@ -730,9 +730,9 @@
}
},
"node_modules/mdast-util-to-markdown": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.2.3.tgz",
- "integrity": "sha512-040jJYtjOUdbvYAXCfPrpLJRdvMOmR33KRqlhT4r+fEbVM+jao1RMbA8RmGeRmw8RAj3vQ+HvhIaJPijvnOwCg==",
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.2.4.tgz",
+ "integrity": "sha512-Wive3NvrNS4OY5yYKBADdK1QSlbJUZyZ2ssanITUzNQ7sxMfBANTVjLrAA9BFXshaeG9G77xpOK/z+TTret5Hg==",
"dependencies": {
"@types/mdast": "^3.0.0",
"@types/unist": "^2.0.0",
@@ -3139,9 +3139,9 @@
}
},
"mdast-util-to-markdown": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.2.3.tgz",
- "integrity": "sha512-040jJYtjOUdbvYAXCfPrpLJRdvMOmR33KRqlhT4r+fEbVM+jao1RMbA8RmGeRmw8RAj3vQ+HvhIaJPijvnOwCg==",
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.2.4.tgz",
+ "integrity": "sha512-Wive3NvrNS4OY5yYKBADdK1QSlbJUZyZ2ssanITUzNQ7sxMfBANTVjLrAA9BFXshaeG9G77xpOK/z+TTret5Hg==",
"requires": {
"@types/mdast": "^3.0.0",
"@types/unist": "^2.0.0",