From e761da8113f78278a25e93aefe97a4a1342e93c9 Mon Sep 17 00:00:00 2001
From: Danielle Adams <adamzdanielle@gmail.com>
Date: Tue, 16 Mar 2021 10:46:04 -0400
Subject: [PATCH] 2021-03-16, Version 15.12.0 (Current)

PR-URL: https://github.com/nodejs/node/pull/37766

Notable changes:

* crypto:
  * add optional callback to crypto.sign and crypto.verify (Filip Skokan) https://github.com/nodejs/node/pull/37500
  * support JWK objects in create\*Key (Filip Skokan) https://github.com/nodejs/node/pull/37254
* deps:
  * update archs files for OpenSSL-1.1.1+quic (James M Snell) https://github.com/nodejs/node/pull/37601
  * switch openssl to quictls/openssl (James M Snell) https://github.com/nodejs/node/pull/37601
* doc:
  * update maintaining-openssl guide (James M Snell) https://github.com/nodejs/node/pull/37601
* fs:
  * improve fsPromises writeFile performance (Nitzan Uziely) https://github.com/nodejs/node/pull/37610
  * add promisified readFile benchmark (Nitzan Uziely) https://github.com/nodejs/node/pull/37608
  * improve fsPromises readFile performance (Nitzan Uziely) https://github.com/nodejs/node/pull/37608
* lib:
  * implement AbortSignal.abort() (James M Snell) https://github.com/nodejs/node/pull/37693
* node-api:
  * define version 8 (Gabriel Schulhof) https://github.com/nodejs/node/pull/37652
* test:
  * update dom/abort tests (James M Snell) https://github.com/nodejs/node/pull/37693
  * fixup test to account for quic openssl version (James M Snell) https://github.com/nodejs/node/pull/37601
* worker:
  * add setEnvironmentData/getEnvironmentData (James M Snell) https://github.com/nodejs/node/pull/37486
---
 CHANGELOG.md                    |   3 +-
 doc/api/crypto.md               |   8 +-
 doc/api/globals.md              |   2 +-
 doc/api/http.md                 |   2 +-
 doc/api/worker_threads.md       |   6 +-
 doc/changelogs/CHANGELOG_V15.md | 129 ++++++++++++++++++++++++++++++++
 src/node_version.h              |   6 +-
 7 files changed, 143 insertions(+), 13 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index c835836808544d..bb8cc9457dbbff 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -32,7 +32,8 @@ release.
 </tr>
 <tr>
     <td valign="top">
-<b><a href="doc/changelogs/CHANGELOG_V15.md#15.11.0">15.11.0</a></b><br/>
+<b><a href="doc/changelogs/CHANGELOG_V15.md#15.12.0">15.12.0</a></b><br/>
+<a href="doc/changelogs/CHANGELOG_V15.md#15.11.0">15.11.0</a><br/>
 <a href="doc/changelogs/CHANGELOG_V15.md#15.10.0">15.10.0</a><br/>
 <a href="doc/changelogs/CHANGELOG_V15.md#15.9.0">15.9.0</a><br/>
 <a href="doc/changelogs/CHANGELOG_V15.md#15.8.0">15.8.0</a><br/>
diff --git a/doc/api/crypto.md b/doc/api/crypto.md
index 7c43b9ffd2f8b1..0918d599c287fc 100644
--- a/doc/api/crypto.md
+++ b/doc/api/crypto.md
@@ -3164,7 +3164,7 @@ input.on('readable', () => {
 <!-- YAML
 added: v11.6.0
 changes:
-  - version: REPLACEME
+  - version: v15.12.0
     pr-url: https://github.com/nodejs/node/pull/37254
     description: The key can also be a JWK object.
   - version: v15.0.0
@@ -3197,7 +3197,7 @@ of the passphrase is limited to 1024 bytes.
 <!-- YAML
 added: v11.6.0
 changes:
-  - version: REPLACEME
+  - version: v15.12.0
     pr-url: https://github.com/nodejs/node/pull/37254
     description: The key can also be a JWK object.
   - version: v15.0.0
@@ -4956,7 +4956,7 @@ Throws an error if FIPS mode is not available.
 <!-- YAML
 added: v12.0.0
 changes:
-  - version: REPLACEME
+  - version: v15.12.0
     pr-url: https://github.com/nodejs/node/pull/37500
     description: Optional callback argument added.
   - version:
@@ -5036,7 +5036,7 @@ not introduce timing vulnerabilities.
 <!-- YAML
 added: v12.0.0
 changes:
-  - version: REPLACEME
+  - version: v15.12.0
     pr-url: https://github.com/nodejs/node/pull/37500
     description: Optional callback argument added.
   - version: v15.0.0
diff --git a/doc/api/globals.md b/doc/api/globals.md
index 7b8c7249f57822..6f8c9d3b398c11 100644
--- a/doc/api/globals.md
+++ b/doc/api/globals.md
@@ -69,7 +69,7 @@ The `AbortSignal` is used to notify observers when the
 
 #### Static method: `AbortSignal.abort()`
 <!-- YAML
-added: REPLACEME
+added: v15.12.0
 -->
 
 * Returns: {AbortSignal}
diff --git a/doc/api/http.md b/doc/api/http.md
index 77fec9133a0214..e51ac128b84603 100644
--- a/doc/api/http.md
+++ b/doc/api/http.md
@@ -2272,7 +2272,7 @@ will result in a `TypeError` being thrown.
 ### `outgoingMessage.connection`
 <!-- YAML
 added: v0.3.0
-deprecated: REPLACEME
+deprecated: v15.12.0
 -->
 
 > Stability: 0 - Deprecated: Use [`outgoingMessage.socket`][] instead.
diff --git a/doc/api/worker_threads.md b/doc/api/worker_threads.md
index c8fc33750ee484..417d4594654705 100644
--- a/doc/api/worker_threads.md
+++ b/doc/api/worker_threads.md
@@ -63,7 +63,7 @@ specifically `argv` and `execArgv` options.
 
 ## `worker.getEnvironmentData(key)`
 <!-- YAML
-added: REPLACEME
+added: v15.12.0
 -->
 
 > Stability: 1 - Experimental
@@ -212,7 +212,7 @@ if (isMainThread) {
 <!-- YAML
 added: v12.3.0
 changes:
-  - version: REPLACEME
+  - version: v15.12.0
     pr-url: https://github.com/nodejs/node/pull/37535
     description: The port argument can also refer to a `BroadcastChannel` now.
 -->
@@ -280,7 +280,7 @@ new Worker('process.env.SET_IN_WORKER = "foo"', { eval: true, env: SHARE_ENV })
 
 ## `worker.setEnvironmentData(key[, value])`
 <!--YAML
-added: REPLACEME
+added: v15.12.0
 -->
 
 > Stability: 1 - Experimental
diff --git a/doc/changelogs/CHANGELOG_V15.md b/doc/changelogs/CHANGELOG_V15.md
index 6d576b66a77d4a..3129e236c22fb5 100644
--- a/doc/changelogs/CHANGELOG_V15.md
+++ b/doc/changelogs/CHANGELOG_V15.md
@@ -10,6 +10,7 @@
 </tr>
 <tr>
 <td>
+<a href="#15.12.0">15.12.0</a><br/>
 <a href="#15.11.0">15.11.0</a><br/>
 <a href="#15.10.0">15.10.0</a><br/>
 <a href="#15.9.0">15.9.0</a><br/>
@@ -46,6 +47,134 @@
   * [io.js](CHANGELOG_IOJS.md)
   * [Archive](CHANGELOG_ARCHIVE.md)
 
+<a id="15.12.0"></a>
+## 2021-03-16, Version 15.12.0 (Current), @danielleadams
+
+### Notable Changes
+
+* **crypto**:
+  * add optional callback to crypto.sign and crypto.verify (Filip Skokan) [#37500](https://github.com/nodejs/node/pull/37500)
+  * support JWK objects in create\*Key (Filip Skokan) [#37254](https://github.com/nodejs/node/pull/37254)
+* **deps**:
+  * update archs files for OpenSSL-1.1.1+quic (James M Snell) [#37601](https://github.com/nodejs/node/pull/37601)
+  * switch openssl to quictls/openssl (James M Snell) [#37601](https://github.com/nodejs/node/pull/37601)
+* **doc**:
+  * update maintaining-openssl guide (James M Snell) [#37601](https://github.com/nodejs/node/pull/37601)
+* **fs**:
+  * improve fsPromises writeFile performance (Nitzan Uziely) [#37610](https://github.com/nodejs/node/pull/37610)
+  * add promisified readFile benchmark (Nitzan Uziely) [#37608](https://github.com/nodejs/node/pull/37608)
+  * improve fsPromises readFile performance (Nitzan Uziely) [#37608](https://github.com/nodejs/node/pull/37608)
+* **lib**:
+  * implement AbortSignal.abort() (James M Snell) [#37693](https://github.com/nodejs/node/pull/37693)
+* **node-api**:
+  * define version 8 (Gabriel Schulhof) [#37652](https://github.com/nodejs/node/pull/37652)
+* **test**:
+  * update dom/abort tests (James M Snell) [#37693](https://github.com/nodejs/node/pull/37693)
+  * fixup test to account for quic openssl version (James M Snell) [#37601](https://github.com/nodejs/node/pull/37601)
+* **worker**:
+  * add setEnvironmentData/getEnvironmentData (James M Snell) [#37486](https://github.com/nodejs/node/pull/37486)
+
+### Commits
+
+* [[`ce8ac4dc50`](https://github.com/nodejs/node/commit/ce8ac4dc50)] - **assert,util**: fix commutativity edge case (Ruben Bridgewater) [#37711](https://github.com/nodejs/node/pull/37711)
+* [[`ea10155305`](https://github.com/nodejs/node/commit/ea10155305)] - **benchmark**: add benchmark for fsPromises.writeFile (Nitzan Uziely) [#37610](https://github.com/nodejs/node/pull/37610)
+* [[`e9028eb646`](https://github.com/nodejs/node/commit/e9028eb646)] - **cluster**: restructure to same prototype for cluster child (Yash Ladha) [#36610](https://github.com/nodejs/node/pull/36610)
+* [[`8e1257e26d`](https://github.com/nodejs/node/commit/8e1257e26d)] - **cluster**: clarify construct Handle (Jackson Tian) [#37385](https://github.com/nodejs/node/pull/37385)
+* [[`28e827f152`](https://github.com/nodejs/node/commit/28e827f152)] - **crypto**: reconcile duplicated code (James M Snell) [#37704](https://github.com/nodejs/node/pull/37704)
+* [[`6ef1d3363e`](https://github.com/nodejs/node/commit/6ef1d3363e)] - **crypto**: add internal error codes (Darshan Sen) [#37650](https://github.com/nodejs/node/pull/37650)
+* [[`5ff4959f70`](https://github.com/nodejs/node/commit/5ff4959f70)] - **(SEMVER-MINOR)** **crypto**: add optional callback to crypto.sign and crypto.verify (Filip Skokan) [#37500](https://github.com/nodejs/node/pull/37500)
+* [[`55e522ca23`](https://github.com/nodejs/node/commit/55e522ca23)] - **(SEMVER-MINOR)** **crypto**: support JWK objects in create\*Key (Filip Skokan) [#37254](https://github.com/nodejs/node/pull/37254)
+* [[`33180fad81`](https://github.com/nodejs/node/commit/33180fad81)] - **crypto**: add separate error for INVALID\_KEY\_TYPE (Darshan Sen) [#37555](https://github.com/nodejs/node/pull/37555)
+* [[`d81b9af1fc`](https://github.com/nodejs/node/commit/d81b9af1fc)] - **crypto**: improve randomUUID performance (Dawid Rusnak) [#37243](https://github.com/nodejs/node/pull/37243)
+* [[`23d654105f`](https://github.com/nodejs/node/commit/23d654105f)] - **crypto,test**: improve hmac coverage with webcrypto tests (obi-el) [#37571](https://github.com/nodejs/node/pull/37571)
+* [[`53b9805f7a`](https://github.com/nodejs/node/commit/53b9805f7a)] - **(SEMVER-MINOR)** **deps**: update archs files for OpenSSL-1.1.1+quic (James M Snell) [#37601](https://github.com/nodejs/node/pull/37601)
+* [[`8d0af3ee21`](https://github.com/nodejs/node/commit/8d0af3ee21)] - **(SEMVER-MINOR)** **deps**: switch openssl to quictls/openssl (James M Snell) [#37601](https://github.com/nodejs/node/pull/37601)
+* [[`efd14a9777`](https://github.com/nodejs/node/commit/efd14a9777)] - **deps**: upgrade npm to 7.6.3 (Ruy Adorno) [#37721](https://github.com/nodejs/node/pull/37721)
+* [[`1c62f2d7aa`](https://github.com/nodejs/node/commit/1c62f2d7aa)] - **deps**: V8: cherry-pick 1648e050cade (Colin Ihrig) [#37664](https://github.com/nodejs/node/pull/37664)
+* [[`7422453072`](https://github.com/nodejs/node/commit/7422453072)] - **deps**: upgrade npm to 7.6.1 (Ruy Adorno) [#37606](https://github.com/nodejs/node/pull/37606)
+* [[`9fad8210b5`](https://github.com/nodejs/node/commit/9fad8210b5)] - **doc**: add marsonya as a triager (marsonya) [#37667](https://github.com/nodejs/node/pull/37667)
+* [[`fb46d0380b`](https://github.com/nodejs/node/commit/fb46d0380b)] - **doc**: add hints to http.request() options (Luigi Pinca) [#37745](https://github.com/nodejs/node/pull/37745)
+* [[`faffb61090`](https://github.com/nodejs/node/commit/faffb61090)] - **(SEMVER-MINOR)** **doc**: update maintaining-openssl guide (James M Snell) [#37601](https://github.com/nodejs/node/pull/37601)
+* [[`05632605e5`](https://github.com/nodejs/node/commit/05632605e5)] - **doc**: recommend checking abortSignal.aborted first (James M Snell) [#37714](https://github.com/nodejs/node/pull/37714)
+* [[`ce0350d846`](https://github.com/nodejs/node/commit/ce0350d846)] - **doc**: fix link to googletest fixtures (Tobias Nießen) [#37698](https://github.com/nodejs/node/pull/37698)
+* [[`71150eeaec`](https://github.com/nodejs/node/commit/71150eeaec)] - **doc**: fix typo in description of close event (Tobias Nießen) [#37662](https://github.com/nodejs/node/pull/37662)
+* [[`4233d6ccec`](https://github.com/nodejs/node/commit/4233d6ccec)] - **doc**: use sentence case in README.md headers (marsonya) [#37645](https://github.com/nodejs/node/pull/37645)
+* [[`7530873a37`](https://github.com/nodejs/node/commit/7530873a37)] - **doc**: crypto esm examples (James M Snell) [#37594](https://github.com/nodejs/node/pull/37594)
+* [[`a3abd52e1e`](https://github.com/nodejs/node/commit/a3abd52e1e)] - **doc**: add localPort to http.request() options (Luigi Pinca) [#37586](https://github.com/nodejs/node/pull/37586)
+* [[`705bdfbe3e`](https://github.com/nodejs/node/commit/705bdfbe3e)] - **doc**: fix grammar errors in http document (Qingyu Deng) [#37265](https://github.com/nodejs/node/pull/37265)
+* [[`e5f7179d1e`](https://github.com/nodejs/node/commit/e5f7179d1e)] - **doc**: add document for http.OutgoingMessage (Qingyu Deng) [#37265](https://github.com/nodejs/node/pull/37265)
+* [[`7c0ce17e65`](https://github.com/nodejs/node/commit/7c0ce17e65)] - **doc**: fix typo in doc/guides/collaborator-guide.md (marsonya) [#37643](https://github.com/nodejs/node/pull/37643)
+* [[`60d8afa9ab`](https://github.com/nodejs/node/commit/60d8afa9ab)] - **doc**: document that module.evaluate fulfills as undefined (James M Snell) [#37663](https://github.com/nodejs/node/pull/37663)
+* [[`6192315cf3`](https://github.com/nodejs/node/commit/6192315cf3)] - **doc**: remove generated from dsaEncoding description (Marko Kaznovac) [#37459](https://github.com/nodejs/node/pull/37459)
+* [[`e4c8c50b28`](https://github.com/nodejs/node/commit/e4c8c50b28)] - **doc**: fix typos in /doc/api/fs.md (Merlin Luntke) [#37557](https://github.com/nodejs/node/pull/37557)
+* [[`ebc6f41072`](https://github.com/nodejs/node/commit/ebc6f41072)] - **doc**: fix linter issue (Antoine du Hamel) [#37657](https://github.com/nodejs/node/pull/37657)
+* [[`d17aab1775`](https://github.com/nodejs/node/commit/d17aab1775)] - **doc**: add esm examples for assert (James M Snell) [#37607](https://github.com/nodejs/node/pull/37607)
+* [[`366772bf87`](https://github.com/nodejs/node/commit/366772bf87)] - **doc**: add return type of readline.createInterface (Darshan Sen) [#37600](https://github.com/nodejs/node/pull/37600)
+* [[`f50db89a52`](https://github.com/nodejs/node/commit/f50db89a52)] - **doc**: change lang info string in fs JS snippets (Antoine du Hamel) [#37605](https://github.com/nodejs/node/pull/37605)
+* [[`5a9196e0e4`](https://github.com/nodejs/node/commit/5a9196e0e4)] - **doc**: apply sentence case to headers in pull-requests.md (marsonya) [#37602](https://github.com/nodejs/node/pull/37602)
+* [[`05badcf755`](https://github.com/nodejs/node/commit/05badcf755)] - **doc**: fix small typo in 15.11.0 release (Tierney Cyren) [#37590](https://github.com/nodejs/node/pull/37590)
+* [[`e0e7aa1058`](https://github.com/nodejs/node/commit/e0e7aa1058)] - **doc**: add top-level await syntax in vm.md (Antoine du Hamel) [#37077](https://github.com/nodejs/node/pull/37077)
+* [[`732d8ca811`](https://github.com/nodejs/node/commit/732d8ca811)] - **doc**: clarify that columnOffset applies only to the first line (James M Snell) [#37563](https://github.com/nodejs/node/pull/37563)
+* [[`267bbe3412`](https://github.com/nodejs/node/commit/267bbe3412)] - **doc**: document that NODE\_EXTRA\_CA\_CERTS is read only once (James M Snell) [#37562](https://github.com/nodejs/node/pull/37562)
+* [[`f56a805a0d`](https://github.com/nodejs/node/commit/f56a805a0d)] - **doc**: refactor signal info in child\_process.md (Darshan Sen) [#37528](https://github.com/nodejs/node/pull/37528)
+* [[`236ba04a79`](https://github.com/nodejs/node/commit/236ba04a79)] - **domain**: add name to monkey-patched emit function (Colin Ihrig) [#37550](https://github.com/nodejs/node/pull/37550)
+* [[`1c09776106`](https://github.com/nodejs/node/commit/1c09776106)] - **domain**: show falsy names as anonymous for DEP0097 (Colin Ihrig) [#37550](https://github.com/nodejs/node/pull/37550)
+* [[`35b03957b0`](https://github.com/nodejs/node/commit/35b03957b0)] - **errors**: remove experimental from --enable-source-maps (Benjamin Coe) [#37743](https://github.com/nodejs/node/pull/37743)
+* [[`3acba1d519`](https://github.com/nodejs/node/commit/3acba1d519)] - **events**: remove return value on addEventListener (James M Snell) [#37696](https://github.com/nodejs/node/pull/37696)
+* [[`e55621567f`](https://github.com/nodejs/node/commit/e55621567f)] - **fs**: improve fsPromises writeFile performance (Nitzan Uziely) [#37610](https://github.com/nodejs/node/pull/37610)
+* [[`3572299fc2`](https://github.com/nodejs/node/commit/3572299fc2)] - **fs**: add promisified readFile benchmark (Nitzan Uziely) [#37608](https://github.com/nodejs/node/pull/37608)
+* [[`b277776845`](https://github.com/nodejs/node/commit/b277776845)] - **fs**: improve fsPromises readFile performance (Nitzan Uziely) [#37608](https://github.com/nodejs/node/pull/37608)
+* [[`77c5c2f3d1`](https://github.com/nodejs/node/commit/77c5c2f3d1)] - **http**: refactor to avoid unsafe array iteration (Antoine du Hamel) [#37654](https://github.com/nodejs/node/pull/37654)
+* [[`e4667eb9e5`](https://github.com/nodejs/node/commit/e4667eb9e5)] - **http2**: make res.req a normal property (Colin Ihrig) [#37706](https://github.com/nodejs/node/pull/37706)
+* [[`a4e9edbd82`](https://github.com/nodejs/node/commit/a4e9edbd82)] - **(SEMVER-MINOR)** **lib**: implement AbortSignal.abort() (James M Snell) [#37693](https://github.com/nodejs/node/pull/37693)
+* [[`8c084d938a`](https://github.com/nodejs/node/commit/8c084d938a)] - **lib**: use AbortError consistently (James M Snell) [#37715](https://github.com/nodejs/node/pull/37715)
+* [[`5d12de3b7d`](https://github.com/nodejs/node/commit/5d12de3b7d)] - **lib**: fix typo in lib/internal/http2/core.js (marsonya) [#37695](https://github.com/nodejs/node/pull/37695)
+* [[`852f53ed7e`](https://github.com/nodejs/node/commit/852f53ed7e)] - **lib**: fix typo in lib/internal/bootstrap/loaders.js (marsonya) [#37644](https://github.com/nodejs/node/pull/37644)
+* [[`daa4ac54c5`](https://github.com/nodejs/node/commit/daa4ac54c5)] - **lib**: remove use of array destructuring (Antoine du Hamel) [#36818](https://github.com/nodejs/node/pull/36818)
+* [[`bb1967cd30`](https://github.com/nodejs/node/commit/bb1967cd30)] - **module**: refactor NativeModule to avoid unsafe array iteration (Antoine du Hamel) [#37656](https://github.com/nodejs/node/pull/37656)
+* [[`f93d03ddfc`](https://github.com/nodejs/node/commit/f93d03ddfc)] - **(SEMVER-MINOR)** **node-api**: define version 8 (Gabriel Schulhof) [#37652](https://github.com/nodejs/node/pull/37652)
+* [[`4f892aff34`](https://github.com/nodejs/node/commit/4f892aff34)] - **src**: fix variable name of OnCloseReceived callback (Tobias Nießen) [#37521](https://github.com/nodejs/node/pull/37521)
+* [[`d59c6de7e8`](https://github.com/nodejs/node/commit/d59c6de7e8)] - **src**: add error formatting support (Gus Caplan) [#37598](https://github.com/nodejs/node/pull/37598)
+* [[`33436e39fe`](https://github.com/nodejs/node/commit/33436e39fe)] - **src**: make BaseObject::is\_snapshotable virtual (Anna Henningsen) [#37539](https://github.com/nodejs/node/pull/37539)
+* [[`bcbdcfc7fc`](https://github.com/nodejs/node/commit/bcbdcfc7fc)] - **src,test**: support dynamically linking OpenSSL 3.0 (Daniel Bevenius) [#37669](https://github.com/nodejs/node/pull/37669)
+* [[`756328a8de`](https://github.com/nodejs/node/commit/756328a8de)] - **stream,util**: fix "the the" typo in comments (Luigi Pinca) [#37674](https://github.com/nodejs/node/pull/37674)
+* [[`ba5a0d921e`](https://github.com/nodejs/node/commit/ba5a0d921e)] - **(SEMVER-MINOR)** **test**: update dom/abort tests (James M Snell) [#37693](https://github.com/nodejs/node/pull/37693)
+* [[`345af4dd5c`](https://github.com/nodejs/node/commit/345af4dd5c)] - **(SEMVER-MINOR)** **test**: fixup test to account for quic openssl version (James M Snell) [#37601](https://github.com/nodejs/node/pull/37601)
+* [[`e6e2112edb`](https://github.com/nodejs/node/commit/e6e2112edb)] - **test**: address flaky wpt/test-timers (Rich Trott) [#37691](https://github.com/nodejs/node/pull/37691)
+* [[`7fd2a69cd2`](https://github.com/nodejs/node/commit/7fd2a69cd2)] - **test**: fixup flaky test-crypto-x509 (Filip Skokan) [#37709](https://github.com/nodejs/node/pull/37709)
+* [[`013b3ff2d4`](https://github.com/nodejs/node/commit/013b3ff2d4)] - **test**: remove unnecessary V8 flag (Antoine du Hamel) [#37671](https://github.com/nodejs/node/pull/37671)
+* [[`cc48816826`](https://github.com/nodejs/node/commit/cc48816826)] - **test**: fix WPT URL tests that fetch JSON data (Michaël Zasso) [#37624](https://github.com/nodejs/node/pull/37624)
+* [[`b0ed1e790e`](https://github.com/nodejs/node/commit/b0ed1e790e)] - **test**: improve error reporting in test-child-process-pipe-dataflow (Rich Trott) [#37632](https://github.com/nodejs/node/pull/37632)
+* [[`f7edb07ec2`](https://github.com/nodejs/node/commit/f7edb07ec2)] - **test**: terminate WPT workers after test completion (Michaël Zasso) [#37627](https://github.com/nodejs/node/pull/37627)
+* [[`b7ef829dac`](https://github.com/nodejs/node/commit/b7ef829dac)] - **test**: ignore WPT worker errors after tests finished (Michaël Zasso) [#37626](https://github.com/nodejs/node/pull/37626)
+* [[`257b1ab225`](https://github.com/nodejs/node/commit/257b1ab225)] - **test**: update Web Platform Tests (Michaël Zasso) [#37620](https://github.com/nodejs/node/pull/37620)
+* [[`1f6341852f`](https://github.com/nodejs/node/commit/1f6341852f)] - **test**: remove FLAKY status for test-async-hooks-http-parser-destroy (Rich Trott) [#37636](https://github.com/nodejs/node/pull/37636)
+* [[`044fd2fc86`](https://github.com/nodejs/node/commit/044fd2fc86)] - **test**: remove FLAKY status for fixed test (Rich Trott) [#37633](https://github.com/nodejs/node/pull/37633)
+* [[`d5ff50d2a7`](https://github.com/nodejs/node/commit/d5ff50d2a7)] - **test**: clear flaky designation for test-stream-pipeline-http2 (Rich Trott) [#37631](https://github.com/nodejs/node/pull/37631)
+* [[`381fb98061`](https://github.com/nodejs/node/commit/381fb98061)] - **test**: clear FLAKY designation for test-http2-pipe (Rich Trott) [#37631](https://github.com/nodejs/node/pull/37631)
+* [[`0582c51754`](https://github.com/nodejs/node/commit/0582c51754)] - **test**: fix wasi/test-return-on-exit on 32-bit systems (Colin Ihrig) [#37615](https://github.com/nodejs/node/pull/37615)
+* [[`0d04b6c043`](https://github.com/nodejs/node/commit/0d04b6c043)] - **test**: fix flaky test-child-process-exec-abortcontroller-promisified (Antoine du Hamel) [#37572](https://github.com/nodejs/node/pull/37572)
+* [[`a44daff34d`](https://github.com/nodejs/node/commit/a44daff34d)] - **test**: update all Web Platform Tests (Michaël Zasso) [#37467](https://github.com/nodejs/node/pull/37467)
+* [[`c09bd77daf`](https://github.com/nodejs/node/commit/c09bd77daf)] - **test**: redownload wpt fixtures with correct encoding (Michaël Zasso) [#37467](https://github.com/nodejs/node/pull/37467)
+* [[`2577f105b9`](https://github.com/nodejs/node/commit/2577f105b9)] - **test,crypto**: ensure promises resolve in webcrypto tests (Antoine du Hamel) [#37653](https://github.com/nodejs/node/pull/37653)
+* [[`311ddc938f`](https://github.com/nodejs/node/commit/311ddc938f)] - **tls**: refactor to avoid unsafe array iteration (Antoine du Hamel) [#37655](https://github.com/nodejs/node/pull/37655)
+* [[`dba24b3001`](https://github.com/nodejs/node/commit/dba24b3001)] - **tools**: use bundled npm in update scripts (Ruy Adorno) [#37613](https://github.com/nodejs/node/pull/37613)
+* [[`4de3b8483a`](https://github.com/nodejs/node/commit/4de3b8483a)] - **tools**: update glob-parent to 5.1.2 (Rich Trott) [#37646](https://github.com/nodejs/node/pull/37646)
+* [[`ec71a0f817`](https://github.com/nodejs/node/commit/ec71a0f817)] - **tools**: check version number in YAML comments from changelogs (Antoine du Hamel) [#37599](https://github.com/nodejs/node/pull/37599)
+* [[`07fc61b900`](https://github.com/nodejs/node/commit/07fc61b900)] - **tools**: add support for mjs and cjs JS snippet linting (Antoine du Hamel) [#37311](https://github.com/nodejs/node/pull/37311)
+* [[`440c944420`](https://github.com/nodejs/node/commit/440c944420)] - **tools**: fix object name in prefer-assert-methods.js (Tobias Nießen) [#37544](https://github.com/nodejs/node/pull/37544)
+* [[`7042ec89f1`](https://github.com/nodejs/node/commit/7042ec89f1)] - **tools**: update remark-preset-lint-node to 2.1.1 (Rich Trott) [#37604](https://github.com/nodejs/node/pull/37604)
+* [[`82e78f7c12`](https://github.com/nodejs/node/commit/82e78f7c12)] - **tools**: fix compiler warning in inspector\_protocol (Darshan Sen) [#37573](https://github.com/nodejs/node/pull/37573)
+* [[`fd7234c52f`](https://github.com/nodejs/node/commit/fd7234c52f)] - **tools**: make update-eslint.sh work with npm@7 (Luigi Pinca) [#37566](https://github.com/nodejs/node/pull/37566)
+* [[`057c6a842a`](https://github.com/nodejs/node/commit/057c6a842a)] - **tools**: add ESLint rule no-array-destructuring (Antoine du Hamel) [#36818](https://github.com/nodejs/node/pull/36818)
+* [[`25a5f0b3b8`](https://github.com/nodejs/node/commit/25a5f0b3b8)] - **tools**: update eslint-plugin-markdown configuration (Colin Ihrig) [#37549](https://github.com/nodejs/node/pull/37549)
+* [[`7a1de1fce9`](https://github.com/nodejs/node/commit/7a1de1fce9)] - **tools**: update ESLint to 7.21.0 (Luigi Pinca) [#37546](https://github.com/nodejs/node/pull/37546)
+* [[`9c0ca4689d`](https://github.com/nodejs/node/commit/9c0ca4689d)] - **tools,doc**: add support for several flavors of JS code snippets (Antoine du Hamel) [#37162](https://github.com/nodejs/node/pull/37162)
+* [[`8fdc4a5cdf`](https://github.com/nodejs/node/commit/8fdc4a5cdf)] - **util**: inspect \_\_proto\_\_ key as written in object literal (Anna Henningsen) [#37713](https://github.com/nodejs/node/pull/37713)
+* [[`b62c08b284`](https://github.com/nodejs/node/commit/b62c08b284)] - **(SEMVER-MINOR)** **worker**: add setEnvironmentData/getEnvironmentData (James M Snell) [#37486](https://github.com/nodejs/node/pull/37486)
+* [[`8024ffbba4`](https://github.com/nodejs/node/commit/8024ffbba4)] - **worker**: add ports property to MessageEvents (Anna Henningsen) [#37538](https://github.com/nodejs/node/pull/37538)
+* [[`f4fd3fb6a7`](https://github.com/nodejs/node/commit/f4fd3fb6a7)] - **worker**: allow BroadcastChannel in receiveMessageOnPort (Anna Henningsen) [#37535](https://github.com/nodejs/node/pull/37535)
+
 <a id="15.11.0"></a>
 ## 2021-03-03, Version 15.11.0 (Current), @targos
 
diff --git a/src/node_version.h b/src/node_version.h
index 0fd99c6f4d9df4..c19fa34a62d996 100644
--- a/src/node_version.h
+++ b/src/node_version.h
@@ -23,13 +23,13 @@
 #define SRC_NODE_VERSION_H_
 
 #define NODE_MAJOR_VERSION 15
-#define NODE_MINOR_VERSION 11
-#define NODE_PATCH_VERSION 1
+#define NODE_MINOR_VERSION 12
+#define NODE_PATCH_VERSION 0
 
 #define NODE_VERSION_IS_LTS 0
 #define NODE_VERSION_LTS_CODENAME ""
 
-#define NODE_VERSION_IS_RELEASE 0
+#define NODE_VERSION_IS_RELEASE 1
 
 #ifndef NODE_STRINGIFY
 #define NODE_STRINGIFY(n) NODE_STRINGIFY_HELPER(n)