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

v11.7.0 proposal #25537

Merged
merged 246 commits into from Jan 18, 2019
Merged

v11.7.0 proposal #25537

merged 246 commits into from Jan 18, 2019

Commits on Dec 30, 2018

  1. test: fix test-repl-envvars

    In 180f865, the test was changed
    so that the `env` argument of `createInternalRepl()` also contained
    external environment variables, because keeping them can be necessary
    for spawning processes on some systems.
    
    However, this test does not spawn new processes, and relies on the
    fact that the environment variables it tests are not already set
    (and fails otherwise); therefore, reverting to the original state
    should fix this.
    
    Fixes: nodejs#21451
    Fixes: nodejs/build#1377
    Refs: nodejs#25219
    
    PR-URL: nodejs#25226
    Reviewed-By: Rich Trott <rtrott@gmail.com>
    Reviewed-By: Tobias Nießen <tniessen@tnie.de>
    Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
    Reviewed-By: Denys Otrishko <shishugi@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    addaleax committed Dec 30, 2018
    Copy the full SHA
    b7b1d7e View commit details
    Browse the repository at this point in the history

Commits on Jan 1, 2019

  1. doc: fix NAPI typo

    PR-URL: nodejs#25216
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
    Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
    Reviewed-By: Tobias Nießen <tniessen@tnie.de>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    DaAitch authored and targos committed Jan 1, 2019
    Copy the full SHA
    2c50bcd View commit details
    Browse the repository at this point in the history
  2. test: refactor test-esm-namespace.mjs

    Remove unused `name` argument that is different from a subsequent `name`
    argument in a different but nearby function. This was mildly confusing
    to me at first, so hopefully this change clarifies things for others
    reading the test.
    
    PR-URL: nodejs#25117
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Trott authored and targos committed Jan 1, 2019
    Copy the full SHA
    91d1aea View commit details
    Browse the repository at this point in the history
  3. net: check for close on stream, not parent

    'close' event isn't emitted on a TLS connection if it's been written to
    (but 'end' and 'finish' events are).
    
    PR-URL: nodejs#25026
    Fixes: nodejs#24984
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    davedoesdev authored and targos committed Jan 1, 2019
    Copy the full SHA
    9ac8d41 View commit details
    Browse the repository at this point in the history
  4. net: use decodeStrings public API for writable stream

    Instead of using an undocumented underscore-prefixed property to
    configure the writable stream instance to not encode strings as buffers,
    use the public API which is an options property passed to the
    constructor.
    
    Refs: nodejs#445
    
    PR-URL: nodejs#25201
    Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Trott authored and targos committed Jan 1, 2019
    Copy the full SHA
    c13e5be View commit details
    Browse the repository at this point in the history
  5. dns: fix TTL value for AAAA replies to resolveAny()

    We were previously reading from the wrong offset, namely
    the one into the final results array, not the one for the
    AAAA results itself, which could have lead to reading
    uninitialized or out-of-bounds data.
    
    Also, adjust the test accordingly; TTL values are not
    modified by c-ares, but are only exposed for a subset
    of all DNS record types.
    
    PR-URL: nodejs#25187
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Khaidi Chu <i@2333.moe>
    Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    addaleax authored and targos committed Jan 1, 2019
    Copy the full SHA
    5b4fab1 View commit details
    Browse the repository at this point in the history
  6. src: do not leak NodeTraceStateObserver

    This would otherwise be reported as a memory leak by automated tools.
    
    PR-URL: nodejs#25180
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
    addaleax authored and targos committed Jan 1, 2019
    Copy the full SHA
    7365b00 View commit details
    Browse the repository at this point in the history
  7. src: fix compiler warnings in node_crypto.cc

    During the time between nodejs#24234
    being opened and it landing, a V8 update occurred that deprecated
    several APIs. This commit fixes the following compiler warnings:
    
    ../src/node_crypto.cc:3342:11:
      warning: 'Set' is deprecated: Use maybe version
    
    ../src/node_crypto.cc:3345:13:
      warning: 'GetFunction' is deprecated: Use maybe version
    
    PR-URL: nodejs#25205
    Reviewed-By: Tobias Nießen <tniessen@tnie.de>
    Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
    cjihrig authored and targos committed Jan 1, 2019
    Copy the full SHA
    73ccfc8 View commit details
    Browse the repository at this point in the history
  8. doc: revise "Breaking Changes to Internal Elements"

    Revise the "Breaking Changes to Internal Elements" section of
    COLLABORATOR_GUIDE.md. Simplify wording, shorten sentences, and remove
    redundant material.
    
    PR-URL: nodejs#25190
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com>
    Trott authored and targos committed Jan 1, 2019
    Copy the full SHA
    39b3fd1 View commit details
    Browse the repository at this point in the history
  9. src: use DCHECK_* macros where possible

    PR-URL: nodejs#25207
    Reviewed-By: Michaël Zasso <targos@protonmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: Tobias Nießen <tniessen@tnie.de>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    cjihrig authored and targos committed Jan 1, 2019
    Copy the full SHA
    e2a01ca View commit details
    Browse the repository at this point in the history
  10. src: introduce DCHECK macro

    This commit adds a DCHECK macro for consistency with the
    other DCHECK_* macros.
    
    PR-URL: nodejs#25207
    Reviewed-By: Michaël Zasso <targos@protonmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: Tobias Nießen <tniessen@tnie.de>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    cjihrig authored and targos committed Jan 1, 2019
    Copy the full SHA
    99a5af6 View commit details
    Browse the repository at this point in the history
  11. test: refactor stdio handling in test-esm-cjs-main

    Set encoding on the stderr/stdout streams instead of calling
    data.toString(). Don't assume the complete expected messages arrive in
    a single event.
    
    PR-URL: nodejs#25169
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
    richardlau authored and targos committed Jan 1, 2019
    Copy the full SHA
    58af085 View commit details
    Browse the repository at this point in the history
  12. util: make inspect aware of RegExp subclasses and null prototype

    This adds support for inspect to distinguish regular expression
    subclasses and ones with null prototype from "normal" regular
    expressions.
    
    PR-URL: nodejs#25192
    Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    BridgeAR authored and targos committed Jan 1, 2019
    Copy the full SHA
    73f3a1c View commit details
    Browse the repository at this point in the history
  13. test: add more inspect subclassing tests

    So far we do not test all data types for subclasses and this extends
    the existing tests for WeakSet, WeakMap and BigInt64Array.
    
    PR-URL: nodejs#25192
    Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    BridgeAR authored and targos committed Jan 1, 2019
    Copy the full SHA
    e182ca9 View commit details
    Browse the repository at this point in the history
  14. console: use spread notation instead of Object.assign

    PR-URL: nodejs#25149
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Denys Otrishko <shishugi@gmail.com>
    BridgeAR authored and targos committed Jan 1, 2019
    Copy the full SHA
    561c268 View commit details
    Browse the repository at this point in the history
  15. util: simplify code

    Simplify code by using return value of Object.defineProperty directly.
    
    PR-URL: nodejs#25162
    Reviewed-By: Vladimir de Turckheim <vlad2t@hotmail.com>
    Reviewed-By: Masashi Hirano <shisama07@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Tobias Nießen <tniessen@tnie.de>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    kkty authored and targos committed Jan 1, 2019
    Copy the full SHA
    88e7386 View commit details
    Browse the repository at this point in the history
  16. doc: link and expand --tls-cipher-list docs

    Link to the cli docs for --tls-cipher-list, and link to and mention that
    NODE_OPTIONS can also be used.
    
    PR-URL: nodejs#25174
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
    sam-github authored and targos committed Jan 1, 2019
    Copy the full SHA
    3af173d View commit details
    Browse the repository at this point in the history
  17. doc: describe TLS session resumption

    PR-URL: nodejs#25174
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
    sam-github authored and targos committed Jan 1, 2019
    Copy the full SHA
    e6da77b View commit details
    Browse the repository at this point in the history
  18. test: mark two tests as flaky in AIX

    sequential/test-inspector-debug-end and
    parallel/test-child-process-execfile
    
    Off late these have been failing in AIX. Debugging core dump
    suggested that this is a side effect of exit-race that is
    described in nodejs#25007
    Mart these  as flaky in AIX until that is resolved.
    
    Refs: nodejs#25047
    Refs: nodejs#25029
    
    PR-URL: nodejs#25126
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
    gireeshpunathil authored and targos committed Jan 1, 2019
    Copy the full SHA
    7e2ae75 View commit details
    Browse the repository at this point in the history
  19. child_process: simplify argument handling

    This commit simplifies the calling of normalizeSpawnArguments()
    and normalizeExecArguments(). Specifically, this commit replaces
    apply() and the use of arguments with a normal function call.
    
    PR-URL: nodejs#25194
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    cjihrig authored and targos committed Jan 1, 2019
    Copy the full SHA
    56e7e4f View commit details
    Browse the repository at this point in the history
  20. tls: remove unused ocsp extension parsing

    The OCSP info from parsing the TLS ClientHello has not been used since
    550c263, remove it.
    
    See: nodejs#1464
    
    PR-URL: nodejs#25153
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Tobias Nießen <tniessen@tnie.de>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
    sam-github authored and targos committed Jan 1, 2019
    Copy the full SHA
    acf7802 View commit details
    Browse the repository at this point in the history
  21. tls: fix initRead socket argument name

    "wrapped" argument is the caller's "socket", not its "wrap", and its
    referred to as "socket" in the comments, so call it that.
    
    PR-URL: nodejs#25153
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Tobias Nießen <tniessen@tnie.de>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
    sam-github authored and targos committed Jan 1, 2019
    Copy the full SHA
    d5ba121 View commit details
    Browse the repository at this point in the history
  22. tls: do not confuse session and session ID

    session ID was named session in C++ and key in JS, Name them after what
    they are, as the 'newSession' event docs do.
    
    PR-URL: nodejs#25153
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Tobias Nießen <tniessen@tnie.de>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
    sam-github authored and targos committed Jan 1, 2019
    Copy the full SHA
    f6b2ea8 View commit details
    Browse the repository at this point in the history
  23. src: use consistent names for JSStream

    Its confusing to call a js class with a handle a "Wrap", usually it's
    the C++ handle that is called a Wrap (tcp_wrap, tls_wrap, ...). Its
    derived from Socket, and makes a JS stream look like a Socket, so call
    it that. Also, remove use of lib/_stream_wrap.js so it can be deprecated
    some time.
    
    PR-URL: nodejs#25153
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Tobias Nießen <tniessen@tnie.de>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
    sam-github authored and targos committed Jan 1, 2019
    Copy the full SHA
    bc66356 View commit details
    Browse the repository at this point in the history
  24. test: split test-whatwg-encoding-textdecoder.js

    Split test-whatwg-encoding-textdecoder.js into:
    
    - `test-whatwg-encoding-custom-textdecoder.js` which tests
      Node.js-specific behaviors
    - `test-whatwg-encoding-custom-textdecoder-api-invalid-label.js` which
      is a customized version of the WPT counterpart
    - `test-whatwg-encoding-custom-api-basics.js` which is the part of
      `test-whatwg-encoding-api-basics.js` that can be run without ICU
    - `test-whatwg-encoding-api-basics.js` which can be replaced with WPT
      later.
    
    PR-URL: nodejs#25155
    Reviewed-By: James M Snell <jasnell@gmail.com>
    joyeecheung authored and targos committed Jan 1, 2019
    Copy the full SHA
    a8f5191 View commit details
    Browse the repository at this point in the history
  25. test: split test-whatwg-encoding-textdecoder-fatal.js

    Split `test-whatwg-encoding-textdecoder-fatal.js` into
    
    - `test-whatwg-encoding-custom-textdecoder-fatal.js` which
      is a customized version of the WPT that tests for Node.js-specific
      error codes.
    - `test-whatwg-encoding-custom-textdecoder-invalid-arg` which
      tests `ERR_INVALID_ARG_TYPE`
    
    PR-URL: nodejs#25155
    Reviewed-By: James M Snell <jasnell@gmail.com>
    joyeecheung authored and targos committed Jan 1, 2019
    Copy the full SHA
    deceb26 View commit details
    Browse the repository at this point in the history
  26. test: split encoding tests where some cases can be run without ICU

    Split the following tests:
    
    - `test-whatwg-encoding-textdecoder-utf16-surrogates.js`
    - `test-whatwg-encoding-textdecoder-ignorebom.js`
    - `test-whatwg-encoding-textdecoder-streaming.js`
    
    Each into two files: one that can be run without ICU and one that has
    to be run with ICU. The latter can be replaced with WPT later.
    
    PR-URL: nodejs#25155
    Reviewed-By: James M Snell <jasnell@gmail.com>
    joyeecheung authored and targos committed Jan 1, 2019
    Copy the full SHA
    be42182 View commit details
    Browse the repository at this point in the history
  27. test: rename custom encoding tests that cannot be replaced by WPT

    PR-URL: nodejs#25155
    Reviewed-By: James M Snell <jasnell@gmail.com>
    joyeecheung authored and targos committed Jan 1, 2019
    Copy the full SHA
    b45be67 View commit details
    Browse the repository at this point in the history
  28. test: add TODO to encoding tests that can be replaced with WPT

    PR-URL: nodejs#25155
    Reviewed-By: James M Snell <jasnell@gmail.com>
    joyeecheung authored and targos committed Jan 1, 2019
    Copy the full SHA
    c7d2dbd View commit details
    Browse the repository at this point in the history
  29. src: lazily load internalBinding('uv') and build the errmap lazily

    This removes the `internalBinding('uv')` call from the normal
    bootstrap for now, and avoids building `errmap` by default which
    expands to a lot of calls into V8.
    
    PR-URL: nodejs#25143
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    joyeecheung authored and targos committed Jan 1, 2019
    Copy the full SHA
    dd6667d View commit details
    Browse the repository at this point in the history
  30. tools: update ESLint to 5.11.1

    Update ESLint to 5.11.1.
    
    PR-URL: nodejs#25236
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    cjihrig authored and targos committed Jan 1, 2019
    Copy the full SHA
    f944a75 View commit details
    Browse the repository at this point in the history
  31. tools: enable no-useless-catch lint rule

    This commit enables ESLint's no-useless-catch rule.
    
    PR-URL: nodejs#25236
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    cjihrig authored and targos committed Jan 1, 2019
    Copy the full SHA
    e6b5232 View commit details
    Browse the repository at this point in the history
  32. lib: simplify several debug() calls

    Avoid calling Array.prototype.join() in debug() calls. These
    are evaluated on every call, even if the debug() call is a
    no-op. This commit replaces the join() calls with the %j
    placeholder.
    
    PR-URL: nodejs#25241
    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>
    cjihrig authored and targos committed Jan 1, 2019
    Copy the full SHA
    217bb0e View commit details
    Browse the repository at this point in the history
  33. benchmark: fix net-wrap-js-stream-passthrough

    The net-wrap-js-stream-passthrough benchmark was inadvertently broken by
    00944c7. This fixes it.
    
    PR-URL: nodejs#25273
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Trott authored and targos committed Jan 1, 2019
    Copy the full SHA
    516f75f View commit details
    Browse the repository at this point in the history
  34. test: regression test for uv threadpool congestion

    Validate that massive dns lookups do not block filesytem I/O
    (or any fast I/O for that matter).
    Prior to libuv/libuv#1845 few back-to-back dns
    lookup were sufficient to engage libuv threadpool workers in a blocking
    manner, throttling other work items that need the pool. this test acts
    as a regression test for the same.
    
    Start slow and fast I/Os together, and make sure fast I/O can complete
    in at least in 1/100th of time for slow I/O.
    
    Refs: libuv/libuv#1845
    Refs: nodejs#8436
    
    PR-URL: nodejs#23099
    Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    gireeshpunathil authored and targos committed Jan 1, 2019
    Copy the full SHA
    b0b1414 View commit details
    Browse the repository at this point in the history
  35. crypto: fix zero byte allocation assertion failure

    When an empty string was passed, malloc might have returned a nullptr
    depending on the platform, causing an assertion failure. This change
    makes private key parsing behave as public key parsing does, causing
    a BIO error instead that can be caught in JS.
    
    Fixes: nodejs#25247
    
    PR-URL: nodejs#25248
    Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
    Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    tniessen authored and targos committed Jan 1, 2019
    Copy the full SHA
    f3ebc39 View commit details
    Browse the repository at this point in the history
  36. src: fulfill Maybe contract in InlineDecoder

    Use an empty/nothing `Maybe<>` to indicate a pending exception.
    
    PR-URL: nodejs#25140
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
    Reviewed-By: Shelley Vohr <codebytere@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    addaleax authored and targos committed Jan 1, 2019
    Copy the full SHA
    c9d49d6 View commit details
    Browse the repository at this point in the history
  37. src: ignore termination exceptions in fatal TryCatch

    We don’t want these to terminate the process in case of
    Worker threads receiving a termination exception, rather
    than a “real one”.
    
    PR-URL: nodejs#25141
    Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Gus Caplan <me@gus.host>
    addaleax authored and targos committed Jan 1, 2019
    Copy the full SHA
    ae86192 View commit details
    Browse the repository at this point in the history
  38. src: pass along MaybeLocal<> state from URL::ToObject()

    PR-URL: nodejs#25141
    Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Gus Caplan <me@gus.host>
    addaleax authored and targos committed Jan 1, 2019
    Copy the full SHA
    e00b326 View commit details
    Browse the repository at this point in the history
  39. buffer: fix crash for invalid index types

    2555cb4 introduced a crash
    when a non-number value was passed to `ParseArrayIndex()`.
    
    We do not always have JS typechecking for that in place, though.
    This returns back to the previous behavior of coercing values
    to integers, which is certainly questionable.
    
    Refs: nodejs#22129
    Fixes: nodejs#23668
    
    PR-URL: nodejs#25154
    Reviewed-By: James M Snell <jasnell@gmail.com>
    addaleax authored and targos committed Jan 1, 2019
    Copy the full SHA
    7dc4c3b View commit details
    Browse the repository at this point in the history
  40. tools: enable no-buffer-constructor lint rule

    PR-URL: nodejs#25261
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    cjihrig authored and targos committed Jan 1, 2019
    Copy the full SHA
    ee43540 View commit details
    Browse the repository at this point in the history
  41. tools: remove custom buffer-constructor lint rule

    This rule is no longer needed. ESLint's built in
    no-buffer-constructor rule is enabled instead.
    
    PR-URL: nodejs#25261
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    cjihrig authored and targos committed Jan 1, 2019
    Copy the full SHA
    fee8a11 View commit details
    Browse the repository at this point in the history
  42. util: fix util.inspect with proxied function

    PR-URL: nodejs#25244
    Fixes: nodejs#25212
    Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
    Reviewed-By: Minwoo Jung <minwoo@nodesource.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
    starkwang authored and targos committed Jan 1, 2019
    Copy the full SHA
    3797625 View commit details
    Browse the repository at this point in the history
  43. test: remove try/catch in common.isMainThread

    Refactor common.isMainThread.
    
    PR-URL: nodejs#25249
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Trott authored and targos committed Jan 1, 2019
    Copy the full SHA
    05d1a53 View commit details
    Browse the repository at this point in the history
  44. test: slightly refactor test-child-process-execsync

    * move `start` time to the point of execution (avoids counting 'throws'
      tests towards 'timeout' test case)
    * scope cmd/ret values where possible
    * use `filter` instead of manual if/return
    
    PR-URL: nodejs#25227
    Refs: nodejs#24921
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    lundibundi authored and targos committed Jan 1, 2019
    Copy the full SHA
    11c9a82 View commit details
    Browse the repository at this point in the history
  45. win, build: fix building addons on Windows

    Building addons would fail because addon-verify.js dependencies from
    tools\doc where not installed. This fixes this issue by installing
    those dependencies if addons are to be built.
    
    Fixes: nodejs#25096
    
    PR-URL: nodejs#25108
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    bzoz authored and targos committed Jan 1, 2019
    Copy the full SHA
    2df0d14 View commit details
    Browse the repository at this point in the history
  46. tools: replace NULL with nullptr

    PR-URL: nodejs#25179
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Tobias Nießen <tniessen@tnie.de>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    juanarbol authored and targos committed Jan 1, 2019
    Copy the full SHA
    1be566b View commit details
    Browse the repository at this point in the history
  47. test: remove util.inherits() usage

    PR-URL: nodejs#25245
    Refs: nodejs#24755
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    ZYSzys authored and targos committed Jan 1, 2019
    Copy the full SHA
    4ca4b54 View commit details
    Browse the repository at this point in the history
  48. doc: include license for src/large_pages in LICENSE

    Include License for src/large_pages (MIT licensed by Intel), to the main
    LICENSE file and make required changes to the tools/license-builder.sh
    script.
    
    Fixes: nodejs#25238
    
    PR-URL: nodejs#25246
    Reviewed-By: Rich Trott <rtrott@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    ryzokuken authored and targos committed Jan 1, 2019
    Copy the full SHA
    8a701c3 View commit details
    Browse the repository at this point in the history
  49. src: remove unused variable from string_search.h

    PR-URL: nodejs#25139
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    addaleax authored and targos committed Jan 1, 2019
    Copy the full SHA
    2f5c8b5 View commit details
    Browse the repository at this point in the history
  50. crypto: add crypto/keys to cannotUseCache

    Currently when configuring --without-ssl test-code-cache.js will fail
    with the following error:
    internal/bootstrap/loaders.js:151
          mod = bindingObj[module] = getInternalBinding(module);
                                     ^
    
    Error: No such module: crypto
        at internalBinding (internal/bootstrap/loaders.js:151:34)
        at internal/crypto/keys.js:14:5
        at NativeModule.compile (internal/bootstrap/loaders.js:342:5)
        at Function.NativeModule.require (internal/bootstrap/loaders.js:213:16)
        at Function.Module._load (internal/modules/cjs/loader.js:539:25)
        at Module.require (internal/modules/cjs/loader.js:654:17)
        at require (internal/modules/cjs/helpers.js:22:18)
        at Object.<anonymous> (/node/test/code-cache/test-code-cache.js:31:3)
        at Module._compile (internal/modules/cjs/loader.js:718:30)
        at Object.Module._extensions..js (internal/modules/cjs/loader.js:729:10)
    
    This commit adds internal/crypto/keys to the cannotUseCache array if
    compiled without crypto support.
    
    PR-URL: nodejs#25237
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Tobias Nießen <tniessen@tnie.de>
    Reviewed-By: Minwoo Jung <minwoo@nodesource.com>
    danbev authored and targos committed Jan 1, 2019
    Copy the full SHA
    bc6f4bc View commit details
    Browse the repository at this point in the history
  51. doc: edit and simplify util.inspect() docs

    PR-URL: nodejs#25195
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    cjihrig authored and targos committed Jan 1, 2019
    Copy the full SHA
    be45469 View commit details
    Browse the repository at this point in the history
  52. src: fix warning in cares_wrap.cc

    This commit fixes the following warning:
    
    ./src/cares_wrap.cc:1268:5: warning: comparison of integers of
        different signs: 'uint32_t' (aka 'unsigned int') and 'int'
        [-Wsign-compare]
        CHECK_EQ(ret->Length(), a_count + aaaa_count);
    
    PR-URL: nodejs#25230
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    cjihrig authored and targos committed Jan 1, 2019
    Copy the full SHA
    f62e35f View commit details
    Browse the repository at this point in the history
  53. deps: V8: backport bf84766

    Original commit message:
    
        [CloneObjectIC] clone MutableHeapNumbers instead of referencing them
    
        Adds a helper macro "CloneIfMutablePrimitive", which tests if the
        operand is a MutableHeapNumber, and if so, clones it, otherwise
        returning the original value.
    
        Also modifies the signature of "CopyPropertyArrayValues" to take a
        "DestroySource" enum, indicating whether or not the resulting object is
        supplanting the source object or not, and removes all default
        parameters from that macro (which were not used anyways).
    
        This corrects the issue reported in chromium:901301, where
        StaNamedOwnProperty was replacing the value of a MutableHeapNumber
        referenced by both the cloned object and the source object.
    
        BUG=chromium:901301, v8:7611
        R=cbruni@chromium.org, jkummerow@chromium.org
    
        Change-Id: I43df1ddc84dfa4840e680b6affeba452ce0b6629
        Reviewed-on: https://chromium-review.googlesource.com/c/1318096
        Commit-Queue: Caitlin Potter <caitp@igalia.com>
        Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
        Reviewed-by: Camillo Bruni <cbruni@chromium.org>
        Cr-Commit-Position: refs/heads/master@{#57304}
    
    PR-URL: nodejs#25101
    Refs: v8/v8@bf84766
    Fixes: nodejs#25089
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: Gus Caplan <me@gus.host>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
    Reviewed-By: Yang Guo <yangguo@chromium.org>
    BridgeAR authored and targos committed Jan 1, 2019
    Copy the full SHA
    201cf97 View commit details
    Browse the repository at this point in the history
  54. deps: V8: backport 3e010af

    Original commit message:
    
        [CloneObjectIC] clone MutableHeapNumbers only if !FLAG_unbox_double_fields
    
        Change the macros added in bf84766a2cd3e09070adcd6228a3a487c8dc4bbd to
        only do the hard work if FLAG_unbox_double_fields is unset (otherwise,
        they will attempt to dereference raw float64s, which is bad!)
    
        Also adds a write barrier in CopyPropertyArrayValues for each store if
        it's possible that a MutableHeapNumber is cloned.
    
        BUG=chromium:901301, chromium:902965, chromium:903070, v8:7611
        R=cbruni@chromium.org, jkummerow@chromium.org, ishell@chromium.org
    
        Change-Id: I224d3c4e7b0a887684bff68985b4d97021ba4cfb
        Reviewed-on: https://chromium-review.googlesource.com/c/1323911
        Commit-Queue: Caitlin Potter <caitp@igalia.com>
        Reviewed-by: Camillo Bruni <cbruni@chromium.org>
        Reviewed-by: Igor Sheludko <ishell@chromium.org>
        Cr-Commit-Position: refs/heads/master@{#57368}
    
    PR-URL: nodejs#25101
    Refs: v8/v8@3e010af
    Fixes: nodejs#25089
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: Gus Caplan <me@gus.host>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
    Reviewed-By: Yang Guo <yangguo@chromium.org>
    BridgeAR authored and targos committed Jan 1, 2019
    Copy the full SHA
    f2abe7b View commit details
    Browse the repository at this point in the history
  55. test,doc: add tests and docs for addon unloading

    Originally from portions of nodejs#23319.
    
    Backport-PR-URL: nodejs#25258
    PR-URL: nodejs#24861
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
    addaleax authored and targos committed Jan 1, 2019
    Copy the full SHA
    95353c7 View commit details
    Browse the repository at this point in the history
  56. src: unload addons when environment quits

    This is an alternative to nodejs#23319
    which attaches the loaded addons to the environment and closes them
    when the environment is destroyed.
    
    Backport-PR-URL: nodejs#25258
    PR-URL: nodejs#24861
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
    Gabriel Schulhof authored and targos committed Jan 1, 2019
    Copy the full SHA
    d718625 View commit details
    Browse the repository at this point in the history
  57. zlib: split JS code as prep for non-zlib-backed streams

    Split the `Zlib` class into `ZlibBase` and `Zlib` classes,
    to facilitate introduction of similar streams with minor
    implementation differences.
    
    Backport-PR-URL: nodejs#25228
    PR-URL: nodejs#24939
    Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
    addaleax authored and targos committed Jan 1, 2019
    Copy the full SHA
    e534dcd View commit details
    Browse the repository at this point in the history

Commits on Jan 5, 2019

  1. deps: add brotli

    Co-authored-by: Anna Henningsen <anna@addaleax.net>
    
    PR-URL: nodejs#24938
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
    Reviewed-By: Jan Krems <jan.krems@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Myles Borins <myles.borins@gmail.com>
    Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
    Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
    Hackzzila authored and addaleax committed Jan 5, 2019
    Copy the full SHA
    11c01a6 View commit details
    Browse the repository at this point in the history
  2. deps,tools: update license-builder.sh and LICENSE

    PR-URL: nodejs#24938
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
    Reviewed-By: Jan Krems <jan.krems@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Myles Borins <myles.borins@gmail.com>
    Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
    Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
    Hackzzila authored and addaleax committed Jan 5, 2019
    Copy the full SHA
    ec87b6c View commit details
    Browse the repository at this point in the history
  3. zlib: add brotli support

    Refs: nodejs#20458
    
    Co-authored-by: Hackzzila <admin@hackzzila.com>
    
    PR-URL: nodejs#24938
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
    Reviewed-By: Jan Krems <jan.krems@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Myles Borins <myles.borins@gmail.com>
    Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
    Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
    addaleax committed Jan 5, 2019
    Copy the full SHA
    7edf8c7 View commit details
    Browse the repository at this point in the history
  4. benchmark,test: add brotli

    Co-authored-by: Hackzzila <admin@hackzzila.com>
    
    PR-URL: nodejs#24938
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
    Reviewed-By: Jan Krems <jan.krems@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Myles Borins <myles.borins@gmail.com>
    Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
    Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
    addaleax committed Jan 5, 2019
    Copy the full SHA
    9a627a4 View commit details
    Browse the repository at this point in the history
  5. doc: add documentation for brotli support

    PR-URL: nodejs#24938
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
    Reviewed-By: Jan Krems <jan.krems@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Myles Borins <myles.borins@gmail.com>
    Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
    Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
    addaleax committed Jan 5, 2019
    Copy the full SHA
    1c5a997 View commit details
    Browse the repository at this point in the history
  6. test: remove unnecessary test flags

    This commit removes unnecessary flags used when starting
    tests via the "// Flags:" directive.
    
    PR-URL: nodejs#25277
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    cjihrig authored and addaleax committed Jan 5, 2019
    Copy the full SHA
    ee8a4a2 View commit details
    Browse the repository at this point in the history
  7. doc: simplify DEP0119 wording

    PR-URL: nodejs#25276
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: Rich Trott <rtrott@gmail.com>
    Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    cjihrig authored and addaleax committed Jan 5, 2019
    Copy the full SHA
    f5008fd View commit details
    Browse the repository at this point in the history
  8. test: mark test-util-callbackify flaky on AIX

    Refs: nodejs#25068
    
    PR-URL: nodejs#25284
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Trott authored and addaleax committed Jan 5, 2019
    Copy the full SHA
    61fc3bf View commit details
    Browse the repository at this point in the history
  9. test: remove unused --expose-native-as V8 flag

    test-preload.js was using a V8 flag (`--expose-native-as`) that made
    an V8 internally used object available. As this test does not use this
    object, this commit removes the usage of this flag.
    
    In some distant past, this internally used object may have had some
    external use, but currently is essentially an empty object.
    
    In the near future, the V8 internal infrastructure (JS Natives)
    producing the object exposed by `--expose-native-as` will be phased out.
    For more details, visit:
    https://bugs.chromium.org/p/v8/issues/detail?id=7624
    
    PR-URL: nodejs#25275
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com>
    peterwmwong authored and addaleax committed Jan 5, 2019
    Copy the full SHA
    5a5bc58 View commit details
    Browse the repository at this point in the history
  10. repl: indicate if errors are thrown or not

    Currently an error is printed identical, no matter if it is just
    inspected or if the error is thrown inside of the REPL. This makes
    sure we are able to distinguish these cases.
    
    PR-URL: nodejs#25253
    Reviewed-By: Gus Caplan <me@gus.host>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    BridgeAR authored and addaleax committed Jan 5, 2019
    Copy the full SHA
    1ccaf9a View commit details
    Browse the repository at this point in the history
  11. test: make sure tmpdir is created before using it

    Otherwise it throws ENOENT when the folder happens to be cleaned
    
    PR-URL: nodejs#25224
    Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: Denys Otrishko <shishugi@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    joyeecheung authored and addaleax committed Jan 5, 2019
    Copy the full SHA
    c10b131 View commit details
    Browse the repository at this point in the history
  12. test: set umask explicitly

    Some tests which create files and check file permissions assume the
    umask is compatible with 022, and break when set to something like 007.
    Explicitly set umask to 022
    
    PR-URL: nodejs#25213
    Reviewed-By: Rich Trott <rtrott@gmail.com>
    Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
    i8-pi authored and addaleax committed Jan 5, 2019
    Copy the full SHA
    973b32d View commit details
    Browse the repository at this point in the history
  13. build: fix Windows shared lib build

    PR-URL: nodejs#25166
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    richardlau authored and addaleax committed Jan 5, 2019
    Copy the full SHA
    a2cc4ba View commit details
    Browse the repository at this point in the history
  14. deps: upgrade npm to v6.5.0

    PR-URL: nodejs#25234
    Reviewed-By: Rich Trott <rtrott@gmail.com>
    Reviewed-By: Lance Ball <lball@redhat.com>
    ljharb authored and addaleax committed Jan 5, 2019
    Copy the full SHA
    9101591 View commit details
    Browse the repository at this point in the history
  15. lib,test: remove lib/internal/test/unicode.js

    Remove lib/internal/test/unicode.js and associated test. When we added
    the file and test, only comments in lib had non-ASCII characters. Now,
    lib/internal/cli_table.js has non-ASCII characters. Tests that exercise
    the `console.table()` therefore fulfill the need to test non-ASCII
    characters in built-in modules.
    
    PR-URL: nodejs#25298
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Trott authored and addaleax committed Jan 5, 2019
    Copy the full SHA
    e14f864 View commit details
    Browse the repository at this point in the history
  16. worker: use engine-provided deleter for SharedArrayBuffers

    Store the full information we have on a given `SharedArrayBuffer`,
    and use the deleter provided by the JS engine to free the memory
    when that is needed.
    
    This fixes memory lifetime management for WASM buffers that are
    passed through a `MessageChannel` (e.g. between threads).
    
    PR-URL: nodejs#25307
    Reviewed-By: Gus Caplan <me@gus.host>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
    addaleax committed Jan 5, 2019
    Copy the full SHA
    2014eba View commit details
    Browse the repository at this point in the history
  17. test: replace internals with public API

    Remove instances where `--expose-internals` is used to gain access to
    buffer.kStringMaxLength. The property is availalble without a flag. It
    is undocumented but the same as the documented
    `buffer.constants.MAX_STRING_LENGTH` so use that. (We even have a test
    that confirms that they are the same value.)
    
    PR-URL: nodejs#25309
    Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Trott authored and addaleax committed Jan 5, 2019
    Copy the full SHA
    379260e View commit details
    Browse the repository at this point in the history
  18. src: add NAPI_VERSION_EXPERIMENTAL

    Refs: nodejs/node-addon-api#421
    
    Define NAPI_VERSION_EXPERIMENTAL so that it can be
    used to guard code in addons that need to check
    if a function they want to use is available.
    
    PR-URL: nodejs#25319
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    mhdawson authored and addaleax committed Jan 5, 2019
    Copy the full SHA
    465d02b View commit details
    Browse the repository at this point in the history
  19. doc: document key encryption options

    PR-URL: nodejs#23632
    Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
    tniessen authored and addaleax committed Jan 5, 2019
    Copy the full SHA
    b9b2ba2 View commit details
    Browse the repository at this point in the history
  20. src: improve ToV8Value() functions

    - Cache the `isolate` value between calls
    - Introduce an overload for dealing with integers/numbers
    - Use the vectored `v8::Array::New` constructor + `MaybeStackBuffer`
      for faster array creation
    
    PR-URL: nodejs#25288
    Reviewed-By: Gus Caplan <me@gus.host>
    Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    addaleax committed Jan 5, 2019
    Copy the full SHA
    f6e341a View commit details
    Browse the repository at this point in the history

Commits on Jan 8, 2019

  1. v8: enable inline WASM in serialization API

    Since the API we expose through the `v8` module is Buffer-based,
    we cannot transfer WASM modules directly. Instead, we enable
    the V8-provided inline WASM (de)serialization for WASM modules.
    
    PR-URL: nodejs#25313
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
    Reviewed-By: Gus Caplan <me@gus.host>
    addaleax committed Jan 8, 2019
    Copy the full SHA
    7f78137 View commit details
    Browse the repository at this point in the history
  2. worker: enable transferring WASM modules

    Enable in-memory transfer of WASM modules without recompilation.
    
    Previously, the serialization step worked, but deserialization failed
    because we did not explicitly enable decoding inline WASM modules,
    and so the message was not successfully received.
    
    PR-URL: nodejs#25314
    Reviewed-By: Gus Caplan <me@gus.host>
    Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
    Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
    addaleax committed Jan 8, 2019
    Copy the full SHA
    dd8795f View commit details
    Browse the repository at this point in the history
  3. buffer: refactor checks for SlowBuffer creation

    PR-URL: nodejs#25266
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Mnwa authored and addaleax committed Jan 8, 2019
    Copy the full SHA
    1d49408 View commit details
    Browse the repository at this point in the history
  4. doc: fs.mkdir('/') throws EPERM on Windows

    Fixes: nodejs#25110
    
    PR-URL: nodejs#25340
    Reviewed-By: Rich Trott <rtrott@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Ben Coe <bencoe@gmail.com>
    coreyfarrell authored and addaleax committed Jan 8, 2019
    Copy the full SHA
    f8dcbba View commit details
    Browse the repository at this point in the history
  5. test: fix test-benchmark-zlib

    The addition of brotli to zlib benchmarks means that test-benchmark-zlib
    needs to be modified. This is that modification.
    
    PR-URL: nodejs#25365
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Trott authored and addaleax committed Jan 8, 2019
    Copy the full SHA
    523872b View commit details
    Browse the repository at this point in the history
  6. test: remove flag for test-addon-uv-handle-leak

    test-addon-uv-handle-leak only requires worker_threads for the
    subprocess which it explicitly calls with --experimental-worker. The
    main test itself does not need it. Remove Flags: comment and move
    loading of worker_threads into subprocess-only logic.
    
    PR-URL: nodejs#25327
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
    Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Trott authored and addaleax committed Jan 8, 2019
    Copy the full SHA
    456f76a View commit details
    Browse the repository at this point in the history
  7. crypto: fix key object wrapping in sync keygen

    PR-URL: nodejs#25326
    Fixes: nodejs#25322
    Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    tniessen authored and addaleax committed Jan 8, 2019
    Copy the full SHA
    32e45b2 View commit details
    Browse the repository at this point in the history
  8. src: remove unused method declaration

    PR-URL: nodejs#25329
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Tobias Nießen <tniessen@tnie.de>
    Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    bnoordhuis authored and addaleax committed Jan 8, 2019
    Copy the full SHA
    1e60e0a View commit details
    Browse the repository at this point in the history
  9. test: http2 origin length ERR_HTTP2_ORIGIN_LENGTH

    PR-URL: nodejs#25296
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    fshaikh authored and addaleax committed Jan 8, 2019
    Copy the full SHA
    239d5ec View commit details
    Browse the repository at this point in the history
  10. tools: update ESLint to 5.12.0

    Update ESLint to 5.12.0.
    
    PR-URL: nodejs#25347
    Reviewed-By: Rich Trott <rtrott@gmail.com>
    Reviewed-By: Yuta Hiroto <hello@hiroppy.me>
    Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
    cjihrig authored and addaleax committed Jan 8, 2019
    Copy the full SHA
    ee4c46c View commit details
    Browse the repository at this point in the history
  11. test: fix test-tls-securepair-client

    test-tls-securepair-client has been failing for over a year but no one
    noticed because pummel tests are almost never run.
    
    In preparation for running pummel tests once a day in CI, fix
    test-tls-securepair-client.
    
    PR-URL: nodejs#25222
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Denys Otrishko <shishugi@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Trott authored and addaleax committed Jan 8, 2019
    Copy the full SHA
    7ac1db2 View commit details
    Browse the repository at this point in the history
  12. test: move test-tls-securepair-client out of pummel

    test-tls-securepair-client does not seem to need to be in the pummel
    directory. Move it to sequential. (It can't go into parallel because it
    uses common.PORT and therefore might conflict with another test that is
    using system-assigned available ports.)
    
    PR-URL: nodejs#25222
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Denys Otrishko <shishugi@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Trott authored and addaleax committed Jan 8, 2019
    Copy the full SHA
    ce7bbd2 View commit details
    Browse the repository at this point in the history
  13. lib: support overriding http\s.globalAgent

    Overriding `require('http[s]').globalAgent` is now respected by
    consequent requests.
    
    In order to achieve that, the following changes were made:
    
    1. Implmentation in `http`: `module.exports.globalAgent` is now defined
    through `Object.defineProperty`. Its getter and setter return \ set
    `require('_http_agent').globalAgent`.
    
    2. Implementation in `https`: the https `globalAgent` is not the same
    as `_http_agent`, and is defined in `https` module itself. Therefore,
    the fix here was to simply use `module.exports.globalAgent` to support
    mutation.
    
    3. According tests were added for both `http` and `https`, where in
    both we create a server, set the default agent to a newly created
    instance and make a request to that server. We then assert that the
    given instance was actually used by inspecting its sockets property.
    
    Fixes: nodejs#23281
    
    PR-URL: nodejs#25170
    Reviewed-By: James M Snell <jasnell@gmail.com>
    illBeRoy authored and addaleax committed Jan 8, 2019
    Copy the full SHA
    8d0c638 View commit details
    Browse the repository at this point in the history
  14. doc: make modules.md more accurate

    PR-URL: nodejs#25357
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    vsemozhetbyt authored and addaleax committed Jan 8, 2019
    Copy the full SHA
    1e20c5e View commit details
    Browse the repository at this point in the history
  15. crypto: always accept private keys as public keys

    Some APIs already accept private keys instead of public keys. This
    changes all relevant crypto APIs to do so.
    
    PR-URL: nodejs#25217
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
    Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
    tniessen authored and addaleax committed Jan 8, 2019
    Copy the full SHA
    eaaaa0d View commit details
    Browse the repository at this point in the history
  16. doc: fix process.stdin example

    Fixes: nodejs#20503
    
    PR-URL: nodejs#25344
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
    Reviewed-By: Rich Trott <rtrott@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com>
    Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    addaleax committed Jan 8, 2019
    Copy the full SHA
    354fba1 View commit details
    Browse the repository at this point in the history
  17. src: trace_events: fix race with metadata events

    Multiple threads may be concurrently adding to the metadata_events list.
    Protect access with a mutex.
    
    Fixes: nodejs#24129
    
    PR-URL: nodejs#25235
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    ofrobots authored and addaleax committed Jan 8, 2019
    Copy the full SHA
    807e732 View commit details
    Browse the repository at this point in the history
  18. test: remove redundant fchmod test

    PR-URL: nodejs#25282
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    ZYSzys authored and addaleax committed Jan 8, 2019
    Copy the full SHA
    f80fbd2 View commit details
    Browse the repository at this point in the history
  19. doc: fix heading in cpp style guide

    Names of c-like structs do not have to end with an underscore.
    
    PR-URL: nodejs#25303
    Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    kkty authored and addaleax committed Jan 8, 2019
    Copy the full SHA
    7d1d261 View commit details
    Browse the repository at this point in the history
  20. src: check curve ID existence instead of asn flags

    Simplify the code. The flag check was in the OpenSSL source, but reading
    through the docs and source, it is not necessary.
    
    Refs: https://github.com/nodejs/node/pull/24358/files#r243099693
    PR-URL: nodejs#25345
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
    Reviewed-By: Tobias Nießen <tniessen@tnie.de>
    sam-github authored and addaleax committed Jan 8, 2019
    Copy the full SHA
    5b93356 View commit details
    Browse the repository at this point in the history
  21. test: tune test-uv-threadpool-schedule

    test-uv-threadpool-schedule has been failing consistently in
    node-daily-master CI. It also fails consistently on my personal laptop.
    These changes make it pass consistently with current master but fail
    consistently with Node.js 10.11 (which was the last release in the 10.x
    line before the fix that the test is for). It succeeds/fails as expected
    whether or not I am connected to the network.
    
    Fixes: nodejs#25305
    
    PR-URL: nodejs#25358
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
    Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
    Trott authored and addaleax committed Jan 8, 2019
    Copy the full SHA
    c1aa5f0 View commit details
    Browse the repository at this point in the history
  22. test: clean up wasm fixtures

    PR-URL: nodejs#25360
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    devsnek authored and addaleax committed Jan 8, 2019
    Copy the full SHA
    c826af7 View commit details
    Browse the repository at this point in the history

Commits on Jan 9, 2019

  1. doc: use lowercase for zlib

    PR-URL: nodejs#25371
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
    Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Trott authored and addaleax committed Jan 9, 2019
    Copy the full SHA
    071f84e View commit details
    Browse the repository at this point in the history
  2. src: initialize Environment members in class definition

    Initialize primitive members of `Environment` in the class definition
    for clarity.
    
    PR-URL: nodejs#25369
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Minwoo Jung <minwoo@nodesource.com>
    Reviewed-By: Matheus Marchini <mat@mmarchini.me>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    addaleax committed Jan 9, 2019
    Copy the full SHA
    d1ff107 View commit details
    Browse the repository at this point in the history
  3. test: more tests for internal/util/types

    PR-URL: nodejs#25225
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
    ZYSzys authored and addaleax committed Jan 9, 2019
    Copy the full SHA
    fc22df9 View commit details
    Browse the repository at this point in the history
  4. fs: extract start and end check into checkPosition

    PR-URL: nodejs#25264
    Reviewed-By: Weijia Wang <starkwang@126.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    ZYSzys authored and addaleax committed Jan 9, 2019
    Copy the full SHA
    ca7adca View commit details
    Browse the repository at this point in the history
  5. util: update comment in util.promisify

    child_process.exec has Symbol('util.promisify.custom') in its keys
    and no longer has Symbol('customPromisifyArgs') in its keys, but it was
    still used as an example of funtions with
    Symbol('customPromisifyArgs').
    
    PR-URL: nodejs#25323
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com>
    Reviewed-By: Yuta Hiroto <hello@hiroppy.me>
    Reviewed-By: Masashi Hirano <shisama07@gmail.com>
    kkty authored and addaleax committed Jan 9, 2019
    Copy the full SHA
    4ca0968 View commit details
    Browse the repository at this point in the history
  6. doc: update benchmark doc

    Benchmark for arrays no longer exists, but it was still referenced in
    documentation.
    
    Refs: nodejs#21831
    
    PR-URL: nodejs#25367
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    kkty authored and addaleax committed Jan 9, 2019
    Copy the full SHA
    7d46437 View commit details
    Browse the repository at this point in the history
  7. deps: cherry-pick d9fbfeb from upstream V8

    Original commit message:
    
    	inspector: return [[StableObjectId]] as internal property
    
    	This property might be useful for fast '===' check.
    
    	R=dgozman@chromium.org,yangguo@chromium.org
    
    	Bug: none
    	Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel
    	Change-Id: Iabc3555ce1ec2c14cf0ccd40b7d964ae144e7352
    	Reviewed-on: https://chromium-review.googlesource.com/1226411
    	Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
    	Reviewed-by: Yang Guo <yangguo@chromium.org>
    	Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    	Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
    	Cr-Commit-Position: refs/heads/master@{#56095}
    
    PR-URL: nodejs#25331
    Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    alexkozy authored and BridgeAR committed Jan 9, 2019
    Copy the full SHA
    e1d4f43 View commit details
    Browse the repository at this point in the history
  8. tls: do not confuse TLSSocket and Socket

    Don't use "socket" to describe two different objects in the same
    function.
    
    PR-URL: nodejs#25153
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Tobias Nießen <tniessen@tnie.de>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
    sam-github authored and BridgeAR committed Jan 9, 2019
    Copy the full SHA
    453bd18 View commit details
    Browse the repository at this point in the history
  9. lib: make the global console [[Prototype]] an empty object

    From the WHATWG console spec:
    
    > For historical web-compatibility reasons, the namespace object for
    > console must have as its [[Prototype]] an empty object, created as
    > if by ObjectCreate(%ObjectPrototype%), instead of %ObjectPrototype%.
    
    Since in Node.js, the Console constructor has been exposed through
    require('console'), we need to keep the Console constructor but
    we cannot actually use `new Console` to construct the global console.
    
    This patch changes the prototype chain of the global console object,
    so the console.Console.prototype is not in the global console prototype
    chain anymore.
    
    ```
    const proto = Object.getPrototypeOf(global.console);
    // Before this patch
    proto.constructor === global.console.Console
    // After this patch
    proto.constructor === Object
    ```
    
    But, we still maintain that
    
    ```
    global.console instanceof global.console.Console
    ```
    
    through a custom Symbol.hasInstance function of Console that tests
    for a special symbol kIsConsole for backwards compatibility.
    
    This fixes a case in the console Web Platform Test that we commented
    out.
    
    PR-URL: nodejs#23509
    Refs: whatwg/console#3
    Refs: https://console.spec.whatwg.org/#console-namespace
    Reviewed-By: Gus Caplan <me@gus.host>
    Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
    Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
    Reviewed-By: Denys Otrishko <shishugi@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Rich Trott <rtrott@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
    Reviewed-By: John-David Dalton <john.david.dalton@gmail.com>
    joyeecheung authored and BridgeAR committed Jan 9, 2019
    Copy the full SHA
    73c3a3d View commit details
    Browse the repository at this point in the history
  10. console: create the global console from Console constructor

    Specifically for v11.x.
    
    PR-URL: nodejs#25420
    Refs: nodejs#23509
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    joyeecheung authored and BridgeAR committed Jan 9, 2019
    Copy the full SHA
    b2b0645 View commit details
    Browse the repository at this point in the history
  11. console: bind methods from the prototype chain in Console

    In 6223236 we made the console.Console function construct an object
    with methods from Console.prototype bound to the instance, instead of
    with methods found on the prototype chain to be bound on the instances,
    thus breaking users overriding these methods when subclassing Console
    because they are not expecting this function to construct a
    namespace whose methods are not looked up from the prototype
    chain.
    
    This patch restores the previous behavior since it does not affect
    the characteristics of the global console anyway. So after this patch,
    the Console function still constructs normal objects with function
    properties looked up from the prototype chain but bound to the
    instances always.
    
    PR-URL: nodejs#24047
    Reviewed-By: John-David Dalton <john.david.dalton@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    joyeecheung authored and BridgeAR committed Jan 9, 2019
    Copy the full SHA
    7f5bb9d View commit details
    Browse the repository at this point in the history
  12. console: lazy load process.stderr and process.stdout

    This patch:
    
    - Refactors the Console constructor: moves the property binding code
      into and the writable streams binding code into two methods defined
      on the Console.prototype with symbols.
    - Refactors the global console creation: we only need to share the
      property binding code from the Console constructor. To bind the
      streams we can lazy load `process.stdio` and `process.stderr`
      so that we don't create these streams when they are not used.
      This significantly reduces the number of modules loaded during
      bootstrap. Also, by calling the refactored-out method directly
      we can skip the unnecessary typechecks when creating the global
      console and there is no need to create a temporary Console
      anymore.
    - Refactors the error handler creation and the `write` method:
      use a `kUseStdout` symbol to tell the internals which stream
      should be loaded from the console instance. Also put the
      `write` method on the Console prototype so it just loads
      other properties directly off the console instance which simplifies
      the call sites.
    
    Also leaves a few TODOs for further refactoring of the console
    bootstrap.
    
    PR-URL: nodejs#24534
    Reviewed-By: Gus Caplan <me@gus.host>
    joyeecheung authored and BridgeAR committed Jan 9, 2019
    Copy the full SHA
    4052aec View commit details
    Browse the repository at this point in the history

Commits on Jan 10, 2019

  1. worker: set --experimental-worker always

    This is similar to nodejs#25361 in
    functionality, but allows avoiding some backporting pain for v11.x.
    
    PR-URL: nodejs#25404
    Refs: nodejs#25361
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    addaleax authored and BridgeAR committed Jan 10, 2019
    Copy the full SHA
    7bb7b9a View commit details
    Browse the repository at this point in the history
  2. worker: partially remove --experimental-worker flag

    This is a trimmed-down version of 63d4cae that avoids
    backporting pain for v11.x. The remainder of the original commit
    can be cherry-picked later, once other PRs have been backported first.
    
    PR-URL: nodejs#25404
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    
    --- Original commit message ---
    
    Having an experimental feature behind a flag makes change
    if we are expecting significant breaking changes to its API.
    
    Since the Worker API has been essentially stable since
    its initial introduction, and no noticeable doubt about
    possibly not keeping the feature around has been voiced,
    removing the flag and thereby reducing the barrier to experimentation,
    and consequently receiving feedback on the implementation,
    seems like a good idea.
    
    Refs: nodejs#25361
    Reviewed-By: Rich Trott <rtrott@gmail.com>
    Reviewed-By: Yuta Hiroto <hello@hiroppy.me>
    Reviewed-By: Shingo Inoue <leko.noor@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
    Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
    Reviewed-By: Tobias Nießen <tniessen@tnie.de>
    Reviewed-By: Masashi Hirano <shisama07@gmail.com>
    Reviewed-By: Weijia Wang <starkwang@126.com>
    Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
    Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
    addaleax authored and BridgeAR committed Jan 10, 2019
    Copy the full SHA
    65c136f View commit details
    Browse the repository at this point in the history
  3. os: move process.binding('os') to internalBinding

    PR-URL: nodejs#25087
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    briete authored and BridgeAR committed Jan 10, 2019
    Copy the full SHA
    55d185f View commit details
    Browse the repository at this point in the history

Commits on Jan 14, 2019

  1. inspector: move process.binding to internalBinding

    In places of process.binding('inspector'), migrate code to adapt
    internalBinding.
    
    PR-URL: nodejs#24931
    Refs: nodejs#22160
    Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    BeniCheni authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    4794cf6 View commit details
    Browse the repository at this point in the history
  2. util: inspect ArrayBuffers contents as well

    Inspecting an ArrayBuffer now also shows their binary contents.
    
    PR-URL: nodejs#25006
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    BridgeAR authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    901d3d0 View commit details
    Browse the repository at this point in the history
  3. lib: remove internal util._extends() usage

    This removes all internal calls to the deprecated `_extends()`
    function. It is slower than `Object.assign()` and the object spread
    notation since V8 6.8 and using the spread notation often also
    results in shorter code.
    
    PR-URL: nodejs#25105
    Reviewed-By: Michaël Zasso <targos@protonmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    BridgeAR authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    3350230 View commit details
    Browse the repository at this point in the history
  4. buffer: inspect extra properties

    This makes sure extra properties on buffers are not ignored anymore
    when inspecting the buffer.
    
    PR-URL: nodejs#25150
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    BridgeAR authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    68014fb View commit details
    Browse the repository at this point in the history
  5. lib: move lib/console.js to lib/internal/console/constructor.js

    This is a broken commit: it's here so that git interpret this
    as a file move and preserve most of the history of the Console
    constructor.
    
    PR-URL: nodejs#24709
    Reviewed-By: Gus Caplan <me@gus.host>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    joyeecheung authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    b48865f View commit details
    Browse the repository at this point in the history
  6. console: split console into global.js and constructor.js

    Since we do not actually use the Console constructor to
    instantiate the global console, move the two piece of
    code into two different JS files for clarity, and make
    console.js a mere re-export of the global console.
    The hope is to make the global console, a namespace, more
    web-compatible while keeping the Console constructor
    available for backwards compatibility.
    
    PR-URL: nodejs#24709
    Reviewed-By: Gus Caplan <me@gus.host>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    joyeecheung authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    b549058 View commit details
    Browse the repository at this point in the history
  7. console: move the inspector console wrapping in a separate file

    Move the wrapping of the inspector console in a separate file
    for clarity. In addition, save the original console from the
    VM explicitly via an exported property
    `require('internal/console/inspector').consoleFromVM`
    that `require('inspector').console` can alias to it later,
    instead of hanging the original console onto `per_thread.js`
    during bootstrap and counting on that `per_thread.js`
    only gets evaluated once and gets cached.
    
    PR-URL: nodejs#24709
    Reviewed-By: Gus Caplan <me@gus.host>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    joyeecheung authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    57323e8 View commit details
    Browse the repository at this point in the history
  8. console: add inspectOptions option

    Add an `inspectOptions` option to the `console` constructor. That
    way it's possible to define all inspection defaults for each
    `console` instance instead of relying on the `inspect()` defaults.
    
    PR-URL: nodejs#24978
    Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Gus Caplan <me@gus.host>
    BridgeAR authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    65d485b View commit details
    Browse the repository at this point in the history
  9. console: improve inspectOptions validation

    This commit adds stricter type checking to the inspectOptions
    option to the Console constructor.
    
    PR-URL: nodejs#25090
    Reviewed-By: Michaël Zasso <targos@protonmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    cjihrig authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    272ddb1 View commit details
    Browse the repository at this point in the history
  10. process: provide dummy stdio for non-console Windows apps

    The only known condition where we could not provide appropriate
    stdio streams so far were non-console Windows applications.
    Since this issue has come up a few times in our issue tracker now,
    switch to providing dummy streams for these cases instead.
    
    If there are other valid cases in which `uv_guess_handle` fails,
    and where there is a more sensible way to provide stdio,
    we’ll probably still find out because the streams don’t work
    properly either way.
    
    Refs: nodejs/help#1251
    
    PR-URL: nodejs#20640
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
    Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    addaleax committed Jan 14, 2019
    Copy the full SHA
    1805236 View commit details
    Browse the repository at this point in the history
  11. Revert "inspector: move process.binding to internalBinding"

    This reverts commit c168672.
    
    PR-URL: nodejs#25446
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    joyeecheung authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    8cc9757 View commit details
    Browse the repository at this point in the history
  12. Revert "os: move process.binding('os') to internalBinding"

    This reverts commit 55d185f.
    
    PR-URL: nodejs#25446
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    joyeecheung authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    f64e5ec View commit details
    Browse the repository at this point in the history
  13. Revert "lib: remove unused NativeModule/NativeModule wraps"

    This reverts commit 0cde1a4.
    
    PR-URL: nodejs#25446
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    joyeecheung authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    42a7eaf View commit details
    Browse the repository at this point in the history
  14. Revert "src,lib: make process.binding('config') internal"

    This reverts commit 88a5449.
    
    PR-URL: nodejs#25446
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    joyeecheung authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    577da83 View commit details
    Browse the repository at this point in the history
  15. Revert "lib: remove duplicated noop function"

    This reverts commit 1ec4f8d.
    
    PR-URL: nodejs#25446
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    joyeecheung authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    d7d772b View commit details
    Browse the repository at this point in the history
  16. fs: make process.binding('fs') internal

    Refs: nodejs#22160
    
    PR-URL: nodejs#22478
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Michaël Zasso <targos@protonmail.com>
    Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
    Reviewed-By: Denys Otrishko <shishugi@gmail.com>
    
    Backport-PR-URL: nodejs#25446
    Masashi Hirano authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    dd0381f View commit details
    Browse the repository at this point in the history
  17. src: use NativeModuleLoader to compile all the bootstrappers

    This patch moves all the bootstrapper compilation to use
    NativeModuleLoader::CompileAndCall(). With this we no longer
    need to mess with the error decoration and handling any more -
    there is no point in handling the JS error occurred during bootstrapping
    by ourselves, we should just crash or let the VM handle it.
    
    PR-URL: nodejs#24775
    Reviewed-By: Gus Caplan <me@gus.host>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    
    Backport-PR-URL: nodejs#25446
    joyeecheung authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    d245c4c View commit details
    Browse the repository at this point in the history
  18. lib: remove duplicated noop function

    PR-URL: nodejs#24770
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: Weijia Wang <starkwang@126.com>
    
    Backport-PR-URL: nodejs#25446
    ZYSzys authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    87a58be View commit details
    Browse the repository at this point in the history
  19. src,lib: make process.binding('config') internal

    PR-URL: nodejs#23400
    Refs: nodejs#22160
    Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
    Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
    
    Backport-PR-URL: nodejs#25446
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Masashi Hirano authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    7480864 View commit details
    Browse the repository at this point in the history
  20. lib: remove unused NativeModule/NativeModule wraps

    We now compile the native modules in C++ so these are no longer
    used.
    
    PR-URL: nodejs#24904
    Refs:https://github.com/joyeecheung/node/commit/
    bd765d6
    Reviewed-By: Michaël Zasso <targos@protonmail.com>
    Reviewed-By: Gus Caplan <me@gus.host>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
    
    Backport-PR-URL: nodejs#25446
    joyeecheung authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    d8ba520 View commit details
    Browse the repository at this point in the history
  21. inspector: move process.binding to internalBinding

    In places of process.binding('inspector'), migrate code to adapt
    internalBinding.
    
    PR-URL: nodejs#24931
    Refs: nodejs#22160
    Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    
    Backport-PR-URL: nodejs#25446
    BeniCheni authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    445ba9f View commit details
    Browse the repository at this point in the history
  22. os: move process.binding('os') to internalBinding

    PR-URL: nodejs#25087
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    
    Backport-PR-URL: nodejs#25446
    briete authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    d197105 View commit details
    Browse the repository at this point in the history
  23. lib: remove internalBinding('config').pendingDeprecation

    Instead use
    `require('internal/options').getOptionValue('--pending-deprecation')`
    
    PR-URL: nodejs#24962
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    
    Backport-PR-URL: nodejs#25446
    joyeecheung authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    207612c View commit details
    Browse the repository at this point in the history
  24. lib: expose all type checks from the internal types module

    Combine all type checks on the internal types module and do not use
    the types binding anywhere else anymore. This makes sure all of those
    checks exist when required.
    
    PR-URL: nodejs#25149
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Denys Otrishko <shishugi@gmail.com>
    
    Backport-PR-URL: nodejs#25446
    BridgeAR authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    6528ce6 View commit details
    Browse the repository at this point in the history
  25. process: specialize building and storage of process.config

    Instead of treating config.gypi as a JavaScript file, specialize
    the processing in js2c and make the serialized result a real JSON
    string (with 'true' and 'false' converted to boolean values) so
    we don't have to use a custom deserializer during bootstrap.
    
    In addition, store the JSON string separately in NativeModuleLoader,
    and keep it separate from the map of the builtin source code, so
    we don't have to put it onto `NativeModule._source` and delete it
    later, though we still preserve it in `process.binding('natives')`,
    which we don't use anymore.
    
    This patch also makes the map of builtin source code and the
    config.gypi string available through side-effect-free getters
    in C++.
    
    PR-URL: nodejs#24816
    Reviewed-By: Gus Caplan <me@gus.host>
    joyeecheung authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    0e2fbe4 View commit details
    Browse the repository at this point in the history
  26. src: remove code cache integrity check

    In preparation of sharing code cache among different threads -
    we simply rely on v8 to reject invalid cache, since there isn't
    any serious consequence when the cache is invalid anyway.
    
    PR-URL: nodejs#24950
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    joyeecheung authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    fd913fe View commit details
    Browse the repository at this point in the history
  27. src: always compile and store code cache for native modules

    This patch changes the NativeModuleLoader to always try to find
    code cache for native modules when it compiles them, and always
    produce and store the code cache after compilation. The cache
    map is protected by a mutex and can be accessed by different
    threads - including the worker threads and the main thread. Hence any
    thread can reuse the code cache if the native module has already
    been compiled by another thread - in particular the cache of the
    bootstrappers and per_context.js will always be hit when a new thread
    is spun.
    
    This results in a ~6% startup overhead in the worst case
    (when only the main thread is launched without requiring any additional
    native module - it now needs to do the extra work of finding and
    storing caches), which balances out the recent improvements by moving
    the compilation to C++, but it also leads to a ~60% improvement in
    the best case (when a worker thread is spun and requires a lot of native
    modules thus hitting the cache compiled by the main thread).
    
    PR-URL: nodejs#24950
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    joyeecheung authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    ee461fe View commit details
    Browse the repository at this point in the history
  28. src: pass isMainThread into bootstrap/node.js directly

    Instead of loading the working binding for the sole purpose of
    detecting whether we are inside the main thread unconditionally.
    
    PR-URL: nodejs#25017
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Gus Caplan <me@gus.host>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    joyeecheung authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    b1500d9 View commit details
    Browse the repository at this point in the history
  29. src,lib: prefer internal/options over process._foo

    This addresses a couple `TODO` comments and allows us
    to remove a number of underscored properties from `process`
    (in a semver-major follow-up).
    
    PR-URL: nodejs#25063
    Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    addaleax committed Jan 14, 2019
    Copy the full SHA
    37ba201 View commit details
    Browse the repository at this point in the history
  30. process: move POSIX credential accessors into node_credentials.cc

    Expose the POSIX credential accessors through
    `internalBinding('credentials')` instead of setting them on the
    process or bootstrapper object from C++ directly. Also moves
    `SafeGetEnv` from `internalBinding('util')` to
    `internalBinding('credentials')` since it's closely related to
    the credentials.
    
    In the JS land, instead of wrapping the bindings then writing
    to the process object directly in main_thread_only.js, return
    the wrapped functions back to bootstrap/node.js where they get
    written to the process object conditionally for clarity.
    
    Refs: nodejs#24961
    
    PR-URL: nodejs#25066
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    joyeecheung authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    e93dd4d View commit details
    Browse the repository at this point in the history
  31. src: move GetOpenSSLVersion into node_metadata.cc

    Instead of implementing it in node_crypto.cc even though the only
    place that needs it is the `Metadata::Versions` constructor.
    
    PR-URL: nodejs#25115
    Reviewed-By: Steven R Loomis <srloomis@us.ibm.com>
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: Minwoo Jung <minwoo@nodesource.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    joyeecheung authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    64c713a View commit details
    Browse the repository at this point in the history
  32. src: move the declaration of http parser versions into node_metadata.h

    Instead of putting them in node_internals.h.
    
    PR-URL: nodejs#25115
    Reviewed-By: Steven R Loomis <srloomis@us.ibm.com>
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: Minwoo Jung <minwoo@nodesource.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    joyeecheung authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    e5b4af4 View commit details
    Browse the repository at this point in the history
  33. src: initialize ICU version in per_process::metadata.versions

    Instead of
    
    - Initialize the ICU versions in JS land after consulting
      internalBinding('config').hasIntl
    - Joining the version keys in C++
    - Splitting the keys in JS and call into C++ again to get the value for
      each of the keys
    
    Do:
    
    - Guard the initialization code behind `NODE_HAVE_I18N_SUPPORT`
    - Do the initialization in C++ right after ICU data is loaded
    - Initialize each version directly using ICU functions/constants,
      and put them in per_process::metadata.versions. These will be
      copied into `process.versions` naturally later.
      This way, the initialization of the versions won't be called
      in worker threads again.
    
    PR-URL: nodejs#25115
    Reviewed-By: Steven R Loomis <srloomis@us.ibm.com>
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: Minwoo Jung <minwoo@nodesource.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    joyeecheung authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    de6f1f5 View commit details
    Browse the repository at this point in the history
  34. trace_events: move SetupTraceCategoryState into node_trace_events.cc

    It makes more sense to put it in `internalBinding('trace_events')`
    instead of in the bootstrapper object.
    
    PR-URL: nodejs#25128
    Reviewed-By: Michaël Zasso <targos@protonmail.com>
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    joyeecheung authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    19f1a50 View commit details
    Browse the repository at this point in the history
  35. process: move child process IPC setup condition into node.js

    Instead of branching in main_thread_only.js, move the branch on
    process.env.NODE_CHANNEL_FD in node.js so it's easier to tell when
    this needs to happen. Also added comments about what side effect
    this causes, and lazy load `assert`.
    
    PR-URL: nodejs#25130
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    joyeecheung authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    6b5c962 View commit details
    Browse the repository at this point in the history
  36. src: simplify JS Array creation

    Use `ToV8Value()` where appropriate to reduce duplication
    and avoid extra `Array::Set()` calls.
    
    PR-URL: nodejs#25288
    Reviewed-By: Gus Caplan <me@gus.host>
    Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    addaleax committed Jan 14, 2019
    Copy the full SHA
    43535f5 View commit details
    Browse the repository at this point in the history
  37. src: move arch, platform and release into node_metadata.cc

    Move definitions of more metadata into node_metadata{.h, .cc}
    so the data can be reused and easily inspected in C++.
    
    PR-URL: nodejs#25293
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    joyeecheung authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    e9b4d24 View commit details
    Browse the repository at this point in the history
  38. doc: clarify timing of socket.connecting

    Fixes: nodejs#25328
    
    PR-URL: nodejs#25333
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    sam-github authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    f3d8639 View commit details
    Browse the repository at this point in the history
  39. doc: add clarification for exception behaviour

    Document current behaviour where some methods can be called
    when an exception is pending, while others cannot and explain
    the behaviour.
    
    PR-URL: nodejs#25339
    Refs: nodejs/abi-stable-node#356
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    mhdawson authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    8bc1651 View commit details
    Browse the repository at this point in the history
  40. doc: add history to http.request.setTimeout()

    PR-URL: nodejs#25121
    Refs: nodejs#8895
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    jbunton-atlassian authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    8380bd4 View commit details
    Browse the repository at this point in the history
  41. doc: wrap and punctuate YAML description text

    stream.md was the only YAML in doc/api that was using `>` for line
    continuation, and only used it for a few descriptions, most used the
    same wrapping style the rest of the documentation does.
    
    Also added punctuation and capitialization to a few description
    sentences.
    
    Fixes: nodejs#25413 (comment)
    
    PR-URL: nodejs#25419
    Fixes: nodejs#25413
    Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    sam-github authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    f58b530 View commit details
    Browse the repository at this point in the history
  42. test: fix test/pummel/test-fs-largefile.js

    test-fs-largefile.js calls `fs.close()` without a callback which results
    in an error as of Node.js 10.0.0. Add a `common.mustCall()` callback so
    the test passes again.
    
    PR-URL: nodejs#25372
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Tobias Nießen <tniessen@tnie.de>
    Trott authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    f0202a7 View commit details
    Browse the repository at this point in the history
  43. test: refactor common.expectWarning()

    The current API is somewhat confusing at times and simpler usage is
    possible. This overloads the arguments further to accept objects
    with deprecation codes as property keys. It also adds documentation
    for the different possible styles.
    
    Besides that it is now going to validate for the code being present
    in case of deprecations but not for other cases. The former validation
    was not consistent as it only validated some cases and accepted
    undefined instead of `common.noWarnCode`. This check is removed due to
    the lack of consistency. `common.noWarnCode` is completely removed
    due to just being sugar for `undefined`.
    
    This also verifies that the warning order is identical to the order
    in which they are triggered.
    
    PR-URL: nodejs#25251
    Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    BridgeAR authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    201a8d9 View commit details
    Browse the repository at this point in the history
  44. util: add null prototype support for date

    PR-URL: nodejs#25144
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    antsmartian authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    2e6e4cf View commit details
    Browse the repository at this point in the history
  45. assert: make actual and expected getters

    The `actual` and `expected` properties on an instance of
    `AssertionError` is now a getter to prevent inspecting these when
    inspecting the error. These values will be visible in the error
    message and showing them otherwise would decrease the readability
    of the error.
    
    PR-URL: nodejs#25250
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    BridgeAR authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    e09dd0c View commit details
    Browse the repository at this point in the history
  46. test: fix failing assertion

    One test did not cause an assertion. By changing the test to use
    `assert.throws()` all tests have to throw, otherwise the test will
    fail.
    
    PR-URL: nodejs#25250
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    BridgeAR authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    3bebcf0 View commit details
    Browse the repository at this point in the history
  47. test: set umask for tests

    nodejs#25213 proposes setting umask in the
    Python test runner to avoid spurious test failures when running from a
    shell with a restrictive umask. This is a good idea, but will only fix
    the issue for tests run with the Python runner. Set it in
    `common/index.js` as well so that it fixes it even when tests are run
    directly with a `node` binary, bypassing the Python test runner.
    
    PR-URL: nodejs#25229
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Trott authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    be16cc9 View commit details
    Browse the repository at this point in the history
  48. test: fix test/pummel/test-fs-watch-file.js

    test-fs-watch-file.js fails for two reasons. First, there are cases
    where it is checking the error message for an error whose message has
    changed since the test was written. Change these instances to check for
    an error code instead.
    
    Second, there is an instance where it tries to remove a listener but
    fails because `common.mustNotCall()` returns a differnet instance of a
    function on each call. Store the function in a variable name so it can
    be removed as a listener on a file.
    
    PR-URL: nodejs#25384
    Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Trott authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    bdcf8f4 View commit details
    Browse the repository at this point in the history
  49. test: fix test/pummel/test-fs-watch-non-recursive.js

    test-fs-watch-non-recursive was loading the `common/tmpdir` module as if
    it were a built-in and was failing because of it. Fix the path. The test
    now works.
    
    PR-URL: nodejs#25386
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Trott authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    65dfeeb View commit details
    Browse the repository at this point in the history
  50. test: refactor test-fs-watch-non-recursive

    The test was duplicating some functionality in the `tmpdir` module.
    
    PR-URL: nodejs#25386
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Trott authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    837ca76 View commit details
    Browse the repository at this point in the history
  51. doc: make sure that calls to .read() are looped

    The 'readable' event assumes that calls to readable.read() happens
    within that event handler until readable.read() returns null.
    
    Fixes: nodejs#20503
    PR-URL: nodejs#25375
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    mcollina authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    6778261 View commit details
    Browse the repository at this point in the history
  52. test: pull enconding WPT test fixtures

    PR-URL: nodejs#25321
    Reviewed-By: Rich Trott <rtrott@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    joyeecheung authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    d9adcee View commit details
    Browse the repository at this point in the history
  53. test: support more icu requirements in the WPT status file

    Support `small-icu` and `full-icu` requirements, where `full-icu`
    implies `small-icu`.
    
    PR-URL: nodejs#25321
    Reviewed-By: Rich Trott <rtrott@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    joyeecheung authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    8d8c305 View commit details
    Browse the repository at this point in the history
  54. test: use WPT runner to run encoding tests

    PR-URL: nodejs#25321
    Reviewed-By: Rich Trott <rtrott@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    joyeecheung authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    da34c6c View commit details
    Browse the repository at this point in the history
  55. test: remove duplicate encoding tests in favor of WPT

    PR-URL: nodejs#25321
    Reviewed-By: Rich Trott <rtrott@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    joyeecheung authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    58de81f View commit details
    Browse the repository at this point in the history
  56. test: remove test/pummel/test-http-client-reconnect-bug.js

    test-http-client-reconnect-bug depends on `http.createClient()` which
    was removed in Node.js 7.0.0. The test was added way back in commit
    30b0522 for a bug fixed in Node.js
    0.1.27 in early 2010. We've apparently been fine with it failing since
    at least Node.js 7.0.0 which at this time is more than 2 years ago.
    
    Remove this test.
    
    PR-URL: nodejs#25387
    Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Trott authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    0f290e8 View commit details
    Browse the repository at this point in the history
  57. test: fix test-net-connect-econnrefused

    test/pummel/test-net-connect-econnrefused.js was failing because
    `console.log()` resulted in an extra handle being returned by
    `process._getActiveHandles()`. Remove the unnecessary `console.log()`.
    
    PR-URL: nodejs#25389
    Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Trott authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    b545b4c View commit details
    Browse the repository at this point in the history
  58. tools: add openssl-cli to macos-firewall.sh

    Currently, there is a new popup asking to accept incoming connections
    for openssl-cli when running tests on macos. I believe the reason
    for this not being noticed before is that test-tls-securepair-client.js
    was moved recently from the pummel directory to sequential.
    
    This commit adds openssl-cli to the firewall script.
    
    PR-URL: nodejs#25385
    Reviewed-By: Rich Trott <rtrott@gmail.com>
    Reviewed-By: Minwoo Jung <minwoo@nodesource.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    danbev authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    dcbf1d9 View commit details
    Browse the repository at this point in the history
  59. test: move require('https') to after crypto check

    Currently, test-https-client-override-global-agent.js fails with the
    following error when configured --without-ssl:
    
    Error [ERR_NO_CRYPTO]:
    Node.js is not compiled with OpenSSL crypto support
      at Object.assertCrypto (internal/util.js:101:11)
      ...
      at Object.<anonymous>
      (/node/test/parallel/test-https-client-override-global-agent.js:5:15)
    
    This commit moves the require statement to after the crypto check.
    
    PR-URL: nodejs#25388
    Reviewed-By: Rich Trott <rtrott@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    danbev authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    fe9b6ee View commit details
    Browse the repository at this point in the history
  60. build: add check for empty openssl-fips flag

    Currently, when specifying the --openssl-fips flag without any path
    , or an empty path, does not generate an error. If a path is specified
    then the following error is generated:
    
    ERROR: FIPS is not supported in this version of Node.js
    
    This commit adds a check so that the error is generated even if the
    path is empty.
    
    PR-URL: nodejs#25391
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    danbev authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    07ffa3f View commit details
    Browse the repository at this point in the history
  61. url: return backslashes from fileURLToPath on win

    PR-URL: nodejs#25349
    Fixes: nodejs#25265
    Reviewed-By: Guy Bedford <guybedford@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com>
    Reviewed-By: John-David Dalton <john.david.dalton@gmail.com>
    Kevin Smith authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    6e716ed View commit details
    Browse the repository at this point in the history
  62. util: switch recurseTimes counter

    This makes sure the counter goes up instead of going down. This allows
    to properly track the current inspection depth no matter what the
    `depth` option was set to.
    
    PR-URL: nodejs#25255
    Reviewed-By: James M Snell <jasnell@gmail.com>
    BridgeAR authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    7696d1f View commit details
    Browse the repository at this point in the history
  63. util: code cleanup

    Remove some dead code plus some minor refactoring for readability.
    The constructor can not be an empty string anymore, so just remove
    that check.
    
    PR-URL: nodejs#25255
    Reviewed-By: James M Snell <jasnell@gmail.com>
    BridgeAR authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    a333272 View commit details
    Browse the repository at this point in the history
  64. util: simpler module namespace code

    This removes a special casing for this data type in the main function.
    
    PR-URL: nodejs#25255
    Reviewed-By: James M Snell <jasnell@gmail.com>
    BridgeAR authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    45a8eb6 View commit details
    Browse the repository at this point in the history
  65. util: remove outdated comment

    This comment is not correct anymore.
    
    PR-URL: nodejs#25255
    Reviewed-By: James M Snell <jasnell@gmail.com>
    BridgeAR authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    7ff4410 View commit details
    Browse the repository at this point in the history
  66. util: remove eslint comments and rename variables

    This should improve the readability of the code.
    
    PR-URL: nodejs#25255
    Reviewed-By: James M Snell <jasnell@gmail.com>
    BridgeAR authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    46ec26f View commit details
    Browse the repository at this point in the history
  67. tools: update crypo check rule

    This commit updates the custom crypto-check ESLint rule to
    detect require() calls that come before any hasCrypto
    checks.
    
    PR-URL: nodejs#25399
    Refs: nodejs#25388
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
    cjihrig authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    2a85cc7 View commit details
    Browse the repository at this point in the history
  68. test: improve test coverage of native crypto code

    PR-URL: nodejs#25400
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    tniessen authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    3f66109 View commit details
    Browse the repository at this point in the history
  69. test: fix module loading error for AIX 7.1

    AIX 7.1 appears to return a different error message compared to AIX 6.1.
    
    PR-URL: nodejs#25418
    Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com>
    Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: George Adams <george.adams@uk.ibm.com>
    Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
    richardlau authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    82fc9a8 View commit details
    Browse the repository at this point in the history
  70. test,worker: refactor test-worker-cleanup-handles

    * alphabetize require() statements for built-in modules by module name
    * remove unused function argument `code` in callback
    * replace common.expectsError() with assert.throws()
    * remove unneeded line-wrap
    
    PR-URL: nodejs#25401
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Trott authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    a6df727 View commit details
    Browse the repository at this point in the history
  71. doc,worker: revise worker_threads.md

    Rewrite worker_threads introductory material focusing on simpler and
    shorter sentences.
    
    PR-URL: nodejs#25402
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Eugene Ostroukhov <eostroukhov@google.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Trott authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    1697604 View commit details
    Browse the repository at this point in the history
  72. doc: update os.networkInterfaces() example

    The os.networkInterfaces() example was outdated
    as the IPv6 interfaces did not include the scopeid property,
    now they do.
    
    PR-URL: nodejs#25417
    Fixes: nodejs#25408
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: Weijia Wang <starkwang@126.com>
    jvelezpo authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    177635b View commit details
    Browse the repository at this point in the history
  73. doc: fix the path to postMessage()

    PR-URL: nodejs#25332
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    mitar authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    ebd2027 View commit details
    Browse the repository at this point in the history
  74. doc: fix, unify, formalize, and amplify vm.md

    `vm` module API heavily reuses common code, but the doc seems
    to be a bit out of date: some options are listed in wrong places,
    some options and history entries are missed.
    
    Also some fragments need to be formalized and unified.
    
    PR-URL: nodejs#25422
    Reviewed-By: Gus Caplan <me@gus.host>
    Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
    vsemozhetbyt authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    3db7a9f View commit details
    Browse the repository at this point in the history
  75. tools: lint for use of internalBinding()

    Use of process.binding() has largely been replaced by
    internalBinding(). This commit updates the custom crypto
    check ESLint rule to check for both process.binding() and
    internalBinding().
    
    Refs: nodejs#24952
    PR-URL: nodejs#25395
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
    cjihrig authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    f0409be View commit details
    Browse the repository at this point in the history
  76. test,worker: simplify common.isMainThread

    Now that `worker_threads` do not require a flag, the logic around
    loading `isMainThread` can be removed.
    
    PR-URL: nodejs#25426
    Reviewed-By: Eugene Ostroukhov <eostroukhov@google.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Trott authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    a29adef View commit details
    Browse the repository at this point in the history
  77. test: remove unnecessary skipIfWorker()

    test-inspector-port-cluster passes in workers. Remove skipIfWorker()
    from the test.
    
    PR-URL: nodejs#25427
    Reviewed-By: Eugene Ostroukhov <eostroukhov@google.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Trott authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    d86a3e8 View commit details
    Browse the repository at this point in the history
  78. doc: document that stream.on('close') was changed in Node 10

    See: nodejs#25373
    See: nodejs#18438
    
    PR-URL: nodejs#25413
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
    mcollina authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    b67c4b4 View commit details
    Browse the repository at this point in the history
  79. src: dispose of V8 platform in process.exit()

    Calling `process.exit()` calls the C `exit()` function, which in turn
    calls the destructors of static C++ objects. This can lead to race
    conditions with other concurrently executing threads; disposing of all
    Worker threads and then the V8 platform instance helps with this
    (although it might not be a full solution for all problems of
    this kind).
    
    Refs: nodejs#24403
    Refs: nodejs#25007
    
    PR-URL: nodejs#25061
    Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
    Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
    Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
    addaleax committed Jan 14, 2019
    Copy the full SHA
    5fe7741 View commit details
    Browse the repository at this point in the history
  80. test: fix test-net-connect-econnrefused (again)

    test-net-connect-econnrefused was recently fixed, but only in certain
    circumstances. This change allows it to succeed whether it is invoked
    with `node` or `tools/test.py`. Makes sure no Socket handles are left,
    which is what the test is trying to determine, rather than failing if
    there are no handles of any kind left.
    
    PR-URL: nodejs#25438
    Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
    Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Trott authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    23d41fb View commit details
    Browse the repository at this point in the history
  81. doc: fix napi_open_callback_scope description

    - parameter `resource_object` is mandatory
    
    PR-URL: nodejs#25366
    Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
    DaAitch authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    f8bb544 View commit details
    Browse the repository at this point in the history
  82. doc: fix sorting in buffer.md

    This PR places
    `Buffer.from(object...)` section before
    `Buffer.from(string...)` section
    and upper-cased bottom references before backtick-started ones.
    
    PR-URL: nodejs#25477
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Tobias Nießen <tniessen@tnie.de>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com>
    vsemozhetbyt authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    2b0c853 View commit details
    Browse the repository at this point in the history
  83. http2: add test case for goaway

    PR-URL: nodejs#24054
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    antsmartian authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    26f2eb8 View commit details
    Browse the repository at this point in the history
  84. test: check for tls renegotiation errors

    Check that the return value and callback error for tls.renegotiate()
    does not indicate a failure. Also, remove unnecessary line wrapping and
    indentation.
    
    PR-URL: nodejs#25437
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    sam-github authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    29b89ba View commit details
    Browse the repository at this point in the history
  85. os: improve networkInterfaces() performance

    PR-URL: nodejs#25410
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    mscdex authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    840ec23 View commit details
    Browse the repository at this point in the history
  86. test: rework ephemeralkeyinfo to run in parallel

    Remove:
    - use of tls global so tests can run in parallel
    - test counting in favour of common.mustCall()
    - limit of only one cipher suite per ephemeral key type tested
    
    The last change  will allow adding TLS 1.3 cipher suites and testing
    'ECDH' key info with them.
    
    PR-URL: nodejs#25409
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: Tobias Nießen <tniessen@tnie.de>
    sam-github authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    f6c14bd View commit details
    Browse the repository at this point in the history
  87. doc: fix section order in vm.md

    This PR just places the `vm.SourceTextModule` class section
    after the `vm.Script` class section, restoring the alphabetical order.
    
    PR-URL: nodejs#25374
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    vsemozhetbyt authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    9a61a7a View commit details
    Browse the repository at this point in the history
  88. build: set -blibpath: for AIX

    nodejs#17604 refactored the gyp files
    so that `-blibpath:` on AIX was only set if `node_shared=="true"`.
    Restore the setting for non-shared builds.
    
    Fixes: nodejs#25444
    
    PR-URL: nodejs#25447
    Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
    Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
    richardlau authored and addaleax committed Jan 14, 2019
    Copy the full SHA
    a4f50a6 View commit details
    Browse the repository at this point in the history

Commits on Jan 15, 2019

  1. src: move more process methods initialization in bootstrap/node.js

    Instead of:
    
    - Writing methods onto the process directly in C++ during
      `SetupProcessObject()` and overwrite with argument checks later
    - Or, wrapping and writing them in `internal/process/*.js`
    
    Do:
    
    - Move the C++ implementations in node_process.cc and mark them static
      wherever possible
    - Expose the C++ methods through a new
      `internalBinding('process_methods')`
    - Wrap the methods in `internal/process/*.js` in a
      side-effect-free manner and return them back to
      `internal/bootstrap/node.js`
    - Centralize the write to the process object based on conditions
      in `bootstrap/node.js`
    
    So it's easier to see what methods are attached to the process object
    during bootstrap under what condition and in what order.
    
    The eventual goal is to figure out the dependency of process methods
    and the write/read access to the process object during bootstrap, group
    these access properly and remove the process properties that should not
    be exposed to users this way.
    
    Also correct the NODE_PERFORMANCE_MILESTONE_BOOTSTRAP_COMPLETE milestone
    which should be marked before code execution.
    
    Refs: nodejs#24961
    
    PR-URL: nodejs#25127
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    
    Backport-PR-URL: nodejs#25496
    joyeecheung authored and addaleax committed Jan 15, 2019
    Copy the full SHA
    dde7152 View commit details
    Browse the repository at this point in the history
  2. src: fix compiler warnings

    The warnings in question are:
    
    ../src/node.cc:844:13: warning:
    unused function 'DebugProcess' [-Wunused-function]
    static void DebugProcess(const FunctionCallbackInfo<Value>& args);
                ^
    ../src/node.cc:845:13: warning:
    unused function 'DebugEnd' [-Wunused-function]
    static void DebugEnd(const FunctionCallbackInfo<Value>& args);
    
    PR-URL: nodejs#25165
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
    
    Backport-PR-URL: nodejs#25496
    cjihrig authored and addaleax committed Jan 15, 2019
    Copy the full SHA
    f8ba488 View commit details
    Browse the repository at this point in the history
  3. coverage: use process._rawDebug() during setup

    console is not ready to use at this point in the bootstrapping
    process, so switch to process._rawDebug() instead.
    
    PR-URL: nodejs#25289
    Fixes: nodejs#25287
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Gus Caplan <me@gus.host>
    Reviewed-By: Yuta Hiroto <hello@hiroppy.me>
    Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    
    Backport-PR-URL: nodejs#25496
    cjihrig authored and addaleax committed Jan 15, 2019
    Copy the full SHA
    daca318 View commit details
    Browse the repository at this point in the history
  4. coverage: pass cwd to path.resolve() in setup

    During coverage setup, path.resolve() is called.
    path.resolve() can potentially call process.cwd(), which
    hasn't been bootstrapped yet. This commit passes the
    current working directory directly so that path.resolve()
    doesn't attempt to compute it.
    
    PR-URL: nodejs#25289
    Fixes: nodejs#25287
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Gus Caplan <me@gus.host>
    Reviewed-By: Yuta Hiroto <hello@hiroppy.me>
    Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    
    Backport-PR-URL: nodejs#25496
    cjihrig authored and addaleax committed Jan 15, 2019
    Copy the full SHA
    63fbd00 View commit details
    Browse the repository at this point in the history
  5. test: make test-v8-coverage.js more strict

    Update the coverage test to verify that nothing is printed to
    stderr (which happens when coverage errors happen). Also add a
    test case to verify that non-absolute coverage paths work.
    
    PR-URL: nodejs#25289
    Fixes: nodejs#25287
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Gus Caplan <me@gus.host>
    Reviewed-By: Yuta Hiroto <hello@hiroppy.me>
    Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    
    Backport-PR-URL: nodejs#25496
    cjihrig authored and addaleax committed Jan 15, 2019
    Copy the full SHA
    067d38f View commit details
    Browse the repository at this point in the history
  6. util: fixes type in argument type validation error

    PR-URL: nodejs#25103
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    aoberoi authored and addaleax committed Jan 15, 2019
    Copy the full SHA
    71432c3 View commit details
    Browse the repository at this point in the history
  7. src: move node::errno_string into node_errors.h/cc

    Move `node::errno_string` into node_errors.h/cc and move it into
    the `node:errors` namespace to reduce the size of the header.
    It's not on any performance-critical code path so does not need
    to be inlined.
    
    PR-URL: nodejs#25396
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    joyeecheung authored and addaleax committed Jan 15, 2019
    Copy the full SHA
    57a0cd4 View commit details
    Browse the repository at this point in the history
  8. test: add test for fs.lchmod

    PR-URL: nodejs#25439
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Masashi Hirano <shisama07@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    ZYSzys authored and addaleax committed Jan 15, 2019
    Copy the full SHA
    3afb481 View commit details
    Browse the repository at this point in the history
  9. doc: improve Sign/Verify examples and docs

    - Use complete examples that can be pasted and run as-is
    - Move note about algorithm to the functions it applies to
    - Uncapitalize inconsistence use of "Class"
    - Use both EC and RSA keys in the examples
    - Note that hash and digest are two names for the same algorithms
    
    PR-URL: nodejs#25452
    Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
    Reviewed-By: Tobias Nießen <tniessen@tnie.de>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    sam-github authored and addaleax committed Jan 15, 2019
    Copy the full SHA
    7123167 View commit details
    Browse the repository at this point in the history
  10. doc: add TLSSocket.isSessionReused() docs

    The API has existed forever and is used in our unit tests. It is
    supported for TLS1.3 as well as 1.2 and useful for troubleshooting, so
    it should be documented.
    
    PR-URL: nodejs#25423
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    sam-github authored and addaleax committed Jan 15, 2019
    Copy the full SHA
    2172dbf View commit details
    Browse the repository at this point in the history
  11. doc: revert incorrect change on readable._read

    nodejs#17979 introduced a change in the
    doc that was not correct about _read always being called asynchronously.
    This does not hold true when it is in flowing mode.
    
    See: nodejs#17979
    Fixes: nodejs#24919
    
    PR-URL: nodejs#25442
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Yuta Hiroto <hello@hiroppy.me>
    mcollina authored and addaleax committed Jan 15, 2019
    Copy the full SHA
    edab2d6 View commit details
    Browse the repository at this point in the history

Commits on Jan 17, 2019

  1. test: improve known_issues/test-vm-timeout-escape-queuemicrotask

    Improve known_issues/test-vm-timeout-escape-queuemicrotask to mitigate
    CI failures on ubuntu1604-arm64. Failures are due to a race condition.
    Use `common.platformTimeout()` to help, adjust timeout to make sure
    `queueMicrotasks()` has a chance to run, and improve error message.
    
    PR-URL: nodejs#25503
    Reviewed-By: Refael Ackermann <refack@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Ben Coe <bencoe@gmail.com>
    Trott authored and BridgeAR committed Jan 17, 2019
    Copy the full SHA
    d7bc03e View commit details
    Browse the repository at this point in the history
  2. src: move symbols binding into node_symbols.cc

    PR-URL: nodejs#25163
    Refs: nodejs#24961
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
    joyeecheung authored and BridgeAR committed Jan 17, 2019
    Copy the full SHA
    fa74cd3 View commit details
    Browse the repository at this point in the history
  3. src: move process.nextTick and promise setup into node_task_queue.cc

    This patch:
    
    - Moves the process.nextTick and promise setup C++ code into
      node_task_queue.cc which is exposed as
      `internalBinding('task_queue')`
    - Makes `lib/internal/process/promises.js` and
      `lib/internal/process/next_tick.js` as side-effect-free
      as possible
    - Removes the bootstrapper object being passed into
      `bootstrap/node.js`, let `next_tick.js` and `promises.js`
      load whatever they need from `internalBinding('task_queue')`
      instead.
    - Rename `process._tickCallback` to `runNextTicks` internally
      for clarity but still expose it as `process._tickCallback`.
    
    PR-URL: nodejs#25163
    Refs: nodejs#24961
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
    joyeecheung authored and BridgeAR committed Jan 17, 2019
    Copy the full SHA
    2e33ad1 View commit details
    Browse the repository at this point in the history
  4. process: make internal/queue_microtask.js more self-contained

    - Instead of passing triggerFatalException through node.js,
      simply put it on `internalBinding('util')` which has to be
      loaded anyway.
    - Expose the implementation of `queueMicrotask` directly instead
      of through an unnecessary factory function.
    
    PR-URL: nodejs#25189
    Reviewed-By: Gus Caplan <me@gus.host>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    joyeecheung authored and BridgeAR committed Jan 17, 2019
    Copy the full SHA
    f32e6a8 View commit details
    Browse the repository at this point in the history
  5. process: move eval and exception bootstrap ito process/execution.js

    This patch:
    
    - Moves `tryGetCwd`, `evalScript` and `fatalException` from
      `bootstrap/node.js` into `process/execution.js` so that
      they do have to be passed into the worker thread
      setup function, instead the worker code can require them
      when necessary.
    - Moves `setUncaughtExceptionCaptureCallback` and
      `hasUncaughtExceptionCaptureCallback` along with the two
      global state `exceptionHandlerState` and
      `shouldAbortOnUncaughtToggle` info `process.execution.js`
      as those are only used by the fatalException and these
      two accessors as one self-contained unit.
    
    PR-URL: nodejs#25199
    Reviewed-By: James M Snell <jasnell@gmail.com>
    joyeecheung authored and BridgeAR committed Jan 17, 2019
    Copy the full SHA
    456b1b5 View commit details
    Browse the repository at this point in the history
  6. process: split worker IO into internal/worker/io.js

    - Move `setupProcessStdio` which contains write access to
      the process object into `bootstrap/node.js`
    - Move `MessagePort`, `MessageChannel`, `ReadableWorkerStdio`,
      and `WritableWorkerStdio` into `internal/worker/io.js`
    - Move more worker-specific bootstrap code into
      `internal/process/worker_thread_only` from `setupChild`
      in `internal/worker.js`, and move the `process._fatalException`
      overwrite into `bootstrap/node.js` for clarity.
    
    PR-URL: nodejs#25199
    Reviewed-By: James M Snell <jasnell@gmail.com>
    joyeecheung authored and BridgeAR committed Jan 17, 2019
    Copy the full SHA
    9480e1b View commit details
    Browse the repository at this point in the history
  7. process: move worker bootstrap code into worker_thread_only.js

    Move worker bootstrap code into worker_thread_only.js from
    internal/worker.js since they are only run once during bootstrap.
    
    PR-URL: nodejs#25199
    Reviewed-By: James M Snell <jasnell@gmail.com>
    joyeecheung authored and BridgeAR committed Jan 17, 2019
    Copy the full SHA
    655c1c9 View commit details
    Browse the repository at this point in the history
  8. src: refactor tickInfo access

    - Wrap access to tickInfo fields in functions
    - Rename `kHasScheduled` to `kHasTickScheduled` and
      `kHasPromiseRejections` to `kHasRejectionToWarn` for clarity - note
      the latter will be set to false if the rejection does not lead to
      a warning so the previous description is not accurate.
    - Set `kHasRejectionToWarn` in JS land of relying on C++ to use
      an implict contract (return value of the promise rejection handler)
      to set it, as the decision is made entirely in JS land.
    - Destructure promise reject event constants.
    
    PR-URL: nodejs#25200
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    joyeecheung authored and BridgeAR committed Jan 17, 2019
    Copy the full SHA
    c5ab340 View commit details
    Browse the repository at this point in the history
  9. process: make tick callback and promise rejection callback more robust

    - Rename `internalTickCallback` to `processTicksAndRejections`, make
      sure it does not get called if it's not set in C++.
    - Rename `emitPromiseRejectionWarnings` to `processPromiseRejections`
      since it also emit events that are not warnings.
    - Sets `SetPromiseRejectCallback` in the `Environment` constructor
      to make sure it only gets called once per-isolate, and make
      sure it does not get called if it's not set in C++.
    - Wrap promise rejection callback initialization into
      `listenForRejections()`.
    - Add comments.
    
    PR-URL: nodejs#25200
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    joyeecheung authored and BridgeAR committed Jan 17, 2019
    Copy the full SHA
    c07b12d View commit details
    Browse the repository at this point in the history
  10. process: move process.features initialization into node.js

    Use `internalBinding('config')` to shim the legacy
    `process.features`.
    
    PR-URL: nodejs#25239
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Minwoo Jung <minwoo@nodesource.com>
    joyeecheung authored and BridgeAR committed Jan 17, 2019
    Copy the full SHA
    743056e View commit details
    Browse the repository at this point in the history
  11. process: move --help and --bash-completeion handling to startExecution

    Because they are similar to `--prof-process` and are part of
    the execution instead of initialization.
    Also move the `getOptionValue` initialization to top scope since
    it's used everywhere and add comments about the flags.
    
    PR-URL: nodejs#25262
    Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
    Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    joyeecheung authored and BridgeAR committed Jan 17, 2019
    Copy the full SHA
    5eada9d View commit details
    Browse the repository at this point in the history
  12. src: use internalBinding('config').hasInspector in JS land

    Instead of `process.config.variables.v8_enable_inspector`
    which depends on the variable name in gyp files, or detecting
    `internalBinding('inspector').Connection`.
    
    PR-URL: nodejs#25291
    Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    joyeecheung authored and BridgeAR committed Jan 17, 2019
    Copy the full SHA
    69d8e60 View commit details
    Browse the repository at this point in the history
  13. src: move per-process global variables into node::per_process

    So that it's easier to tell whether we are manipulating per-process
    global states that may need to be treated with care to avoid races.
    
    Also added comments about these variables and moved some of them
    to a more suitable compilation unit:
    
    - Move `v8_initialized` to `util.h` since it's only used in
      `util.cc` and `node.cc`
    - Rename `process_mutex` to `tty_mutex` and move it into
      `node_errors.cc` since that's the only place it's used
      to guard the tty.
    - Move `per_process_opts_mutex` and `per_process_opts`
      into `node_options.h` and rename them to
      `per_process::cli_options[_mutex]`
    - Rename `node_isolate[_mutex]` to `per_process::main_isolate[_mutex]`
    
    PR-URL: nodejs#25302
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
    Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
    joyeecheung authored and BridgeAR committed Jan 17, 2019
    Copy the full SHA
    c6adf4b View commit details
    Browse the repository at this point in the history
  14. worker: improve JS-side debugging

    Do not print debug messages that indicate that a stdio stream
    has drained; because `util.debuglog()` uses `console.log`, which
    in turn uses stdio streams, this would otherwise have lead to an
    endless loop.
    
    PR-URL: nodejs#25312
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    addaleax authored and BridgeAR committed Jan 17, 2019
    Copy the full SHA
    e8a6cc8 View commit details
    Browse the repository at this point in the history
  15. src: split LoadEnvironment() at startExecution()

    This makes it easier to cater to embedders which wish to skip
    the `startExecution()` part.
    
    PR-URL: nodejs#25320
    Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
    Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
    Reviewed-By: Minwoo Jung <minwoo@nodesource.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
    addaleax authored and BridgeAR committed Jan 17, 2019
    Copy the full SHA
    6cdaf03 View commit details
    Browse the repository at this point in the history
  16. worker: remove --experimental-worker flag

    Having an experimental feature behind a flag makes change
    if we are expecting significant breaking changes to its API.
    
    Since the Worker API has been essentially stable since
    its initial introduction, and no noticeable doubt about
    possibly not keeping the feature around has been voiced,
    removing the flag and thereby reducing the barrier to experimentation,
    and consequently receiving feedback on the implementation,
    seems like a good idea.
    
    PR-URL: nodejs#25361
    Reviewed-By: Rich Trott <rtrott@gmail.com>
    Reviewed-By: Yuta Hiroto <hello@hiroppy.me>
    Reviewed-By: Shingo Inoue <leko.noor@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
    Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
    Reviewed-By: Tobias Nießen <tniessen@tnie.de>
    Reviewed-By: Masashi Hirano <shisama07@gmail.com>
    Reviewed-By: Weijia Wang <starkwang@126.com>
    Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
    Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
    addaleax authored and BridgeAR committed Jan 17, 2019
    Copy the full SHA
    243f902 View commit details
    Browse the repository at this point in the history
  17. src: use generic helper for splitting strings

    PR-URL: nodejs#25363
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    addaleax authored and BridgeAR committed Jan 17, 2019
    Copy the full SHA
    8e6175e View commit details
    Browse the repository at this point in the history
  18. src: remove unused isolate variable

    Currently the following compiler warning is generated:
    ../src/node_task_queue.cc:93:12: warning:
    unused variable 'isolate' [-Wunused-variable]
      Isolate* isolate = env->isolate();
               ^
    1 warning generated.
    
    This commit removes the unused variable.
    
    PR-URL: nodejs#25368
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    danbev authored and BridgeAR committed Jan 17, 2019
    Copy the full SHA
    81924ff View commit details
    Browse the repository at this point in the history
  19. src: move InternalMakeCallback and MakeCallback

    This commit moves InternalMakeCallback and MakeCallback into
    callback_scope.cc. Since these are just wrappers on top of
    `InternalCallbackScope`, this makes the implementations easier to find.
    
    nodejs#25299
    PR-URL: nodejs#25299
    Reviewed-By: Gus Caplan <me@gus.host>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    joyeecheung authored and BridgeAR committed Jan 17, 2019
    Copy the full SHA
    dca6741 View commit details
    Browse the repository at this point in the history
  20. src: clean up node::Init() wrt embedder scenarios

    This makes the STL variant of `node::Init()` a bit more
    suitable for inclusion in a proper embedder API, as errors
    or other output are reported to the caller rather than
    directly being printed, and the process is not exited
    directly either.
    
    PR-URL: nodejs#25370
    Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
    addaleax authored and BridgeAR committed Jan 17, 2019
    Copy the full SHA
    299aefd View commit details
    Browse the repository at this point in the history
  21. src: move process object creation into node_process_object.cc

    Changes `SetupProcessObject` to `CreateProessObject` which creates
    the process object from scratch and return it to `Environment::Start`
    to be stored in the Environment object.
    
    PR-URL: nodejs#25397
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    joyeecheung authored and BridgeAR committed Jan 17, 2019
    Copy the full SHA
    49ac968 View commit details
    Browse the repository at this point in the history
  22. src: declare process-related C++ methods in node_process.h

    Instead of in node_internals.h. Also move process property
    accessors that are not reused into node_process_object.cc
    and make them static.
    
    PR-URL: nodejs#25397
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    joyeecheung authored and BridgeAR committed Jan 17, 2019
    Copy the full SHA
    2ed3fa1 View commit details
    Browse the repository at this point in the history
  23. process: move C++ process events into node_process_events.cc

    Move the C++ `process.emit` and `process.emitWarning` methods
    from `node.cc` into into `node_process_events.cc`, and
    reuse the implementation in other places that need to do
    `process.emit` in C++.
    
    PR-URL: nodejs#25397
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    joyeecheung authored and BridgeAR committed Jan 17, 2019
    Copy the full SHA
    28baf26 View commit details
    Browse the repository at this point in the history
  24. process: allow StartExecution() to take a main script ID

    The idea is to allow the C++ layer to run arbitrary scripts
    as the main script. This paves the way for
    
    - cctest of the execution of Node.js instances
    - Earlier handling of per-process CLI options that affect
      execution modes (those usually do not make sense for the
      embedders).
    - Targets like mkcodecache or mksnapshot.
    
    Also moves the handling of `_third_party_main.js` into C++.
    
    PR-URL: nodejs#25474
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Minwoo Jung <minwoo@nodesource.com>
    joyeecheung authored and BridgeAR committed Jan 17, 2019
    Copy the full SHA
    8390014 View commit details
    Browse the repository at this point in the history
  25. os: add fallback for undefined CPUs

    For an unsupported OS, a call to os.cpus() throws an error
    within os.cpus() itself where it tries to get the length of it.
    This fixes the issue by adding fallback for undefined CPUs.
    
    Fixes: nodejs#25483
    PR-URL: nodejs#25493
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    JungMinu authored and BridgeAR committed Jan 17, 2019
    Copy the full SHA
    3bd8e4b View commit details
    Browse the repository at this point in the history
  26. process: refactor coverage setup during bootstrap

    - Renamed `internal/process/write-coverage.js` to
      `internal/coverage-gen/with_instrumentation.js`,
      `internal/process/coverage.js` to
      `internal/coverage-gen/with_profiler.js` to distinguish
      the two better and added comments.
    - Separate the coverage directory setup and the connection
      setup, moves the directory setup into `node.js` and
      closer to the exit hooks because that's where it's used.
    - Moves the `process.reallyExit` overwrite and
      `process.on('exit')` hooks setup into bootstrap/node.js
      for clarity, and move them to a later stage of
      bootstrap since they do not have to happen that early.
    
    PR-URL: nodejs#25398
    Reviewed-By: Ben Coe <bencoe@gmail.com>
    joyeecheung authored and BridgeAR committed Jan 17, 2019
    Copy the full SHA
    b524a7b View commit details
    Browse the repository at this point in the history
  27. inspector, test: verify reported console message

    Many Inspector protocol clients rely on the top frame reported for the
    console messages. This test makes sure correct location is reported.
    
    PR-URL: nodejs#25455
    Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    eugeneo authored and BridgeAR committed Jan 17, 2019
    Copy the full SHA
    cb73fed View commit details
    Browse the repository at this point in the history
  28. process: register the inspector async hooks in bootstrap/node.js

    So it's easier to tell the side effects of this setup.
    
    PR-URL: nodejs#25443
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    joyeecheung authored and BridgeAR committed Jan 17, 2019
    Copy the full SHA
    c718592 View commit details
    Browse the repository at this point in the history
  29. buffer: move initialization of buffer prototype into node.js

    Instead of exposing it in `lib/internal/buffer.js` after deleting
    it from the binding and then do the initialization in
    `lib/buffer.js`, which results in an implicit dependency on
    the order in which these modules are loaded.
    
    PR-URL: nodejs#25292
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    joyeecheung authored and BridgeAR committed Jan 17, 2019
    Copy the full SHA
    042d20a View commit details
    Browse the repository at this point in the history
  30. buffer: move Buffer prototype wiring into internal/buffer.js

    Instead of exposing the Buffer prototype methods through an
    object in `internal/buffer.js` and then iterating over it
    to put the methods on the prototype, create a function
    in `internal/buffer.js` to do this.
    
    Also moves the creaton of the `FastBuffer` class into
    `internal/buffer.js` and expose it directly instead of
    writing it onto that module later.
    
    PR-URL: nodejs#25292
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    joyeecheung authored and BridgeAR committed Jan 17, 2019
    Copy the full SHA
    8e84ccb View commit details
    Browse the repository at this point in the history
  31. 2019-01-17, Version 11.7.0 (Current), @BridgeAR

    Notable Changes
    
    * compression / zlib:
      * Added brotli support (Anna Henningsen and Zach Vacura)
        nodejs#24938
    * console:
      * Added `inspectOptions` option (Ruben Bridgewater)
        nodejs#24978
    * crypto:
      * Always accept private keys as public keys (Tobias Nießen)
        nodejs#25217
    * deps:
      * Upgrade npm to v6.5.0 (Jordan Harband)
        nodejs#25234
    * fs:
      * Use internalBinding('fs') internally instead of
        process.binding('fs') (Masashi Hirano)
        nodejs#22478
    * http(s):
      * Support overriding http\\s.globalAgent (Roy Sommer)
        nodejs#25170
    * util:
      * Inspect ArrayBuffers contents closely (Ruben Bridgewater)
        nodejs#25006
    * worker:
      * Expose workers by default and remove `--experimental-worker` flag
        (Anna Henningsen) nodejs#25361
    
    PR-URL: nodejs#25537
    BridgeAR committed Jan 17, 2019
    Copy the full SHA
    6b7b827 View commit details
    Browse the repository at this point in the history
  32. Working on v11.7.1

    PR-URL: nodejs#25537
    BridgeAR committed Jan 17, 2019
    Copy the full SHA
    5ee2bec View commit details
    Browse the repository at this point in the history