New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
module: add support for node:
‑prefixed require(…)
calls
#37246
Conversation
8615225
to
4f61960
Compare
You read my mind, I was precisely working on this. I noticed it produces an arguably better error when trying to load internal modules: $ node -p "require('internal/test/binding')"
Error: Cannot find module 'internal/test/binding'
$ node -p "require('node:internal/test/binding')"
Error: Should not compile internal/test/binding for public use Can you add tests in |
e740b61
to
320ef5e
Compare
); | ||
} | ||
|
||
// `node:`-prefixed `require(...)` calls bypass the require cache: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this differs from other builtins, I love it, but want to be sure it is intentional.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this actually seems like an issue - it means someone who replaces a builtin intentionally can’t replace one of these (altho presumably mutating a builtin would be visible in both). That could cause an issue where someone wants to use a package to instrument or lock down fs
(and thus, policies are not an ergonomic option, unless I’m misunderstanding how policies work), but accidentally leaves a gaping security hole when an attacker requires node:fs
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
policies should intercept before any of the resolution helpers even get called
node/lib/internal/modules/cjs/helpers.js
Line 52 in 36cc0ee
if (redirects) { |
module.require
and get here without some kind of opt-in to the behavior (like dependencies:true
).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
At the very least this needs documentation and probably a strong indication people using policies + instrumenting fs now need to update the policy.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My point was that policies aren’t currently required to ensure this for CJS - a package (not the app itself) can do it. Forcing policies to be the mechanism means packages are no longer capable of abstracting this for users.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Totally understood. Given that policies are the superior mechanism for app developers to lock things down, what's the benefit of adding special, inconsistent, cache-bypassing behavior for require
with a node:
prefix?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ljharb i have no strong opinion on if we should diverge, but cache first behavior of CJS isn't shared by ESM and isn't robust against things like core destructuring the original impls. My like is just that it isn't a confusing situation like with fs/
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
but cache first behavior of CJS isn't shared by ESM and isn't robust against things like core destructuring the original impls.
This is demonstrated by:
const fs = require('fs');
const fakeModule = {};
require.cache.fs = { exports: fakeModule };
assert.strictEqual((await import('fs')).default, fs);
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
indeed, but that doesn’t mean it’s a good idea to make CJS inconsistent with itself.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think CJS is able to be claimed as consistent with itself since in general the natives don't normally populate the cache. I think it was just ad-hoc written together and the cache behavior is evolutionary not intentional or well understood (even by me).
3634cd4
to
d196d45
Compare
@@ -837,7 +850,8 @@ Module._load = function(request, parent, isMain) { | |||
}; | |||
|
|||
Module._resolveFilename = function(request, parent, isMain, options) { | |||
if (NativeModule.canBeRequiredByUsers(request)) { | |||
if (StringPrototypeStartsWith(request, 'node:') || | |||
NativeModule.canBeRequiredByUsers(request)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This bifurcation will have implications for mocking, but I can appreciate the benefit too.
I'd still prefer a more convergent path here eg, to return node:fs
for both node:fs
and fs
inputs, and then to still populate a cache['fs']
entry in the node:fs
case as the same object for backwards compatibility. Such a change would hopefully be mostly compatible but would probably need to be a separate major nontheless. Worth thinking about at least.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Existing mocking tools (such as Jest) provide their own require(…)
implementation, since they need to be able to bypass the mocked module using jest.requireActual(…)
.
10b08bf
to
8564814
Compare
if (StringPrototypeStartsWith(filename, 'node:')) { | ||
// Slice 'node:' prefix | ||
const id = StringPrototypeSlice(filename, 5); | ||
|
||
const module = loadNativeModule(id, request); | ||
if (!module?.canBeRequiredByUsers) { | ||
throw new ERR_UNKNOWN_BUILTIN_MODULE(filename); | ||
} | ||
|
||
return module.exports; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is the motivation for short-circuiting the cache here, something that has never been done previously for native modules?
I don't see why this scheme should be any different to any other in this regard.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On this topic, should we throw or defer to cache on unknown builtins?
8564814
to
b0fbc91
Compare
Just making sure #37246 (comment) is addressed before landing :) (namely the caveat) - I'm appreciative of the work put in, thanks!
Also would like more @nodejs/modules and @nodejs/tsc eyes on this.
(The actual changes LGTM)
Notable changes: Deprecations and Removals: - **(SEMVER-MAJOR)** **fs**: remove permissive rmdir recursive (Antoine du Hamel) [#37216] - **(SEMVER-MAJOR)** **fs**: runtime deprecate rmdir recursive option (Antoine du Hamel) [#37302] - **(SEMVER-MAJOR)** **lib**: runtime deprecate access to process.binding('http_parser') (James M Snell) [#37813] - **(SEMVER-MAJOR)** **lib**: runtime deprecate access to process.binding('url') (James M Snell) [#37799] - **(SEMVER-MAJOR)** **lib**: make process.binding('util') return only type checkers (Anna Henningsen) [#37819] - **(SEMVER-MAJOR)** **lib**: runtime deprecate access to process.binding('crypto') (James M Snell) [#37790] - **(SEMVER-MAJOR)** **lib**: runtime deprecate access to process.binding('signal_wrap') (James M Snell) [#37800] - **(SEMVER-MAJOR)** **lib**: runtime deprecate access to process.binding('v8') (James M Snell) [#37789] - **(SEMVER-MAJOR)** **lib**: runtime deprecate access to process.binding('async_wrap') (James M Snell) [#37576] - **(SEMVER-MAJOR)** **module**: remove module.createRequireFromPath (Antoine du Hamel) [#37201] - **(SEMVER-MAJOR)** **module**: runtime deprecate subpath folder mappings (Antoine du Hamel) [#37215] - **(SEMVER-MAJOR)** **module**: runtime deprecate "main" index and extension lookups (Antoine du Hamel) [#37206] - **(SEMVER-MAJOR)** **module**: runtime deprecate invalid package.json main entries (Antoine du Hamel) [#37204] - **(SEMVER-MAJOR)** **process**: runtime deprecate changing process.config (James M Snell) [#36902] Stable Timers Promises API: The Timers Promises API provides an alternative set of timer functions that return Promise objects. Added in Node.js v15.0.0, in this release they graduate from experimental status to stable. Contributed by James Snell - [#38112] Toolchain and Compiler Upgrades: Node.js v16.0.0 will be the first release where we ship prebuilt binaries for Apple Silicon. While we’ll be providing separate tarballs for the Intel (`darwin-x64`) and ARM (`darwin-arm64`) architectures the macOS installer (`.pkg`) will be shipped as a ‘fat’ (multi-architecture) binary. - **(SEMVER-MAJOR)** **build**: remove support for Python 2 (Christian Clauss) [#36691] - **(SEMVER-MAJOR)** **build**: default PYTHON to python3 in Makefile (Michaël Zasso) [#37764] - **build**: update Makefile to support fat binary (Ash Cripps) [#37861] - **(SEMVER-MAJOR)** **build**: enable ASLR (PIE) on OS X (woodfairy) [#35704] - **build**: warn for gcc versions earlier than 8.3.0 (Richard Lau) [#37935] - **(SEMVER-MAJOR)** **doc**: update minimum supported Xcode to 11 (Michaël Zasso) [#37872] - **(SEMVER-MAJOR)** **doc**: update minimum supported GCC to 8.3 (Michaël Zasso) [#37871] - **(SEMVER-MAJOR)** **doc**: update AIX to GCC8 for v16.x (Ash Cripps) [#37677] - **tools**: set arch in Distribution.xml (Ash Cripps) [#38261] V8 9.0: The V8 JavaScript engine is updated to V8 9.0, including performance tweaks and improvements. This update also brings the ECMAScript RegExp Match Indices, which provide the start and end indices of the captured string. The indices array is available via the `.indices` property on match objects when the regular expression has the `/d` flag. Contributed by Michaël Zasso - [#37587] Other Notable Changes: - **(SEMVER-MINOR)** **assert**: graduate assert.match and assert.doesNotMatch (James M Snell) [#38111] - **(SEMVER-MAJOR)** **buffer**: expose btoa and atob as globals (James M Snell) [#37786] - **(SEMVER-MAJOR)** **deps**: bump minimum ICU version to 68 (Michaël Zasso) [#37330] - **deps**: update ICU to 69.1 (Michaël Zasso) [#38178] - **deps**: update llhttp to 6.0.0 (Fedor Indutny) [#38277] - **deps**: upgrade npm to 7.10.0 (Ruy Adorno) [#38254] - **(SEMVER-MINOR)** **http**: add http.ClientRequest.getRawHeaderNames() (simov) [#37660] - **(SEMVER-MAJOR)** **lib,src**: update cluster to use Parent (Michael Dawson) [#36478] - **(SEMVER-MINOR)** **module**: add support for `node:`‑prefixed `require(…)` calls (ExE Boss) [#37246] - **(SEMVER-MINOR)** **perf_hooks**: add histogram option to timerify (James M Snell) [#37475] - **(SEMVER-MINOR)** **repl**: add auto‑completion for `node:`‑prefixed `require(…)` calls (ExE Boss) [#37246] - **(SEMVER-MINOR)** **util**: add getSystemErrorMap() impl (eladkeyshawn) [#38101] Semver-Major Commits: - **(SEMVER-MAJOR)** **async_hooks**: add thisArg to AsyncResource.bind (James M Snell) [#36782] - **(SEMVER-MAJOR)** **buffer**: expose btoa and atob as globals (James M Snell) [#37786] - **(SEMVER-MAJOR)** **build**: remove support for Python 2 (Christian Clauss) [#36691] - **(SEMVER-MAJOR)** **build**: default PYTHON to python3 in Makefile (Michaël Zasso) [#37764] - **(SEMVER-MAJOR)** **build**: update Makefile to support fat binary (Ash Cripps) [#37861] - **(SEMVER-MAJOR)** **build**: include minimal V8 headers in distribution (Michaël Zasso) [#37570] - **(SEMVER-MAJOR)** **build**: use C++11 ABI with libstdc++ (Anna Henningsen) [#36634] - **(SEMVER-MAJOR)** **build**: enable ASLR (PIE) on OS X (woodfairy) [#35704] - **(SEMVER-MAJOR)** **deps**: update V8 to 9.0.257.11 (Michaël Zasso) [#37587] - **(SEMVER-MAJOR)** **deps**: bump minimum ICU version to 68 (Michaël Zasso) [#37330] - **(SEMVER-MAJOR)** **deps**: update V8 to 8.9.255.19 (Michaël Zasso) [#37330] - **(SEMVER-MAJOR)** **deps**: update V8 to 8.8.278.17 (Michaël Zasso) [#36139] - **(SEMVER-MAJOR)** **deps**: update V8 to 8.7.220 (Michaël Zasso) [#35700] - **(SEMVER-MAJOR)** **dns**: use url module instead of punycode for IDNA (Antoine du Hamel) [#35091] - **(SEMVER-MAJOR)** **doc**: update minimum supported Xcode to 11 (Michaël Zasso) [#37872] - **(SEMVER-MAJOR)** **doc**: update minimum supported GCC to 8.3 (Michaël Zasso) [#37871] - **(SEMVER-MAJOR)** **doc**: update AIX to GCC8 for v16.x (Ash Cripps) [#37677] - **(SEMVER-MAJOR)** **doc**: add http.IncomingMessage#connection (Pranshu Srivastava) [#33768] - **(SEMVER-MAJOR)** **events**: change EventTarget handler exception behavior (Nitzan Uziely) [#37237] - **(SEMVER-MAJOR)** **fs**: remove permissive rmdir recursive (Antoine du Hamel) [#37216] - **(SEMVER-MAJOR)** **fs**: add validation for fd and path (Dylan Elliott) [#35187] - **(SEMVER-MAJOR)** **fs**: runtime deprecate rmdir recursive option (Antoine du Hamel) [#37302] - **(SEMVER-MAJOR)** **fs**: fix flag and mode validation (James M Snell) [#37480] - **(SEMVER-MAJOR)** **http**: use objects with null prototype in Agent (Michaël Zasso) [#36409] - **(SEMVER-MAJOR)** **lib**: runtime deprecate access to process.binding('http_parser') (James M Snell) [#37813] - **(SEMVER-MAJOR)** **lib**: runtime deprecate access to process.binding('url') (James M Snell) [#37799] - **(SEMVER-MAJOR)** **lib**: make process.binding('util') return only type checkers (Anna Henningsen) [#37819] - **(SEMVER-MAJOR)** **lib**: runtime deprecate access to process.binding('crypto') (James M Snell) [#37790] - **(SEMVER-MAJOR)** **lib**: runtime deprecate access to process.binding('signal_wrap') (James M Snell) [#37800] - **(SEMVER-MAJOR)** **lib**: runtime deprecate access to process.binding('v8') (James M Snell) [#37789] - **(SEMVER-MAJOR)** **lib**: aggregate errors to avoid error swallowing (Antoine du Hamel) [#37460] - **(SEMVER-MAJOR)** **lib**: runtime deprecate access to process.binding('async_wrap') (James M Snell) [#37576] - **(SEMVER-MAJOR)** **lib**: remove usage of url.parse (raisinten) [#36853] - **(SEMVER-MAJOR)** **lib**: add error handling for input stream (rexagod) [#31603] - **(SEMVER-MAJOR)** **lib,src**: update cluster to use Parent (Michael Dawson) [#36478] - **(SEMVER-MAJOR)** **module**: runtime deprecate subpath folder mappings (Antoine du Hamel) [#37215] - **(SEMVER-MAJOR)** **module**: runtime deprecate "main" index and extension lookups (Antoine du Hamel) [#37206] - **(SEMVER-MAJOR)** **module**: runtime deprecate invalid package.json main entries (Antoine du Hamel) [#37204] - **(SEMVER-MAJOR)** **module**: remove module.createRequireFromPath (Antoine du Hamel) [#37201] - **(SEMVER-MAJOR)** **module**: only set cache when finding module succeeds (Yongsheng Zhang) [#36642] - **(SEMVER-MAJOR)** **perf_hooks**: make performance a global (James M Snell) [#37970] - **(SEMVER-MAJOR)** **perf_hooks**: complete overhaul of the implementation (James M Snell) [#37136] - **(SEMVER-MAJOR)** **process**: disallow adding options to process.allowedNodeEnvironmentFlags (Antoine du Hamel) [#36660] - **(SEMVER-MAJOR)** **process**: runtime deprecate changing process.config (James M Snell) [#36902] - **(SEMVER-MAJOR)** **readline**: cursorTo throw error on NaN (Zijian Liu) [#36379] - **(SEMVER-MAJOR)** **src**: mark internally exported functions as explicitly internal (Tyler Ang-Wanek) [#37000] - **(SEMVER-MAJOR)** **src**: inline AsyncCleanupHookHandle in headers (Tyler Ang-Wanek) [#37000] - **(SEMVER-MAJOR)** **src**: clean up embedder API (Anna Henningsen) [#35897] - **(SEMVER-MAJOR)** **worker**: send correct error status for worker init (Yash Ladha) [#36242] PR-URL: #37678
@ExE-Boss do you mind creating a backport PR for this one? It didn't land cleanly on |
@danielleadams I think we should maybe wait a little bit before backporting this to v14.x. It was originally labelled at Semver-Major but we opted to land as Semver-Minor and get some feedback first. I think this makes more sense for the 14.18.0 release rather than 14.17.0 |
Fixes: nodejs#36098 Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com> Co-authored-by: Guy Bedford <guybedford@gmail.com> Co-authored-by: Darshan Sen <raisinten@gmail.com> PR-URL: nodejs#37246 Reviewed-By: Bradley Farias <bradley.meck@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Refs: nodejs#37178 PR-URL: nodejs#37246 Reviewed-By: Bradley Farias <bradley.meck@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Refs: nodejs#37178 PR-URL: nodejs#37246 Reviewed-By: Bradley Farias <bradley.meck@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Fixes: #36098 Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com> Co-authored-by: Guy Bedford <guybedford@gmail.com> Co-authored-by: Darshan Sen <raisinten@gmail.com> PR-URL: #37246 Reviewed-By: Bradley Farias <bradley.meck@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Notable changes: assert: * change status of legacy asserts (James M Snell) #38113 async_hooks: * (SEMVER-MINOR) use new v8::Context PromiseHook API (Stephen Belanger) #36394 buffer: * (SEMVER-MINOR) introduce Blob (James M Snell) #36811 * (SEMVER-MINOR) add base64url encoding option (Filip Skokan) #36952 child_process: * (SEMVER-MINOR) allow `options.cwd` receive a URL (Khaidi Chu) #38862 * (SEMVER-MINOR) add timeout to spawn and fork (Nitzan Uziely) #37256 * (SEMVER-MINOR) allow promisified exec to be cancel (Carlos Fuentes) #34249 * (SEMVER-MINOR) add 'overlapped' stdio flag (Thiago Padilha) #29412 cli: * (SEMVER-MINOR) add -C alias for --conditions flag (Guy Bedford) #38755 * (SEMVER-MINOR) add --node-memory-debug option (Anna Henningsen) #35537 deps: * (SEMVER-MINOR) V8: cherry-pick fa4cb172cde2 (Stephen Belanger) #38577 * (SEMVER-MINOR) V8: cherry-pick 4c074516397b (Stephen Belanger) #36394 * (SEMVER-MINOR) V8: cherry-pick 5f4413194480 (Stephen Belanger) #36394 * (SEMVER-MINOR) V8: cherry-pick 272445f10927 (Stephen Belanger) #36394 * (SEMVER-MINOR) V8: backport c0fceaa0669b (Stephen Belanger) #36394 dns: * (SEMVER-MINOR) add "tries" option to Resolve options (Luan Devecchi) #39610 * (SEMVER-MINOR) allow `--dns-result-order` to change default dns verbatim (Ouyang Yadong) #38099 doc: * (SEMVER-MINOR) add missing change to resolver ctor (Luan Devecchi) #39610 * refactor fs docs structure (Michaël Zasso) #37170 errors: * (SEMVER-MINOR) remove experimental from --enable-source-maps (Benjamin Coe) #37362 esm: * deprecate legacy main lookup for modules (Guy Bedford) #36918 fs: * (SEMVER-MINOR) allow empty string for temp directory prefix (Voltrex) #39028 * (SEMVER-MINOR) allow no-params fsPromises fileHandle read (Nitzan Uziely) #38287 * (SEMVER-MINOR) add support for async iterators to `fsPromises.writeFile` (HiroyukiYagihashi) #37490 * improve fsPromises readFile performance (Nitzan Uziely) #37608 * (SEMVER-MINOR) add fsPromises.watch() (James M Snell) #37179 * (SEMVER-MINOR) allow `position` parameter to be a `BigInt` in read and readSync (Darshan Sen) #36190 http2: * (SEMVER-MINOR) add support for sensitive headers (Anna Henningsen) #34145 * (SEMVER-MINOR) allow setting the local window size of a session (Yongsheng Zhang) #35978 inspector: * mark as stable (Gireesh Punathil) #37748 module: * (SEMVER-MINOR) add support for `URL` to `import.meta.resolve` (Antoine du Hamel) #38587 * (SEMVER-MINOR) add support for `node:`‑prefixed `require(…)` calls (ExE Boss) #37246 net: * (SEMVER-MINOR) allow net.BlockList to use net.SocketAddress objects (James M Snell) #37917 * (SEMVER-MINOR) add SocketAddress class (James M Snell) #37917 * (SEMVER-MINOR) make net.BlockList cloneable (James M Snell) #37917 * (SEMVER-MINOR) make blocklist family case insensitive (James M Snell) #34864 * (SEMVER-MINOR) introduce net.BlockList (James M Snell) #34625 node-api: * (SEMVER-MINOR) allow retrieval of add-on file name (Gabriel Schulhof) #37195 os: * (SEMVER-MINOR) add os.devNull (Luigi Pinca) #38569 perf_hooks: * (SEMVER-MINOR) introduce createHistogram (James M Snell) #37155 process: * (SEMVER-MINOR) add api to enable source-maps programmatically (legendecas) #39085 * (SEMVER-MINOR) add `'worker'` event (James M Snell) #38659 * (SEMVER-MINOR) add direct access to rss without iterating pages (Adrien Maret) #34291 readline: * (SEMVER-MINOR) add AbortSignal support to interface (Nitzan Uziely) #37932 * (SEMVER-MINOR) add support for the AbortController to the question method (Mattias Runge-Broberg) #33676 * (SEMVER-MINOR) add history event and option to set initial history (Mattias Runge-Broberg) #33662 repl: * (SEMVER-MINOR) add auto‑completion for `node:`‑prefixed `require(…)` calls (ExE Boss) #37246 src: * (SEMVER-MINOR) call overload ctor from the original ctor (Darshan Sen) #39768 * (SEMVER-MINOR) add a constructor overload for CallbackScope (Darshan Sen) #39768 * (SEMVER-MINOR) fix align in cares_wrap.h (Luan) #39610 * (SEMVER-MINOR) allow to negate boolean CLI flags (Michaël Zasso) #39023 * (SEMVER-MINOR) add --heapsnapshot-near-heap-limit option (Joyee Cheung) #33010 * (SEMVER-MINOR) move node_binding to modern THROW_ERR* (James M Snell) #35469 * (SEMVER-MINOR) add way to get IsolateData and allocator from Environment (Anna Henningsen) #36441 * (SEMVER-MINOR) allow preventing SetPrepareStackTraceCallback (Shelley Vohr) #36447 * (SEMVER-MINOR) add maybe versions of EmitExit and EmitBeforeExit (Anna Henningsen) #35486 stream: * (SEMVER-MINOR) add readableDidRead if has been read from (Robert Nagy) #39589 * (SEMVER-MINOR) pipeline accept Buffer as a valid first argument (Nitzan Uziely) #37739 test: * (SEMVER-MINOR) add wpt tests for Blob (Michaël Zasso) #36811 tls: * (SEMVER-MINOR) allow reading data into a static buffer (Andrey Pechkurov) #35753 tools: * (SEMVER-MINOR) add `Worker` to type-parser (James M Snell) #38659 url: * (SEMVER-MINOR) expose urlToHttpOptions utility (Yongsheng Zhang) #35960 util: * (SEMVER-MINOR) expose toUSVString (Robert Nagy) #39814 v8: * (SEMVER-MINOR) implement v8.stopCoverage() (Joyee Cheung) #33807 * (SEMVER-MINOR) implement v8.takeCoverage() (Joyee Cheung) #33807 worker: * (SEMVER-MINOR) add setEnvironmentData/getEnvironmentData (James M Snell) #37486 PR-URL: TODO
Notable changes: assert: * change status of legacy asserts (James M Snell) #38113 buffer: * (SEMVER-MINOR) introduce Blob (James M Snell) #36811 * (SEMVER-MINOR) add base64url encoding option (Filip Skokan) #36952 child_process: * (SEMVER-MINOR) allow `options.cwd` receive a URL (Khaidi Chu) #38862 * (SEMVER-MINOR) add timeout to spawn and fork (Nitzan Uziely) #37256 * (SEMVER-MINOR) allow promisified exec to be cancel (Carlos Fuentes) #34249 * (SEMVER-MINOR) add 'overlapped' stdio flag (Thiago Padilha) #29412 cli: * (SEMVER-MINOR) add -C alias for --conditions flag (Guy Bedford) #38755 * (SEMVER-MINOR) add --node-memory-debug option (Anna Henningsen) #35537 dns: * (SEMVER-MINOR) add "tries" option to Resolve options (Luan Devecchi) #39610 * (SEMVER-MINOR) allow `--dns-result-order` to change default dns verbatim (Ouyang Yadong) #38099 doc: * (SEMVER-MINOR) add missing change to resolver ctor (Luan Devecchi) #39610 * refactor fs docs structure (James M Snell) #37170 errors: * (SEMVER-MINOR) remove experimental from --enable-source-maps (Benjamin Coe) #37362 esm: * deprecate legacy main lookup for modules (Guy Bedford) #36918 fs: * (SEMVER-MINOR) allow empty string for temp directory prefix (Voltrex) #39028 * (SEMVER-MINOR) allow no-params fsPromises fileHandle read (Nitzan Uziely) #38287 * (SEMVER-MINOR) add support for async iterators to `fsPromises.writeFile` (HiroyukiYagihashi) #37490 * improve fsPromises readFile performance (Nitzan Uziely) #37608 * (SEMVER-MINOR) add fsPromises.watch() (James M Snell) #37179 * (SEMVER-MINOR) allow `position` parameter to be a `BigInt` in read and readSync (Darshan Sen) #36190 http2: * (SEMVER-MINOR) add support for sensitive headers (Anna Henningsen) #34145 * (SEMVER-MINOR) allow setting the local window size of a session (Yongsheng Zhang) #35978 inspector: * mark as stable (Gireesh Punathil) #37748 module: * (SEMVER-MINOR) add support for `URL` to `import.meta.resolve` (Antoine du Hamel) #38587 * (SEMVER-MINOR) add support for `node:`‑prefixed `require(…)` calls (ExE Boss) #37246 net: * (SEMVER-MINOR) introduce net.BlockList (James M Snell) #34625 node-api: * (SEMVER-MINOR) allow retrieval of add-on file name (Gabriel Schulhof) #37195 os: * (SEMVER-MINOR) add os.devNull (Luigi Pinca) #38569 perf_hooks: * (SEMVER-MINOR) introduce createHistogram (James M Snell) #37155 process: * (SEMVER-MINOR) add api to enable source-maps programmatically (legendecas) #39085 * (SEMVER-MINOR) add `'worker'` event (James M Snell) #38659 * (SEMVER-MINOR) add direct access to rss without iterating pages (Adrien Maret) #34291 readline: * (SEMVER-MINOR) add AbortSignal support to interface (Nitzan Uziely) #37932 * (SEMVER-MINOR) add support for the AbortController to the question method (Mattias Runge-Broberg) #33676 * (SEMVER-MINOR) add history event and option to set initial history (Mattias Runge-Broberg) #33662 repl: * (SEMVER-MINOR) add auto‑completion for `node:`‑prefixed `require(…)` calls (ExE Boss) #37246 src: * (SEMVER-MINOR) call overload ctor from the original ctor (Darshan Sen) #39768 * (SEMVER-MINOR) add a constructor overload for CallbackScope (Darshan Sen) #39768 * (SEMVER-MINOR) allow to negate boolean CLI flags (Michaël Zasso) #39023 * (SEMVER-MINOR) add --heapsnapshot-near-heap-limit option (Joyee Cheung) #33010 * (SEMVER-MINOR) add way to get IsolateData and allocator from Environment (Anna Henningsen) #36441 * (SEMVER-MINOR) allow preventing SetPrepareStackTraceCallback (Shelley Vohr) #36447 * (SEMVER-MINOR) add maybe versions of EmitExit and EmitBeforeExit (Anna Henningsen) #35486 stream: * (SEMVER-MINOR) add readableDidRead if has been read from (Robert Nagy) #39589 * (SEMVER-MINOR) pipeline accept Buffer as a valid first argument (Nitzan Uziely) #37739 tls: * (SEMVER-MINOR) allow reading data into a static buffer (Andrey Pechkurov) #35753 tools: * (SEMVER-MINOR) add `Worker` to type-parser (James M Snell) #38659 url: * (SEMVER-MINOR) expose urlToHttpOptions utility (Yongsheng Zhang) #35960 util: * (SEMVER-MINOR) expose toUSVString (Robert Nagy) #39814 v8: * (SEMVER-MINOR) implement v8.stopCoverage() (Joyee Cheung) #33807 * (SEMVER-MINOR) implement v8.takeCoverage() (Joyee Cheung) #33807 worker: * (SEMVER-MINOR) add setEnvironmentData/getEnvironmentData (James M Snell) #37486 PR-URL: #39990
Notable changes: assert: * change status of legacy asserts (James M Snell) #38113 buffer: * (SEMVER-MINOR) introduce Blob (James M Snell) #36811 * (SEMVER-MINOR) add base64url encoding option (Filip Skokan) #36952 child_process: * (SEMVER-MINOR) allow `options.cwd` receive a URL (Khaidi Chu) #38862 * (SEMVER-MINOR) add timeout to spawn and fork (Nitzan Uziely) #37256 * (SEMVER-MINOR) allow promisified exec to be cancel (Carlos Fuentes) #34249 * (SEMVER-MINOR) add 'overlapped' stdio flag (Thiago Padilha) #29412 cli: * (SEMVER-MINOR) add -C alias for --conditions flag (Guy Bedford) #38755 * (SEMVER-MINOR) add --node-memory-debug option (Anna Henningsen) #35537 dns: * (SEMVER-MINOR) add "tries" option to Resolve options (Luan Devecchi) #39610 * (SEMVER-MINOR) allow `--dns-result-order` to change default dns verbatim (Ouyang Yadong) #38099 doc: * (SEMVER-MINOR) add missing change to resolver ctor (Luan Devecchi) #39610 * refactor fs docs structure (James M Snell) #37170 errors: * (SEMVER-MINOR) remove experimental from --enable-source-maps (Benjamin Coe) #37362 esm: * deprecate legacy main lookup for modules (Guy Bedford) #36918 fs: * (SEMVER-MINOR) allow empty string for temp directory prefix (Voltrex) #39028 * (SEMVER-MINOR) allow no-params fsPromises fileHandle read (Nitzan Uziely) #38287 * (SEMVER-MINOR) add support for async iterators to `fsPromises.writeFile` (HiroyukiYagihashi) #37490 * improve fsPromises readFile performance (Nitzan Uziely) #37608 * (SEMVER-MINOR) add fsPromises.watch() (James M Snell) #37179 * (SEMVER-MINOR) allow `position` parameter to be a `BigInt` in read and readSync (Darshan Sen) #36190 http2: * (SEMVER-MINOR) add support for sensitive headers (Anna Henningsen) #34145 * (SEMVER-MINOR) allow setting the local window size of a session (Yongsheng Zhang) #35978 inspector: * mark as stable (Gireesh Punathil) #37748 module: * (SEMVER-MINOR) add support for `URL` to `import.meta.resolve` (Antoine du Hamel) #38587 * (SEMVER-MINOR) add support for `node:`‑prefixed `require(…)` calls (ExE Boss) #37246 net: * (SEMVER-MINOR) introduce net.BlockList (James M Snell) #34625 node-api: * (SEMVER-MINOR) allow retrieval of add-on file name (Gabriel Schulhof) #37195 os: * (SEMVER-MINOR) add os.devNull (Luigi Pinca) #38569 perf_hooks: * (SEMVER-MINOR) introduce createHistogram (James M Snell) #37155 process: * (SEMVER-MINOR) add api to enable source-maps programmatically (legendecas) #39085 * (SEMVER-MINOR) add `'worker'` event (James M Snell) #38659 * (SEMVER-MINOR) add direct access to rss without iterating pages (Adrien Maret) #34291 readline: * (SEMVER-MINOR) add AbortSignal support to interface (Nitzan Uziely) #37932 * (SEMVER-MINOR) add support for the AbortController to the question method (Mattias Runge-Broberg) #33676 * (SEMVER-MINOR) add history event and option to set initial history (Mattias Runge-Broberg) #33662 repl: * (SEMVER-MINOR) add auto‑completion for `node:`‑prefixed `require(…)` calls (ExE Boss) #37246 src: * (SEMVER-MINOR) call overload ctor from the original ctor (Darshan Sen) #39768 * (SEMVER-MINOR) add a constructor overload for CallbackScope (Darshan Sen) #39768 * (SEMVER-MINOR) allow to negate boolean CLI flags (Michaël Zasso) #39023 * (SEMVER-MINOR) add --heapsnapshot-near-heap-limit option (Joyee Cheung) #33010 * (SEMVER-MINOR) add way to get IsolateData and allocator from Environment (Anna Henningsen) #36441 * (SEMVER-MINOR) allow preventing SetPrepareStackTraceCallback (Shelley Vohr) #36447 * (SEMVER-MINOR) add maybe versions of EmitExit and EmitBeforeExit (Anna Henningsen) #35486 stream: * (SEMVER-MINOR) add readableDidRead if has been read from (Robert Nagy) #39589 * (SEMVER-MINOR) pipeline accept Buffer as a valid first argument (Nitzan Uziely) #37739 tls: * (SEMVER-MINOR) allow reading data into a static buffer (Andrey Pechkurov) #35753 tools: * (SEMVER-MINOR) add `Worker` to type-parser (James M Snell) #38659 url: * (SEMVER-MINOR) expose urlToHttpOptions utility (Yongsheng Zhang) #35960 util: * (SEMVER-MINOR) expose toUSVString (Robert Nagy) #39814 v8: * (SEMVER-MINOR) implement v8.stopCoverage() (Joyee Cheung) #33807 * (SEMVER-MINOR) implement v8.takeCoverage() (Joyee Cheung) #33807 worker: * (SEMVER-MINOR) add setEnvironmentData/getEnvironmentData (James M Snell) #37486 PR-URL: #39990
Notable changes: assert: * change status of legacy asserts (James M Snell) #38113 buffer: * (SEMVER-MINOR) introduce Blob (James M Snell) #36811 * (SEMVER-MINOR) add base64url encoding option (Filip Skokan) #36952 child_process: * (SEMVER-MINOR) allow `options.cwd` receive a URL (Khaidi Chu) #38862 * (SEMVER-MINOR) add timeout to spawn and fork (Nitzan Uziely) #37256 * (SEMVER-MINOR) allow promisified exec to be cancel (Carlos Fuentes) #34249 * (SEMVER-MINOR) add 'overlapped' stdio flag (Thiago Padilha) #29412 cli: * (SEMVER-MINOR) add -C alias for --conditions flag (Guy Bedford) #38755 * (SEMVER-MINOR) add --node-memory-debug option (Anna Henningsen) #35537 dns: * (SEMVER-MINOR) add "tries" option to Resolve options (Luan Devecchi) #39610 * (SEMVER-MINOR) allow `--dns-result-order` to change default dns verbatim (Ouyang Yadong) #38099 doc: * (SEMVER-MINOR) add missing change to resolver ctor (Luan Devecchi) #39610 * refactor fs docs structure (James M Snell) #37170 errors: * (SEMVER-MINOR) remove experimental from --enable-source-maps (Benjamin Coe) #37362 esm: * deprecate legacy main lookup for modules (Guy Bedford) #36918 fs: * (SEMVER-MINOR) allow empty string for temp directory prefix (Voltrex) #39028 * (SEMVER-MINOR) allow no-params fsPromises fileHandle read (Nitzan Uziely) #38287 * (SEMVER-MINOR) add support for async iterators to `fsPromises.writeFile` (HiroyukiYagihashi) #37490 * improve fsPromises readFile performance (Nitzan Uziely) #37608 * (SEMVER-MINOR) add fsPromises.watch() (James M Snell) #37179 * (SEMVER-MINOR) allow `position` parameter to be a `BigInt` in read and readSync (Darshan Sen) #36190 http2: * (SEMVER-MINOR) add support for sensitive headers (Anna Henningsen) #34145 * (SEMVER-MINOR) allow setting the local window size of a session (Yongsheng Zhang) #35978 inspector: * mark as stable (Gireesh Punathil) #37748 module: * (SEMVER-MINOR) add support for `URL` to `import.meta.resolve` (Antoine du Hamel) #38587 * (SEMVER-MINOR) add support for `node:`‑prefixed `require(…)` calls (ExE Boss) #37246 net: * (SEMVER-MINOR) introduce net.BlockList (James M Snell) #34625 node-api: * (SEMVER-MINOR) allow retrieval of add-on file name (Gabriel Schulhof) #37195 os: * (SEMVER-MINOR) add os.devNull (Luigi Pinca) #38569 perf_hooks: * (SEMVER-MINOR) introduce createHistogram (James M Snell) #37155 process: * (SEMVER-MINOR) add api to enable source-maps programmatically (legendecas) #39085 * (SEMVER-MINOR) add `'worker'` event (James M Snell) #38659 * (SEMVER-MINOR) add direct access to rss without iterating pages (Adrien Maret) #34291 readline: * (SEMVER-MINOR) add AbortSignal support to interface (Nitzan Uziely) #37932 * (SEMVER-MINOR) add support for the AbortController to the question method (Mattias Runge-Broberg) #33676 * (SEMVER-MINOR) add history event and option to set initial history (Mattias Runge-Broberg) #33662 repl: * (SEMVER-MINOR) add auto‑completion for `node:`‑prefixed `require(…)` calls (ExE Boss) #37246 src: * (SEMVER-MINOR) call overload ctor from the original ctor (Darshan Sen) #39768 * (SEMVER-MINOR) add a constructor overload for CallbackScope (Darshan Sen) #39768 * (SEMVER-MINOR) allow to negate boolean CLI flags (Michaël Zasso) #39023 * (SEMVER-MINOR) add --heapsnapshot-near-heap-limit option (Joyee Cheung) #33010 * (SEMVER-MINOR) add way to get IsolateData and allocator from Environment (Anna Henningsen) #36441 * (SEMVER-MINOR) allow preventing SetPrepareStackTraceCallback (Shelley Vohr) #36447 * (SEMVER-MINOR) add maybe versions of EmitExit and EmitBeforeExit (Anna Henningsen) #35486 stream: * (SEMVER-MINOR) add readableDidRead if has been read from (Robert Nagy) #39589 * (SEMVER-MINOR) pipeline accept Buffer as a valid first argument (Nitzan Uziely) #37739 tls: * (SEMVER-MINOR) allow reading data into a static buffer (Andrey Pechkurov) #35753 tools: * (SEMVER-MINOR) add `Worker` to type-parser (James M Snell) #38659 url: * (SEMVER-MINOR) expose urlToHttpOptions utility (Yongsheng Zhang) #35960 util: * (SEMVER-MINOR) expose toUSVString (Robert Nagy) #39814 v8: * (SEMVER-MINOR) implement v8.stopCoverage() (Joyee Cheung) #33807 * (SEMVER-MINOR) implement v8.takeCoverage() (Joyee Cheung) #33807 worker: * (SEMVER-MINOR) add setEnvironmentData/getEnvironmentData (James M Snell) #37486 PR-URL: #39990
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [node](https://github.com/nodejs/node) | stage | minor | `14.17.6-buster` -> `14.18.0-buster` | --- ### Release Notes <details> <summary>nodejs/node</summary> ### [`v14.18.0`](https://github.com/nodejs/node/releases/v14.18.0) [Compare Source](https://github.com/nodejs/node/compare/v14.17.6...v14.18.0) ##### Notable Changes - \[[`3a60de0135`](https://github.com/nodejs/node/commit/3a60de0135)] - **assert**: change status of legacy asserts (James M Snell) [#​38113](https://github.com/nodejs/node/pull/38113) - \[[`df37c106a7`](https://github.com/nodejs/node/commit/df37c106a7)] - **(SEMVER-MINOR)** **buffer**: introduce Blob (James M Snell) [#​36811](https://github.com/nodejs/node/pull/36811) - \[[`223494c548`](https://github.com/nodejs/node/commit/223494c548)] - **(SEMVER-MINOR)** **buffer**: add base64url encoding option (Filip Skokan) [#​36952](https://github.com/nodejs/node/pull/36952) - \[[`14fc4ddabc`](https://github.com/nodejs/node/commit/14fc4ddabc)] - **(SEMVER-MINOR)** **child_process**: allow `options.cwd` receive a URL (Khaidi Chu) [#​38862](https://github.com/nodejs/node/pull/38862) - \[[`b68b13acb3`](https://github.com/nodejs/node/commit/b68b13acb3)] - **(SEMVER-MINOR)** **child_process**: add timeout to spawn and fork (Nitzan Uziely) [#​37256](https://github.com/nodejs/node/pull/37256) - \[[`da98c9f99b`](https://github.com/nodejs/node/commit/da98c9f99b)] - **(SEMVER-MINOR)** **child_process**: allow promisified exec to be cancel (Carlos Fuentes) [#​34249](https://github.com/nodejs/node/pull/34249) - \[[`779310ac87`](https://github.com/nodejs/node/commit/779310ac87)] - **(SEMVER-MINOR)** **child_process**: add 'overlapped' stdio flag (Thiago Padilha) [#​29412](https://github.com/nodejs/node/pull/29412) - \[[`40eb3b79f1`](https://github.com/nodejs/node/commit/40eb3b79f1)] - **(SEMVER-MINOR)** **cli**: add -C alias for --conditions flag (Guy Bedford) [#​38755](https://github.com/nodejs/node/pull/38755) - \[[`39eba0a2e1`](https://github.com/nodejs/node/commit/39eba0a2e1)] - **(SEMVER-MINOR)** **cli**: add --node-memory-debug option (Anna Henningsen) [#​35537](https://github.com/nodejs/node/pull/35537) - \[[`d8d9a9628a`](https://github.com/nodejs/node/commit/d8d9a9628a)] - **(SEMVER-MINOR)** **dns**: add "tries" option to Resolve options (Luan Devecchi) [#​39610](https://github.com/nodejs/node/pull/39610) - \[[`15ba19b020`](https://github.com/nodejs/node/commit/15ba19b020)] - **(SEMVER-MINOR)** **dns**: allow `--dns-result-order` to change default dns verbatim (Ouyang Yadong) [#​38099](https://github.com/nodejs/node/pull/38099) - \[[`307c1d817f`](https://github.com/nodejs/node/commit/307c1d817f)] - **doc**: refactor fs docs structure (James M Snell) [#​37170](https://github.com/nodejs/node/pull/37170) - \[[`9ee3f77e32`](https://github.com/nodejs/node/commit/9ee3f77e32)] - **(SEMVER-MINOR)** **errors**: remove experimental from --enable-source-maps (Benjamin Coe) [#​37362](https://github.com/nodejs/node/pull/37362) - \[[`e73bfed2f4`](https://github.com/nodejs/node/commit/e73bfed2f4)] - **esm**: deprecate legacy main lookup for modules (Guy Bedford) [#​36918](https://github.com/nodejs/node/pull/36918) - \[[`989c204a58`](https://github.com/nodejs/node/commit/989c204a58)] - **(SEMVER-MINOR)** **fs**: allow empty string for temp directory prefix (Voltrex) [#​39028](https://github.com/nodejs/node/pull/39028) - \[[`ef72490cde`](https://github.com/nodejs/node/commit/ef72490cde)] - **(SEMVER-MINOR)** **fs**: allow no-params fsPromises fileHandle read (Nitzan Uziely) [#​38287](https://github.com/nodejs/node/pull/38287) - \[[`cad9d20f64`](https://github.com/nodejs/node/commit/cad9d20f64)] - **(SEMVER-MINOR)** **fs**: add support for async iterators to `fsPromises.writeFile` (HiroyukiYagihashi) [#​37490](https://github.com/nodejs/node/pull/37490) - \[[`2b0e2706c0`](https://github.com/nodejs/node/commit/2b0e2706c0)] - **fs**: improve fsPromises readFile performance (Nitzan Uziely) [#​37608](https://github.com/nodejs/node/pull/37608) - \[[`fe12cc07b3`](https://github.com/nodejs/node/commit/fe12cc07b3)] - **(SEMVER-MINOR)** **fs**: add fsPromises.watch() (James M Snell) [#​37179](https://github.com/nodejs/node/pull/37179) - \[[`2459c115a8`](https://github.com/nodejs/node/commit/2459c115a8)] - **(SEMVER-MINOR)** **fs**: allow `position` parameter to be a `BigInt` in read and readSync (Darshan Sen) [#​36190](https://github.com/nodejs/node/pull/36190) - \[[`6544cfb4b9`](https://github.com/nodejs/node/commit/6544cfb4b9)] - **(SEMVER-MINOR)** **http2**: add support for sensitive headers (Anna Henningsen) [#​34145](https://github.com/nodejs/node/pull/34145) - \[[`a6c6cbb4e6`](https://github.com/nodejs/node/commit/a6c6cbb4e6)] - **(SEMVER-MINOR)** **http2**: allow setting the local window size of a session (Yongsheng Zhang) [#​35978](https://github.com/nodejs/node/pull/35978) - \[[`1e5aca550c`](https://github.com/nodejs/node/commit/1e5aca550c)] - **inspector**: mark as stable (Gireesh Punathil) [#​37748](https://github.com/nodejs/node/pull/37748) - \[[`93af04afbb`](https://github.com/nodejs/node/commit/93af04afbb)] - **(SEMVER-MINOR)** **module**: add support for `URL` to `import.meta.resolve` (Antoine du Hamel) [#​38587](https://github.com/nodejs/node/pull/38587) - \[[`f9f9389d83`](https://github.com/nodejs/node/commit/f9f9389d83)] - **(SEMVER-MINOR)** **module**: add support for `node:`‑prefixed `require(…)` calls (ExE Boss) [#​37246](https://github.com/nodejs/node/pull/37246) - \[[`87c71065eb`](https://github.com/nodejs/node/commit/87c71065eb)] - **(SEMVER-MINOR)** **net**: introduce net.BlockList (James M Snell) [#​34625](https://github.com/nodejs/node/pull/34625) - \[[`b421d99a48`](https://github.com/nodejs/node/commit/b421d99a48)] - **(SEMVER-MINOR)** **node-api**: allow retrieval of add-on file name (Gabriel Schulhof) [#​37195](https://github.com/nodejs/node/pull/37195) - \[[`6a4811df8a`](https://github.com/nodejs/node/commit/6a4811df8a)] - **(SEMVER-MINOR)** **os**: add os.devNull (Luigi Pinca) [#​38569](https://github.com/nodejs/node/pull/38569) - \[[`4a88ddeeca`](https://github.com/nodejs/node/commit/4a88ddeeca)] - **(SEMVER-MINOR)** **perf_hooks**: introduce createHistogram (James M Snell) [#​37155](https://github.com/nodejs/node/pull/37155) - \[[`1a6bf1c4a3`](https://github.com/nodejs/node/commit/1a6bf1c4a3)] - **(SEMVER-MINOR)** **process**: add api to enable source-maps programmatically (legendecas) [#​39085](https://github.com/nodejs/node/pull/39085) - \[[`99735a6fe8`](https://github.com/nodejs/node/commit/99735a6fe8)] - **(SEMVER-MINOR)** **process**: add `'worker'` event (James M Snell) [#​38659](https://github.com/nodejs/node/pull/38659) - \[[`3982919317`](https://github.com/nodejs/node/commit/3982919317)] - **(SEMVER-MINOR)** **process**: add direct access to rss without iterating pages (Adrien Maret) [#​34291](https://github.com/nodejs/node/pull/34291) - \[[`526e6c7bde`](https://github.com/nodejs/node/commit/526e6c7bde)] - **(SEMVER-MINOR)** **readline**: add AbortSignal support to interface (Nitzan Uziely) [#​37932](https://github.com/nodejs/node/pull/37932) - \[[`e6eee08692`](https://github.com/nodejs/node/commit/e6eee08692)] - **(SEMVER-MINOR)** **readline**: add support for the AbortController to the question method (Mattias Runge-Broberg) [#​33676](https://github.com/nodejs/node/pull/33676) - \[[`32de361d70`](https://github.com/nodejs/node/commit/32de361d70)] - **(SEMVER-MINOR)** **readline**: add history event and option to set initial history (Mattias Runge-Broberg) [#​33662](https://github.com/nodejs/node/pull/33662) - \[[`797f7f8a38`](https://github.com/nodejs/node/commit/797f7f8a38)] - **(SEMVER-MINOR)** **repl**: add auto‑completion for `node:`‑prefixed `require(…)` calls (ExE Boss) [#​37246](https://github.com/nodejs/node/pull/37246) - \[[`abfd71b64c`](https://github.com/nodejs/node/commit/abfd71b64c)] - **(SEMVER-MINOR)** **src**: call overload ctor from the original ctor (Darshan Sen) [#​39768](https://github.com/nodejs/node/pull/39768) - \[[`1efae01b18`](https://github.com/nodejs/node/commit/1efae01b18)] - **(SEMVER-MINOR)** **src**: add a constructor overload for CallbackScope (Darshan Sen) [#​39768](https://github.com/nodejs/node/pull/39768) - \[[`f7933804ba`](https://github.com/nodejs/node/commit/f7933804ba)] - **(SEMVER-MINOR)** **src**: allow to negate boolean CLI flags (Michaël Zasso) [#​39023](https://github.com/nodejs/node/pull/39023) - \[[`6d06ac2202`](https://github.com/nodejs/node/commit/6d06ac2202)] - **(SEMVER-MINOR)** **src**: add --heapsnapshot-near-heap-limit option (Joyee Cheung) [#​33010](https://github.com/nodejs/node/pull/33010) - \[[`577d228ca0`](https://github.com/nodejs/node/commit/577d228ca0)] - **(SEMVER-MINOR)** **src**: add way to get IsolateData and allocator from Environment (Anna Henningsen) [#​36441](https://github.com/nodejs/node/pull/36441) - \[[`658a266cd4`](https://github.com/nodejs/node/commit/658a266cd4)] - **(SEMVER-MINOR)** **src**: allow preventing SetPrepareStackTraceCallback (Shelley Vohr) [#​36447](https://github.com/nodejs/node/pull/36447) - \[[`f421422ea4`](https://github.com/nodejs/node/commit/f421422ea4)] - **(SEMVER-MINOR)** **src**: add maybe versions of EmitExit and EmitBeforeExit (Anna Henningsen) [#​35486](https://github.com/nodejs/node/pull/35486) - \[[`a62d4d60f4`](https://github.com/nodejs/node/commit/a62d4d60f4)] - **(SEMVER-MINOR)** **stream**: add readableDidRead if has been read from (Robert Nagy) [#​39589](https://github.com/nodejs/node/pull/39589) - \[[`63502131a3`](https://github.com/nodejs/node/commit/63502131a3)] - **(SEMVER-MINOR)** **stream**: pipeline accept Buffer as a valid first argument (Nitzan Uziely) [#​37739](https://github.com/nodejs/node/pull/37739) - \[[`68bbebd42c`](https://github.com/nodejs/node/commit/68bbebd42c)] - **(SEMVER-MINOR)** **tls**: allow reading data into a static buffer (Andrey Pechkurov) [#​35753](https://github.com/nodejs/node/pull/35753) - \[[`1cbb74d63d`](https://github.com/nodejs/node/commit/1cbb74d63d)] - **(SEMVER-MINOR)** **url**: expose urlToHttpOptions utility (Yongsheng Zhang) [#​35960](https://github.com/nodejs/node/pull/35960) - \[[`8eb11356dd`](https://github.com/nodejs/node/commit/8eb11356dd)] - **(SEMVER-MINOR)** **util**: expose toUSVString (Robert Nagy) [#​39814](https://github.com/nodejs/node/pull/39814) - \[[`84fcdc3074`](https://github.com/nodejs/node/commit/84fcdc3074)] - **(SEMVER-MINOR)** **v8**: implement v8.stopCoverage() (Joyee Cheung) [#​33807](https://github.com/nodejs/node/pull/33807) - \[[`b238b6bf17`](https://github.com/nodejs/node/commit/b238b6bf17)] - **(SEMVER-MINOR)** **v8**: implement v8.takeCoverage() (Joyee Cheung) [#​33807](https://github.com/nodejs/node/pull/33807) - \[[`9f6bc58da8`](https://github.com/nodejs/node/commit/9f6bc58da8)] - **(SEMVER-MINOR)** **worker**: add setEnvironmentData/getEnvironmentData (James M Snell) [#​37486](https://github.com/nodejs/node/pull/37486) ##### Commits ##### Semver-minor commits - \[[`f3563d3197`](https://github.com/nodejs/node/commit/f3563d3197)] - **(SEMVER-MINOR)** **async_hooks**: use new v8::Context PromiseHook API (Stephen Belanger) [#​36394](https://github.com/nodejs/node/pull/36394) - \[[`df37c106a7`](https://github.com/nodejs/node/commit/df37c106a7)] - **(SEMVER-MINOR)** **buffer**: introduce Blob (James M Snell) [#​36811](https://github.com/nodejs/node/pull/36811) - \[[`223494c548`](https://github.com/nodejs/node/commit/223494c548)] - **(SEMVER-MINOR)** **buffer**: add base64url encoding option (Filip Skokan) [#​36952](https://github.com/nodejs/node/pull/36952) - \[[`14fc4ddabc`](https://github.com/nodejs/node/commit/14fc4ddabc)] - **(SEMVER-MINOR)** **child_process**: allow `options.cwd` receive a URL (Khaidi Chu) [#​38862](https://github.com/nodejs/node/pull/38862) - \[[`b68b13acb3`](https://github.com/nodejs/node/commit/b68b13acb3)] - **(SEMVER-MINOR)** **child_process**: add timeout to spawn and fork (Nitzan Uziely) [#​37256](https://github.com/nodejs/node/pull/37256) - \[[`da98c9f99b`](https://github.com/nodejs/node/commit/da98c9f99b)] - **(SEMVER-MINOR)** **child_process**: allow promisified exec to be cancel (Carlos Fuentes) [#​34249](https://github.com/nodejs/node/pull/34249) - \[[`779310ac87`](https://github.com/nodejs/node/commit/779310ac87)] - **(SEMVER-MINOR)** **child_process**: add 'overlapped' stdio flag (Thiago Padilha) [#​29412](https://github.com/nodejs/node/pull/29412) - \[[`40eb3b79f1`](https://github.com/nodejs/node/commit/40eb3b79f1)] - **(SEMVER-MINOR)** **cli**: add -C alias for --conditions flag (Guy Bedford) [#​38755](https://github.com/nodejs/node/pull/38755) - \[[`39eba0a2e1`](https://github.com/nodejs/node/commit/39eba0a2e1)] - **(SEMVER-MINOR)** **cli**: add --node-memory-debug option (Anna Henningsen) [#​35537](https://github.com/nodejs/node/pull/35537) - \[[`d9b58a0262`](https://github.com/nodejs/node/commit/d9b58a0262)] - **(SEMVER-MINOR)** **deps**: V8: cherry-pick [`fa4cb17`](https://github.com/nodejs/node/commit/fa4cb172cde2) (Stephen Belanger) [#​38577](https://github.com/nodejs/node/pull/38577) - \[[`9d7177c152`](https://github.com/nodejs/node/commit/9d7177c152)] - **(SEMVER-MINOR)** **deps**: V8: cherry-pick [`4c07451`](https://github.com/nodejs/node/commit/4c074516397b) (Stephen Belanger) [#​36394](https://github.com/nodejs/node/pull/36394) - \[[`ec0f0ef8ef`](https://github.com/nodejs/node/commit/ec0f0ef8ef)] - **(SEMVER-MINOR)** **deps**: V8: cherry-pick [`5f44131`](https://github.com/nodejs/node/commit/5f4413194480) (Stephen Belanger) [#​36394](https://github.com/nodejs/node/pull/36394) - \[[`3e7238e45a`](https://github.com/nodejs/node/commit/3e7238e45a)] - **(SEMVER-MINOR)** **deps**: V8: cherry-pick [`272445f`](https://github.com/nodejs/node/commit/272445f10927) (Stephen Belanger) [#​36394](https://github.com/nodejs/node/pull/36394) - \[[`214e568597`](https://github.com/nodejs/node/commit/214e568597)] - **(SEMVER-MINOR)** **deps**: V8: backport [`c0fceaa`](https://github.com/nodejs/node/commit/c0fceaa0669b) (Stephen Belanger) [#​36394](https://github.com/nodejs/node/pull/36394) - \[[`d8d9a9628a`](https://github.com/nodejs/node/commit/d8d9a9628a)] - **(SEMVER-MINOR)** **dns**: add "tries" option to Resolve options (Luan Devecchi) [#​39610](https://github.com/nodejs/node/pull/39610) - \[[`15ba19b020`](https://github.com/nodejs/node/commit/15ba19b020)] - **(SEMVER-MINOR)** **dns**: allow `--dns-result-order` to change default dns verbatim (Ouyang Yadong) [#​38099](https://github.com/nodejs/node/pull/38099) - \[[`defb77cac9`](https://github.com/nodejs/node/commit/defb77cac9)] - **(SEMVER-MINOR)** **doc**: add missing change to resolver ctor (Luan Devecchi) [#​39610](https://github.com/nodejs/node/pull/39610) - \[[`9ee3f77e32`](https://github.com/nodejs/node/commit/9ee3f77e32)] - **(SEMVER-MINOR)** **errors**: remove experimental from --enable-source-maps (Benjamin Coe) [#​37362](https://github.com/nodejs/node/pull/37362) - \[[`989c204a58`](https://github.com/nodejs/node/commit/989c204a58)] - **(SEMVER-MINOR)** **fs**: allow empty string for temp directory prefix (Voltrex) [#​39028](https://github.com/nodejs/node/pull/39028) - \[[`ef72490cde`](https://github.com/nodejs/node/commit/ef72490cde)] - **(SEMVER-MINOR)** **fs**: allow no-params fsPromises fileHandle read (Nitzan Uziely) [#​38287](https://github.com/nodejs/node/pull/38287) - \[[`cad9d20f64`](https://github.com/nodejs/node/commit/cad9d20f64)] - **(SEMVER-MINOR)** **fs**: add support for async iterators to `fsPromises.writeFile` (HiroyukiYagihashi) [#​37490](https://github.com/nodejs/node/pull/37490) - \[[`fe12cc07b3`](https://github.com/nodejs/node/commit/fe12cc07b3)] - **(SEMVER-MINOR)** **fs**: add fsPromises.watch() (James M Snell) [#​37179](https://github.com/nodejs/node/pull/37179) - \[[`2459c115a8`](https://github.com/nodejs/node/commit/2459c115a8)] - **(SEMVER-MINOR)** **fs**: allow `position` parameter to be a `BigInt` in read and readSync (Darshan Sen) [#​36190](https://github.com/nodejs/node/pull/36190) - \[[`6544cfb4b9`](https://github.com/nodejs/node/commit/6544cfb4b9)] - **(SEMVER-MINOR)** **http2**: add support for sensitive headers (Anna Henningsen) [#​34145](https://github.com/nodejs/node/pull/34145) - \[[`a6c6cbb4e6`](https://github.com/nodejs/node/commit/a6c6cbb4e6)] - **(SEMVER-MINOR)** **http2**: allow setting the local window size of a session (Yongsheng Zhang) [#​35978](https://github.com/nodejs/node/pull/35978) - \[[`93af04afbb`](https://github.com/nodejs/node/commit/93af04afbb)] - **(SEMVER-MINOR)** **module**: add support for `URL` to `import.meta.resolve` (Antoine du Hamel) [#​38587](https://github.com/nodejs/node/pull/38587) - \[[`f9f9389d83`](https://github.com/nodejs/node/commit/f9f9389d83)] - **(SEMVER-MINOR)** **module**: add support for `node:`‑prefixed `require(…)` calls (ExE Boss) [#​37246](https://github.com/nodejs/node/pull/37246) - \[[`76d4f22bab`](https://github.com/nodejs/node/commit/76d4f22bab)] - **(SEMVER-MINOR)** **net**: allow net.BlockList to use net.SocketAddress objects (James M Snell) [#​37917](https://github.com/nodejs/node/pull/37917) - \[[`82363d864d`](https://github.com/nodejs/node/commit/82363d864d)] - **(SEMVER-MINOR)** **net**: add SocketAddress class (James M Snell) [#​37917](https://github.com/nodejs/node/pull/37917) - \[[`0202ba46b8`](https://github.com/nodejs/node/commit/0202ba46b8)] - **(SEMVER-MINOR)** **net**: make net.BlockList cloneable (James M Snell) [#​37917](https://github.com/nodejs/node/pull/37917) - \[[`a41a3e3b3f`](https://github.com/nodejs/node/commit/a41a3e3b3f)] - **(SEMVER-MINOR)** **net**: make blocklist family case insensitive (James M Snell) [#​34864](https://github.com/nodejs/node/pull/34864) - \[[`87c71065eb`](https://github.com/nodejs/node/commit/87c71065eb)] - **(SEMVER-MINOR)** **net**: introduce net.BlockList (James M Snell) [#​34625](https://github.com/nodejs/node/pull/34625) - \[[`b421d99a48`](https://github.com/nodejs/node/commit/b421d99a48)] - **(SEMVER-MINOR)** **node-api**: allow retrieval of add-on file name (Gabriel Schulhof) [#​37195](https://github.com/nodejs/node/pull/37195) - \[[`6a4811df8a`](https://github.com/nodejs/node/commit/6a4811df8a)] - **(SEMVER-MINOR)** **os**: add os.devNull (Luigi Pinca) [#​38569](https://github.com/nodejs/node/pull/38569) - \[[`4a88ddeeca`](https://github.com/nodejs/node/commit/4a88ddeeca)] - **(SEMVER-MINOR)** **perf_hooks**: introduce createHistogram (James M Snell) [#​37155](https://github.com/nodejs/node/pull/37155) - \[[`1a6bf1c4a3`](https://github.com/nodejs/node/commit/1a6bf1c4a3)] - **(SEMVER-MINOR)** **process**: add api to enable source-maps programmatically (legendecas) [#​39085](https://github.com/nodejs/node/pull/39085) - \[[`99735a6fe8`](https://github.com/nodejs/node/commit/99735a6fe8)] - **(SEMVER-MINOR)** **process**: add `'worker'` event (James M Snell) [#​38659](https://github.com/nodejs/node/pull/38659) - \[[`3982919317`](https://github.com/nodejs/node/commit/3982919317)] - **(SEMVER-MINOR)** **process**: add direct access to rss without iterating pages (Adrien Maret) [#​34291](https://github.com/nodejs/node/pull/34291) - \[[`526e6c7bde`](https://github.com/nodejs/node/commit/526e6c7bde)] - **(SEMVER-MINOR)** **readline**: add AbortSignal support to interface (Nitzan Uziely) [#​37932](https://github.com/nodejs/node/pull/37932) - \[[`e6eee08692`](https://github.com/nodejs/node/commit/e6eee08692)] - **(SEMVER-MINOR)** **readline**: add support for the AbortController to the question method (Mattias Runge-Broberg) [#​33676](https://github.com/nodejs/node/pull/33676) - \[[`32de361d70`](https://github.com/nodejs/node/commit/32de361d70)] - **(SEMVER-MINOR)** **readline**: add history event and option to set initial history (Mattias Runge-Broberg) [#​33662](https://github.com/nodejs/node/pull/33662) - \[[`797f7f8a38`](https://github.com/nodejs/node/commit/797f7f8a38)] - **(SEMVER-MINOR)** **repl**: add auto‑completion for `node:`‑prefixed `require(…)` calls (ExE Boss) [#​37246](https://github.com/nodejs/node/pull/37246) - \[[`abfd71b64c`](https://github.com/nodejs/node/commit/abfd71b64c)] - **(SEMVER-MINOR)** **src**: call overload ctor from the original ctor (Darshan Sen) [#​39768](https://github.com/nodejs/node/pull/39768) - \[[`1efae01b18`](https://github.com/nodejs/node/commit/1efae01b18)] - **(SEMVER-MINOR)** **src**: add a constructor overload for CallbackScope (Darshan Sen) [#​39768](https://github.com/nodejs/node/pull/39768) - \[[`1aa2080d29`](https://github.com/nodejs/node/commit/1aa2080d29)] - **(SEMVER-MINOR)** **src**: fix align in cares_wrap.h (Luan) [#​39610](https://github.com/nodejs/node/pull/39610) - \[[`f7933804ba`](https://github.com/nodejs/node/commit/f7933804ba)] - **(SEMVER-MINOR)** **src**: allow to negate boolean CLI flags (Michaël Zasso) [#​39023](https://github.com/nodejs/node/pull/39023) - \[[`6d06ac2202`](https://github.com/nodejs/node/commit/6d06ac2202)] - **(SEMVER-MINOR)** **src**: add --heapsnapshot-near-heap-limit option (Joyee Cheung) [#​33010](https://github.com/nodejs/node/pull/33010) - \[[`4091eb9db7`](https://github.com/nodejs/node/commit/4091eb9db7)] - **(SEMVER-MINOR)** **src**: move node_binding to modern THROW_ERR\* (James M Snell) [#​35469](https://github.com/nodejs/node/pull/35469) - \[[`577d228ca0`](https://github.com/nodejs/node/commit/577d228ca0)] - **(SEMVER-MINOR)** **src**: add way to get IsolateData and allocator from Environment (Anna Henningsen) [#​36441](https://github.com/nodejs/node/pull/36441) - \[[`658a266cd4`](https://github.com/nodejs/node/commit/658a266cd4)] - **(SEMVER-MINOR)** **src**: allow preventing SetPrepareStackTraceCallback (Shelley Vohr) [#​36447](https://github.com/nodejs/node/pull/36447) - \[[`f421422ea4`](https://github.com/nodejs/node/commit/f421422ea4)] - **(SEMVER-MINOR)** **src**: add maybe versions of EmitExit and EmitBeforeExit (Anna Henningsen) [#​35486](https://github.com/nodejs/node/pull/35486) - \[[`a62d4d60f4`](https://github.com/nodejs/node/commit/a62d4d60f4)] - **(SEMVER-MINOR)** **stream**: add readableDidRead if has been read from (Robert Nagy) [#​39589](https://github.com/nodejs/node/pull/39589) - \[[`63502131a3`](https://github.com/nodejs/node/commit/63502131a3)] - **(SEMVER-MINOR)** **stream**: pipeline accept Buffer as a valid first argument (Nitzan Uziely) [#​37739](https://github.com/nodejs/node/pull/37739) - \[[`72ef41c72b`](https://github.com/nodejs/node/commit/72ef41c72b)] - **(SEMVER-MINOR)** **test**: add wpt tests for Blob (Michaël Zasso) [#​36811](https://github.com/nodejs/node/pull/36811) - \[[`68bbebd42c`](https://github.com/nodejs/node/commit/68bbebd42c)] - **(SEMVER-MINOR)** **tls**: allow reading data into a static buffer (Andrey Pechkurov) [#​35753](https://github.com/nodejs/node/pull/35753) - \[[`587deacad9`](https://github.com/nodejs/node/commit/587deacad9)] - **(SEMVER-MINOR)** **tools**: add `Worker` to type-parser (James M Snell) [#​38659](https://github.com/nodejs/node/pull/38659) - \[[`1cbb74d63d`](https://github.com/nodejs/node/commit/1cbb74d63d)] - **(SEMVER-MINOR)** **url**: expose urlToHttpOptions utility (Yongsheng Zhang) [#​35960](https://github.com/nodejs/node/pull/35960) - \[[`8eb11356dd`](https://github.com/nodejs/node/commit/8eb11356dd)] - **(SEMVER-MINOR)** **util**: expose toUSVString (Robert Nagy) [#​39814](https://github.com/nodejs/node/pull/39814) - \[[`84fcdc3074`](https://github.com/nodejs/node/commit/84fcdc3074)] - **(SEMVER-MINOR)** **v8**: implement v8.stopCoverage() (Joyee Cheung) [#​33807](https://github.com/nodejs/node/pull/33807) - \[[`b238b6bf17`](https://github.com/nodejs/node/commit/b238b6bf17)] - **(SEMVER-MINOR)** **v8**: implement v8.takeCoverage() (Joyee Cheung) [#​33807](https://github.com/nodejs/node/pull/33807) - \[[`9f6bc58da8`](https://github.com/nodejs/node/commit/9f6bc58da8)] - **(SEMVER-MINOR)** **worker**: add setEnvironmentData/getEnvironmentData (James M Snell) [#​37486](https://github.com/nodejs/node/pull/37486) ##### Semver-patch commits - \[[`3a60de0135`](https://github.com/nodejs/node/commit/3a60de0135)] - **assert**: change status of legacy asserts (James M Snell) [#​38113](https://github.com/nodejs/node/pull/38113) - \[[`5a42be9719`](https://github.com/nodejs/node/commit/5a42be9719)] - **async_hooks**: use resource stack for AsyncLocalStorage run (Stephen Belanger) [#​39890](https://github.com/nodejs/node/pull/39890) - \[[`fc29ddb38e`](https://github.com/nodejs/node/commit/fc29ddb38e)] - **async_hooks**: emit promise trace events from JS (Stephen Belanger) [#​39135](https://github.com/nodejs/node/pull/39135) - \[[`13296d1abf`](https://github.com/nodejs/node/commit/13296d1abf)] - **async_hooks**: eliminate native PromiseHook (Stephen Belanger) [#​39135](https://github.com/nodejs/node/pull/39135) - \[[`48e5971e51`](https://github.com/nodejs/node/commit/48e5971e51)] - **async_hooks**: check for empty contexts before removing (Bryan English) [#​39095](https://github.com/nodejs/node/pull/39095) - \[[`691c00c48b`](https://github.com/nodejs/node/commit/691c00c48b)] - **async_hooks**: switch between native and context hooks correctly (Stephen Belanger) [#​38912](https://github.com/nodejs/node/pull/38912) - \[[`8484ab2a6c`](https://github.com/nodejs/node/commit/8484ab2a6c)] - **buffer**: avoid creating the backing store in the thread (James M Snell) [#​37052](https://github.com/nodejs/node/pull/37052) - \[[`c8d039a872`](https://github.com/nodejs/node/commit/c8d039a872)] - **buffer**: make Blob's constructor more spec-compliant (Michaël Zasso) [#​37361](https://github.com/nodejs/node/pull/37361) - \[[`05d73ac286`](https://github.com/nodejs/node/commit/05d73ac286)] - **buffer**: make Blob's slice method more spec-compliant (Michaël Zasso) [#​37361](https://github.com/nodejs/node/pull/37361) - \[[`e7cf2efc60`](https://github.com/nodejs/node/commit/e7cf2efc60)] - **buffer**: add @​[@​toStringTag](https://github.com/toStringTag) to Blob (Colin Ihrig) [#​37336](https://github.com/nodejs/node/pull/37336) - \[[`d99deeaf97`](https://github.com/nodejs/node/commit/d99deeaf97)] - **build**: fix update authors commit (Mestery) [#​39858](https://github.com/nodejs/node/pull/39858) - \[[`5e1cba81bf`](https://github.com/nodejs/node/commit/5e1cba81bf)] - **build**: add authors.yml (Tierney Cyren) [#​35831](https://github.com/nodejs/node/pull/35831) - \[[`ed3c332089`](https://github.com/nodejs/node/commit/ed3c332089)] - **build**: add option to hide console window (Cheng Zhao) [#​39712](https://github.com/nodejs/node/pull/39712) - \[[`c696f97c5e`](https://github.com/nodejs/node/commit/c696f97c5e)] - **build**: exclude markdown files from some GitHub Actions (Rich Trott) [#​39565](https://github.com/nodejs/node/pull/39565) - \[[`0bd6dd1ee2`](https://github.com/nodejs/node/commit/0bd6dd1ee2)] - **build**: use lts shorthand in GitHub Actions (Rich Trott) [#​39538](https://github.com/nodejs/node/pull/39538) - \[[`3482bca643`](https://github.com/nodejs/node/commit/3482bca643)] - **build**: override python executable path on configure (legendecas) [#​39465](https://github.com/nodejs/node/pull/39465) - \[[`61261cdb8e`](https://github.com/nodejs/node/commit/61261cdb8e)] - **build**: use Node.js 14 in commit-lint.yml (Rich Trott) [#​39506](https://github.com/nodejs/node/pull/39506) - \[[`719f1563c1`](https://github.com/nodejs/node/commit/719f1563c1)] - **build**: fix `host_arch_cc()` for AIX/IBM i (Richard Lau) [#​39481](https://github.com/nodejs/node/pull/39481) - \[[`6e06b2ff9d`](https://github.com/nodejs/node/commit/6e06b2ff9d)] - **build**: update coverage Makefile target comments (Richard Lau) [#​39365](https://github.com/nodejs/node/pull/39365) - \[[`4e28d2b2c0`](https://github.com/nodejs/node/commit/4e28d2b2c0)] - **build**: run workflows when a PR is ready for review (Michaël Zasso) [#​39405](https://github.com/nodejs/node/pull/39405) - \[[`0da5d74da4`](https://github.com/nodejs/node/commit/0da5d74da4)] - **build**: update to setup-node@v2 (Rich Trott) [#​39366](https://github.com/nodejs/node/pull/39366) - \[[`f2e1c2267e`](https://github.com/nodejs/node/commit/f2e1c2267e)] - **build**: update gcovr for gcc 8 compatibility (Richard Lau) [#​39326](https://github.com/nodejs/node/pull/39326) - \[[`131dd6ec4d`](https://github.com/nodejs/node/commit/131dd6ec4d)] - **build**: remove unused comment in Makefile (LitoMore) [#​39171](https://github.com/nodejs/node/pull/39171) - \[[`40e46321b0`](https://github.com/nodejs/node/commit/40e46321b0)] - **build**: uvwasi honours node_shared_libuv (Jérémy Lal) [#​39260](https://github.com/nodejs/node/pull/39260) - \[[`5c6ab719f2`](https://github.com/nodejs/node/commit/5c6ab719f2)] - **build**: shorten path used in tarball build workflow (Richard Lau) [#​39192](https://github.com/nodejs/node/pull/39192) - \[[`870526374c`](https://github.com/nodejs/node/commit/870526374c)] - **build**: add `library_files` to gyp variables (himself65) [#​39293](https://github.com/nodejs/node/pull/39293) - \[[`0e221156aa`](https://github.com/nodejs/node/commit/0e221156aa)] - **build**: pass directory instead of list of files to js2c.py (Joyee Cheung) [#​39069](https://github.com/nodejs/node/pull/39069) - \[[`8d8415415b`](https://github.com/nodejs/node/commit/8d8415415b)] - **build**: don't pass `--mode` argument to V8 test-runner (Richard Lau) [#​39055](https://github.com/nodejs/node/pull/39055) - \[[`2d50217634`](https://github.com/nodejs/node/commit/2d50217634)] - **build**: fix commit linter on unrebased PRs (Mary Marchini) [#​39121](https://github.com/nodejs/node/pull/39121) - \[[`c93d5e006e`](https://github.com/nodejs/node/commit/c93d5e006e)] - **build**: use Actions to validate commit message (Mary Marchini) [#​32417](https://github.com/nodejs/node/pull/32417) - \[[`0bcaf9c4d1`](https://github.com/nodejs/node/commit/0bcaf9c4d1)] - **child_process**: fix spawn and fork abort behavior (Nitzan Uziely) [#​37325](https://github.com/nodejs/node/pull/37325) - \[[`8010c83180`](https://github.com/nodejs/node/commit/8010c83180)] - **child_process**: fix bad abort signal leak (Nitzan Uziely) [#​37257](https://github.com/nodejs/node/pull/37257) - \[[`32aff2f5a0`](https://github.com/nodejs/node/commit/32aff2f5a0)] - **console**: refactor to avoid unsafe array iteration (Antoine du Hamel) [#​36753](https://github.com/nodejs/node/pull/36753) - \[[`f46e8cdf79`](https://github.com/nodejs/node/commit/f46e8cdf79)] - **debugger**: remove undefined parameter (Rich Trott) [#​39570](https://github.com/nodejs/node/pull/39570) - \[[`482459edd4`](https://github.com/nodejs/node/commit/482459edd4)] - **debugger**: validate sec-websocket-accept response header (Chris Opperwall) [#​39357](https://github.com/nodejs/node/pull/39357) - \[[`e9c46107d7`](https://github.com/nodejs/node/commit/e9c46107d7)] - **debugger**: rename internal module (Rich Trott) [#​39378](https://github.com/nodejs/node/pull/39378) - \[[`49e0883c75`](https://github.com/nodejs/node/commit/49e0883c75)] - **debugger**: indicate server is ending (Rich Trott) [#​39334](https://github.com/nodejs/node/pull/39334) - \[[`72a3419510`](https://github.com/nodejs/node/commit/72a3419510)] - **debugger**: rename inspector-cli test module to debugger (Rich Trott) [#​38530](https://github.com/nodejs/node/pull/38530) - \[[`b3352cfba4`](https://github.com/nodejs/node/commit/b3352cfba4)] - **debugger**: prevent simultaneous heap snapshots (Rich Trott) [#​39638](https://github.com/nodejs/node/pull/39638) - \[[`e5826ab1c2`](https://github.com/nodejs/node/commit/e5826ab1c2)] - **debugger**: remove final lint exceptions in inspect_repl.js (Rich Trott) [#​39078](https://github.com/nodejs/node/pull/39078) - \[[`34c0701952`](https://github.com/nodejs/node/commit/34c0701952)] - **deps**: V8: cherry-pick [`00bb1a7`](https://github.com/nodejs/node/commit/00bb1a77c03e) (Darshan Sen) [#​39829](https://github.com/nodejs/node/pull/39829) - \[[`42359ab582`](https://github.com/nodejs/node/commit/42359ab582)] - **deps**: upgrade to libuv 1.42.0 (Luigi Pinca) [#​39525](https://github.com/nodejs/node/pull/39525) - \[[`d863a9db68`](https://github.com/nodejs/node/commit/d863a9db68)] - **deps**: bump HdrHistogram_C to 0.11.2 (Matteo Collina) [#​39462](https://github.com/nodejs/node/pull/39462) - \[[`4c93968a62`](https://github.com/nodejs/node/commit/4c93968a62)] - **deps**: extract gtest source files to deps/googletest (legendecas) [#​39386](https://github.com/nodejs/node/pull/39386) - \[[`fcae391fed`](https://github.com/nodejs/node/commit/fcae391fed)] - **deps**: update Acorn to v8.4.1 (Michaël Zasso) [#​39166](https://github.com/nodejs/node/pull/39166) - \[[`327838dd96`](https://github.com/nodejs/node/commit/327838dd96)] - **deps**: V8: backport [`c922458`](https://github.com/nodejs/node/commit/c9224589cf53) (Stephen Belanger) [#​39743](https://github.com/nodejs/node/pull/39743) - \[[`89c1bbd7b2`](https://github.com/nodejs/node/commit/89c1bbd7b2)] - **deps**: V8: cherry-pick [`81814ed`](https://github.com/nodejs/node/commit/81814ed44574) (Stephen Belanger) [#​39719](https://github.com/nodejs/node/pull/39719) - \[[`8b9215d07c`](https://github.com/nodejs/node/commit/8b9215d07c)] - **deps**: update to cjs-module-lexer@1.2.2 (Guy Bedford) [#​39402](https://github.com/nodejs/node/pull/39402) - \[[`e201293ddb`](https://github.com/nodejs/node/commit/e201293ddb)] - **dgram**: use simplified validator (Voltrex) [#​39753](https://github.com/nodejs/node/pull/39753) - \[[`6fdac38f91`](https://github.com/nodejs/node/commit/6fdac38f91)] - **doc,fs**: remove experimental status for WHATWG URL as path (Antoine du Hamel) [#​38870](https://github.com/nodejs/node/pull/38870) - \[[`d56e8268f9`](https://github.com/nodejs/node/commit/d56e8268f9)] - **doc,lib**: prepare for stricter multi-line array linting (Rich Trott) [#​37088](https://github.com/nodejs/node/pull/37088) - \[[`5500ae9236`](https://github.com/nodejs/node/commit/5500ae9236)] - **domain**: do not add domain to promise from other context (Stephen Belanger) [#​39135](https://github.com/nodejs/node/pull/39135) - \[[`dc855af18e`](https://github.com/nodejs/node/commit/dc855af18e)] - **errors**: don't throw TypeError on missing export (Benjamin Coe) [#​39017](https://github.com/nodejs/node/pull/39017) - \[[`c13eadc218`](https://github.com/nodejs/node/commit/c13eadc218)] - **errors**: eliminate all overhead for hidden calls (Momtchil Momtchev) [#​35644](https://github.com/nodejs/node/pull/35644) - \[[`d42bbe48c5`](https://github.com/nodejs/node/commit/d42bbe48c5)] - **esm**: use correct URL for error decoration (Bradley Farias) [#​37854](https://github.com/nodejs/node/pull/37854) - \[[`9db3304368`](https://github.com/nodejs/node/commit/9db3304368)] - **esm**: update to correct deprecation code (Colin Ihrig) [#​37147](https://github.com/nodejs/node/pull/37147) - \[[`e73bfed2f4`](https://github.com/nodejs/node/commit/e73bfed2f4)] - **esm**: deprecate legacy main lookup for modules (Guy Bedford) [#​36918](https://github.com/nodejs/node/pull/36918) - \[[`c1782ea1f5`](https://github.com/nodejs/node/commit/c1782ea1f5)] - **events**: allow the options argument to be null (Luigi Pinca) [#​39486](https://github.com/nodejs/node/pull/39486) - \[[`d2834fb97f`](https://github.com/nodejs/node/commit/d2834fb97f)] - **fs**: improve fsPromises writeFile performance (Nitzan Uziely) [#​37610](https://github.com/nodejs/node/pull/37610) - \[[`ee1d13c90d`](https://github.com/nodejs/node/commit/ee1d13c90d)] - **fs**: use byteLength to handle ArrayBuffer views (Michaël Zasso) [#​38187](https://github.com/nodejs/node/pull/38187) - \[[`b38d6b475b`](https://github.com/nodejs/node/commit/b38d6b475b)] - **fs**: fixup negative length in fs.truncate (James M Snell) [#​37483](https://github.com/nodejs/node/pull/37483) - \[[`fe28128f3c`](https://github.com/nodejs/node/commit/fe28128f3c)] - **fs**: add docs and tests for `AsyncIterable` support in `fh.writeFile` (Antoine du Hamel) [#​39836](https://github.com/nodejs/node/pull/39836) - \[[`2b0e2706c0`](https://github.com/nodejs/node/commit/2b0e2706c0)] - **fs**: improve fsPromises readFile performance (Nitzan Uziely) [#​37608](https://github.com/nodejs/node/pull/37608) - \[[`a4d6f78619`](https://github.com/nodejs/node/commit/a4d6f78619)] - **fs**: move constants to internal/fs/utils.js (Darshan Sen) [#​38061](https://github.com/nodejs/node/pull/38061) - \[[`402f7722ce`](https://github.com/nodejs/node/commit/402f7722ce)] - **fs**: add validatePosition and use in read and readSync (Darshan Sen) [#​37051](https://github.com/nodejs/node/pull/37051) - \[[`2bc301dcff`](https://github.com/nodejs/node/commit/2bc301dcff)] - **http**: decodes url.username and url.password for authorization header (Lew Gordon) [#​39310](https://github.com/nodejs/node/pull/39310) - \[[`5459f4af33`](https://github.com/nodejs/node/commit/5459f4af33)] - **http**: clean up HttpParser correctly (Tobias Koppers) [#​39292](https://github.com/nodejs/node/pull/39292) - \[[`8b3feee148`](https://github.com/nodejs/node/commit/8b3feee148)] - **http,https**: align server option of https with http (Qingyu Deng) [#​38992](https://github.com/nodejs/node/pull/38992) - \[[`cf59e87c8b`](https://github.com/nodejs/node/commit/cf59e87c8b)] - **inspector**: update inspector_protocol to [`89c4adf`](https://github.com/nodejs/node/commit/89c4adf) (Rich Trott) [#​39650](https://github.com/nodejs/node/pull/39650) - \[[`ea5f2047a2`](https://github.com/nodejs/node/commit/ea5f2047a2)] - **inspector**: update inspector_protocol to [`8ec18cf`](https://github.com/nodejs/node/commit/8ec18cf) (Rich Trott) [#​39614](https://github.com/nodejs/node/pull/39614) - \[[`1e5aca550c`](https://github.com/nodejs/node/commit/1e5aca550c)] - **inspector**: mark as stable (Gireesh Punathil) [#​37748](https://github.com/nodejs/node/pull/37748) - \[[`8a2ce5dae6`](https://github.com/nodejs/node/commit/8a2ce5dae6)] - **inspector**: move inspector async hooks to environment (Joyee Cheung) [#​39112](https://github.com/nodejs/node/pull/39112) - \[[`338189ff6f`](https://github.com/nodejs/node/commit/338189ff6f)] - **lib**: simplify validators (Voltrex) [#​39753](https://github.com/nodejs/node/pull/39753) - \[[`e1019351e8`](https://github.com/nodejs/node/commit/e1019351e8)] - **lib**: cleanup validation (Voltrex) [#​39652](https://github.com/nodejs/node/pull/39652) - \[[`dbaf4988bc`](https://github.com/nodejs/node/commit/dbaf4988bc)] - **lib**: use validators (Voltrex) [#​39663](https://github.com/nodejs/node/pull/39663) - \[[`9c33e4bfb2`](https://github.com/nodejs/node/commit/9c33e4bfb2)] - **lib**: use validator (Voltrex) [#​39547](https://github.com/nodejs/node/pull/39547) - \[[`5b1104291d`](https://github.com/nodejs/node/commit/5b1104291d)] - **lib**: use `validateObject` (Voltrex) [#​39605](https://github.com/nodejs/node/pull/39605) - \[[`1ce81079df`](https://github.com/nodejs/node/commit/1ce81079df)] - **lib**: remove use of array destructuring (Antoine du Hamel) [#​36818](https://github.com/nodejs/node/pull/36818) - \[[`b24b34effd`](https://github.com/nodejs/node/commit/b24b34effd)] - **lib**: add `bound apply` variants of varargs `primordials` (ExE Boss) [#​37005](https://github.com/nodejs/node/pull/37005) - \[[`7cdff9a6a8`](https://github.com/nodejs/node/commit/7cdff9a6a8)] - **lib**: refactor `primordials.makeSafe` to use more primordials (ExE Boss) [#​36865](https://github.com/nodejs/node/pull/36865) - \[[`1737352580`](https://github.com/nodejs/node/commit/1737352580)] - **lib**: comment explaining special-case handling of promises (Stephen Belanger) [#​39135](https://github.com/nodejs/node/pull/39135) - \[[`7f54cccb6c`](https://github.com/nodejs/node/commit/7f54cccb6c)] - **lib**: refactor to use validateString (ZiJian Liu) [#​37006](https://github.com/nodejs/node/pull/37006) - \[[`98259dc527`](https://github.com/nodejs/node/commit/98259dc527)] - **module**: improve support of data: URLs (Antoine du Hamel) [#​37392](https://github.com/nodejs/node/pull/37392) - \[[`9aba2888a1`](https://github.com/nodejs/node/commit/9aba2888a1)] - **net**: throw ERR_OUT_OF_RANGE if blockList.addSubnet prefix is NaN (ZiJian Liu) [#​36732](https://github.com/nodejs/node/pull/36732) - \[[`2ca12c83b4`](https://github.com/nodejs/node/commit/2ca12c83b4)] - **node-api**: handle pending exception in cb wrapper (Michael Dawson) [#​39476](https://github.com/nodejs/node/pull/39476) - \[[`9e5edf2158`](https://github.com/nodejs/node/commit/9e5edf2158)] - **node-api**: cctest on v8impl::Reference (legendecas) [#​38970](https://github.com/nodejs/node/pull/38970) - \[[`a74032a490`](https://github.com/nodejs/node/commit/a74032a490)] - **node-api**: rtn pending excep on napi_new_instance (legendecas) [#​38798](https://github.com/nodejs/node/pull/38798) - \[[`bcb85adee6`](https://github.com/nodejs/node/commit/bcb85adee6)] - **policy**: canonicalize before resolving specifiers (Bradley Farias) [#​37863](https://github.com/nodejs/node/pull/37863) - \[[`0ff520cf02`](https://github.com/nodejs/node/commit/0ff520cf02)] - **policy**: fix integrity when DEFAULT_ENCODING is set (Tobias Nießen) [#​39750](https://github.com/nodejs/node/pull/39750) - \[[`6c87b591d9`](https://github.com/nodejs/node/commit/6c87b591d9)] - **readline**: allow completer to rewrite existing input (Anna Henningsen) [#​39178](https://github.com/nodejs/node/pull/39178) - \[[`37b4708b19`](https://github.com/nodejs/node/commit/37b4708b19)] - **repl**: fix tla function hoisting (Don Jayamanne) [#​39745](https://github.com/nodejs/node/pull/39745) - \[[`9264caeafe`](https://github.com/nodejs/node/commit/9264caeafe)] - **repl**: do not include legacy getter/setter methods in completion (Anna Henningsen) [#​39576](https://github.com/nodejs/node/pull/39576) - \[[`50c5e71e22`](https://github.com/nodejs/node/commit/50c5e71e22)] - **repl**: correctly hoist top level await declarations (ejose19) [#​39265](https://github.com/nodejs/node/pull/39265) - \[[`1e065a0a43`](https://github.com/nodejs/node/commit/1e065a0a43)] - **repl**: processTopLevelAwait fallback error handling (ejose19) [#​39290](https://github.com/nodejs/node/pull/39290) - \[[`99664494ff`](https://github.com/nodejs/node/commit/99664494ff)] - **repl**: ensure correct syntax err for await parsing (Guy Bedford) [#​39154](https://github.com/nodejs/node/pull/39154) - \[[`761dafafde`](https://github.com/nodejs/node/commit/761dafafde)] - **repl**: fix Ctrl+C on top level await (Antoine du Hamel) [#​38656](https://github.com/nodejs/node/pull/38656) - \[[`88b02cbb08`](https://github.com/nodejs/node/commit/88b02cbb08)] - **repl**: add auto‑completion for dynamic import calls (ExE Boss) [#​37178](https://github.com/nodejs/node/pull/37178) - \[[`8f3a8830ba`](https://github.com/nodejs/node/commit/8f3a8830ba)] - **repl**: refactor to avoid unsafe array iteration (Antoine du Hamel) [#​37188](https://github.com/nodejs/node/pull/37188) - \[[`a48e2d6ec7`](https://github.com/nodejs/node/commit/a48e2d6ec7)] - **repl**: refactor to avoid unsafe array iteration (Darshan Sen) [#​36663](https://github.com/nodejs/node/pull/36663) - \[[`20ffadf437`](https://github.com/nodejs/node/commit/20ffadf437)] - **repl**: refactor to use more primordials (Antoine du Hamel) [#​36264](https://github.com/nodejs/node/pull/36264) - \[[`f69c934ad4`](https://github.com/nodejs/node/commit/f69c934ad4)] - **report**: generates report on threads with no isolates (legendecas) [#​38994](https://github.com/nodejs/node/pull/38994) - \[[`c4686fa5a7`](https://github.com/nodejs/node/commit/c4686fa5a7)] - **src**: fix TextDecoder final flush size calculation (James M Snell) [#​39737](https://github.com/nodejs/node/pull/39737) - \[[`495cd02c20`](https://github.com/nodejs/node/commit/495cd02c20)] - **src**: add cosmetic space character to `async_wrap.h` file (Juan José Arboleda) [#​39459](https://github.com/nodejs/node/pull/39459) - \[[`985ec48975`](https://github.com/nodejs/node/commit/985ec48975)] - **src**: print native module id on native module not found (legendecas) [#​39460](https://github.com/nodejs/node/pull/39460) - \[[`e6ff7e648e`](https://github.com/nodejs/node/commit/e6ff7e648e)] - **src**: close HandleWraps instead of deleting them in OnGCCollect() (Anna Henningsen) [#​39441](https://github.com/nodejs/node/pull/39441) - \[[`5c473bdc12`](https://github.com/nodejs/node/commit/5c473bdc12)] - **src**: remove unused guards around node-api reference (legendecas) [#​38334](https://github.com/nodejs/node/pull/38334) - \[[`41213bd507`](https://github.com/nodejs/node/commit/41213bd507)] - **src**: add JSDoc typings for v8 (Voltrex) [#​38944](https://github.com/nodejs/node/pull/38944) - \[[`02b1df9fac`](https://github.com/nodejs/node/commit/02b1df9fac)] - **src**: fix crash in AfterGetAddrInfo (Anna Henningsen) [#​39735](https://github.com/nodejs/node/pull/39735) - \[[`99493b07d4`](https://github.com/nodejs/node/commit/99493b07d4)] - **src**: fix fatal errors when a current isolate not exist (legendecas) [#​38624](https://github.com/nodejs/node/pull/38624) - \[[`9433c28c14`](https://github.com/nodejs/node/commit/9433c28c14)] - **src**: remove more extra semis from member fns (Shelley Vohr) [#​38744](https://github.com/nodejs/node/pull/38744) - \[[`bad990c934`](https://github.com/nodejs/node/commit/bad990c934)] - **src**: use BaseObject::kInteralFieldCount in Blob (Joyee Cheung) [#​36991](https://github.com/nodejs/node/pull/36991) - \[[`0a759dff52`](https://github.com/nodejs/node/commit/0a759dff52)] - **src**: compare IPv4 addresses in host byte order (Colin Ihrig) [#​39096](https://github.com/nodejs/node/pull/39096) - \[[`d73181f243`](https://github.com/nodejs/node/commit/d73181f243)] - **src**: reduce duplicated boilerplate with new env utility fn (James M Snell) [#​36536](https://github.com/nodejs/node/pull/36536) - \[[`85af15a8b6`](https://github.com/nodejs/node/commit/85af15a8b6)] - **src**: allow instances of net.BlockList to be created internally (James M Snell) [#​34741](https://github.com/nodejs/node/pull/34741) - \[[`1008c80176`](https://github.com/nodejs/node/commit/1008c80176)] - **src**: add SocketAddressLRU Utility (James M Snell) [#​34618](https://github.com/nodejs/node/pull/34618) - \[[`e404841a9c`](https://github.com/nodejs/node/commit/e404841a9c)] - **src**: set PromiseHooks by Environment (Bryan English) [#​38821](https://github.com/nodejs/node/pull/38821) - \[[`c8c290ae8f`](https://github.com/nodejs/node/commit/c8c290ae8f)] - **src,zlib**: tighten up Z_\*\_WINDOWBITS macros (Khaidi Chu) [#​39115](https://github.com/nodejs/node/pull/39115) - \[[`de171177b4`](https://github.com/nodejs/node/commit/de171177b4)] - **stream**: clean `endWritableNT` (Mestery) [#​39645](https://github.com/nodejs/node/pull/39645) - \[[`32a5b8f59b`](https://github.com/nodejs/node/commit/32a5b8f59b)] - **stream**: move duplicated code to an internal module (Rich Trott) [#​37508](https://github.com/nodejs/node/pull/37508) - \[[`f90b22d351`](https://github.com/nodejs/node/commit/f90b22d351)] - **util**: add internal createDeferredPromise() (Colin Ihrig) [#​37095](https://github.com/nodejs/node/pull/37095) - \[[`61b4a98480`](https://github.com/nodejs/node/commit/61b4a98480)] - **zlib**: avoid converting `Uint8Array` instances to `Buffer` (Antoine du Hamel) [#​39492](https://github.com/nodejs/node/pull/39492) ##### Documentation commits - \[[`8efd559347`](https://github.com/nodejs/node/commit/8efd559347)] - **doc**: add duplicate CVE check in sec. release doc (Daniel Bevenius) [#​39845](https://github.com/nodejs/node/pull/39845) - \[[`7b123ec78d`](https://github.com/nodejs/node/commit/7b123ec78d)] - **doc**: improve description of the triagers team (Michaël Zasso) [#​39833](https://github.com/nodejs/node/pull/39833) - \[[`615477f67b`](https://github.com/nodejs/node/commit/615477f67b)] - **doc**: update instructions for cc (Michael Dawson) [#​39674](https://github.com/nodejs/node/pull/39674) - \[[`1a8a26d92e`](https://github.com/nodejs/node/commit/1a8a26d92e)] - **doc**: fix malformed changelog entries (Rich Trott) [#​39791](https://github.com/nodejs/node/pull/39791) - \[[`9e772ca9a1`](https://github.com/nodejs/node/commit/9e772ca9a1)] - **doc**: fix lint errors in packages.md (Rich Trott) [#​39792](https://github.com/nodejs/node/pull/39792) - \[[`2624c98207`](https://github.com/nodejs/node/commit/2624c98207)] - **doc**: add example of self-reference in scoped packages (Jesús Leganés-Combarro 'piranna) [#​37630](https://github.com/nodejs/node/pull/37630) - \[[`00f2cee26c`](https://github.com/nodejs/node/commit/00f2cee26c)] - **doc**: add himadriganguly as a triager (Himadri Ganguly) [#​39757](https://github.com/nodejs/node/pull/39757) - \[[`95b9cc78d2`](https://github.com/nodejs/node/commit/95b9cc78d2)] - **doc**: fix YAML comment opening tags (Jayden Seric) [#​38324](https://github.com/nodejs/node/pull/38324) - \[[`49a7962d58`](https://github.com/nodejs/node/commit/49a7962d58)] - **doc**: fix `fs.rmdir` `recursive` option deprecation history (Antoine du Hamel) [#​39728](https://github.com/nodejs/node/pull/39728) - \[[`53300d33c7`](https://github.com/nodejs/node/commit/53300d33c7)] - **doc**: fixed variable names in queueMicrotask example (ashish maurya) [#​39634](https://github.com/nodejs/node/pull/39634) - \[[`df1e20aaf1`](https://github.com/nodejs/node/commit/df1e20aaf1)] - **doc**: update debugger.md description and examples (Rich Trott) [#​39661](https://github.com/nodejs/node/pull/39661) - \[[`9672bbf01c`](https://github.com/nodejs/node/commit/9672bbf01c)] - **doc**: fix color contrast issue in light mode (Rich Trott) [#​39660](https://github.com/nodejs/node/pull/39660) - \[[`48281ecfcd`](https://github.com/nodejs/node/commit/48281ecfcd)] - **doc**: add code examples to `Writable.destroy()` and `Writable.destroyed` (Juan José Arboleda) [#​39491](https://github.com/nodejs/node/pull/39491) - \[[`8799a134e4`](https://github.com/nodejs/node/commit/8799a134e4)] - **doc**: move `NODE_MODULE_VERSION` in release guide (Richard Lau) [#​39544](https://github.com/nodejs/node/pull/39544) - \[[`89c8afcf48`](https://github.com/nodejs/node/commit/89c8afcf48)] - **doc**: remove outdated ARM information from release guide (Richard Lau) [#​39544](https://github.com/nodejs/node/pull/39544) - \[[`a718b26f28`](https://github.com/nodejs/node/commit/a718b26f28)] - **doc**: fence command examples in release guide (Richard Lau) [#​39544](https://github.com/nodejs/node/pull/39544) - \[[`42669bb049`](https://github.com/nodejs/node/commit/42669bb049)] - **doc**: update backport labels in release guide (Richard Lau) [#​39544](https://github.com/nodejs/node/pull/39544) - \[[`a437de3c5f`](https://github.com/nodejs/node/commit/a437de3c5f)] - **doc**: add code example to `http.createServer` method (Juan José Arboleda) [#​39455](https://github.com/nodejs/node/pull/39455) - \[[`695569fc17`](https://github.com/nodejs/node/commit/695569fc17)] - **doc**: move lball@redhat.com to emeritus (Lance Ball) [#​39501](https://github.com/nodejs/node/pull/39501) - \[[`c7523da86c`](https://github.com/nodejs/node/commit/c7523da86c)] - **doc**: update AUTHORS (Rich Trott) [#​39488](https://github.com/nodejs/node/pull/39488) - \[[`e826109d5c`](https://github.com/nodejs/node/commit/e826109d5c)] - **doc**: update strategic initiative champion (Rich Trott) [#​39487](https://github.com/nodejs/node/pull/39487) - \[[`39da842051`](https://github.com/nodejs/node/commit/39da842051)] - **doc**: simplify unnecessarily specific .mailmap entries (Rich Trott) [#​39430](https://github.com/nodejs/node/pull/39430) - \[[`6a4c6ce4d7`](https://github.com/nodejs/node/commit/6a4c6ce4d7)] - **doc**: update checkbox label in backporting guide (Darshan Sen) [#​39420](https://github.com/nodejs/node/pull/39420) - \[[`d17afa08bd`](https://github.com/nodejs/node/commit/d17afa08bd)] - **doc**: remove \_Addenda\_ from headers (Rich Trott) [#​39427](https://github.com/nodejs/node/pull/39427) - \[[`ae97a96d9e`](https://github.com/nodejs/node/commit/ae97a96d9e)] - **doc**: simplify .mailmap file (Rich Trott) [#​39418](https://github.com/nodejs/node/pull/39418) - \[[`a3dee70f66`](https://github.com/nodejs/node/commit/a3dee70f66)] - **doc**: fix broken internal link in http.md (Rich Trott) [#​39425](https://github.com/nodejs/node/pull/39425) - \[[`ca947ac524`](https://github.com/nodejs/node/commit/ca947ac524)] - **doc**: remove outdated step in onboarding exercise (Rich Trott) [#​39410](https://github.com/nodejs/node/pull/39410) - \[[`86e12607f0`](https://github.com/nodejs/node/commit/86e12607f0)] - **doc**: revise strategic initiatives text (Rich Trott) [#​39417](https://github.com/nodejs/node/pull/39417) - \[[`cd8e773d28`](https://github.com/nodejs/node/commit/cd8e773d28)] - **doc**: update mailmap and AUTHORS (Rich Trott) [#​39393](https://github.com/nodejs/node/pull/39393) - \[[`8376b07ae8`](https://github.com/nodejs/node/commit/8376b07ae8)] - **doc**: use a details tag for completed initiatves (Rich Trott) [#​39416](https://github.com/nodejs/node/pull/39416) - \[[`43d28f5f00`](https://github.com/nodejs/node/commit/43d28f5f00)] - **doc**: update commit-queue.md to indicate GitHub Actions are checked (Rich Trott) [#​39411](https://github.com/nodejs/node/pull/39411) - \[[`63b0603e95`](https://github.com/nodejs/node/commit/63b0603e95)] - **doc**: use \_pull request\_ instead of \_PR\_ in onboarding doc (Rich Trott) [#​39409](https://github.com/nodejs/node/pull/39409) - \[[`73f784f764`](https://github.com/nodejs/node/commit/73f784f764)] - **doc**: add strategic initiatives from TSC repo (Rich Trott) [#​39394](https://github.com/nodejs/node/pull/39394) - \[[`1a494d51dc`](https://github.com/nodejs/node/commit/1a494d51dc)] - **doc**: standardize on \_pull request\_ (Rich Trott) [#​39384](https://github.com/nodejs/node/pull/39384) - \[[`eb12e4ccfb`](https://github.com/nodejs/node/commit/eb12e4ccfb)] - **doc**: make minor edits to pull request text (Rich Trott) [#​39383](https://github.com/nodejs/node/pull/39383) - \[[`ab0bf4fa1a`](https://github.com/nodejs/node/commit/ab0bf4fa1a)] - **doc**: add docker-node and build-wg issue contents (Daniel Bevenius) [#​39215](https://github.com/nodejs/node/pull/39215) - \[[`8438e8bf33`](https://github.com/nodejs/node/commit/8438e8bf33)] - **doc**: add instructions for core vuln files (Daniel Bevenius) [#​39220](https://github.com/nodejs/node/pull/39220) - \[[`c3cfefc2d3`](https://github.com/nodejs/node/commit/c3cfefc2d3)] - **doc**: standardize on not capitalizing \_collaborator\_ (Rich Trott) [#​39379](https://github.com/nodejs/node/pull/39379) - \[[`672023f9f2`](https://github.com/nodejs/node/commit/672023f9f2)] - **doc**: update mailmap and deduplicate AUTHORS entry (Rich Trott) [#​39391](https://github.com/nodejs/node/pull/39391) - \[[`baaa397e39`](https://github.com/nodejs/node/commit/baaa397e39)] - **doc**: update AUTHORS (Rich Trott) [#​39367](https://github.com/nodejs/node/pull/39367) - \[[`f39d93a428`](https://github.com/nodejs/node/commit/f39d93a428)] - **doc**: move jdalton to emeritus (Rich Trott) [#​39380](https://github.com/nodejs/node/pull/39380) - \[[`0b1ce72d64`](https://github.com/nodejs/node/commit/0b1ce72d64)] - **doc**: edit guide on pull requests (Rich Trott) [#​39359](https://github.com/nodejs/node/pull/39359) - \[[`6f0b3a20d1`](https://github.com/nodejs/node/commit/6f0b3a20d1)] - **doc**: add text about moving long commit lists out of PR description (Danielle Adams) [#​39186](https://github.com/nodejs/node/pull/39186) - \[[`9d43ce3b80`](https://github.com/nodejs/node/commit/9d43ce3b80)] - **doc**: do not use & for "and" in text (Rich Trott) [#​39345](https://github.com/nodejs/node/pull/39345) - \[[`25c104f21f`](https://github.com/nodejs/node/commit/25c104f21f)] - **doc**: update AUTHORS (Rich Trott) [#​39277](https://github.com/nodejs/node/pull/39277) - \[[`b47b47930c`](https://github.com/nodejs/node/commit/b47b47930c)] - **doc**: put information about the past in details tags (Rich Trott) [#​39321](https://github.com/nodejs/node/pull/39321) - \[[`5eafc3afa8`](https://github.com/nodejs/node/commit/5eafc3afa8)] - **doc**: move AndreasMadsen to emeritus (Rich Trott) [#​39315](https://github.com/nodejs/node/pull/39315) - \[[`fbf658f1d5`](https://github.com/nodejs/node/commit/fbf658f1d5)] - **doc**: move ofrobots to collaborator emeritus (Rich Trott) [#​39307](https://github.com/nodejs/node/pull/39307) - \[[`fc7d714149`](https://github.com/nodejs/node/commit/fc7d714149)] - **doc**: simplify CRAN mirror text in benchmark guide (Rich Trott) [#​39287](https://github.com/nodejs/node/pull/39287) - \[[`22f0b7e0d0`](https://github.com/nodejs/node/commit/22f0b7e0d0)] - **doc**: use "repository" instead of "repo" in onboarding.md (Rich Trott) [#​39286](https://github.com/nodejs/node/pull/39286) - \[[`f46ae3ffb6`](https://github.com/nodejs/node/commit/f46ae3ffb6)] - **doc**: update collaborator email address (Rich Trott) [#​39263](https://github.com/nodejs/node/pull/39263) - \[[`8c569cef88`](https://github.com/nodejs/node/commit/8c569cef88)] - **doc**: remove GitHub mark (Rich Trott) [#​39251](https://github.com/nodejs/node/pull/39251) - \[[`b4a0c5a384`](https://github.com/nodejs/node/commit/b4a0c5a384)] - **doc**: remove emailing the TSC from offboarding doc (Rich Trott) [#​39280](https://github.com/nodejs/node/pull/39280) - \[[`a4d70ff0cc`](https://github.com/nodejs/node/commit/a4d70ff0cc)] - **doc**: use "repository" in guides versus repo (Michael Dawson) [#​39198](https://github.com/nodejs/node/pull/39198) - \[[`31163ed9ee`](https://github.com/nodejs/node/commit/31163ed9ee)] - **doc**: update Node-api version matrix (Michael Dawson) [#​39197](https://github.com/nodejs/node/pull/39197) - \[[`9357547519`](https://github.com/nodejs/node/commit/9357547519)] - **doc**: update node-api support matrix (Michael Dawson) [#​38424](https://github.com/nodejs/node/pull/38424) - \[[`f08e9d5230`](https://github.com/nodejs/node/commit/f08e9d5230)] - **doc**: remove onboarding-extras (Rich Trott) [#​39252](https://github.com/nodejs/node/pull/39252) - \[[`6466faf26d`](https://github.com/nodejs/node/commit/6466faf26d)] - **doc**: move Sam Ruby to emeritus (Rich Trott) [#​39264](https://github.com/nodejs/node/pull/39264) - \[[`06acbf6453`](https://github.com/nodejs/node/commit/06acbf6453)] - **doc**: update AUTHORS file (Rich Trott) [#​39250](https://github.com/nodejs/node/pull/39250) - \[[`9178805653`](https://github.com/nodejs/node/commit/9178805653)] - **doc**: fix color contrast for anchor marks in dark mode (Rich Trott) [#​39168](https://github.com/nodejs/node/pull/39168) - \[[`c6118b23f7`](https://github.com/nodejs/node/commit/c6118b23f7)] - **doc**: rename datatypes to data types (FrankEntriken) [#​39209](https://github.com/nodejs/node/pull/39209) - \[[`fdd315918f`](https://github.com/nodejs/node/commit/fdd315918f)] - **doc**: normalize CSS variable names and indentation (Rich Trott) [#​39199](https://github.com/nodejs/node/pull/39199) - \[[`9c7c44781c`](https://github.com/nodejs/node/commit/9c7c44781c)] - **doc**: use more consistent formatting for deprecations (Rich Trott) [#​39218](https://github.com/nodejs/node/pull/39218) - \[[`c97ebd7905`](https://github.com/nodejs/node/commit/c97ebd7905)] - **doc**: update AUTHORS (Rich Trott) [#​39217](https://github.com/nodejs/node/pull/39217) - \[[`c4a3a24848`](https://github.com/nodejs/node/commit/c4a3a24848)] - **doc**: use "pull request" instead of "PR" in packages.md (Rich Trott) [#​39213](https://github.com/nodejs/node/pull/39213) - \[[`0d098bfaf0`](https://github.com/nodejs/node/commit/0d098bfaf0)] - **doc**: move v8.stopCoverage() to expected location in doc (Rich Trott) [#​39212](https://github.com/nodejs/node/pull/39212) - \[[`bd6af78749`](https://github.com/nodejs/node/commit/bd6af78749)] - **doc**: move vm.measureMemory() to expected location in doc (Rich Trott) [#​39211](https://github.com/nodejs/node/pull/39211) - \[[`7378b84bb8`](https://github.com/nodejs/node/commit/7378b84bb8)] - **doc**: add missing deprecation code (Colin Ihrig) [#​37147](https://github.com/nodejs/node/pull/37147) - \[[`2f6861ca51`](https://github.com/nodejs/node/commit/2f6861ca51)] - **doc**: use ASCII order for md refs (Antoine du Hamel) [#​39170](https://github.com/nodejs/node/pull/39170) - \[[`fa3909504f`](https://github.com/nodejs/node/commit/fa3909504f)] - **doc**: add cc oss-security@lists.openwall.com (Daniel Bevenius) [#​39191](https://github.com/nodejs/node/pull/39191) - \[[`52105acd5f`](https://github.com/nodejs/node/commit/52105acd5f)] - **doc**: remove instructions for unsupported Node.js versions (Rich Trott) [#​39185](https://github.com/nodejs/node/pull/39185) - \[[`eb2d75da16`](https://github.com/nodejs/node/commit/eb2d75da16)] - **doc**: remove obsolete cc recommendations (Rich Trott) [#​39181](https://github.com/nodejs/node/pull/39181) - \[[`4cf17edd03`](https://github.com/nodejs/node/commit/4cf17edd03)] - **doc**: use "repository" in maintaining-V8 doc (Rich Trott) [#​39179](https://github.com/nodejs/node/pull/39179) - \[[`d6a4f8aac9`](https://github.com/nodejs/node/commit/d6a4f8aac9)] - **doc**: fix broken link in errors.md (Rich Trott) [#​39200](https://github.com/nodejs/node/pull/39200) - \[[`82458b30fe`](https://github.com/nodejs/node/commit/82458b30fe)] - **doc**: correct JavaScript primitive value names in n-api.md (legendecas) [#​39129](https://github.com/nodejs/node/pull/39129) - \[[`2629979fd0`](https://github.com/nodejs/node/commit/2629979fd0)] - **doc**: apply logical ordering to CSS variables (Rich Trott) [#​39169](https://github.com/nodejs/node/pull/39169) - \[[`1996580b06`](https://github.com/nodejs/node/commit/1996580b06)] - **doc**: use repository instead of repo (Rich Trott) [#​39157](https://github.com/nodejs/node/pull/39157) - \[[`74ba115ab6`](https://github.com/nodejs/node/commit/74ba115ab6)] - **doc**: fix `EventTarget.dispatchEvent` docs (Rohan Sharma) [#​39127](https://github.com/nodejs/node/pull/39127) - \[[`2884d9094d`](https://github.com/nodejs/node/commit/2884d9094d)] - **doc**: update AUTHORS file (Rich Trott) [#​39082](https://github.com/nodejs/node/pull/39082) - \[[`d069c725b1`](https://github.com/nodejs/node/commit/d069c725b1)] - **doc**: fix napi_default_property name (Davidson Francis) [#​39104](https://github.com/nodejs/node/pull/39104) - \[[`1b74d3f775`](https://github.com/nodejs/node/commit/1b74d3f775)] - **doc**: fix dead links in packages.md (Michaël Zasso) [#​39113](https://github.com/nodejs/node/pull/39113) - \[[`0c2b5a048d`](https://github.com/nodejs/node/commit/0c2b5a048d)] - **doc**: clearify that http does chunked encoding itself (Mao Wtm) [#​28379](https://github.com/nodejs/node/pull/28379) - \[[`d0d731e271`](https://github.com/nodejs/node/commit/d0d731e271)] - **doc**: add descriptions about when `options.mode` is ignored (Ray) [#​39881](https://github.com/nodejs/node/pull/39881) - \[[`898db5a570`](https://github.com/nodejs/node/commit/898db5a570)] - **doc**: add code example to `fs.truncate` method (Juan José Arb…
Support for the 'node:' prefixed builtin module namespace was introduced for `require()` expressions in Node v16.0.0, and backported to v14.18.0. This was never supported in Node v15.x or chronologically older. All of the current API history notes in the docs using 'node:' prefixed module `require()`s happen to be documenting changes in Node versions from before the time when support was first introduced. This commit reverts those `require()`s in the history notes to be un-prefixed. (They were incorrect as written; The prefixed `require()`s would not work for those older Node versions.) This change prevents the API history notes from inaccurately implying 'node:' prefixed builtin modules were introduced many Node versions ago, or were `require()`-able with the 'node:' prefix in those Node versions. Refs: nodejs#35387 Refs: nodejs#37246 Refs: nodejs#42752
Support for the 'node:' prefixed builtin module namespace was introduced for `require()` expressions in Node v16.0.0, and backported to v14.18.0. This was never supported in Node v15.x or chronologically older. All of the current API history notes in the docs using 'node:' prefixed module `require()`s happen to be documenting changes in Node versions from before the time when support was first introduced. This commit reverts those `require()`s in the history notes to be un-prefixed. (They were incorrect as written; The prefixed `require()`s would not work for those older Node versions.) This change prevents the API history notes from inaccurately implying 'node:' prefixed builtin modules were introduced many Node versions ago, or were `require()`-able with the 'node:' prefix in those Node versions. Refs: #35387 Refs: #37246 Refs: #42752 PR-URL: #43768 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Fixes: #36098 (applies only to commit 1d8c8b7)
Refs: #37178 (applies only to commit b0fbc91)