Skip to content
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

v12.15.0 release proposal #31368

Closed
wants to merge 473 commits into from
Closed

v12.15.0 release proposal #31368

wants to merge 473 commits into from

Conversation

targos
Copy link
Member

@targos targos commented Jan 15, 2020

2020-02-12, Version 12.16.0 'Erbium' (LTS), @targos

Notable changes

Semver-minor changes

Advanced serialization for IPC

The child_process and cluster modules now support a serialization option
to change the serialization mechanism used for IPC. The option can have one of
two values:

  • 'json' (default): JSON.stringify() and JSON.parse() are used. This is
    how message serialization was done before.
  • 'advanced': The serialization API of the v8 module is used. It is based on
    the HTML structured clone algorithm
    and is able to serialize more built-in JavaScript object types, such as
    BigInt, Map, Set etc. as well as circular data structures.

Anna Henningsen #30162.

CLI flags

The new --trace-exit CLI flag makes Node.js print a stack trace whenever the
Node.js environment is exited proactively (i.e. by invoking the process.exit()
function or pressing Ctrl+C).

legendecas #30516.


The new --trace-uncaught CLI flag makes Node.js print a stack trace at the
time of throwing uncaught exceptions, rather than at the creation of the Error
object, if there is any.
This option is not enabled by default because it may affect garbage collection
behavior negatively.

Anna Henningsen #30025.


The --disallow-code-generation-from-strings V8 CLI flag is now whitelisted in
the NODE_OPTIONS environment variable.

Shelley Vohr #30094.

New crypto APIs

For DSA and ECDSA, a new signature encoding is now supported in addition to the
existing one (DER). The verify and sign methods accept a dsaEncoding
option, which can have one of two values:

  • 'der' (default): DER-encoded ASN.1 signature structure encoding (r, s).
  • 'ieee-p1363': Signature format r || s as proposed in IEEE-P1363.

Tobias Nießen #29292.


A new method was added to Hash: Hash.prototype.copy. It makes it possible to
clone the internal state of a Hash object into a new Hash object, allowing
to compute the digest between updates:

// Calculate a rolling hash.
const crypto = require('crypto');
const hash = crypto.createHash('sha256');

hash.update('one');
console.log(hash.copy().digest('hex'));

hash.update('two');
console.log(hash.copy().digest('hex'));

hash.update('three');
console.log(hash.copy().digest('hex'));

// Etc.

Ben Noordhuis #29910.

Dependency updates

libuv was updated to 1.34.0. This includes fixes to uv_fs_copyfile() and
uv_interface_addresses() and adds two new functions: uv_sleep() and
uv_fs_mkstemp().

Colin Ihrig #30783.


V8 was updated to 7.8.279.23. This includes performance improvements to object
destructuring, RegExp match failures and WebAssembly startup time.
The official release notes are available at https://v8.dev/blog/v8-release-78.

Michaël Zasso #30109.

New EventEmitter APIs

The new EventEmitter.on static method allows to async iterate over events:

const { on, EventEmitter } = require('events');

(async () => {

  const ee = new EventEmitter();

  // Emit later on
  process.nextTick(() => {
    ee.emit('foo', 'bar');
    ee.emit('foo', 42);
  });

  for await (const event of on(ee, 'foo')) {
    // The execution of this inner block is synchronous and it
    // processes one event at a time (even with await). Do not use
    // if concurrent execution is required.
    console.log(event); // prints ['bar'] [42]
  }

})();

Matteo Collina #27994.


It is now possible to monitor 'error' events on an EventEmitter without
consuming the emitted error by installing a listener using the symbol
EventEmitter.errorMonitor:

const myEmitter = new MyEmitter();

myEmitter.on(EventEmitter.errorMonitor, (err) => {
  MyMonitoringTool.log(err);
});

myEmitter.emit('error', new Error('whoops!'));
// Still throws and crashes Node.js

Gerhard Stoebich #30932.


Using async functions with event handlers is problematic, because it
can lead to an unhandled rejection in case of a thrown exception:

const ee = new EventEmitter();

ee.on('something', async (value) => {
  throw new Error('kaboom');
});

The captureRejections option in the EventEmitter constructor or the global
setting change this behavior, installing a .then(undefined, handler) handler
on the Promise. This handler routes the exception asynchronously to the
Symbol.for('nodejs.rejection') method if there is one, or to the 'error'
event handler if there is none.

const ee1 = new EventEmitter({ captureRejections: true });
ee1.on('something', async (value) => {
  throw new Error('kaboom');
});

ee1.on('error', console.log);

const ee2 = new EventEmitter({ captureRejections: true });
ee2.on('something', async (value) => {
  throw new Error('kaboom');
});

ee2[Symbol.for('nodejs.rejection')] = console.log;

Setting EventEmitter.captureRejections = true will change the default for all
new instances of EventEmitter.

EventEmitter.captureRejections = true;
const ee1 = new EventEmitter();
ee1.on('something', async (value) => {
  throw new Error('kaboom');
});

ee1.on('error', console.log);

This is an experimental feature.

Matteo Collina #27867.

Other
  • dgram: add source-specific multicast support (Lucas Pardue) #15735
  • esm: unflag --experimental-exports (Guy Bedford) #29867
  • fs: add bufferSize option to fs.opendir() (Anna Henningsen) #30114
  • http: outgoing cork (Robert Nagy) #29053
  • http: support readable hwm in IncomingMessage (Colin Ihrig) #30135
  • http: add reusedSocket property on client request (themez) #29715
  • http2: make maximum tolerated rejected streams configurable (Denys Otrishko) #30534
  • http2: allow to configure maximum tolerated invalid frames (Denys Otrishko) #30534
  • https: add client support for TLS keylog events (Sam Roberts) #30053
  • module: resolve self-references (Jan Krems) #29327
  • n-api: add napi\_detach\_arraybuffer (legendecas) #29768
  • perf_hooks: move perf_hooks out of experimental (legendecas) #31101
  • readline: promote _getCursorPos to public api (Jeremy Albright) #30687
  • repl: check for NODE_REPL_EXTERNAL_MODULE (Gus Caplan) #29778
  • src: expose ArrayBuffer version of Buffer::New() (Anna Henningsen) #30476
  • src: expose ability to set options (Shelley Vohr) #30466
  • src: allow adding linked bindings to Environment (Anna Henningsen) #30274
  • src: deprecate two- and one-argument AtExit() (Anna Henningsen) #30227
  • src: expose granular SetIsolateUpForNode (Shelley Vohr) #30150
  • stream: add writableCorked to Duplex (Anna Henningsen) #29053
  • stream: add writableCorked property (Robert Nagy) #29012
  • tls: add PSK support (Denys Otrishko) #23188
  • tls: expose IETF name for current cipher suite (Sam Roberts) #30637
  • tls: cli option to enable TLS key logging to file (Sam Roberts) #30055
  • util: add more predefined color codes to inspect.colors (Ruben Bridgewater) #30659
  • vm: add Synthetic modules (Gus Caplan) #29864
  • wasi: introduce initial WASI support (Colin Ihrig) #30258
  • worker: add argv constructor option (legendecas) #30559
  • worker: allow specifying resource limits (Anna Henningsen) #26628

Commits

  • [67ec97a086] - (SEMVER-MINOR) assert: implement assert.match() and assert.doesNotMatch() (Ruben Bridgewater) #30929
  • [881ebce0f3] - (SEMVER-MINOR) assert: DRY .throws code (Ruben Bridgewater) #28263
  • [e938784173] - (SEMVER-MINOR) assert: fix generatedMessage property (Ruben Bridgewater) #28263
  • [9da54444dd] - assert: use for...of (Soar) #30983
  • [5bd6947d0e] - (SEMVER-MINOR) assert: fix line number calculation after V8 upgrade (Michaël Zasso) #29694
  • [1f68004954] - assert,util: stricter type comparison using deep equal comparisons (Ruben Bridgewater) #30764
  • [c6be79a34e] - async_hooks: ensure proper handling in runInAsyncScope (Anatoli Papirovski) #30965
  • [a1555cb276] - benchmark: add more util inspect and format benchmarks (Ruben Bridgewater) #30767
  • [4ee5665939] - benchmark: use let instead of var in dgram (dnlup) #31175
  • [b48cfccffa] - benchmark: add benchmark on async_hooks enabled http server (legendecas) #31100
  • [d30911e51b] - benchmark: use let instead of var in crypto (dnlup) #31135
  • [dc8c955fe9] - benchmark: replace var with let/const in cluster benchmark (dnlup) #31042
  • [d5c0e4d8b1] - benchmark: include writev in benchmark (Robert Nagy) #31066
  • [15adbe8d66] - benchmark: use let instead of var in child_process (dnlup) #31043
  • [8c3b8e02f0] - benchmark: add clear connections to secure-pair (Diego Lafuente) #27971
  • [13337985f7] - benchmark: update manywrites back pressure (Robert Nagy) #30977
  • [47b53676bd] - benchmark: use let/const instead of var in buffers (dnlup) #30945
  • [ac5de4f4c8] - benchmark: improve --filter pattern matching (Matheus Marchini) #29987
  • [57f29b71b3] - bootstrap: use different scripts to setup different configurations (Joyee Cheung) #30862
  • [8252c06165] - buffer: release buffers with free callbacks on env exit (Anna Henningsen) #30551
  • [83f02c0af8] - buffer: improve .from() error details (Ruben Bridgewater) #29675
  • [67a2a47484] - build: auto-load ICU data from --with-icu-default-data-dir (Stephen Gallagher) #30825
  • [e5e60f5599] - build: remove (almost) unused macros/constants (Benjamin Coe) #30755
  • [35ce8bbaef] - build: do not build mksnapshot and mkcodecache for --shared (Joyee Cheung) #30647
  • [78c46c5b1a] - build: add --without-node-code-cache configure option (Joyee Cheung) #30647
  • [8ab748e13a] - build: don't use -latomic on macOS (Ryan Schmidt) #30099
  • [4cd459c9bd] - build: fixes build for some os versions (David Carlier)
  • [1811b1a742] - build: fix missing x64 arch suffix in binary tar name (legendecas) #30877
  • [add17b19f4] - build: on Android, use android log library to print stack traces (Giovanni Campagna) #29388
  • [65e67cb671] - build: fix library version and compile flags on Android (Giovanni Campagna) #29388
  • [50f6541e10] - build: ease DragonFlyBSD build (David Carlier) #30201
  • [f5cd6d73fd] - build: warn upon --use-largepages config option (Gabriel Schulhof) #31103
  • [dea40f8c52] - build: switch realpath to pwd (Benjamin Coe) #31095
  • [5fcf542faa] - build: re-introduce --use-largepages as no-op (Gabriel Schulhof)
  • [cf3926e310] - (SEMVER-MINOR) build: reset embedder string to "-node.0" (Michaël Zasso) #30109
  • [78cf6d0f89] - build,win: fix goto exit in vcbuild (João Reis) #30931
  • [4c317ce4d0] - (SEMVER-MINOR) child_process,cluster: allow using V8 serialization API (Anna Henningsen) #30162
  • [7bfc339c47] - (SEMVER-MINOR) cli: add --trace-exit cli option (legendecas) #30516
  • [f3196db13f] - (SEMVER-MINOR) cli: whitelist new V8 flag in NODE_OPTIONS (Shelley Vohr) #30094
  • [e08c008b5d] - (SEMVER-MINOR) cli: add --trace-uncaught flag (Anna Henningsen) #30025
  • [f76f143846] - cluster: remove unnecessary bind (Anatoli Papirovski) #28131
  • [17fc4b093f] - console: unregister temporary error listener (Robert Nagy) #30852
  • [e4b3181f2e] - crypto: cast oaepLabel to unsigned char* (Shelley Vohr) #30917
  • [2e06b854b8] - crypto: automatically manage memory for ECDSA_SIG (Tobias Nießen) #30641
  • [f8d3ea987d] - (SEMVER-MINOR) crypto: add support for IEEE-P1363 DSA signatures (Tobias Nießen) #29292
  • [497b59b156] - (SEMVER-MINOR) crypto: add Hash.prototype.copy() method (Ben Noordhuis) #29910
  • [02d72838db] - deps: V8: cherry-pick 0dfd9ea51241 (Benjamin Coe) #30713
  • [09e4182a21] - deps: V8: cherry-pick d89f4ef1cd62 (Milad Farazmand) #31354
  • [678429640c] - deps: uvwasi: cherry-pick 75b389c (Colin Ihrig) #31076
  • [a9d9fdbe5c] - deps: uvwasi: cherry-pick 64e59d5 (Colin Ihrig) #31076
  • [5d545d064e] - deps: update uvwasi (Anna Henningsen) #30745
  • [015671dca2] - deps: V8: cherry-pick b38dfaf3a633 (Matheus Marchini) #30870
  • [8c5e951eba] - deps: V8: cherry-pick cc5016e1b702 (Matheus Marchini) #30870
  • [c6600d1937] - (SEMVER-MINOR) deps: upgrade http-parser to v2.9.1 (Sam Roberts) #30473
  • [d905d04df2] - deps: V8: backport a4545db (David Carlier) #31127
  • [86d1998f02] - deps: V8: cherry-pick d406bfd64653 (Sam Roberts) #30819
  • [ccf1178331] - deps: V8: cherry-pick d3a1a5b6c491 (Michaël Zasso) #31005
  • [fff116737f] - (SEMVER-MINOR) deps: upgrade to libuv 1.34.0 (Colin Ihrig) #30783
  • [b27b420bc3] - deps: fix OPENSSLDIR on Windows (Shigeki Ohtsu) #29456
  • [fcc4bf9667] - deps: V8: cherry-pick ca5b0ec (Anna Henningsen) #30708
  • [42c456089a] - deps: V8: backport 777fa98 (Michaël Zasso) #30062
  • [512a0cc63c] - deps: V8: cherry-pick 53e62af (Michaël Zasso) #29898
  • [e60dc1dd22] - (SEMVER-MINOR) deps: patch V8 to be API/ABI compatible with 7.4 (from 7.7) (Michaël Zasso) #29241
  • [887ca3b184] - deps: patch V8 to be API/ABI compatible with 7.4 (from 7.6) (Michaël Zasso) #28955
  • [da3459b14e] - (SEMVER-MINOR) deps: patch V8 to be API/ABI compatible with 7.4 (from 7.5) (Michaël Zasso) #28005
  • [8a16f80453] - (SEMVER-MINOR) deps: update V8's postmortem script (Colin Ihrig) #29694
  • [6e3828ff12] - deps: V8: cherry-pick a7dffcd767be (Christian Clauss) #30218
  • [dced9beef6] - (SEMVER-MINOR) deps: V8: cherry-pick 0a055086c377 (Michaël Zasso) #30109
  • [c5fdb343e4] - deps: V8: cherry-pick e5dbc95 (Gabriel Schulhof) #30130
  • [553afa90ad] - deps: V8: cherry-pick ed40ab1 (Michaël Zasso) #30064
  • [f364b50774] - (SEMVER-MINOR) deps: V8: cherry-pick 716875d (Myles Borins) #29694
  • [43c5b91ffd] - deps: V8: cherry-pick 35c6d4d (Sam Roberts) #29585
  • [23271dd50a] - deps: V8: cherry-pick deac757 (Benjamin Coe) #29626
  • [35ce2f63c1] - (SEMVER-MINOR) deps: V8: fix linking issue for MSVS (Refael Ackermann) #28016
  • [c0e829f766] - (SEMVER-MINOR) deps: V8: fix BUILDING_V8_SHARED issues (Refael Ackermann) #27375
  • [02b54af39f] - (SEMVER-MINOR) deps: V8: add workaround for MSVC optimizer bug (Refael Ackermann) #28016
  • [367620cc5b] - (SEMVER-MINOR) deps: V8: use ATOMIC_VAR_INIT instead of std::atomic_init (Refael Ackermann) #27375
  • [78b1b5ca91] - (SEMVER-MINOR) deps: V8: forward declaration of Rtl\*FunctionTable (Refael Ackermann) #27375
  • [2efd0ec96b] - (SEMVER-MINOR) deps: V8: patch register-arm64.h (Refael Ackermann) #27375
  • [85041b4c9b] - (SEMVER-MINOR) deps: V8: silence irrelevant warning (Michaël Zasso) #26685
  • [cdd763d931] - (SEMVER-MINOR) deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #26685
  • [b28a85d0b3] - (SEMVER-MINOR) deps: V8: fix filename manipulation for Windows (Refael Ackermann) #28016
  • [ec625fb8f8] - (SEMVER-MINOR) deps: update V8 to 7.8.279.23 (Michaël Zasso) #30109
  • [25f2df4538] - deps,http: http_parser set max header size to 8KB (Matteo Collina) nodejs-private/node-private#143
  • [008ac37ee5] - (SEMVER-MINOR) deps,src: patch V8 to be API/ABI compatible with 7.4 (from 7.8) (Anna Henningsen) #30109
  • [8b11954470] - deps,src,test: update to uvwasi 0.0.3 (Colin Ihrig) #30980
  • [83f89396e4] - dgram: test to add and to drop specific membership (A. Volgin) #31047
  • [334fcbe210] - dgram: use for...of (Trivikram Kamat) #30999
  • [1aeca6d087] - (SEMVER-MINOR) dgram: add source-specific multicast support (Lucas Pardue) #15735
  • [5c6a6b8b27] - (SEMVER-MINOR) doc: make AssertionError a link (Ruben Bridgewater) #28263
  • [6d8a54129d] - (SEMVER-MINOR) doc: update assert.throws() examples (Ruben Bridgewater) #28263
  • [625ed708a6] - doc: remove extra backtick (Colin Ihrig) #31186
  • [4bbf584ac8] - doc: use code markup/markdown in headers (Ruben Bridgewater) #31149
  • [42ccf22fb7] - doc: add note about fs.close() about undefined behavior (Robert Nagy) #30966
  • [b1358d3cc0] - doc: add code example to inspector.url() method (Juan José Arboleda) #29496
  • [ec514a6a98] - doc: deprecate http finished (Robert Nagy) #28679
  • [f281946b12] - doc: update REPL documentation to instantiate the REPL (Ruben Bridgewater) #30928
  • [39dbc10134] - doc: improve explanation of package.json "type" field (Ronald J Kimball) #27516
  • [7aa77594af] - doc: clarify role of writable.cork() (Colin Grant) #30442
  • [25fb34c754] - doc: de-duplicate security release processes (Sam Roberts) #30996
  • [91e7c14bb6] - doc: fix createDiffieHellman generator type (Tobias Nießen) #31121
  • [cb75f566fd] - doc: update mode type for mkdir() functions (Colin Ihrig) #31115
  • [cd310e1184] - doc: update mode type for process.umask() (Colin Ihrig) #31115
  • [5948ff4872] - doc: update mode type for fs open() functions (Colin Ihrig) #31115
  • [a5f1434297] - doc: update mode type for fchmod() functions (Colin Ihrig) #31115
  • [54cbbae66e] - doc: update parameter type for fsPromises.chmod() (Colin Ihrig) #31115
  • [6c9bc3cdfa] - doc: improve dns introduction (Rich Trott) #31090
  • [671a5b71a3] - doc: update parameter type for fs.chmod() (Santosh Yadav) #31085
  • [5db6758a99] - doc: add --inspect-publish-uid man page entry (Colin Ihrig) #31077
  • [b28b16bf56] - doc: add --force-context-aware man page entry (Colin Ihrig) #31077
  • [f08130ea2b] - doc: add --enable-source-maps man page entry (Colin Ihrig) #31077
  • [2aab93e4c8] - doc: fix anchors and subtitle in BUILDING.md (sutangu) #30296
  • [5c522dd59a] - doc: standardize usage of hostname vs. host name (Rich Trott) #31073
  • [bbb5707699] - doc: add unrepresented flags docs for configure (Pranshu Srivastava) #28069
  • [1f0a1d5bbb] - doc: improve doc net:server.listen (dev-313) #31064
  • [2f7bd150f7] - doc: implement minor improvements to BUILDING.md text (Rich Trott) #31070
  • [ea5be29d99] - doc: avoid using v8::Persistent in addon docs (Anna Henningsen) #31018
  • [7822eb1520] - doc: reference worker threads on signal events (legendecas) #30990
  • [08186b25f7] - doc: update message.url example in http.IncomingMessage (Tadao Iseki) #30830
  • [5537fae526] - doc: explain napi_run_script (Tobias Nießen) #30918
  • [9e5d39c56f] - doc: add "Be direct." to the style guide (Rich Trott) #30935
  • [c554c0e430] - doc: clarify expectations for PR commit messages (Derek Lewis) #30922
  • [5a8a7a4bb9] - doc: fix description of N-API exception handlers (Tobias Nießen) #30893
  • [690deaa3bd] - doc: improve doc writable streams: 'finish' event (dev-313) #30889
  • [2f4615c9f3] - doc: clarify build support text (Rich Trott) #30899
  • [169a3d5550] - doc: edit colorMode information (Rich Trott) #30887
  • [16283b8840] - doc: fix argument type of setAAD (Tobias Nießen) #30863
  • [3ac40b933b] - doc: clarify Tier 2 implications in BUILDING.md (Rich Trott) #30866
  • [a8df2e28ac] - doc: improve doc Http2Stream: FrameError, Timeout and Trailers (dev-313) #30373
  • [0f0388c680] - doc: include line/cursor in readline documentation (Jeremy Albright) #30667
  • [07ba50a8cf] - doc: improve napi formatting (Ruben Bridgewater) #30772
  • [4cb8476bb5] - doc: add documentation about node_mksnapshot and mkcodecache (Joyee Cheung) #30773
  • [ae65f8c3af] - doc: remove imprecise and redundant testing text (Rich Trott) #30763
  • [4aac4242dd] - doc: remove usage of "Node" in favor of "Node.js" (Rich Trott) #30758
  • [4c1f85b395] - doc: revise addons introduction for brevity and clarity (Rich Trott) #30756
  • [1c452f0fcb] - doc: fix up N-API doc (NickNaso) #30656
  • [ffad4369bc] - doc: adds assert doc for strict mode with pointer to strict equality (Shobhit Chittora) #30486
  • [bc23dfe0ce] - doc: Buffer.toString(): add note about invalid data (Jan-Philip Gehrcke) #30706
  • [d60da089d5] - doc: clarify text about using 'session' event for compatibility (Rich Trott) #30746
  • [0a34cf569e] - doc: fix worker.resourceLimits indentation (Daniel Nalborczyk) #30663
  • [e1c559ea60] - doc: fix worker.resourceLimits type (Daniel Nalborczyk) #30664
  • [f8cd96ad0c] - doc: simplify "is recommended" language in assert documentation (Rich Trott) #30558
  • [3b4b0de25e] - doc: update http.md mention of socket (Jesse O'Connor) #30155
  • [c6b6e3fcb4] - doc: clarify required flag for extensionless esm (Lucas Azzola) #30657
  • [005cad393f] - doc: avoid proposal syntax in code example (Alex Zherdev) #30685
  • [b99eca950d] - doc: esm: improve dual package hazard docs (Geoffrey Booth) #30345
  • [53b398451b] - doc: fix some recent doc nits (vsemozhetbyt) #30341
  • [6ac1b13192] - doc: update outdated commonjs compat info (Geoffrey Booth) #30512
  • [d043692d0b] - doc: update divergent specifier hazard guidance (Geoffrey Booth) #30051
  • [5679b61585] - doc: include --experimental-resolve-self in manpage (Guy Bedford) #29978
  • [0d431352d2] - doc: update vm.md for link linting (Rich Trott) #29982
  • [4e8b8bcb76] - doc: make YAML matter consistent in crypto.md (Rich Trott) #30016
  • [31d38643fe] - doc: fix numbering in require algorithm (Jan Krems) #30117
  • [55dc0bc656] - doc: use code markup/markdown in headers in globals documentation (Rich Trott) #31086
  • [7602290b14] - doc: use code markup/markdown in headers in deprecations documentation (Rich Trott) #31086
  • [88cdc5155b] - doc: use code markup/markdown in headers in addons documentation (Rich Trott) #31086
  • [805fb8fce6] - doc: allow <code> in header elements (Rich Trott) #31086
  • [4087825b5f] - doc,assert: use code markup/markdown in headers (Rich Trott) #31086
  • [be5450c8ad] - doc,async_hooks: use code markup/markdown in headers (Rich Trott) #31086
  • [d68807b3c6] - doc,benchmark: move benchmark guide to benchmark directory (Rich Trott) #30781
  • [c470e6e629] - doc,buffer: use code markup/markdown in headers (Rich Trott) #31086
  • [d56fc6accd] - doc,child_process: use code markup/markdown in headers (Rich Trott) #31086
  • [4abe95550e] - doc,cluster: use code markup/markdown in headers (Rich Trott) #31086
  • [b96c411fd8] - doc,console: use code markup/markdown in headers (Rich Trott) #31086
  • [886fa78794] - doc,crypto: use code markup/markdown in headers (Rich Trott) #31086
  • [1d8b45f89f] - doc,dgram: use code markup/markdown in headers (Rich Trott) #31086
  • [6d712ac5b8] - doc,dns: use code markup/markdown in headers (Rich Trott) #31086
  • [92dd882e37] - doc,domain: use code markup/markdown in headers (Rich Trott) #31086
  • [bde2625824] - doc,errors: use code markup/markdown in headers (Rich Trott) #31086
  • [9cddfe231b] - doc,esm: use code markup/markdown in headers (Rich Trott) #31086
  • [078cea8ca8] - doc,events: use code markup/markdown in headers (Rich Trott) #31086
  • [f5e0e20b85] - doc,fs: use code markup/markdown in headers (Rich Trott) #31086
  • [015cb26cc5] - doc,http: use code markup/markdown in headers (Rich Trott) #31086
  • [7d9cce6d75] - doc,http2: use code markup/markdown in headers (Rich Trott) #31086
  • [6e45e32b9b] - doc,https: use code markup/markdown in headers (Rich Trott) #31086
  • [30ee4ac89a] - doc,inspector: use code markup/markdown in headers (Rich Trott) #31086
  • [8be52c448b] - doc,lib,src,test: rename WASI CLI flag (Colin Ihrig) #30980
  • [7bfaf502a5] - doc,module: use code markup/markdown in headers (Rich Trott) #31086
  • [3d9bf149ca] - doc,n-api: mark napi_detach_arraybuffer as experimental (legendecas) #30703
  • [ca6d6f3e04] - doc,net: use code markup/markdown in headers (Rich Trott) #31086
  • [fcfcd1d0bf] - doc,os: use code markup/markdown in headers (Rich Trott) #31086
  • [2fe0f907b2] - doc,path: use code markup/markdown in headers (Rich Trott) #31086
  • [90d067c3f0] - doc,perf_hooks: use code markup/markdown in headers (Rich Trott) #31086
  • [38c6a3faab] - doc,process: use code markup/markdown in headers (Rich Trott) #31086
  • [7e71ddfcd7] - doc,punycode: use code markup/markdown in headers (Rich Trott) #31086
  • [cf38b43882] - doc,querystring: use code markup/markdown in headers (Rich Trott) #31086
  • [f521a98939] - doc,readline: use code markup/markdown in headers (Rich Trott) #31086
  • [ce4545bfba] - doc,repl: use code markup/markdown in headers (Rich Trott) #31086
  • [920b8d59a2] - doc,stream: use code markup/markdown in headers (Rich Trott) #31086
  • [37e32431f1] - doc,string_decoder: use code markup/markdown in headers (Rich Trott) #31086
  • [fa6ac14096] - doc,timers: use code markup/markdown in headers (Rich Trott) #31086
  • [86bcf6c25c] - doc,tls: use code markup/markdown in headers (Rich Trott) #31086
  • [9ca825192f] - doc,tty: use code markup/markdown in headers (Rich Trott) #31086
  • [c5853452ad] - doc,url: use code markup/markdown in headers (Rich Trott) #31086
  • [32956444e0] - doc,util: use code markup/markdown in headers (Rich Trott) #31086
  • [7d2748a85d] - doc,v8: use code markup/markdown in headers (Rich Trott) #31086
  • [b6e892bca9] - doc,vm: use code markup/markdown in headers (Rich Trott) #31086
  • [ee9e8179ab] - doc,vm,test: remove _sandbox_ from vm documentation (Rich Trott) #31057
  • [c51153cebb] - doc,wasi: use code markup/markdown in headers (Rich Trott) #31086
  • [36b3e152da] - doc,worker: use code markup/markdown in headers (Rich Trott) #31086
  • [9e43e06b20] - doc,zlib: use code markup/markdown in headers (Rich Trott) #31086
  • [1c17f4219d] - errors: improve ERR_INVALID_ARG_TYPE (Ruben Bridgewater) #29675
  • [1a0cda1773] - errors: support prepareSourceMap with source-maps (Benjamin Coe) #31143
  • [c10ee5d5aa] - esm: better error message for unsupported URL (Thomas) #31129
  • [b95bb388f6] - esm: empty ext from pkg type/main doesnt affect format (Bradley Farias) #31021
  • [0a4cfef7d0] - esm: make specifier flag clearly experimental (Myles Borins) #30678
  • [924a9a8713] - esm: data URLs should ignore unknown parameters (Bradley Farias) #30593
  • [549a58eb11] - esm: disable non-js exts outside package scopes (Guy Bedford) #30501
  • [bd82adb884] - esm: exit the process with an error if loader has an issue (Michaël Zasso) #30219
  • [a0494cfb7b] - (SEMVER-MINOR) esm: unflag --experimental-exports (Guy Bedford) #29867
  • [b6d09e83b9] - (SEMVER-MINOR) events: add EventEmitter.on to async iterate over events (Matteo Collina) #27994
  • [62d3bebbbb] - (SEMVER-MINOR) events: allow monitoring error events (Gerhard Stoebich) #30932
  • [4265d57176] - (SEMVER-MINOR) events: add captureRejection option (Matteo Collina) #27867
  • [7ef1386d8e] - fixup: update changelog (Myles Borins)
  • [c3daa3e3f5] - fs: synchronize close with other I/O for streams (Anna Henningsen) #30837
  • [fb2253e866] - fs: retry unlink operations in rimraf (Colin Ihrig) #30569
  • [76affb66fd] - fs: only operate on buffers in rimraf (Colin Ihrig) #30569
  • [17a48f11eb] - fs: use consistent defaults in sync stat functions (Colin Ihrig) #31097
  • [91845d8251] - fs: remove unnecessary bind (Anatoli Papirovski) #28131
  • [50afd34237] - fs: reduce unnecessary sync rimraf retries (Colin Ihrig) #30785
  • [4e05bf0cc3] - fs: add synchronous retries to rimraf (Colin Ihrig) #30785
  • [e3a0c61726] - fs: fix existsSync for invalid symlink at win32 (Rongjian Zhang) #30556
  • [0b88bbdeaa] - fs: add ENFILE to rimraf retry logic (Colin Ihrig) #30644
  • [79e92fb1c1] - fs: add retryDelay option to rimraf (Colin Ihrig) #30644
  • [0a33f17c47] - fs: remove rimraf's emfileWait option (Colin Ihrig) #30644
  • [022ecbdc87] - fs: make rimraf default to 0 retries (Colin Ihrig) #30644
  • [dfb86f98bc] - fs: rename rimraf's maxBusyTries to maxRetries (Colin Ihrig) #30644
  • [ba5683ccea] - (SEMVER-MINOR) fs: add bufferSize option to fs.opendir() (Anna Henningsen) #30114
  • [725daeb185] - http: http_outgoing rename var to let and const (telenord) #30284
  • [b840eb77c0] - http: free listeners on free sockets (Robert Nagy) #29259
  • [49a9b31615] - http: use for...of in http library code (Trivikram Kamat) #30958
  • [99a09a2e9f] - (SEMVER-MINOR) http: add captureRejection support to OutgoingMessage (Matteo Collina) #27867
  • [cdc33df125] - (SEMVER-MINOR) http: implement capture rejections for 'request' event (Matteo Collina) #27867
  • [3a7a3be034] - (SEMVER-MINOR) http: opt-in insecure HTTP header parsing (Sam Roberts) #30567
  • [baece55686] - http: remove unnecessary bind (Anatoli Papirovski) #28131
  • [f24f352213] - http: improve performance caused by primordials (Lucas Recknagel) #30416
  • [c1b73f2e20] - (SEMVER-MINOR) http: outgoing cork (Robert Nagy) #29053
  • [c2757d1a48] - (SEMVER-MINOR) http: support readable hwm in IncomingMessage (Colin Ihrig) #30135
  • [fc29cf9421] - (SEMVER-MINOR) http: add reusedSocket property on client request (themez) #29715
  • [54635f5837] - http: fix monkey-patching of http_parser (Jimb Esser) #30222
  • [f63e440109] - http2: make HTTP2ServerResponse more streams compliant (Robert Nagy)
  • [20a817557e] - http2: set default enableConnectProtocol to 0 (Yongsheng Zhang) #31174
  • [2cc0482c46] - (SEMVER-MINOR) http2: implement capture rection for 'request' and 'stream' events (Matteo Collina) #27867
  • [dce435db29] - http2: remove unnecessary bind from setImmediate (Anatoli Papirovski) #28131
  • [8d8c05de19] - http2: forward debug message in debugStreamObj (Denys Otrishko) #30840
  • [bb77e6e503] - http2: track nghttp2-allocated memory in heap snapshot (Anna Henningsen) #30745
  • [284f033034] - http2: use shared memory tracking implementation (Anna Henningsen) #30745
  • [f589f4d616] - http2: streamline OnStreamRead streamline memory accounting (Denys Otrishko) #30351
  • [a534058d3c] - http2: small clean up in OnStreamRead (Denys Otrishko) #30351
  • [fb4f71bff7] - (SEMVER-MINOR) http2: make maximum tolerated rejected streams configurable (Denys Otrishko) #30534
  • [3bed1fa7da] - (SEMVER-MINOR) http2: allow to configure maximum tolerated invalid frames (Denys Otrishko) #30534
  • [46cb0da9bf] - (SEMVER-MINOR) http2: replace direct array usage with struct for js_fields_ (Denys Otrishko) #30534
  • [3fe37e6e2b] - https: prevent options object from being mutated (Vighnesh Raut) #31151
  • [dc521b03a2] - (SEMVER-MINOR) https: add client support for TLS keylog events (Sam Roberts) #30053
  • [a8bf7db040] - inspector: do not access queueMicrotask from global (Michaël Zasso) #30732
  • [69eaff150e] - lib: move initialization of APIs for changing process state (Anna Henningsen) #31172
  • [4a1cb3deda] - lib: do not catch user errors (Ruben Bridgewater) #31159
  • [4a7e8606f0] - lib: replace var with let/const (kresimirfranin) #30394
  • [5dd9fb2ef5] - lib: further simplify assertions in vm/module (Anna Henningsen) #30815
  • [4198d9ad9a] - lib: improve spelling and grammar in comment (David Newman) #31026
  • [0266d7f7c7] - lib: change var to let/const (rene.herrmann) #30910
  • [1c6e2ec744] - lib: refactor NativeModule (Joyee Cheung) #30856
  • [01ea5badbf] - lib: replace var with let/const (jens-cappelle) #30384
  • [248921b58c] - lib: delay access to CLI option to pre-execution (Joyee Cheung) #30778
  • [0dd8605425] - lib: replace Map global by the primordials (Sebastien Ahkrin) #31155
  • [02ed713314] - lib: replace use of Error with primordials (Sebastien Ahkrin) #31163
  • [e5b7d64f2d] - lib: replace Set global by the primordials (Sebastien Ahkrin) #31154
  • [869cd531e9] - lib: replace WeakSet global by the primordials (Sebastien Ahkrin) #31157
  • [90196b89dd] - lib: replace WeakMap global by the primordials (Sebastien Ahkrin) #31158
  • [b1550a63b8] - lib: replace Set.prototype with SetPrototype primordial (Sebastien Ahkrin) #31161
  • [f33147bf4d] - lib: replace Symbol.species by SymbolSpecies (Sebastien Ahkrin) #30950
  • [581e83755a] - lib: replace Symbol.hasInstance by SymbolHasInstance (Sebastien Ahkrin) #30948
  • [5cfcf6f9d6] - lib: replace Symbol.asyncIterator by SymbolAsyncIterator (Sebastien Ahkrin) #30947
  • [31227e6ecd] - lib: enforce use of Promise from primordials (Michaël Zasso) #30936
  • [b00fcafc9d] - lib: add TypedArray constructors to primordials (Sebastien Ahkrin) #30740
  • [7c3ac42ddb] - lib: replace Symbol.toPrimitive to SymbolToPrimitive primordials (Sebastien Ahkrin) #30905
  • [d1702f5866] - lib: update Symbol.toStringTag by SymbolToStringTag primordial (Sebastien Ahkrin) #30908
  • [d4ea392a62] - lib: enforce use of BigInt from primordials (Michaël Zasso) #30882
  • [22df5dc956] - lib: replace Symbol.iterator by SymbolIterator (Sebastien Ahkrin) #30859
  • [54aa3b92df] - lib: replace every Symbol.for by SymbolFor primordials (Sebastien Ahkrin) #30857
  • [c6535c0f1d] - lib: replace Symbol global by the primordials Symbol (Sebastien Ahkrin) #30737
  • [d4d61721d3] - lib: enforce use of primordial Number (Sebastien Ahkrin) #30700
  • [5de272cceb] - lib: use static Number properties from primordials (Michaël Zasso) #30686
  • [2e81795ab7] - lib: enforce use of Boolean from primordials (Michaël Zasso) #30698
  • [61bb7b918c] - lib: replace Date.now function by primordial DateNow (Tchoupinax) #30689
  • [67de74424f] - lib: replace ArrayBuffer.isView by primordial ArrayBuffer (Vincent Dhennin) #30692
  • [79dd591223] - lib: enforce use of Array from primordials (Michaël Zasso) #30635
  • [ac7bebad27] - lib: flatten access to primordials (Michaël Zasso) #30610
  • [9b730ad28a] - lib: use strict equality comparison (Donggeon Lim) #30898
  • [15d48f9fa7] - lib: add parent to ERR_UNKNOWN_FILE_EXTENSION (qualitymanifest) #30728
  • [b743f2c343] - (SEMVER-MINOR) lib: no need to strip BOM or shebang for scripts (Refael Ackermann) #27375
  • [6c34ad6c66] - (SEMVER-MINOR) lib: rework logic of stripping BOM+Shebang from commonjs (Gus Caplan) #27768
  • [3d4c24d165] - lib,test: improves ERR_REQUIRE_ESM message (Juan José Arboleda) #30694
  • [48e1dfe41e] - meta: clarify scope of new nodejs.org issue choice (Derek Lewis) #31123
  • [db5ec52ea0] - module: fix check exports issue in cjs module loading (Guy Bedford) #31427
  • [616a4ee93a] - (SEMVER-MINOR) module: unflag conditional exports (Guy Bedford) #31001
  • [fae517a0d7] - module: logical conditional exports ordering (Guy Bedford) #31008
  • [cad0402276] - module: loader getSource, getFormat, transform hooks (Geoffrey Booth) #30986
  • [ffc910f9f7] - module: fix require in node repl (Yongsheng Zhang) #30835
  • [4de60973f9] - module: reduce circular dependency of internal/modules/cjs/loader (Joyee Cheung) #30349
  • [a91b735381] - module: fix dynamic import from eval (Corey Farrell) #30624
  • [2a2ae8ec94] - module: fixup lint and test regressions (Guy Bedford) #30802
  • [9696e9edad] - module: fix specifier resolution algorithm (Rongjian Zhang) #30574
  • [3d0e33eb94] - module: unflag resolve self (Guy Bedford) #31002
  • [801ea120b6] - module: self resolve bug fix and esm ordering (Guy Bedford) #31009
  • [5b4db8e570] - module: conditional exports import condition (Guy Bedford) #30799
  • [69ec9bea62] - module: ignore resolution failures for inspect-brk (Maël Nison) #30336
  • [f0850a310a] - module: add warnings for experimental flags (Rongjian Zhang) #30617
  • [7e1f0500e2] - module: conditional exports with flagged conditions (Guy Bedford) #29978
  • [c7adb00b93] - module: refactor modules bootstrap (Bradley Farias) #29937
  • [df867939c2] - (SEMVER-MINOR) module: resolve self-references (Jan Krems) #29327
  • [ea3d4e8b6e] - (SEMVER-MINOR) n-api: implement napi_is_detached_arraybuffer (Denys Otrishko) #30613
  • [b69f2ddea3] - n-api: keep napi_env alive while it has finalizers (Anna Henningsen) #31140
  • [83e225b826] - (SEMVER-MINOR) n-api: add napi\_detach\_arraybuffer (legendecas) #29768
  • [0638b78ef1] - net: remove duplicate _undestroy (Robert Nagy) #30833
  • [5eef00a692] - (SEMVER-MINOR) net: implement capture rejections for 'connection' event (Matteo Collina) #27867
  • [59e2975413] - perf_hooks: use for...of (Trivikram Kamat) #31049
  • [e45edab43c] - (SEMVER-MINOR) perf_hooks: move perf_hooks out of experimental (legendecas) #31101
  • [01bb87650b] - perf_hooks: remove unnecessary bind (Anatoli Papirovski) #28131
  • [732780fa03] - process: refs --unhandled-rejections documentation in warning message (Antoine du HAMEL) #30564
  • [9ce788e357] - process: fix promise catching (Rongjian Zhang) #30957
  • [95f332f3d2] - (SEMVER-MINOR) readline: promote _getCursorPos to public api (Jeremy Albright) #30687
  • [12a1191727] - readline: eagerly load string_decoder (Ruben Bridgewater) #30807
  • [d4b41f6de4] - repl: use better uncaught exceptions indicator (Ruben Bridgewater) #29676
  • [521458a6c2] - repl: fix autocomplete when useGlobal is false (Michaël Zasso) #30883
  • [d7972b7b63] - repl: fix referrer for dynamic import (Corey Farrell) #30609
  • [e6397aaff8] - (SEMVER-MINOR) repl: check for NODE_REPL_EXTERNAL_MODULE (Gus Caplan) #29778
  • [6f5ced67a8] - src: accept single argument in getProxyDetails (Ruben Bridgewater) #30858
  • [4c1d172c6f] - src: mark ArrayBuffers with free callbacks as untransferable (Anna Henningsen) #30475
  • [cc3e427334] - src: prevent hard coding stack trace limit (legendecas) #30752
  • [ace3e70ef1] - src: unregister Isolate with platform before disposing (Anna Henningsen) #30909
  • [1148724bf5] - src: free preopen memory in WASI::New() (Colin Ihrig) #30809
  • [808a4566e8] - src: use checked allocations in WASI::New() (Colin Ihrig) #30809
  • [6bc2ce2bc2] - Revert "src: update v8abbr.h for V8 7.7" (Matheus Marchini) #30870
  • [7858d65cfe] - src: suppress warning in src/node_env_var.cc (Harshitha KP) #31136
  • [cb350975ac] - src: enable stack trace printing for V8 check failures (Anna Henningsen) #31079
  • [82fbedcb27] - src: port --bash-completion to C++ (Joyee Cheung) #25901
  • [3c63af27c2] - src: list used functions on headers (Juan José Arboleda) #30827
  • [d04891f4f2] - src: fix compiler warning in env.cc (Anna Henningsen) #31020
  • [6f61407a24] - src: make debug_options getters public (Shelley Vohr) #30494
  • [1743738417] - src: fix the false isatty() issue on IBMi (Xu Meng) #30829
  • [2ae27278a6] - src: improve checked uv loop close output (Anna Henningsen) #30814
  • [b1c226456b] - src: port memory-tracking allocator from QUIC repo (Anna Henningsen) #30745
  • [a5a09ac538] - src: don't use deprecated OpenSSL APIs (Rosen Penev) #30812
  • [85067c1201] - src: delete redundant method in node_dir.h (gengjiawen) #30747
  • [9b608e307e] - src: remove redundant cast in node_dir.cc (gengjiawen) #30747
  • [08ac9b6875] - src: improve node_crypto.cc memory allocation (Priyanka Kore) #30751
  • [cf19ec0c23] - src: fix node_dir.cc memory allocation (Priyanka Kore) #30750
  • [3f1ca18071] - src: change header file in node_stat_watcher.cc (Reza Fatahi) #29976
  • [6e33991c7e] - src: clean up node_file.h (Anna Henningsen) #30530
  • [c8e30c1d38] - src: fix -Wsign-compare warnings (Colin Ihrig) #30565
  • [ef9dd607ab] - src: use uv_async_t for WeakRefs (Anna Henningsen) #30616
  • [7adb01f0a3] - (SEMVER-MINOR) src: expose ArrayBuffer version of Buffer::New() (Anna Henningsen) #30476
  • [036a982843] - (SEMVER-MINOR) src: expose ability to set options (Shelley Vohr) #30466
  • [3117ea6563] - (SEMVER-MINOR) src: allow adding linked bindings to Environment (Anna Henningsen) #30274
  • [0beb8a6981] - (SEMVER-MINOR) src: deprecate two- and one-argument AtExit() (Anna Henningsen) #30227
  • [bf4c39dfa4] - (SEMVER-MINOR) src: expose granular SetIsolateUpForNode (Shelley Vohr) #30150
  • [69dac4b9b9] - src: do not use std::function for OnScopeLeave (Anna Henningsen) #30134
  • [f080239586] - src: remove AsyncScope and AsyncCallbackScope (Anna Henningsen) #30236
  • [f70d5187fd] - src: use callback scope for main script (Anna Henningsen) #30236
  • [32e5c3937f] - src: fix crash with SyntheticModule#setExport (Michaël Zasso) #30062
  • [17e0bf4510] - src: implement v8 host weakref hooks (Gus Caplan) #29874
  • [5e232f5de9] - src: make large_pages node.cc include conditional (Denys Otrishko) #31078
  • [fcbd2d245a] - src: make --use-largepages a runtime option (Gabriel Schulhof) #30954
  • [56225439c4] - src,test: use v8::Global instead of v8::Persistent (Anna Henningsen) #31018
  • [5edfd50584] - stream: group all properties using defineProperties (antsmartian) #31144
  • [a83c976a2b] - stream: reset flowing state if no 'readable' or 'data' listeners (Robert Nagy) #31036
  • [a0f5207389] - stream: simplify isBuf (Robert Nagy) #31067
  • [f6acf9a7b5] - stream: use for...of (Trivikram Kamat) #30960
  • [8cd8cd7413] - stream: do not chunk strings and Buffer in Readable.from (Matteo Collina) #30912
  • [fa544c89a2] - (SEMVER-MINOR) stream: add support for captureRejection option (Matteo Collina) #27867
  • [536d088850] - stream: use more accurate end-of-stream writable and readable detection (Stewart X Addison) #29409
  • [63e3a6221c] - (SEMVER-MINOR) stream: add writableCorked to Duplex (Anna Henningsen) #29053
  • [6a8a33caf6] - (SEMVER-MINOR) stream: add writableCorked property (Robert Nagy) #29012
  • [18cd0028d8] - test: change buffer offset to accommodate V8 BackingStore (Thang Tran) #31171
  • [1d45ba3342] - test: get lib/wasi.js coverage to 100% (Colin Ihrig) #31039
  • [b6c815c18c] - test: cover vm with negative tests (Andrew Kuzmenko) #31028
  • [e4e086a058] - test: remove obsolete WASI test (Colin Ihrig) #30980
  • [d676c6c5a9] - test: simplify test-wasi-start-validation.js (Colin Ihrig) #30972
  • [299d518b48] - test: improve WASI start() coverage (Colin Ihrig) #30972
  • [12e9bad4c6] - test: add missing test flags (Colin Ihrig) #30971
  • [713932522c] - test: add test for validation for wasi.start() argument (Rich Trott) #30919
  • [5b78bf2025] - test: work around ENOTEMPTY when cleaning tmp dir (Ben Noordhuis) #30849
  • [bf9a824c0a] - test: wait for stream close before writing to file (Anna Henningsen) #30836
  • [b6688efb9c] - test: use fs rimraf to refresh tmpdir (Colin Ihrig) #30569
  • [bb8b11f54a] - test: improve WASI options validation (Rich Trott) #30800
  • [2c27df2e14] - test: run more assert tests (Ruben Bridgewater) #30764
  • [8d0217b1d1] - test: improve wasi test coverage (Rich Trott) #30770
  • [11473ccaa4] - test: simplify tmpdir import in wasi tests (Rich Trott) #30770
  • [ee40a0039c] - test: use arrow functions in addons tests (garygsc) #30131
  • [4fd4a734e7] - Revert "test: update postmortem metadata test for V8 7.7" (Matheus Marchini) #30870
  • [ccf9038ef4] - test: check that --insecure-http-parser works (Sam Roberts) #31253
  • [402261709d] - test: use spread object (Fran Herrero) #30423
  • [9ed7d2ed45] - test: log errors in test-http2-propagate-session-destroy-code (Denys Otrishko) #31072
  • [9c9138fd83] - test: skip the unsupported test cases for IBM i (Xu Meng) #30819
  • [3c16855a21] - test: unflake async hooks statwatcher test (Denys Otrishko) #30362
  • [734b550d05] - test: fix common.enoughTestMem (Rich Trott) #31035
  • [73701b2564] - test: fix long lines (Colin Ihrig) #31014
  • [2a2fe8a358] - test: fix flaky test-http2-client-upload (Gerhard Stoebich) #29889
  • [e6907f05a1] - test: improve test coverage in child_process (Juan José Arboleda) #26282
  • [5cb1744147] - test: improve dns lookup coverage (Kirill Ponomarev) #30777
  • [4651871804] - test: avoid leftover report file (Gerhard Stoebich) #30925
  • [88085f0919] - test: improve assertion error message in test-debug-usage (Rich Trott) #30913
  • [2155f56669] - test: disable colorMode in test-console-group (Rich Trott) #30886
  • [cd740a29d0] - test: assert: fix deepStrictEqual comparing a real array and fake array (Jordan Harband) #30743
  • [be97f71a1f] - test: refactor test-accessor-properties (himself65) #29943
  • [e1eb6a6025] - test: scale keepalive timeouts for slow machines (Ben Noordhuis) #30834
  • [dc1bc155e1] - test: mark tests as flaky (João Reis) #30848
  • [39d770cc6e] - test: mark addons/openssl-bindings/test flaky on arm (Richard Lau) #30838
  • [1fa7347ab9] - test: remove common.busyLoop() (Colin Ihrig) #30787
  • [f6356fe50b] - test: use callback arguments in getconnections test (Rich Trott) #30775
  • [c2ee0a8ecb] - test: remove duplicate entries from root.status (Richard Lau) #30769
  • [193a02027c] - test: increase debugging information in subprocess test (Rich Trott) #30761
  • [194002b690] - test: use block-scoping in test-net-server-address (Rich Trott) #30754
  • [cc8dc677d5] - test: move test-child-process-fork-getconnections to parallel (Rich Trott) #30749
  • [6cedeb1aa8] - test: change common.PORT to arbitrary port (Rich Trott) #30749
  • [518fd8fcbc] - (SEMVER-MINOR) test: update and harden http2-reset-flood (Denys Otrishko) #30534
  • [c5f22cbb1b] - test: cover 'close' method in Dir class (Artem Maksimov) #30310
  • [56188fe5b2] - test: use tmpdir.refresh() in test-esm-windows.js (Richard Lau) #30997
  • [a1ccf07ae9] - test: make test-os-checked-function work without test harness (Rich Trott) #30914
  • [29f807e304] - test: delay loading 'os' in test/common module (Rich Trott) #30914
  • [de719fcd3b] - test: remove AtExit() addon test (Anna Henningsen) #30275
  • [eb4b932038] - test: revert 6d022c1 (Anna Henningsen) #30708
  • [ad4af04dce] - test,module: add test for exports cjs loader check (Rich Trott) #31427
  • [e5c68cda7c] - timers: fix refresh for expired timers (Anatoli Papirovski) #27345
  • [facee2a0dc] - timers: do less work in insert (Anatoli Papirovski) #27345
  • [ff9b5fc132] - tls: for...of in _tls_common.js (Trivikram Kamat) #30961
  • [48fcd76c95] - (SEMVER-MINOR) tls: implement capture rejections for 'secureConnection' event (Matteo Collina) #27867
  • [bfccc0048e] - (SEMVER-MINOR) tls: add PSK support (Denys Otrishko) #23188
  • [3f1e4a0fe8] - (SEMVER-MINOR) tls: expose IETF name for current cipher suite (Sam Roberts) #30637
  • [7d5ab8be31] - tls: introduce ERR_TLS_INVALID_CONTEXT (Rich Trott) #30718
  • [600c37c4f2] - (SEMVER-MINOR) tls: cli option to enable TLS key logging to file (Sam Roberts) #30055
  • [bedc6e2066] - tools: allow the travis commit message job to fail (Ruben Bridgewater) #31116
  • [b714e94786] - tools: fix Raspbian armv7 build (Andrey Hohutkin) #31041
  • [9d2e8c5727] - tools: update ESLint to 6.8.0 (Colin Ihrig) #31044
  • [47067ce07d] - tools: enable Markdown linter's usage information (Derek Lewis) #30216
  • [174e4350d1] - tools: update link to google styleguide for cpplint (Daniel Bevenius) #30876
  • [7558d8ba5a] - tools: use CC instead of CXX when pointing to gcc (Milad Farazmand) #30817
  • [eb8f19abc2] - tools: update remark-preset-lint-node to 1.11.0 (Rich Trott) #30789
  • [54140a8ab3] - tools: update ESLint to 6.7.2 (Rich Trott) #30762
  • [dbb4e2ab1f] - tools: update remark-preset-lint-node to 1.10.1 (Rich Trott) #29982
  • [1b8f841d10] - tools: update remark-preset-lint-node to 1.10.0 (Rich Trott) #29594
  • [6531e8b69e] - tools: apply more stringent blank-line linting for markdown files (Rich Trott) #29447
  • [6ae7d3028a] - (SEMVER-MINOR) tools: patch V8 to run on older XCode versions (Ujjwal Sharma) #29694
  • [6a17aecd31] - (SEMVER-MINOR) tools: update V8 gypfiles (Michaël Zasso) #29694
  • [b9c057c85a] - tools,src: forbid usage of v8::Persistent (Anna Henningsen) #31018
  • [70dc7a2672] - url: declare iterator inside loop (Trivikram Kamat) #30509
  • [fc0febebc9] - util: improve prototype inspection using inspect() and showHidden (Ruben Bridgewater) #31113
  • [cc19d08748] - util: add (typed) array length to the default output (Ruben Bridgewater) #31027
  • [3b9360da11] - util: refactor inspect code for constistency (Ruben Bridgewater) #30225
  • [b0e3aec7ca] - (SEMVER-MINOR) util: inspect (user defined) prototype properties (Ruben Bridgewater) #30768
  • [40a724c1c2] - (SEMVER-MINOR) util: fix built-in detection (Ruben Bridgewater) #30768
  • [bbf39bcfec] - util: never trigger any proxy traps using format() (Ruben Bridgewater) #30767
  • [a309ee11ca] - util: improve performance inspecting proxies (Ruben Bridgewater) #30767
  • [a1ce77670e] - util: fix .format() not always calling toString when it should be (Ruben Bridgewater) #30343
  • [219c8e9885] - (SEMVER-MINOR) util: add more predefined color codes to inspect.colors (Ruben Bridgewater) #30659
  • [1fbd7ac32e] - (SEMVER-MINOR) util: improve inspect's customInspect performance (Ruben Bridgewater) #30659
  • [5aecbcfdbe] - util: add internal sleep() function (Colin Ihrig) #30787
  • [74f7844a71] - v8: use of TypedArray constructors from primordials (Sebastien Ahkrin) #30740
  • [faf3ad2cb4] - (SEMVER-MINOR) vm: add Synthetic modules (Gus Caplan) #29864
  • [ff47915e5b] - wasi: refactor destructuring object on constructor (himself65) #31185
  • [80d7b6e1c5] - wasi: fix serdes bugs from snapshot1 migration (Colin Ihrig) #31122
  • [e815655ca3] - wasi: throw on failed uvwasi_init() (Colin Ihrig) #31076
  • [5d2ae05131] - wasi: require CLI flag to require() wasi module (Colin Ihrig) #30963
  • [2bb364aa53] - wasi: use memory-tracking allocator (Anna Henningsen) #30745
  • [b6ce736b9d] - (SEMVER-MINOR) wasi: introduce initial WASI support (Colin Ihrig) #30258
  • [81e363a240] - (SEMVER-MINOR) worker: add argv constructor option (legendecas) #30559
  • [886ef09f24] - (SEMVER-MINOR) worker: allow specifying resource limits (Anna Henningsen) #26628
  • [61da6571fe] - zlib: use for...of (Trivikram Kamat) #31051
  • [84070863f2] - zlib: allow writes after readable 'end' to finish (Anna Henningsen) #31082

tniessen and others added 30 commits January 14, 2020 08:30
PR-URL: #30863
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
PR-URL: #30840
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Minwoo Jung <nodecorelab@gmail.com>
Disable colorMode in test-console-group so that the test will succeed if
run without the test runner from the command line.

PR-URL: #30886
Reviewed-By: Shelley Vohr <codebytere@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Add information about what it means when colorMode is set to false.

PR-URL: #30887
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
This commit updates two old links to Google's C++ styleguide which
currently result in a 404 when accessed.

PR-URL: #30876
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Revise compilation/execution support text to keep it shorter, simpler,
and hopefully easier to read/understand.

PR-URL: #30899
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
doc change for stream.md that 'finish' event should be before
writer.end

fixes: #30759

PR-URL: #30889
Fixes: #30759
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Rich Trott <rtrott@gmail.com>
PR-URL: #30877
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
PR-URL: #30852
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Change '==' to '===' in v8_prof_polyfill.js, punycode.js.

PR-URL: #30898
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
process.nextTick accepts additional parameters which
are passed through to the callback. Use that instead
of binding the function to a context.

PR-URL: #28131
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Pass through parameters using setImmediate rather
than using Function.prototype.bind to bind the
provided context.

PR-URL: #28131
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Don't use Function.prototype.bind where it isn't
necessary. Rely on event emitter context instead
and on arrow function as class property.

PR-URL: #28131
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
PR-URL: #28131
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
PR-URL: #28131
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
This simplifies requires for those using DebugOptions,
since debug_options was defined in src/node_options-inl.h  and thus
embedders would need to require an extra file to do what could
trivially be consolidated into one.

PR-URL: #30494
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: David Carlier <devnexen@gmail.com>
OpenSSL uses a macro without typechecking; since C++ does not
implicitly cast void* this is needed to conform Node.js to the
OpenSSL documentation.

PR-URL: #30917
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
PR-URL: #30913
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
The return value is not a boolean and even if interpreted as one,
it does not indicate whether an exception is pending.

For napi_is_exception_pending, the description of the result parameter
already explains how to check whether an exception is pending.

PR-URL: #30893
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Gabriel Schulhof <gabriel.schulhof@intel.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Prior to this commit, running `node tools/lint-md --help` and
`node tools/lint-md --version` resulted in an error.

* Use `unified-args` to start processor
* Use `unified-args`'s error handler

Fixes: #30156
PR-URL: #30216
Reviewed-By: Rich Trott <rtrott@gmail.com>
PR-URL: #30931
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
test-windows-failed-heap-allocation forces a out of mem crash resulting
in a report file. To avoid a leftover in repo the child is started in a
tmp folder like in test-report-fatal-error.

PR-URL: #30925
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Prior to this commit, new contributors were suggested
to use a utility to validate commit messages. Although
not inaccurate, this utility produces misleading results.

* Remove reference to `core-validate-commit`

PR-URL: #30922
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Adding tests covering promises-related code paths.

PR-URL: #30777
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Ben Coe <bencoe@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
I've been doing a lot of work on-and-off to reduce unnecessary wordiness
in our docs. Codify it in the style guide.

PR-URL: #30935
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Fixes: #30953

PR-URL: #30957
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: #30945
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
PR-URL: #30918
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
Refs: #20392

PR-URL: #30564
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
It could be convenient to trace abnormal exit of the Node.js processes
that printing stacktrace on each `process.exit` call with a cli option.
This also takes effects on worker threads.

PR-URL: #30516
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
This makes sure that `util.format('%s', object)` will always call
a user defined `toString` function. It was formerly not the case
when the object had the function declared on the super class.

At the same time this also makes sure that getters won't be
triggered accessing the `constructor` property.

Backport-PR-URL: #31431
PR-URL: #30343
Fixes: #30333
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
This adds a couple of benchmarks to check different options and code
paths.

Backport-PR-URL: #31431
PR-URL: #30767
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
This makes sure we do not retrieve the handler in case it's not
required. This improves the performance a tiny bit for these cases.

Backport-PR-URL: #31431
PR-URL: #30767
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Backport-PR-URL: #31431
PR-URL: #30767
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
This makes sure that the regular expression matches all built-in
objects properly. So far a couple where missed.

Backport-PR-URL: #31431
PR-URL: #30768
Fixes: #30183
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
This is only active if the `showHidden` option is truthy.

The implementation is a trade-off between accuracy and performance.
This will miss properties such as properties added to built-in data
types.

The goal is mainly to visualize prototype getters and setters such as:

class Foo {
  ownProperty = true
  get bar() {
    return 'Hello world!'
  }
}

const a = new Foo()

The `bar` property is a non-enumerable property on the prototype while
`ownProperty` will be set directly on the created instance.

The output is similar to the one of Chromium when inspecting objects
closer. The output from Firefox is difficult to compare, since it's
always a structured interactive output and was therefore not taken
into account.

Backport-PR-URL: #31431
PR-URL: #30768
Fixes: #30183
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
This removes the special handling to inspect iterable objects with
a null prototype. It is now handled together with the regular
prototype.

Backport-PR-URL: #31431
PR-URL: #30225
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Align the inspect output with the one used in the Chrome dev tools.
A recent survey outlined that most users prefer to see the number
of set and map entries. This should count as well for array sizes.
The size is only added to regular arrays in case the constructor is
not the default constructor.
Typed arrays always indicate their size.

Backport-PR-URL: #31431
PR-URL: #31027
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com>
This makes sure this function stays backwards compatible in case
it's accessed through the binding directly.

Refs: #29947 (comment)

Backport-PR-URL: #31431
PR-URL: #30858
Refs: #30767
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
The fast path for the prototype inspection had a bug that caused some
prototype properties to be skipped that should in fact be inspected.

Backport-PR-URL: #31431
PR-URL: #31113
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
This makes sure the `generatedMessage` property is always set as
expected. This was not the case some `assert.throws` and
`assert.rejects` calls.

Backport-PR-URL: #31431
PR-URL: #28263
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
This refactors some code for less duplication.

Backport-PR-URL: #31431
PR-URL: #28263
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
This updates two outdated examples to the current implementation.

Backport-PR-URL: #31431
PR-URL: #28263
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
This makes sure that `AssertionError` links to the correct place in
the assert documentation.

Backport-PR-URL: #31431
PR-URL: #28263
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
This adds a new functionality to the assertion module: a dedicated
check for regular expressions. So far it's possible to use
`assert.ok(regexp.test(string))`. This is not ideal though when it
comes to the error message, since it's not possible to know how
either of the input values look like. It's just known that the
assertion failed.
This allows to pass through the regular expression and the input
string. The string is then matched against the regular expression
and reports a expressive error message in case of a failure.

Backport-PR-URL: #31431
PR-URL: #30929
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
@nodejs-github-bot
Copy link
Collaborator

nodejs-github-bot commented Jan 30, 2020

@MylesBorins
Copy link
Contributor

closing in lieu of #31691

@MylesBorins MylesBorins closed this Feb 8, 2020
@targos targos deleted the v12.15.0-proposal branch February 11, 2020 14:27
@targos targos added release Issues and PRs related to Node.js releases. and removed lts Issues and PRs related to Long Term Support releases. release-agenda Issues and PRs to discuss during the meetings of the Release team. labels Jun 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release Issues and PRs related to Node.js releases.
Projects
None yet
Development

Successfully merging this pull request may close these issues.