From 30fe4ed8c4d1ded5ce5e9bb42395b6ebb1740159 Mon Sep 17 00:00:00 2001 From: Richard Lau Date: Thu, 18 Mar 2021 16:52:00 +0000 Subject: [PATCH] 2021-03-30, Version 12.22.0 'Erbium' (LTS) Notable changes The legacy HTTP parser is runtime deprecated: - The legacy HTTP parser, selected by the `--http-parser=legacy` command line option, is deprecated with the pending End-of-Life of Node.js 10.x (where it is the only HTTP parser implementation provided) at the end of April 2021. It will now warn on use but otherwise continue to function and may be removed in a future Node.js 12.x release. - 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` command line option. ES Modules: - ES Modules are now considered stable. node-api: - Updated to node-api version 8 and added an experimental API to allow retrieval of the add-on file name. New API's to control code coverage data collection: - `v8.stopCoverage()` and `v8.takeCoverage()` have been added. New API to monitor event loop utilization by Worker threads - `worker.performance.eventLoopUtilization()` has been added. PR-URL: https://github.com/nodejs/node/pull/37797 --- CHANGELOG.md | 3 +- doc/api/deprecations.md | 3 ++ doc/api/esm.md | 1 + doc/api/n-api.md | 4 +- doc/api/v8.md | 8 +++- doc/api/worker_threads.md | 8 +++- doc/changelogs/CHANGELOG_V12.md | 66 +++++++++++++++++++++++++++++++++ 7 files changed, 87 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6a0c7c5ec485a6..75893626c92314 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -76,7 +76,8 @@ release. 14.0.0
-12.21.0
+12.22.0
+12.21.0
12.20.2
12.20.1
12.20.0
diff --git a/doc/api/deprecations.md b/doc/api/deprecations.md index b41ec032904f4f..0d66b2c4af72e8 100644 --- a/doc/api/deprecations.md +++ b/doc/api/deprecations.md @@ -2410,6 +2410,9 @@ changes: - version: v13.0.0 pr-url: https://github.com/nodejs/node/pull/29589 description: This feature has been removed. + - version: v12.22.0 + pr-url: https://github.com/nodejs/node/pull/37603 + description: Runtime deprecation. - version: v12.3.0 pr-url: https://github.com/nodejs/node/pull/27498 description: Documentation-only. diff --git a/doc/api/esm.md b/doc/api/esm.md index 73c72855b1fb18..fff9257b1bc4f6 100644 --- a/doc/api/esm.md +++ b/doc/api/esm.md @@ -7,6 +7,7 @@ added: v8.5.0 changes: - version: - v15.3.0 + - v12.22.0 pr-url: https://github.com/nodejs/node/pull/35781 description: Stabilize modules implementation. - version: diff --git a/doc/api/n-api.md b/doc/api/n-api.md index ad96dcae760c80..01e365ac050183 100644 --- a/doc/api/n-api.md +++ b/doc/api/n-api.md @@ -5957,7 +5957,9 @@ This API may only be called from the main thread. ## node_api_get_module_file_name > Stability: 1 - Experimental diff --git a/doc/api/v8.md b/doc/api/v8.md index ac2498a16f6fe9..41e4c7456284ca 100644 --- a/doc/api/v8.md +++ b/doc/api/v8.md @@ -226,7 +226,9 @@ setTimeout(() => { v8.setFlagsFromString('--notrace_gc'); }, 60e3); ## `v8.takeCoverage()` The `v8.takeCoverage()` method allows the user to write the coverage started by @@ -241,7 +243,9 @@ disk unless [`v8.stopCoverage()`][] is invoked before the process exits. ## `v8.stopCoverage()` The `v8.stopCoverage()` method allows the user to stop the coverage collection diff --git a/doc/api/worker_threads.md b/doc/api/worker_threads.md index 417d4594654705..47d2f7f440997c 100644 --- a/doc/api/worker_threads.md +++ b/doc/api/worker_threads.md @@ -1009,7 +1009,9 @@ immediately with an [`ERR_WORKER_NOT_RUNNING`][] error. ### `worker.performance` An object that can be used to query performance information from a worker @@ -1017,7 +1019,9 @@ instance. Similar to [`perf_hooks.performance`][]. #### `performance.eventLoopUtilization([utilization1[, utilization2]])` * `utilization1` {Object} The result of a previous call to diff --git a/doc/changelogs/CHANGELOG_V12.md b/doc/changelogs/CHANGELOG_V12.md index dc12d7cd5337b3..e1a062a8584d8c 100644 --- a/doc/changelogs/CHANGELOG_V12.md +++ b/doc/changelogs/CHANGELOG_V12.md @@ -11,6 +11,7 @@ +12.22.0
12.21.0
12.20.2
12.20.1
@@ -72,6 +73,71 @@ * [io.js](CHANGELOG_IOJS.md) * [Archive](CHANGELOG_ARCHIVE.md) + +## 2021-03-30, Version 12.22.0 'Erbium' (LTS), @richardlau + +### Notable changes + +#### The legacy HTTP parser is runtime deprecated + +The legacy HTTP parser, selected by the `--http-parser=legacy` command line +option, is deprecated with the pending End-of-Life of Node.js 10.x (where it +is the only HTTP parser implementation provided) at the end of April 2021. It +will now warn on use but otherwise continue to function and may be removed in +a future Node.js 12.x release. + +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) +command line option. + +Contributed by Beth Griggs [#37603](https://github.com/nodejs/node/pull/37603). + +#### ES Modules + +ES Modules are now considered stable. + +Contributed by Guy Bedford [#35781](https://github.com/nodejs/node/pull/35781) + +#### node-api + +Updated to node-api version 8 and added an experimental API to allow retrieval of the add-on file name. + +Contributed by Gabriel Schulhof [#37652](https://github.com/nodejs/node/pull/37652) and [#37195](https://github.com/nodejs/node/pull/37195). + +#### New API's to control code coverage data collection + +`v8.stopCoverage()` and `v8.takeCoverage()` have been added. + +Contributed by Joyee Cheung [#33807](https://github.com/nodejs/node/pull/33807). + +#### New API to monitor event loop utilization by Worker threads + +`worker.performance.eventLoopUtilization()` has been added. + +Contributed by Trevor Norris [#35664](https://github.com/nodejs/node/pull/35664). + +### Commits + +* [[`1872625990`](https://github.com/nodejs/node/commit/1872625990)] - **(SEMVER-MINOR)** **deps**: update to cjs-module-lexer@1.1.0 (Guy Bedford) [#37712](https://github.com/nodejs/node/pull/37712) +* [[`dfa04d9035`](https://github.com/nodejs/node/commit/dfa04d9035)] - **deps**: V8: cherry-pick beebee4f80ff (Peter Marshall) [#37293](https://github.com/nodejs/node/pull/37293) +* [[`bf8733fe22`](https://github.com/nodejs/node/commit/bf8733fe22)] - **doc**: mark modules implementation as stable (Guy Bedford) [#35781](https://github.com/nodejs/node/pull/35781) +* [[`0a35d49f56`](https://github.com/nodejs/node/commit/0a35d49f56)] - ***Revert*** "**embedding**: make Stop() stop Workers" (Anna Henningsen) [#32623](https://github.com/nodejs/node/pull/32623) +* [[`a0b610450a`](https://github.com/nodejs/node/commit/a0b610450a)] - **(SEMVER-MINOR)** **http**: runtime deprecate legacy HTTP parser (Beth Griggs) [#37603](https://github.com/nodejs/node/pull/37603) +* [[`2da24ac302`](https://github.com/nodejs/node/commit/2da24ac302)] - **lib**: add URI handling functions to primordials (Antoine du Hamel) [#37394](https://github.com/nodejs/node/pull/37394) +* [[`7b0ed4ba92`](https://github.com/nodejs/node/commit/7b0ed4ba92)] - **module**: improve support of data: URLs (Antoine du Hamel) [#37392](https://github.com/nodejs/node/pull/37392) +* [[`93dd799a86`](https://github.com/nodejs/node/commit/93dd799a86)] - **(SEMVER-MINOR)** **node-api**: define version 8 (Gabriel Schulhof) [#37652](https://github.com/nodejs/node/pull/37652) +* [[`f5692093d3`](https://github.com/nodejs/node/commit/f5692093d3)] - **(SEMVER-MINOR)** **node-api**: allow retrieval of add-on file name (Gabriel Schulhof) [#37195](https://github.com/nodejs/node/pull/37195) +* [[`6cef0e3678`](https://github.com/nodejs/node/commit/6cef0e3678)] - **src,test**: add regression test for nested Worker termination (Anna Henningsen) [#32623](https://github.com/nodejs/node/pull/32623) +* [[`364bf03a68`](https://github.com/nodejs/node/commit/364bf03a68)] - **test**: fix races in test-performance-eventlooputil (Gerhard Stoebich) [#36028](https://github.com/nodejs/node/pull/36028) +* [[`d7a4ccdf09`](https://github.com/nodejs/node/commit/d7a4ccdf09)] - **test**: correct test-worker-eventlooputil (Gerhard Stoebich) [#35891](https://github.com/nodejs/node/pull/35891) +* [[`0f6d44500c`](https://github.com/nodejs/node/commit/0f6d44500c)] - **test**: add cpu-profiler-crash test (Santiago Gimeno) [#37293](https://github.com/nodejs/node/pull/37293) +* [[`86f34ee18c`](https://github.com/nodejs/node/commit/86f34ee18c)] - **(SEMVER-MINOR)** **v8**: implement v8.stopCoverage() (Joyee Cheung) [#33807](https://github.com/nodejs/node/pull/33807) +* [[`8ddea3f16d`](https://github.com/nodejs/node/commit/8ddea3f16d)] - **(SEMVER-MINOR)** **v8**: implement v8.takeCoverage() (Joyee Cheung) [#33807](https://github.com/nodejs/node/pull/33807) +* [[`eec7542781`](https://github.com/nodejs/node/commit/eec7542781)] - **(SEMVER-MINOR)** **worker**: add eventLoopUtilization() (Trevor Norris) [#35664](https://github.com/nodejs/node/pull/35664) + ## 2021-02-23, Version 12.21.0 'Erbium' (LTS), @richardlau