From 86099a375af95f519ae699b68ce101aa20236c5f Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Sat, 30 Oct 2021 15:40:34 -0700 Subject: [PATCH] tools: avoid unnecessary escaping in markdown formatter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update mdast-util-to-markdown to 1.2.4 which reduces unnecessary escaping of `_` and some other characters. Re-run markdown formatter. PR-URL: https://github.com/nodejs/node/pull/40645 Reviewed-By: Antoine du Hamel Reviewed-By: Michaël Zasso --- BUILDING.md | 4 +- CHANGELOG.md | 36 +++++------ CODE_OF_CONDUCT.md | 2 +- CONTRIBUTING.md | 2 +- SECURITY.md | 2 +- doc/api/child_process.md | 2 +- doc/api/index.md | 14 ++-- doc/api/modules.md | 2 +- doc/api/process.md | 2 +- doc/api/tls.md | 6 +- doc/changelogs/CHANGELOG_ARCHIVE.md | 28 ++++---- doc/changelogs/CHANGELOG_IOJS.md | 52 +++++++-------- doc/changelogs/CHANGELOG_V010.md | 34 +++++----- doc/changelogs/CHANGELOG_V012.md | 34 +++++----- doc/changelogs/CHANGELOG_V10.md | 36 +++++------ doc/changelogs/CHANGELOG_V11.md | 36 +++++------ doc/changelogs/CHANGELOG_V12.md | 68 ++++++++++---------- doc/changelogs/CHANGELOG_V13.md | 34 +++++----- doc/changelogs/CHANGELOG_V14.md | 42 ++++++------ doc/changelogs/CHANGELOG_V15.md | 34 +++++----- doc/changelogs/CHANGELOG_V16.md | 38 +++++------ doc/changelogs/CHANGELOG_V17.md | 34 +++++----- doc/changelogs/CHANGELOG_V4.md | 38 +++++------ doc/changelogs/CHANGELOG_V5.md | 44 ++++++------- doc/changelogs/CHANGELOG_V6.md | 42 ++++++------ doc/changelogs/CHANGELOG_V7.md | 36 +++++------ doc/changelogs/CHANGELOG_V8.md | 36 +++++------ doc/changelogs/CHANGELOG_V9.md | 34 +++++----- doc/guides/collaborator-guide.md | 2 +- doc/guides/contributing/issues.md | 2 +- doc/guides/cpp-style-guide.md | 6 +- doc/guides/node-postmortem-support.md | 2 +- doc/guides/releases.md | 2 +- doc/guides/writing-and-running-benchmarks.md | 4 +- test/README.md | 2 +- tools/lint-md/lint-md.mjs | 51 +++++++++++---- tools/lint-md/package-lock.json | 12 ++-- 37 files changed, 442 insertions(+), 413 deletions(-) diff --git a/BUILDING.md b/BUILDING.md index ddbc8682940..a3faef3e288 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 48b59317966..a9c16604cfb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,24 +2,24 @@ Select a Node.js version below to view the changelog history: -* [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) +* [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 9a45c12f548..d724027fd9a 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 1c3bf6c65cd..d0d3f4f648e 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 3486e71f32a..859b88e8a17 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 c0f980a3bb9..360ece1095e 100644 --- a/doc/api/child_process.md +++ b/doc/api/child_process.md @@ -191,7 +191,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 7aba47edcb3..c0980fd798c 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 44e79592544..0730cc11971 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 12b4c9a6d6b..28db286bd90 100644 --- a/doc/api/process.md +++ b/doc/api/process.md @@ -2661,7 +2661,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 392d68bcb54..d8cc2f4efec 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()` @@ -1767,7 +1767,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 f3d942e57e4..600b54b3883 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 63466d6bb99..c4694ba67d9 100644 --- a/doc/changelogs/CHANGELOG_IOJS.md +++ b/doc/changelogs/CHANGELOG_IOJS.md @@ -62,22 +62,22 @@ * Other Versions - * [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) + * [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) @@ -340,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). @@ -423,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 @@ -717,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 @@ -906,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: @@ -1927,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: @@ -2772,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 9db32962918..97038ffea4e 100644 --- a/doc/changelogs/CHANGELOG_V010.md +++ b/doc/changelogs/CHANGELOG_V010.md @@ -64,23 +64,23 @@ * Other Versions - * [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) + * [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 b26a5925163..e61577e7793 100644 --- a/doc/changelogs/CHANGELOG_V012.md +++ b/doc/changelogs/CHANGELOG_V012.md @@ -32,23 +32,23 @@ * Other Versions - * [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) + * [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 df81b874faa..48a71cb9eec 100644 --- a/doc/changelogs/CHANGELOG_V10.md +++ b/doc/changelogs/CHANGELOG_V10.md @@ -58,23 +58,23 @@ * Other Versions - * [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) + * [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) @@ -1983,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 e3e351d5174..95c7e50580f 100644 --- a/doc/changelogs/CHANGELOG_V11.md +++ b/doc/changelogs/CHANGELOG_V11.md @@ -30,23 +30,23 @@ * Other Versions - * [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) + * [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) @@ -2118,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 d96e73f1e58..20a673042b4 100644 --- a/doc/changelogs/CHANGELOG_V12.md +++ b/doc/changelogs/CHANGELOG_V12.md @@ -62,23 +62,23 @@ * Other Versions - * [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) + * [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) @@ -276,7 +276,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). @@ -1561,7 +1561,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 @@ -1689,18 +1689,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 @@ -2805,7 +2805,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. @@ -4357,7 +4357,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). @@ -4650,7 +4650,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 4c5a6d8f6d3..f759ed07b8b 100644 --- a/doc/changelogs/CHANGELOG_V13.md +++ b/doc/changelogs/CHANGELOG_V13.md @@ -30,23 +30,23 @@ * Other Versions - * [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) + * [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 4a9d1636587..e6eb904f6d5 100644 --- a/doc/changelogs/CHANGELOG_V14.md +++ b/doc/changelogs/CHANGELOG_V14.md @@ -50,23 +50,23 @@ * Other Versions - * [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) + * [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) @@ -3940,10 +3940,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 845fd44c216..0acdea3ba80 100644 --- a/doc/changelogs/CHANGELOG_V15.md +++ b/doc/changelogs/CHANGELOG_V15.md @@ -31,23 +31,23 @@ * Other Versions - * [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) + * [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 00c811d129b..6186f65b795 100644 --- a/doc/changelogs/CHANGELOG_V16.md +++ b/doc/changelogs/CHANGELOG_V16.md @@ -36,23 +36,23 @@ * Other Versions - * [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) + * [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) @@ -766,7 +766,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]; @@ -913,7 +913,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 f400fdb7f13..abea4661a47 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 9e0812e59ac..8dac45fb1ee 100644 --- a/doc/changelogs/CHANGELOG_V4.md +++ b/doc/changelogs/CHANGELOG_V4.md @@ -56,23 +56,23 @@ * Other Versions - * [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) + * [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 @@ -262,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**: @@ -3226,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 74dee434dfb..b711a062455 100644 --- a/doc/changelogs/CHANGELOG_V5.md +++ b/doc/changelogs/CHANGELOG_V5.md @@ -32,26 +32,26 @@ * Other Versions - * [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) + * [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). @@ -638,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) @@ -1436,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 35193c34edb..0c5e1ee0d62 100644 --- a/doc/changelogs/CHANGELOG_V6.md +++ b/doc/changelogs/CHANGELOG_V6.md @@ -61,23 +61,23 @@ * Other Versions - * [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) + * [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 @@ -203,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 @@ -1660,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**: @@ -2087,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**: @@ -3697,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 cd15de16702..120179523a8 100644 --- a/doc/changelogs/CHANGELOG_V7.md +++ b/doc/changelogs/CHANGELOG_V7.md @@ -30,23 +30,23 @@ * Other Versions - * [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) + * [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) @@ -497,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 6bd908f6b45..8c0b1c5479d 100644 --- a/doc/changelogs/CHANGELOG_V8.md +++ b/doc/changelogs/CHANGELOG_V8.md @@ -52,23 +52,23 @@ * Other Versions - * [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) + * [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 @@ -402,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 6abd7960492..8373b13a524 100644 --- a/doc/changelogs/CHANGELOG_V9.md +++ b/doc/changelogs/CHANGELOG_V9.md @@ -31,23 +31,23 @@ * Other Versions - * [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) + * [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 b737ee85fbb..736bfc53b13 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 26c64b773bc..7cd043148ff 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 2d651049322..0de0d2ec5ba 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 a0b27c65792..2136f953dcf 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 72a449aeb33..afcdf59f8dc 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 bc54e7123c2..a5c52eafb8a 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 5e678df2868..0534d0dfb81 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 9d3903a1d4b..baecd0a3e2d 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 75e4ea906e7..59eb027bd9d 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",