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

Release proposal: v10.10.0 #22716

Merged
merged 208 commits into from
Sep 6, 2018
Merged

Release proposal: v10.10.0 #22716

merged 208 commits into from
Sep 6, 2018

Conversation

targos
Copy link
Member

@targos targos commented Sep 5, 2018

2018-09-06, Version 10.10.0 (Current), @targos

Notable Changes

  • child_process:
    • TypedArray and DataView values are now accepted as input by
      execFileSync and spawnSync. #22409
  • coverage:
    • Native V8 code coverage information can now be output to disk by setting the
      environment variable NODE_V8_COVERAGE to a directory. #22527
  • deps:
  • fs:
    • The methods fs.read, fs.readSync, fs.write, fs.writeSync,
      fs.writeFile and fs.writeFileSync now all accept TypedArray and
      DataView objects. #22150
    • A new boolean option, withFileTypes, can be passed to to fs.readdir and
      fs.readdirSync. If set to true, the methods return an array of directory
      entries. These are objects that can be used to determine the type of each
      entry and filter them based on that without calling fs.stat. #22020
  • http2:
    • The http2 module is no longer experimental. #22466
  • os:
    • Added two new methods: os.getPriority and os.setPriority, allowing to
      manipulate the scheduling priority of processes. #22407
  • process:
    • Added process.allowedNodeEnvironmentFlags. This object can be used to
      programmatically validate and list flags that are allowed in the
      NODE_OPTIONS environment variable. #19335
  • src:
    • Deprecated option variables in public C++ API. #22515
    • Refactored options parsing. #22392
  • vm:
    • Added vm.compileFunction, a method to create new JavaScript functions from
      a source body, with options similar to those of the other vm methods. #21571
  • Added new collaborators:

Commits

  • [bdd3afbb87] - assert: fix loose set and map comparison (Ruben Bridgewater) #22495
  • [e2a801a5e6] - async_hooks: adding regression test case for async/await (Anto Aravinth) #22374
  • [48648f5194] - benchmark: add lines to scatter plots (Denys Otrishko) #22074
  • [9a10421f53] - build: use arm64 as DESTCPU for aarch64 (Daniel Bevenius) #22548
  • [4862ce1816] - build: use 0o octal notation in configure (Anna Henningsen) #22536
  • [efe71e9e31] - build: Don't set -fno-threadsafe-statics on macOS (Kyle Fuller) #22198
  • [fc1259bf56] - build: use npm ci (Refael Ackermann) #22399
  • [660c515e60] - build: move available-node variable to top (Daniel Bevenius) #22356
  • [8f760c2476] - build: touch tools/doc/node_modules after run (Daniel Bevenius) #22350
  • [fd6033c341] - build: add test-doc to test target (Daniel Bevenius) #22294
  • [ed874e40d1] - build: use echo command instead of shell comments (Daniel Bevenius) #22293
  • [3915537c13] - build,tools: tweak the travis config (Refael Ackermann) #22417
  • [2f9295e68b] - build,win: remove unmatched endlocal statement (Refael Ackermann) #22627
  • [180bb0b7d8] - child_process: fix handling of incorrect uid/gid in spawn (Denys Otrishko) #22574
  • [5321c312c2] - (SEMVER-MINOR) child_process: allow typed arrays for input (Sarat Addepalli) #22409
  • [43092ebfa2] - cli: more flexible width when printing --help (Anna Henningsen) #22637
  • [18ce2b8911] - cli: generate --help text in JS (Anna Henningsen) #22490
  • [dec42b54f7] - cli: fix flags on help output (Gus Caplan) #22271
  • [9a0dad2097] - (SEMVER-MINOR) coverage: expose native V8 coverage (Benjamin Coe) #22527
  • [989fd73f1e] - crypto: fix incorrect use of INT_MAX in validation (Tobias Nießen) #22581
  • [c47c79e1ca] - crypto: improve setAuthTag (Tobias Nießen) #22538
  • [ea34cc7b88] - crypto: deduplicate public key parsing (Tobias Nießen) #22553
  • [59a6c60a92] - crypto: add support for OCB mode for AEAD (Tobias Nießen) #21447
  • [2c33dc36b1] - deps: update to nghttp2 1.33.0 (Anna Henningsen) #22649
  • [212e6bb092] - deps: cherry-pick 22116dd from upstream V8 (Marcel Laverdet) #21992
  • [f7295493c4] - deps: backport a8f6869 from upstream V8 (Ben Newman) #22122
  • [c84c27f7de] - deps: cherry-pick bf5ea81 from upstream V8 (Ali Ijaz Sheikh) #22114
  • [a986abc529] - deps: fix V8 test regression (Michaël Zasso) #22677
  • [a5c0bc44ac] - deps: backport 4 CPU profiler commits from upstream V8 (Peter Marshall) #22028
  • [11c96987ff] - (SEMVER-MINOR) deps: upgrade npm to 6.4.1 (Kat Marchán) #22591
  • [5f44ce8b8b] - deps: backport String::Utf8Length with isolate (Michaël Zasso) #22531
  • [d50e1ffa52] - deps: backport String::Write{OneByte,Utf8} with isolate (Michaël Zasso) #22531
  • [3dc9cfc4af] - deps: backport StackFrame::GetFrame with isolate (Michaël Zasso) #22531
  • [1be23f7b95] - deps: sync V8 embedder string with master branch (Michaël Zasso) #22573
  • [aa22dc8d68] - deps: import acorn@5.7.2 (Sam Ruby) #22488
  • [611f423e1b] - deps: patch V8 to 6.8.275.30 (Michaël Zasso) #22125
  • [90e99dac86] - deps: upgrade to libuv 1.23.0 (cjihrig) #22365
  • [eab377f681] - deps: fix CRLF in text file not present in upstream (Joyee Cheung) #22340
  • [c4ef170484] - doc: remove usage of deprecated V8 APIs in addons.md (Michaël Zasso) #22667
  • [a448c8b779] - doc: add blurb about implications of ABI stability (Gabriel Schulhof) #22508
  • [a3e3ae01fb] - doc: clarify Readable paused/flowing!==object mode (Chris White) #22619
  • [56e654a47f] - doc: update a link in v8.md (lakamsani) #22639
  • [805875d33b] - doc: add personal pronoun for danbev (Daniel Bevenius) #22670
  • [71502f219c] - doc: improve ECDH example (Tobias Nießen) #22607
  • [a4545ad8dc] - doc: indicate createSecureContext arg is optional (Rich Trott) #22545
  • [0e862da422] - doc: remove _optional_ designation for tls options (Rich Trott) #22545
  • [c7268c45bc] - doc: improve examples in buffer docs (pranshuchittora) #22170
  • [395ba7b046] - doc: fix a typo in fs.md (Vse Mozhet Byt) #22635
  • [7d8ef42058] - doc: clarify fallback behavior of module require (TomCoded) #22494
  • [3cec988e79] - doc: Remove 'dnt_helper.js' (MaleDong) #22595
  • [5c2a6d8dfb] - doc: add section on how to build debug build (Troels Liebe Bentsen) #22510
  • [bfdb28e45a] - doc: fix up warning text about character devices (Anna Henningsen) #22569
  • [56f73a1996] - doc: add profiling APIs to the diagnostics support document (Matheus Marchini) #22588
  • [6f0e83ee03] - doc: update Linux perf test status in our CI (Matheus Marchini) #22588
  • [ae934186df] - doc: make Stability Index more concise (Rich Trott) #22544
  • [c3a4cc4c16] - doc: unify deprecation wording (Tobias Nießen) #22555
  • [e24cd92b66] - doc: remove redundant 'Example:' and similar notes (Vse Mozhet Byt) #22537
  • [1d38399bcd] - doc: replace 1 by process.stdout.fd (Weijia Wang) #22564
  • [5e7c6518a3] - doc: warn against streaming from character devices (Gireesh Punathil) #21212
  • [05d432c2a6] - doc: initial cut at support tiers for diag tools (Michael Dawson) #21870
  • [397235ec62] - doc: simplify http2 wording and formatting (Rich Trott) #22541
  • [81364a7e16] - doc: clarify ERR_AMBIGUOUS_ARGUMENT (Rich Trott) #22542
  • [46063b8479] - doc: add GitHub email set up link to COLLABORATOR_GUIDE (Denys Otrishko) #22525
  • [9b4403dd7d] - doc: clarify git config name/email requirements (Anna Henningsen) #22433
  • [2875f72c46] - doc: document removed error codes (Sarat Addepalli) #22100
  • [c833d83d21] - doc: support 'removed' field in doc YAML sections (Sarat Addepalli) #22100
  • [e2541303f3] - doc: tweak macOS-firewall note position (ZYSzys) #22440
  • [6228433926] - doc: add lundibundi to collaborators (Denys Otrishko) #22491
  • [2a849ba241] - doc: state callback behavior on empty buffer (Ruben Verborgh) #22461
  • [f27a25472c] - doc: make createPushResponse() more detailled (MaleDong) #22366
  • [282a45d042] - doc: update wrapping-related documentation (Gabriel Schulhof) #22363
  • [c17e980534] - doc: clarify fs.write[Sync]() descriptions (Vse Mozhet Byt) #22402
  • [1ebaa2af4a] - doc: unify optional arguments format in headings (Vse Mozhet Byt) #22397
  • [d86e615549] - doc: clarify documentation of pipes and zlib objects (Andreas Girgensohn) #22354
  • [e6440888b1] - doc: add doc for --loader option (Sarat Addepalli) #22104
  • [9142935eb2] - doc: clarify that new URL().port could be an empty string (Matteo Collina) #22232
  • [c894145e28] - doc: Windows building supported on x64 (Refael Ackermann) #21443
  • [797229810e] - doc: clarify ServerResponse explanations (MaleDong) #22305
  • [2260bb9214] - (SEMVER-MINOR) fs: update read to work with any TypedArray/DataView (Sarat Addepalli) #22150
  • [ad97314418] - (SEMVER-MINOR) fs: readdir optionally returning type information (Bryan English) #22020
  • [1e9d3e64cd] - gyp: muffle xcodebuild warnings (Ujjwal Sharma) #21999
  • [c07a065699] - http: adding doc and debug for calling empty string on write function (Anto Aravinth) #22118
  • [4cdecc5ebe] - http2: don't expose the original socket through the socket proxy (Szymon Marczak) #22650
  • [f77bbe8cab] - (SEMVER-MINOR) http2: graduate from experimental (James M Snell) #22466
  • [a740145e1b] - http2: throw better error when accessing unbound socket proxy (James M Snell) #22486
  • [d3ceaa1d41] - http2: emit timeout on compat request and response (James M Snell) #22252
  • [f0be05342b] - lib: merge onread handlers for http2 streams & net.Socket (Ashok) #22449
  • [1eac11f626] - lib: extract validateNumber validator (Jon Moss) #22249
  • [3f93782767] - lib: remove unused exec param (MaleDong) #22274
  • [46fbc23614] - lib,src: standardize owner\_symbol for handles (Anna Henningsen) #22002
  • [96213c8027] - n-api: clean up thread-safe function (Gabriel Schulhof) #22259
  • [609ae33bbe] - n-api: remove idle_running from TsFn (Lars-Magnus Skog) #22520
  • [ad0072abfa] - os: don't use getCheckedFunction() in userInfo() (cjihrig) #22609
  • [219da67e2e] - (SEMVER-MINOR) os: add os.{get,set}Priority() (cjihrig) #22407
  • [30b22a676d] - os: destructure ERR_SYSTEM_ERROR properly (cjihrig) #22394
  • [3b44053ce8] - os: improve networkInterfaces performance (Ruben Bridgewater) #22359
  • [107c8c0d4d] - perf_hooks: move strings to env (James M Snell) #22401
  • [2bf46ae45e] - (SEMVER-MINOR) process: add allowedNodeEnvironmentFlags property (Christopher Hiller) #19335
  • [5af6a89a73] - process: use owner_symbol for \_getActive\* (Anna Henningsen) #22002
  • [0b340ab5e7] - repl: tab auto complete big arrays (Ruben Bridgewater) #22408
  • [1025868d5c] - src: remove calls to deprecated V8 functions (Equals) (Michaël Zasso) #22665
  • [c637d41b9d] - src: remove calls to deprecated v8 functions (IntegerValue) (Ujjwal Sharma) #22129
  • [be86ddb7ec] - src: promote v8 name spaces with using (Gireesh Punathil) #22641
  • [b1e5491ae9] - src: remove calls to deprecated V8 functions (Int32Value) (Michaël Zasso) #22662
  • [e5e72e60f0] - src: skip warnings for our own deprecated APIs (Anna Henningsen) #22666
  • [dbb8f37377] - src: remove editing leftovers from options help text (Anna Henningsen) #22636
  • [4e651983e5] - src: allow UTF-16 in generic StringBytes decode call (Anna Henningsen) #22622
  • [f064d44fad] - src: warn about odd UTF-16 decoding function signature (Anna Henningsen) #22623
  • [516d71af66] - src: fix a typo in the comment (Gireesh Punathil) #22640
  • [1edd47e0b7] - src: disable debug options when inspector is unavailable (Anna Henningsen) #22657
  • [cfca8518f8] - src: add NODE\_EXTERN to class definition (Anna Henningsen) #22559
  • [c8e586c859] - src: add trace points to dns (Chin Huang) #21840
  • [b8299585bc] - src: make CLI options programatically accesible (Anna Henningsen) #22490
  • [8930268382] - src: fix node::FatalException (Tobias Nießen) #22654
  • [bac4c41328] - (SEMVER-MINOR) src: deprecate option variables in public API (Anna Henningsen) #22515
  • [956502949b] - src: remove calls to deprecated v8 functions (Uint32Value) (Ujjwal Sharma) #22143
  • [b2a955a269] - src: rework (mostly internal) functions to use Maybes (Ujjwal Sharma) #21935
  • [0a65727f0a] - src: remove calls to deprecated v8 functions (ToString) (Ujjwal Sharma) #21935
  • [75a9192549] - src: fix external memory usage going negative (Mathias Buus) #22594
  • [99146772e0] - src: remove calls to deprecated v8 functions (BooleanValue) (Ujjwal Sharma) #22075
  • [a7c0cb87be] - src: do not pass code to ScriptCompiler::CreateCodeCacheForFunction (Michaël Zasso) #22596
  • [332b035a96] - src: use String::Utf8Length with isolate (Michaël Zasso) #22531
  • [8375f753c0] - src: use String::Write{OneByte,Utf8} with isolate (Michaël Zasso) #22531
  • [9478f29387] - src: use StackFrame::GetFrame with isolate (Michaël Zasso) #22531
  • [f8feb0253d] - src: add missing NODE\_WANT\_INTERNALS guards (Anna Henningsen) #22514
  • [2c5dfef393] - src: fix NODE_OPTIONS parsing bug (Anna Henningsen) #22529
  • [034ba7322f] - src: fix --without-ssl build (Ian McKellar) #22484
  • [2767ebad2f] - src: move more to node_process.cc from node.cc (James M Snell) #22422
  • [8fd55fffee] - (SEMVER-MINOR) src: refactor options parsing (Anna Henningsen) #22392
  • [198cf417b5] - src: yield empty maybes for failed AsyncWrap::MakeCallback calls (Anna Henningsen) #22078
  • [02e3daaa57] - src: implement v8::Platform::CallDelayedOnWorkerThread (Alexey Kozyatinskiy) #22383
  • [c207865e24] - src: encode 0x27 (') for special URLs (Timothy Gu) #22022
  • [4638ce6f03] - src: perform integrity checks on built-in code cache (Joyee Cheung) #22152
  • [866965ec0e] - src: fix race on modpending (Ryan Petrich) #21611
  • [383d578d76] - src,deps: add isolate parameter to String::Concat (Michaël Zasso) #22521
  • [4ed300a585] - stream: update emit readable debug statement (Daniel Bevenius) #22613
  • [53fb7af1b2] - stream: restore flow if there are 'data' handlers after once('readable') (Matteo Collina) #22209
  • [dd772c1f13] - test: refactor test-gc-tls-external-memory (Anna Henningsen) #22651
  • [7a3bbd21f3] - Revert "test: mark async-hooks/test-callback-error as flaky" (Anna Henningsen) #22655
  • [4791cd7f0a] - test: fix flaky async-hooks/test-callback-error (Anna Henningsen) #22655
  • [c26747d9af] - test: fix flaky test-worker-message-port-transfer-self (Anna Henningsen) #22658
  • [e5b732f25d] - test: add test to dynamic enablement of trace-events (Ali Ijaz Sheikh) #22114
  • [2025eaf999] - test: improve assertion in process test (Anna Henningsen) #22634
  • [7a70dce251] - test: fix test-trace-events-dns (Rich Trott) #22674
  • [cb15017bfe] - test: fix flaky parallel/test-fs-write-file-typedarrays (Anna Henningsen) #22659
  • [7627b0430a] - test: use module.exports consistently (James M Snell) #22557
  • [d3740d843a] - test: improve assertions in test-cli-node-print-help (Anna Henningsen) #22489
  • [67372016bb] - test: move test that depends on dns query to internet (Joyee Cheung) #22516
  • [82732ef4f7] - test: fix typo in test name (Rich Trott) #22605
  • [d3bb7419f2] - test: refacor spawn[Sync]Pwd (Refael Ackermann) #22522
  • [4cdc61bc8c] - test: move AEAD test vectors out of script (Tobias Nießen) #21873
  • [d27e463ca6] - test: properly extend process.env in child_process (Lucas Woo) #22430
  • [863899970b] - test: add test for internalConnect() when address type is IPv6 (Yaniv Friedensohn) #22444
  • [7f85288808] - test: remove string literal from strictEqual() (Scott Van Gilder) #22512
  • [81d824b132] - test: move custom WHATWG URL tests into separate files (Joyee Cheung) #22442
  • [6f31478229] - test: remove third argument from strictEqual() (Neeraj Laad) #22451
  • [d02fb36379] - test: move common.isCPPSymbolsNotMapped to tick-processor tests (James M Snell) #22459
  • [9ec105ccdc] - test: improve code coverage for string decoder (Benjamin Chen) #22306
  • [1e7deb72d2] - test: add streams benchmark test (Denys Otrishko) #22335
  • [ef60a8d7a5] - test: add vm benchmark test (Denys Otrishko) #22335
  • [400aac8c5f] - test: add v8 benchmark test (Denys Otrishko) #22335
  • [a8b8d3fe56] - test: move common.onGC to individual module (James M Snell) #22446
  • [6d0c3d19b8] - test: flaky everywhere test-trace-events-fs-sync (Refael Ackermann) #22483
  • [7f2d3d0ed4] - test: move hijackstdio out of require('common') (James M Snell) #22462
  • [fcf059a667] - test: add test unknown credential error of process.setgroups (Masashi Hirano) #22368
  • [ae016c8e6d] - test: add tests for dnsPromises.lookup (Masashi Hirano) #21559
  • [98af1704ae] - test: move common.ArrayStream to separate module (James M Snell) #22447
  • [e68438246e] - test: remove isGlibc from common (James M Snell) #22443
  • [acfb29cbd8] - test: harden sequential/test-performance (Ruben Bridgewater) #22404
  • [38b0c1f04d] - test: remove redundant cli tests (Bryan English) #22355
  • [e8e014a8dc] - test: improve assert message in http timeout test (Rich Trott) #22403
  • [22adebfc9a] - test: move http timeout test to parallel (Rich Trott) #22403
  • [5aa3100c29] - test: fix flaky http timeout test (Rich Trott) #22403
  • [33994d896a] - test: remove third argument from assert.strictEqual() (Dzmitry_Prudnikau) #22371
  • [fbc189b9eb] - test: cover error case in os getCheckedFunction() (cjihrig) #22394
  • [149c209171] - test: harden test-gc-http-client (Ruben Bridgewater) #22373
  • [acfb72486d] - test: remove harmony flags (Ruben Bridgewater) #22285
  • [44bcc1d71a] - test: fix cctest URLTest.ToFilePath on Win32 without Intl (James M Snell) #22265
  • [2ed22dfa3a] - test: mark async-hooks/test-callback-error as flaky (Joyee Cheung) #22330
  • [4a28d38788] - test: mark async-hooks/test-statwatcher as flaky (Joyee Cheung) #22330
  • [5cfab145a1] - test: remove common.hasTracing (Rich Trott) #22250
  • [7794d4e0b8] - test,stream: fix pipeline test so it runs well on Windows in older nodes (Matteo Collina) #22456
  • [696f7a54b5] - tls: improve debugging assertion (Anna Henningsen) #22625
  • [2ca21998d3] - tools: add [src] links to async_hooks.html (Sam Ruby) #22656
  • [c32d5577b6] - tools: add [src] links to assert.html (Sam Ruby) #22601
  • [f5520cc53d] - tools: specify rule disabled in test-assert.js (Rich Trott) #22563
  • [15b7f75e49] - tools: specify rules disabled in common/dns.js (Rich Trott) #22563
  • [50100f3a9c] - tools: Include links to source code in documentation (Sam Ruby) #22405
  • [14ac77e2e2] - tools: add missing package-lock to clang-format (Michaël Zasso) #22500
  • [9d246f97d1] - tools: update ESLint to 5.4.0 (Rich Trott) #22454
  • [725a2b14f2] - tools: simplify ESLint invocation in Makefile (Rich Trott) #22348
  • [5b14066c14] - util: restore all information in inspect (Ruben Bridgewater) #22437
  • [f86ca8948a] - util: Fix number format for pad (MaleDong) #21906
  • [1828017053] - util: mark special entries as such (Ruben Bridgewater) #22287
  • [f763ac7dd0] - util: escape symbol and non-enumerable keys (Ruben Bridgewater) #22300
  • [3dc3a3196a] - util: improve empty typed array inspection (Ruben Bridgewater) #22284
  • [e9ac683efc] - util: properly indent special properties (Ruben Bridgewater) #22291
  • [459d676203] - util: harden util.inspect (Ruben Bridgewater) #21869
  • [cdf6471234] - util: fix sparse array inspection (Ruben Bridgewater) #22283
  • [2b1cb3b01f] - util,assert: improve performance (Ruben Bridgewater) #22197
  • [4d4180b46b] - util,assert: improve comparison performance (Ruben Bridgewater) #22258
  • [2937a79c45] - (SEMVER-MINOR) vm: add bindings for v8::CompileFunctionInContext (Ujjwal Sharma) #21571
  • [eebcec7db5] - win, build: remove superfluous error message (Bartosz Sosnowski) #22580
  • [041c779814] - win,build: build N-API addons in parallel (Bartosz Sosnowski) #22582
  • [1daa82a8fc] - worker: display MessagePort status in util.inspect() (Anna Henningsen) #22658
  • [887c43ffa7] - worker: remove redundant function call to setupPortReferencing (Ouyang Yadong) #22298

Trott and others added 30 commits September 3, 2018 17:56
`common.hasTracing` is only used in one place. `common` is bloated so
let's move that to the one test that uses it.

`hasTracing` is undocumented so there's no need to remove it from the
README file as it's not there in the first place.

Similarly, it's not included in the .mjs version of the `common` file.

PR-URL: #22250
Reviewed-By: Bryan English <bryan@bryanenglish.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: George Adams <george.adams@uk.ibm.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Refs: #21425

PR-URL: #22330
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Refs: #15985

PR-URL: #22330
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
For very special sparse arrays it was possible that util.inspect
visualized the entries not in the intended way.

PR-URL: #22283
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
This adds a smarter logic to compare object keys (including symbols)
and it also skips the object key comparison for (typed) arrays, if
possible.

Besides that it adds a fast path for empty objects, arrays, sets and
maps and fast paths for sets and maps with an unequal size.

On top of that a few functions are now safer to call by using
uncurryThis and by caching the actual function.

Overall, this is a significant performance boost for comparisons.

PR-URL: #22258
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
`exec`'s parameters are now deconstructored through
`normalizeExecArgs.apply`. We don't need an exclipit parameter anymore
(and in fact it's NEVER referred in the code directly), like `spwan` or
`spwanSync`. This might be missing.

PR-URL: #22274
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: George Adams <george.adams@uk.ibm.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Jon Moss <me@jonathanmoss.me>
Fixes: #20079

PR-URL: #22252
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
In short: `ServerResponse` acutally inherits from `OutgoingMessage`,
with a series of methods like those in `Stream.Writable`. So we cannot
use `implements`(this has made poeple feel puzzled because there are
still many methods we don't need or have), so `inherits from Stream` is
enough, due to some core reasons and performance told by mcollina from
the ref (See some latest discussions at Ref).

Ref: #14146.
PR-URL: #22305
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
Reviewed-By: Jon Moss <me@jonathanmoss.me>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
PR-URL: #22271
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Skip one specific test that requires ICU

Fixes: #19051

PR-URL: #22265
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Since we are CI testing on x64 hosts, we can only commit to x64 hosts.

PR-URL: #21443
Refs: #21402
Refs: #21437
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matheus Marchini <matheus@sthima.com>
Reviewed-By: João Reis <reis@janeasystems.com>
Fixes a rare race condition on modpending when two native modules are
loaded simultaneously on different threads by storing it thread-
locally.

PR-URL: #21611
Reviewed-By: Gabriel Schulhof <gabriel.schulhof@intel.com>
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
PR-URL: #22232
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: George Adams <george.adams@uk.ibm.com>
`deps/v8/third_party/jinja2/LICENSE` is not in upstream v8,
and contains CRLF, which is in conflict with `deps/v8/.gitattributes`
which sets all text files to use LF.
This has caused failures in CI workers with older versions of Git.
This patch manually fixes up the file to use LF to resolve
the conflict.

The file has already been fixed in upstream jinja2,
which is pull into our repo when we update V8 so it should
be fixed the next time we update V8.

PR-URL: #22340
Refs: nodejs/build#1443
Refs: nodejs/reliability#12
Refs: nodejs/build#1453
Refs: https://chromium-review.googlesource.com/c/993812/
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: João Reis <reis@janeasystems.com>
Reviewed-By: Matheus Marchini <matheus@sthima.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Jon Moss <me@jonathanmoss.me>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
Currently V8 only checks that the length of the source code is the
same as the code used to generate the hash, so we add an additional
check here:

1. During compile time, when generating node_javascript.cc and
   node_code_cache.cc, we compute and include the hash of the
  (unwrapped) JavaScript source in both.
2. At runtime, we check that the hash of the code being compiled
  and the hash of the code used to generate the cache
  (inside the wrapper) is the same.

This is based on the assumptions:

1. `internalBinding('code_cache_hash')` must be in sync with
   `internalBinding('code_cache')` (same C++ file)
2. `internalBinding('natives_hash')` must be in sync with
   `process.binding('natives')` (same C++ file)
3. If `internalBinding('natives_hash')` is in sync with
   `internalBinding('natives_hash')`, then the (unwrapped)
   code used to generate `internalBinding('code_cache')`
   should be in sync with the (unwrapped) code in
   `process.binding('natives')`

There will be, however, false positives if the wrapper used
to generate the cache is different from the one used at run time,
and the length of the wrapper somehow stays the same.
But that should be rare and can be eased once we make the
two bootstrappers cached and checked as well.

PR-URL: #22152
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
PR-URL: #22104
Fixes: #21230
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: John-David Dalton <john.david.dalton@gmail.com>
Document how pipes can be chained in readable.pipe().
Document that zlib.Zlib inherits from stream.Transform.

PR-URL: #22354
Fixes: #22341
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Refs: whatwg/url@6ef17eb
PR-URL: #22022
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Makefile currently enforces .eslintrc.js linting on the command line but
it is already enforced in the .estlintignore file.

This also simplifies an arguably-related comment in .estlinrc.js.

PR-URL: #22348
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Jon Moss <me@jonathanmoss.me>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
readdir and readdirSync now have a "withFileTypes" option, which, when
enabled, provides an array of DirectoryEntry objects, similar to Stats
objects, which have the filename and the type information.

Refs: #15699

PR-URL: #22020
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: John-David Dalton <john.david.dalton@gmail.com>
This makes sure values without prototype will still be inspected
properly and do not cause errors. It restores the original
information if possible.

Besides that it fixes an issue with boxed symbols: extra keys were
not visualized so far.

PR-URL: #21869
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: John-David Dalton <john.david.dalton@gmail.com>
Calling `formatValue()` directly requires the indentation level to
be set manually. This was not the case so far in most cases and the
indentation was off in all these cases.

PR-URL: #22291
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
v8 6.8 supports all removed flags. For example for BigInt.

PR-URL: #22285
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
They should be aligned with all other empty objects. Therefore the
whitespace is removed and they got a fast path for that.

PR-URL: #22284
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Minwoo Jung <minwoo@nodesource.com>
These keys require escaping as they might also contain line breaks
and other special characters.

PR-URL: #22300
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
This adds the color code to special entries if colors are active.

PR-URL: #22287
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Make space and comma distribution in some headings
consistent with the majority of headings.

PR-URL: #22397
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
1. All default values for optional `encoding` parameters
   were documented except for the one in `fs.write(fd, string...)`
   method. This PR makes up this deficiency.

2. We have two variants of `fs.write()` / `fs.writeSync()` methods:
   for buffers and strings. Currently, the sync methods have only one
   common reference to the full description of async methods.
   However, the link may seem to belong to the last sync variant only
   (for strings) and, as it refers to the first async variant
   (for buffers), this may be confusing. This PR makes two different
   sync variants refer to two different async variants.

3. In passing, both returned values of sync methods were also made
   more concise and unambiguous.

PR-URL: #22402
Refs: https://github.com/nodejs/node/blob/a04f2f7df630427bf869b1e04040975b752973b6/lib/fs.js#L549
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
This significantly improves regular and typed array performance by
not checking the indices keys anymore. This can be done with a V8
API that allows to only retrieve the non indices property keys.

PR-URL: #22197
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
This reduces the total number of requests from 500 to 300 and triggers
more requests in parallel. It also moves some function creation out
and waits with the first request until the server is listening.

PR-URL: #22373
Fixes: #22336
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
szmarczak and others added 7 commits September 6, 2018 08:54
Refs: #22486

PR-URL: #22650
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Remove all calls to deprecated V8 functions (here: Value::Int32Value)
inside the code.

PR-URL: #22662
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Minwoo Jung <minwoo@nodesource.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
there are several places where v8 artifacts appear with scope resolution
operator inline with the source. Elevate them for improved readability
as well as to follow the convention.

PR-URL: #22641
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Remove all calls to deprecated v8 functions (here:
Value::IntegerValue) inside the code (src directory only).

Co-authored-by: Michaël Zasso <targos@protonmail.com>

PR-URL: #22129
Reviewed-By: Anna Henningsen <anna@addaleax.net>
PR-URL: #22667
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Remove all calls to deprecated V8 functions (here: Value::Equals)
inside the code.

PR-URL: #22665
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
native V8 coverage reports can now be written to disk by setting the
variable NODE_V8_COVERAGE=dir

PR-URL: #22527
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Yang Guo <yangguo@chromium.org>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
@targos
Copy link
Member Author

targos commented Sep 6, 2018

I backed out #21596 and #22390.
I fixed the links in the changelog.

targos added a commit that referenced this pull request Sep 6, 2018
Notable changes:

* child_process:
  * `TypedArray` and `DataView` values are now accepted as input by
    `execFileSync` and `spawnSync`. #22409
* coverage:
  * Native V8 code coverage information can now be output to disk by setting the
    environment variable `NODE_V8_COVERAGE` to a directory. #22527
* deps:
  * The bundled npm was upgraded to version 6.4.1. #22591
    * Changelogs:
      [6.3.0-next.0](https://github.com/npm/cli/releases/tag/v6.3.0-next.0)
      [6.3.0](https://github.com/npm/cli/releases/tag/v6.3.0)
      [6.4.0](https://github.com/npm/cli/releases/tag/v6.4.0)
      [6.4.1](https://github.com/npm/cli/releases/tag/v6.4.1)
* fs:
  * The methods `fs.read`, `fs.readSync`, `fs.write`, `fs.writeSync`,
    `fs.writeFile` and `fs.writeFileSync` now all accept `TypedArray` and
    `DataView` objects. #22150
  * A new boolean option, `withFileTypes`, can be passed to to `fs.readdir` and
    `fs.readdirSync`. If set to true, the methods return an array of directory
    entries. These are objects that can be used to determine the type of each
    entry and filter them based on that without calling `fs.stat`. #22020
* http2:
  * The `http2` module is no longer experimental. #22466
* os:
  * Added two new methods: `os.getPriority` and `os.setPriority`, allowing to
    manipulate the scheduling priority of processes. #22407
* process:
  * Added `process.allowedNodeEnvironmentFlags`. This object can be used to
    programmatically validate and list flags that are allowed in the
    `NODE_OPTIONS` environment variable. #19335
* src:
  * Deprecated option variables in public C++ API. #22515
  * Refactored options parsing. #22392
* vm:
  * Added `vm.compileFunction`, a method to create new JavaScript functions from
    a source body, with options similar to those of the other `vm` methods. #21571
* Added new collaborators:
  * [lundibundi](https://github.com/lundibundi) - Denys Otrishko

PR-URL: #22716
@targos
Copy link
Member Author

targos commented Sep 6, 2018

Copy link
Member

@mhdawson mhdawson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

addaleax and others added 2 commits September 6, 2018 22:07
Don’t toggle the weak/strong reference flag from the error
handler, that’s too confusing. Instead, always do it in the
code that handles the write call.

Fixes: #22705

PR-URL: #22713
Reviewed-By: James M Snell <jasnell@gmail.com>
Notable changes:

* child_process:
  * `TypedArray` and `DataView` values are now accepted as input by
    `execFileSync` and `spawnSync`. #22409
* coverage:
  * Native V8 code coverage information can now be output to disk by setting the
    environment variable `NODE_V8_COVERAGE` to a directory. #22527
* deps:
  * The bundled npm was upgraded to version 6.4.1. #22591
    * Changelogs:
      [6.3.0-next.0](https://github.com/npm/cli/releases/tag/v6.3.0-next.0)
      [6.3.0](https://github.com/npm/cli/releases/tag/v6.3.0)
      [6.4.0](https://github.com/npm/cli/releases/tag/v6.4.0)
      [6.4.1](https://github.com/npm/cli/releases/tag/v6.4.1)
* fs:
  * The methods `fs.read`, `fs.readSync`, `fs.write`, `fs.writeSync`,
    `fs.writeFile` and `fs.writeFileSync` now all accept `TypedArray` and
    `DataView` objects. #22150
  * A new boolean option, `withFileTypes`, can be passed to to `fs.readdir` and
    `fs.readdirSync`. If set to true, the methods return an array of directory
    entries. These are objects that can be used to determine the type of each
    entry and filter them based on that without calling `fs.stat`. #22020
* http2:
  * The `http2` module is no longer experimental. #22466
* os:
  * Added two new methods: `os.getPriority` and `os.setPriority`, allowing to
    manipulate the scheduling priority of processes. #22407
* process:
  * Added `process.allowedNodeEnvironmentFlags`. This object can be used to
    programmatically validate and list flags that are allowed in the
    `NODE_OPTIONS` environment variable. #19335
* src:
  * Deprecated option variables in public C++ API. #22515
  * Refactored options parsing. #22392
* vm:
  * Added `vm.compileFunction`, a method to create new JavaScript functions from
    a source body, with options similar to those of the other `vm` methods. #21571
* Added new collaborators:
  * [lundibundi](https://github.com/lundibundi) - Denys Otrishko

PR-URL: #22716
@targos
Copy link
Member Author

targos commented Sep 6, 2018

@addaleax I just added #22713

CI: https://ci.nodejs.org/job/node-test-pull-request/17066/

Building the release now... https://ci-release.nodejs.org/job/iojs+release/3740/

@targos targos merged commit cdb3598 into v10.x Sep 6, 2018
targos added a commit that referenced this pull request Sep 6, 2018
targos added a commit that referenced this pull request Sep 6, 2018
Notable changes:

* child_process:
  * `TypedArray` and `DataView` values are now accepted as input by
    `execFileSync` and `spawnSync`. #22409
* coverage:
  * Native V8 code coverage information can now be output to disk by setting the
    environment variable `NODE_V8_COVERAGE` to a directory. #22527
* deps:
  * The bundled npm was upgraded to version 6.4.1. #22591
    * Changelogs:
      [6.3.0-next.0](https://github.com/npm/cli/releases/tag/v6.3.0-next.0)
      [6.3.0](https://github.com/npm/cli/releases/tag/v6.3.0)
      [6.4.0](https://github.com/npm/cli/releases/tag/v6.4.0)
      [6.4.1](https://github.com/npm/cli/releases/tag/v6.4.1)
* fs:
  * The methods `fs.read`, `fs.readSync`, `fs.write`, `fs.writeSync`,
    `fs.writeFile` and `fs.writeFileSync` now all accept `TypedArray` and
    `DataView` objects. #22150
  * A new boolean option, `withFileTypes`, can be passed to to `fs.readdir` and
    `fs.readdirSync`. If set to true, the methods return an array of directory
    entries. These are objects that can be used to determine the type of each
    entry and filter them based on that without calling `fs.stat`. #22020
* http2:
  * The `http2` module is no longer experimental. #22466
* os:
  * Added two new methods: `os.getPriority` and `os.setPriority`, allowing to
    manipulate the scheduling priority of processes. #22407
* process:
  * Added `process.allowedNodeEnvironmentFlags`. This object can be used to
    programmatically validate and list flags that are allowed in the
    `NODE_OPTIONS` environment variable. #19335
* src:
  * Deprecated option variables in public C++ API. #22515
  * Refactored options parsing. #22392
* vm:
  * Added `vm.compileFunction`, a method to create new JavaScript functions from
    a source body, with options similar to those of the other `vm` methods. #21571
* Added new collaborators:
  * [lundibundi](https://github.com/lundibundi) - Denys Otrishko

PR-URL: #22716
targos added a commit to nodejs/nodejs.org that referenced this pull request Sep 6, 2018
targos added a commit to nodejs/nodejs.org that referenced this pull request Sep 6, 2018
@targos targos deleted the v10.10.0-proposal branch September 6, 2018 22:06
@targos targos mentioned this pull request Sep 23, 2018
4 tasks
@addaleax addaleax mentioned this pull request Oct 20, 2018
2 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues and PRs related to build files or the CI. doc Issues and PRs related to the documentations. http2 Issues or PRs related to the http2 subsystem. meta Issues and PRs related to the general management of the project. tools Issues and PRs related to the tools directory.
Projects
None yet
Development

Successfully merging this pull request may close these issues.