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

console: implement minimal `console.group()` #14910

Closed
wants to merge 4 commits into
base: master
from

Conversation

Projects
None yet
9 participants
@Trott
Member

Trott commented Aug 18, 2017

Node.js exposes console.group() and console.groupEnd() via the
inspector. These functions have no apparent effect when called from
Node.js without the inspector. We cannot easily hide them when Node.js
is started without the inspector because we support opening the
inspector during runtime via inspector.port().

Implement a minimal console.group()/console.groupEnd(). More
sophisticated implementations are possible, but they can be done in
userland and/or features can be added to this at a later time. (It lacks
the label argument to console.group() right now, for example. How to
handle label, or even whether to handle it, may become
a bikeshed discussion. Landing a minimal implementation first avoids the
pitfall of that discussion or a similar discussion delaying the
implementation indefinitely.)

Refs: #12675
Fixes: #1716

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • tests and/or benchmarks are included
  • documentation is changed or added
  • commit message follows commit guidelines
Affected core subsystem(s)

console

@TimothyGu

Thanks for working on this. I noticed that browsers also have groupCollapsed() which has the property of hiding everything entered after it unless the user manually expands the group. Due to Console's nature, I say we just make it an alias of group().

Show outdated Hide outdated lib/console.js
Show outdated Hide outdated lib/console.js
Show outdated Hide outdated lib/console.js
@jasnell

This comment has been minimized.

Show comment
Hide comment
@jasnell

jasnell Aug 18, 2017

Member

I'm not overly in love with this approach, especially given that it's trivial to break the visual formatting using new lines. e.g. console.group(); console.log('hello\nworld')' console.groupEnd(). While I'd be quite happy to have an implementation on this, if we do something and get it wrong it would be a semver-major to fix it. Not sure what else to suggest tho

Member

jasnell commented Aug 18, 2017

I'm not overly in love with this approach, especially given that it's trivial to break the visual formatting using new lines. e.g. console.group(); console.log('hello\nworld')' console.groupEnd(). While I'd be quite happy to have an implementation on this, if we do something and get it wrong it would be a semver-major to fix it. Not sure what else to suggest tho

@Trott

This comment has been minimized.

Show comment
Hide comment
@Trott

Trott Aug 18, 2017

Member

I'm not overly in love with this approach, especially given that it's trivial to break the visual formatting using new lines

I thought about that but figured that could be a patch-level fix or a minor-level feature enhancement at a later time if it was really necessary. I'm not sure how much this feature is going to get used, to be honest.

And I suspect starting with a full-blown implementation will be riskier than starting with a minimal implementation.

I'm OK with deciding that we don't actually need to implement console.group() and let it be a no-op and people can implement it in the ecosystem if they want it. I'd want there to be consensus, though, that we should close #12675 and #1716 (perhaps after documenting that it's a no-op).

Member

Trott commented Aug 18, 2017

I'm not overly in love with this approach, especially given that it's trivial to break the visual formatting using new lines

I thought about that but figured that could be a patch-level fix or a minor-level feature enhancement at a later time if it was really necessary. I'm not sure how much this feature is going to get used, to be honest.

And I suspect starting with a full-blown implementation will be riskier than starting with a minimal implementation.

I'm OK with deciding that we don't actually need to implement console.group() and let it be a no-op and people can implement it in the ecosystem if they want it. I'd want there to be consensus, though, that we should close #12675 and #1716 (perhaps after documenting that it's a no-op).

@Trott

This comment has been minimized.

Show comment
Hide comment
@Trott

Trott Aug 21, 2017

Member

.groupCollapsed() added as an alias for .group(). I think this is ready for another look.

Member

Trott commented Aug 21, 2017

.groupCollapsed() added as an alias for .group(). I think this is ready for another look.

@jasnell

Code changes look fine, I'm not going to object to this landing. Would like further @nodejs/ctc input tho.

@jasnell jasnell requested a review from Aug 21, 2017

@mcollina

LGTM

@TimothyGu

I'm not in the CTC but this LGTM.

Show outdated Hide outdated lib/console.js
Show outdated Hide outdated lib/console.js

Trott added some commits Aug 18, 2017

console: implement minimal `console.group()`
Node.js exposes `console.group()` and `console.groupEnd()` via the
inspector. These functions have no apparent effect when called from
Node.js without the inspector. We cannot easily hide them when Node.js
is started without the inspector because we support opening the
inspector during runtime via `inspector.port()`.

Implement a minimal `console.group()`/`console.groupEnd()`. More
sophisticated implementations are possible, but they can be done in
userland and/or features can be added to this at a later time. (It lacks
the `label` argument to `console.group()` right now, for example. How to
handle `label`, or even whether to handle it,  may become
a bikeshed discussion. Landing a minimal implementation first avoids the
pitfall of that discussion or a similar discussion delaying the
implementation indefinitely.)

Refs: #12675
Fixes: #1716
@Trott

This comment has been minimized.

Show comment
Hide comment
@Trott

Trott Aug 22, 2017

Member

Rebased, addressed @TimothyGu's comments, force-pushed.

This could use some more @nodejs/ctc review. Seems like the right thing to do to me, but I want to make sure we have consensus on that. Otherwise, I'll go the document-that-it-doesn't-do-anything route.

Member

Trott commented Aug 22, 2017

Rebased, addressed @TimothyGu's comments, force-pushed.

This could use some more @nodejs/ctc review. Seems like the right thing to do to me, but I want to make sure we have consensus on that. Otherwise, I'll go the document-that-it-doesn't-do-anything route.

@Trott

This comment has been minimized.

Show comment
Hide comment

@jasnell jasnell added the ctc-review label Aug 23, 2017

@Trott

This comment has been minimized.

Show comment
Hide comment
@Trott

Trott Aug 24, 2017

Member

Landed in c40229a

Member

Trott commented Aug 24, 2017

Landed in c40229a

@Trott Trott closed this Aug 24, 2017

Trott added a commit to Trott/io.js that referenced this pull request Aug 24, 2017

console: implement minimal `console.group()`
Node.js exposes `console.group()` and `console.groupEnd()` via the
inspector. These functions have no apparent effect when called from
Node.js without the inspector. We cannot easily hide them when Node.js
is started without the inspector because we support opening the
inspector during runtime via `inspector.port()`.

Implement a minimal `console.group()`/`console.groupEnd()`. More
sophisticated implementations are possible, but they can be done in
userland and/or features can be added to this at a later time.

`console.groupCollapsed()` is implemented as an alias for
`console.group()`.

PR-URL: nodejs#14910
Fixes: nodejs#1716
Ref: nodejs#12675
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
@BridgeAR

This comment has been minimized.

Show comment
Hide comment
@BridgeAR

BridgeAR Aug 24, 2017

Member

Uh, seems like I looked a tiny bit to late at this. Right now if I read the code correct only the very first line of console.log is going to be indented. util.format will is going to add new lines in objects if something exceeds the line length though. So the grouping should apply for all lines and not only to the very first one and this is also how browsers behave.
Right now it would have to be done by checking for new lines in the output and replacing those with the new indentation lvl. If #14881 lands as it is this could actually be done without any hassle by passing a indentationLvl option to util.inspect (that is called by util.format depending on the input). The option is meant to be private but we might actually consider to expose it and document it?

Member

BridgeAR commented Aug 24, 2017

Uh, seems like I looked a tiny bit to late at this. Right now if I read the code correct only the very first line of console.log is going to be indented. util.format will is going to add new lines in objects if something exceeds the line length though. So the grouping should apply for all lines and not only to the very first one and this is also how browsers behave.
Right now it would have to be done by checking for new lines in the output and replacing those with the new indentation lvl. If #14881 lands as it is this could actually be done without any hassle by passing a indentationLvl option to util.inspect (that is called by util.format depending on the input). The option is meant to be private but we might actually consider to expose it and document it?

@Trott

This comment has been minimized.

Show comment
Hide comment
@Trott

Trott Aug 24, 2017

Member

@BridgeAR I'm OK reverting this if you or anyone else think it's a terrible mistake to land it as is (just as long as we do it before this ends up in a release).

That said, I think this is better than the current situation, which is console.group() exists but doesn't actually do anything at all. However, I can see an argument that a no-op is better than a minimal implementation that might be perceived as faulty.

If you think the implementation here can be made to work smoothly with indentationLvl once that lands, even better.

Member

Trott commented Aug 24, 2017

@BridgeAR I'm OK reverting this if you or anyone else think it's a terrible mistake to land it as is (just as long as we do it before this ends up in a release).

That said, I think this is better than the current situation, which is console.group() exists but doesn't actually do anything at all. However, I can see an argument that a no-op is better than a minimal implementation that might be perceived as faulty.

If you think the implementation here can be made to work smoothly with indentationLvl once that lands, even better.

@BridgeAR

This comment has been minimized.

Show comment
Hide comment
@BridgeAR

BridgeAR Aug 24, 2017

Member

@jasnell new lines added by the user to console.log will actually not break the indentation because those are always escaped. [EDIT] Only true for objects and things that are passed through to util.inspect.

Member

BridgeAR commented Aug 24, 2017

@jasnell new lines added by the user to console.log will actually not break the indentation because those are always escaped. [EDIT] Only true for objects and things that are passed through to util.inspect.

@BridgeAR

This comment has been minimized.

Show comment
Hide comment
@BridgeAR

BridgeAR Aug 24, 2017

Member

@Trott I think it is good to add the functionality itself and I think we could just open a new PR to fix the indentation before the next release. WDYT?

Member

BridgeAR commented Aug 24, 2017

@Trott I think it is good to add the functionality itself and I think we could just open a new PR to fix the indentation before the next release. WDYT?

@jasnell

This comment has been minimized.

Show comment
Hide comment
@jasnell

jasnell Aug 24, 2017

Member

I for one would have preferred a bit more review but I'll leave it up to you on whether to open a revert.

Member

jasnell commented Aug 24, 2017

I for one would have preferred a bit more review but I'll leave it up to you on whether to open a revert.

@Trott

This comment has been minimized.

Show comment
Hide comment
@Trott

Trott Aug 24, 2017

Member

@BridgeAR I think @jasnell's point is that in this implementation, this code:

console.log('not indented');
console.group();
console.log('indented\nshould also be indented');

...results in this output:

not indented
  indented
should also be indented

...whereas the expected output should be:

not indented
  indented
  should also be indented

That said, that shortcoming was a choice. I'll create a known_issues test for the problem and also the one you pointed out too.

For comparison the current output in Node.js 8.4.0:

not indented
indented
should also be indented
Member

Trott commented Aug 24, 2017

@BridgeAR I think @jasnell's point is that in this implementation, this code:

console.log('not indented');
console.group();
console.log('indented\nshould also be indented');

...results in this output:

not indented
  indented
should also be indented

...whereas the expected output should be:

not indented
  indented
  should also be indented

That said, that shortcoming was a choice. I'll create a known_issues test for the problem and also the one you pointed out too.

For comparison the current output in Node.js 8.4.0:

not indented
indented
should also be indented
@Trott

This comment has been minimized.

Show comment
Hide comment
@Trott

Trott Aug 24, 2017

Member

@Trott I think it is good to add the functionality itself and I think we could just open a new PR to fix the indentation before the next release. WDYT?

I'll add dont-land labels that can be removed once your fixes/improvements land.

(And again, if anyone thinks this ought to be reverted instead, I'm OK with that too.)

Member

Trott commented Aug 24, 2017

@Trott I think it is good to add the functionality itself and I think we could just open a new PR to fix the indentation before the next release. WDYT?

I'll add dont-land labels that can be removed once your fixes/improvements land.

(And again, if anyone thinks this ought to be reverted instead, I'm OK with that too.)

@BridgeAR

This comment has been minimized.

Show comment
Hide comment
@BridgeAR

BridgeAR Aug 24, 2017

Member

@Trott right, I forgot that util.format does not escape the strings when not passed to util.inspect.

Member

BridgeAR commented Aug 24, 2017

@Trott right, I forgot that util.format does not escape the strings when not passed to util.inspect.

@Trott

This comment has been minimized.

Show comment
Hide comment
@Trott

Trott Aug 24, 2017

Member

#14999 for the multiline fix. (Thanks, @BridgeAR, for the "here's how you should do it" info. :-D )

Member

Trott commented Aug 24, 2017

#14999 for the multiline fix. (Thanks, @BridgeAR, for the "here's how you should do it" info. :-D )

addaleax added a commit to addaleax/ayo that referenced this pull request Aug 25, 2017

console: implement minimal `console.group()`
Node.js exposes `console.group()` and `console.groupEnd()` via the
inspector. These functions have no apparent effect when called from
Node.js without the inspector. We cannot easily hide them when Node.js
is started without the inspector because we support opening the
inspector during runtime via `inspector.port()`.

Implement a minimal `console.group()`/`console.groupEnd()`. More
sophisticated implementations are possible, but they can be done in
userland and/or features can be added to this at a later time.

`console.groupCollapsed()` is implemented as an alias for
`console.group()`.

PR-URL: nodejs/node#14910
Fixes: nodejs/node#1716
Ref: nodejs/node#12675
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>

addaleax added a commit to ayojs/ayo that referenced this pull request Aug 28, 2017

console: implement minimal `console.group()`
Node.js exposes `console.group()` and `console.groupEnd()` via the
inspector. These functions have no apparent effect when called from
Node.js without the inspector. We cannot easily hide them when Node.js
is started without the inspector because we support opening the
inspector during runtime via `inspector.port()`.

Implement a minimal `console.group()`/`console.groupEnd()`. More
sophisticated implementations are possible, but they can be done in
userland and/or features can be added to this at a later time.

`console.groupCollapsed()` is implemented as an alias for
`console.group()`.

PR-URL: nodejs/node#14910
Fixes: nodejs/node#1716
Ref: nodejs/node#12675
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
@MylesBorins

This comment has been minimized.

Show comment
Hide comment
@MylesBorins

MylesBorins Sep 10, 2017

Member

Is this something we want to land on v8.x?

Member

MylesBorins commented Sep 10, 2017

Is this something we want to land on v8.x?

@Trott

This comment has been minimized.

Show comment
Hide comment
@Trott

Trott Sep 10, 2017

Member

Is this something we want to land on v8.x?

@MylesBorins Yes. I've removed the dont-land labels. Sorry about not doing that sooner.

Member

Trott commented Sep 10, 2017

Is this something we want to land on v8.x?

@MylesBorins Yes. I've removed the dont-land labels. Sorry about not doing that sooner.

MylesBorins added a commit that referenced this pull request Sep 10, 2017

console: implement minimal `console.group()`
Node.js exposes `console.group()` and `console.groupEnd()` via the
inspector. These functions have no apparent effect when called from
Node.js without the inspector. We cannot easily hide them when Node.js
is started without the inspector because we support opening the
inspector during runtime via `inspector.port()`.

Implement a minimal `console.group()`/`console.groupEnd()`. More
sophisticated implementations are possible, but they can be done in
userland and/or features can be added to this at a later time.

`console.groupCollapsed()` is implemented as an alias for
`console.group()`.

PR-URL: #14910
Fixes: #1716
Ref: #12675
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>

@MylesBorins MylesBorins referenced this pull request Sep 10, 2017

Merged

v8.5.0 proposal #15308

MylesBorins added a commit that referenced this pull request Sep 11, 2017

console: implement minimal `console.group()`
Node.js exposes `console.group()` and `console.groupEnd()` via the
inspector. These functions have no apparent effect when called from
Node.js without the inspector. We cannot easily hide them when Node.js
is started without the inspector because we support opening the
inspector during runtime via `inspector.port()`.

Implement a minimal `console.group()`/`console.groupEnd()`. More
sophisticated implementations are possible, but they can be done in
userland and/or features can be added to this at a later time.

`console.groupCollapsed()` is implemented as an alias for
`console.group()`.

PR-URL: #14910
Fixes: #1716
Ref: #12675
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>

MylesBorins added a commit that referenced this pull request Sep 11, 2017

console: implement minimal `console.group()`
Node.js exposes `console.group()` and `console.groupEnd()` via the
inspector. These functions have no apparent effect when called from
Node.js without the inspector. We cannot easily hide them when Node.js
is started without the inspector because we support opening the
inspector during runtime via `inspector.port()`.

Implement a minimal `console.group()`/`console.groupEnd()`. More
sophisticated implementations are possible, but they can be done in
userland and/or features can be added to this at a later time.

`console.groupCollapsed()` is implemented as an alias for
`console.group()`.

PR-URL: #14910
Fixes: #1716
Ref: #12675
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>

MylesBorins added a commit that referenced this pull request Sep 12, 2017

console: implement minimal `console.group()`
Node.js exposes `console.group()` and `console.groupEnd()` via the
inspector. These functions have no apparent effect when called from
Node.js without the inspector. We cannot easily hide them when Node.js
is started without the inspector because we support opening the
inspector during runtime via `inspector.port()`.

Implement a minimal `console.group()`/`console.groupEnd()`. More
sophisticated implementations are possible, but they can be done in
userland and/or features can be added to this at a later time.

`console.groupCollapsed()` is implemented as an alias for
`console.group()`.

PR-URL: #14910
Fixes: #1716
Ref: #12675
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>

MylesBorins added a commit that referenced this pull request Sep 12, 2017

2017-09-12, Version 8.5.0 (Current)
Notable Changes

* build:
  * Snapshots are now re-enabled in V8
  #14875

* console:
  * Implement minimal `console.group()`.
  #14910

* deps:
  * upgrade libuv to 1.14.1
    #14866
  * update nghttp2 to v1.25.0
    #14955

* dns:
  * Add `verbatim` option to dns.lookup(). When true, results from the
    DNS resolver are passed on as-is, without the reshuffling that
    Node.js otherwise does that puts IPv4 addresses before IPv6
    addresses.
    #14731

* fs:
  * add fs.copyFile and fs.copyFileSync which allows for more efficient
    copying of files.
    #15034

* inspector:
  * Enable async stack traces
    #13870

* module:
  * Add support for ESM. This is currently behind the
    `--experimental-modules` flag and requires the .mjs extension.
    `node --experimental-modules index.mjs`
    #14369

* napi:
  * implement promise
    #14365

* os:
  * Add support for CIDR notation to the output of the
    networkInterfaces() method.
    #14307

* perf_hooks:
  * An initial implementation of the Performance Timing API for
    Node.js. This is the same Performance Timing API implemented by
    modern browsers with a number of Node.js specific properties. The
    User Timing mark() and measure() APIs are implemented, as is a
    Node.js specific flavor of the Frame Timing for measuring event
    loop duration.
    #14680

* tls:
  * multiple PFX in createSecureContext
    [#14793](#14793)

* Added new collaborators:
  * BridgeAR – Ruben Bridgewater

PR-URL: #15308

MylesBorins added a commit that referenced this pull request Sep 12, 2017

2017-09-12, Version 8.5.0 (Current)
Notable Changes

* build:
  * Snapshots are now re-enabled in V8
  #14875

* console:
  * Implement minimal `console.group()`.
  #14910

* deps:
  * upgrade libuv to 1.14.1
    #14866
  * update nghttp2 to v1.25.0
    #14955

* dns:
  * Add `verbatim` option to dns.lookup(). When true, results from the
    DNS resolver are passed on as-is, without the reshuffling that
    Node.js otherwise does that puts IPv4 addresses before IPv6
    addresses.
    #14731

* fs:
  * add fs.copyFile and fs.copyFileSync which allows for more efficient
    copying of files.
    #15034

* inspector:
  * Enable async stack traces
    #13870

* module:
  * Add support for ESM. This is currently behind the
    `--experimental-modules` flag and requires the .mjs extension.
    `node --experimental-modules index.mjs`
    #14369

* napi:
  * implement promise
    #14365

* os:
  * Add support for CIDR notation to the output of the
    networkInterfaces() method.
    #14307

* perf_hooks:
  * An initial implementation of the Performance Timing API for
    Node.js. This is the same Performance Timing API implemented by
    modern browsers with a number of Node.js specific properties. The
    User Timing mark() and measure() APIs are implemented, as is a
    Node.js specific flavor of the Frame Timing for measuring event
    loop duration.
    #14680

* tls:
  * multiple PFX in createSecureContext
    [#14793](#14793)

* Added new collaborators:
  * BridgeAR – Ruben Bridgewater

PR-URL: #15308

MylesBorins added a commit that referenced this pull request Sep 12, 2017

2017-09-12, Version 8.5.0 (Current)
Notable Changes

* build:
  * Snapshots are now re-enabled in V8
  #14875

* console:
  * Implement minimal `console.group()`.
  #14910

* deps:
  * upgrade libuv to 1.14.1
    #14866
  * update nghttp2 to v1.25.0
    #14955

* dns:
  * Add `verbatim` option to dns.lookup(). When true, results from the
    DNS resolver are passed on as-is, without the reshuffling that
    Node.js otherwise does that puts IPv4 addresses before IPv6
    addresses.
    #14731

* fs:
  * add fs.copyFile and fs.copyFileSync which allows for more efficient
    copying of files.
    #15034

* inspector:
  * Enable async stack traces
    #13870

* module:
  * Add support for ESM. This is currently behind the
    `--experimental-modules` flag and requires the .mjs extension.
    `node --experimental-modules index.mjs`
    #14369

* napi:
  * implement promise
    #14365

* os:
  * Add support for CIDR notation to the output of the
    networkInterfaces() method.
    #14307

* perf_hooks:
  * An initial implementation of the Performance Timing API for
    Node.js. This is the same Performance Timing API implemented by
    modern browsers with a number of Node.js specific properties. The
    User Timing mark() and measure() APIs are implemented, as is a
    Node.js specific flavor of the Frame Timing for measuring event
    loop duration.
    #14680

* tls:
  * multiple PFX in createSecureContext
    [#14793](#14793)

* Added new collaborators:
  * BridgeAR – Ruben Bridgewater

PR-URL: #15308

MylesBorins added a commit that referenced this pull request Sep 12, 2017

2017-09-12, Version 8.5.0 (Current)
Notable Changes

* build:
  * Snapshots are now re-enabled in V8
  #14875

* console:
  * Implement minimal `console.group()`.
  #14910

* deps:
  * upgrade libuv to 1.14.1
    #14866
  * update nghttp2 to v1.25.0
    #14955

* dns:
  * Add `verbatim` option to dns.lookup(). When true, results from the
    DNS resolver are passed on as-is, without the reshuffling that
    Node.js otherwise does that puts IPv4 addresses before IPv6
    addresses.
    #14731

* fs:
  * add fs.copyFile and fs.copyFileSync which allows for more efficient
    copying of files.
    #15034

* inspector:
  * Enable async stack traces
    #13870

* module:
  * Add support for ESM. This is currently behind the
    `--experimental-modules` flag and requires the .mjs extension.
    `node --experimental-modules index.mjs`
    #14369

* napi:
  * implement promise
    #14365

* os:
  * Add support for CIDR notation to the output of the
    networkInterfaces() method.
    #14307

* perf_hooks:
  * An initial implementation of the Performance Timing API for
    Node.js. This is the same Performance Timing API implemented by
    modern browsers with a number of Node.js specific properties. The
    User Timing mark() and measure() APIs are implemented, as is a
    Node.js specific flavor of the Frame Timing for measuring event
    loop duration.
    #14680

* tls:
  * multiple PFX in createSecureContext
    [#14793](#14793)

* Added new collaborators:
  * BridgeAR – Ruben Bridgewater

PR-URL: #15308

addaleax added a commit to addaleax/node that referenced this pull request Sep 13, 2017

2017-09-12, Version 8.5.0 (Current)
Notable Changes

* build:
  * Snapshots are now re-enabled in V8
  nodejs#14875

* console:
  * Implement minimal `console.group()`.
  nodejs#14910

* deps:
  * upgrade libuv to 1.14.1
    nodejs#14866
  * update nghttp2 to v1.25.0
    nodejs#14955

* dns:
  * Add `verbatim` option to dns.lookup(). When true, results from the
    DNS resolver are passed on as-is, without the reshuffling that
    Node.js otherwise does that puts IPv4 addresses before IPv6
    addresses.
    nodejs#14731

* fs:
  * add fs.copyFile and fs.copyFileSync which allows for more efficient
    copying of files.
    nodejs#15034

* inspector:
  * Enable async stack traces
    nodejs#13870

* module:
  * Add support for ESM. This is currently behind the
    `--experimental-modules` flag and requires the .mjs extension.
    `node --experimental-modules index.mjs`
    nodejs#14369

* napi:
  * implement promise
    nodejs#14365

* os:
  * Add support for CIDR notation to the output of the
    networkInterfaces() method.
    nodejs#14307

* perf_hooks:
  * An initial implementation of the Performance Timing API for
    Node.js. This is the same Performance Timing API implemented by
    modern browsers with a number of Node.js specific properties. The
    User Timing mark() and measure() APIs are implemented, as is a
    Node.js specific flavor of the Frame Timing for measuring event
    loop duration.
    nodejs#14680

* tls:
  * multiple PFX in createSecureContext
    [#14793](nodejs#14793)

* Added new collaborators:
  * BridgeAR – Ruben Bridgewater

PR-URL: nodejs#15308

@MylesBorins MylesBorins referenced this pull request Jan 15, 2018

Closed

Semver Minor Tracking #298

gabrielschulhof added a commit to gabrielschulhof/node that referenced this pull request Mar 12, 2018

2017-09-12, Version 8.5.0 (Current)
Notable Changes

* build:
  * Snapshots are now re-enabled in V8
  nodejs#14875

* console:
  * Implement minimal `console.group()`.
  nodejs#14910

* deps:
  * upgrade libuv to 1.14.1
    nodejs#14866
  * update nghttp2 to v1.25.0
    nodejs#14955

* dns:
  * Add `verbatim` option to dns.lookup(). When true, results from the
    DNS resolver are passed on as-is, without the reshuffling that
    Node.js otherwise does that puts IPv4 addresses before IPv6
    addresses.
    nodejs#14731

* fs:
  * add fs.copyFile and fs.copyFileSync which allows for more efficient
    copying of files.
    nodejs#15034

* inspector:
  * Enable async stack traces
    nodejs#13870

* module:
  * Add support for ESM. This is currently behind the
    `--experimental-modules` flag and requires the .mjs extension.
    `node --experimental-modules index.mjs`
    nodejs#14369

* napi:
  * implement promise
    nodejs#14365

* os:
  * Add support for CIDR notation to the output of the
    networkInterfaces() method.
    nodejs#14307

* perf_hooks:
  * An initial implementation of the Performance Timing API for
    Node.js. This is the same Performance Timing API implemented by
    modern browsers with a number of Node.js specific properties. The
    User Timing mark() and measure() APIs are implemented, as is a
    Node.js specific flavor of the Frame Timing for measuring event
    loop duration.
    nodejs#14680

* tls:
  * multiple PFX in createSecureContext
    [#14793](nodejs#14793)

* Added new collaborators:
  * BridgeAR – Ruben Bridgewater

This applies parts of a10856a that are
relevant to N-API.

PR-URL: nodejs#15308

gabrielschulhof added a commit to gabrielschulhof/node that referenced this pull request Mar 15, 2018

2017-09-12, Version 8.5.0 (Current)
Notable Changes

* build:
  * Snapshots are now re-enabled in V8
  nodejs#14875

* console:
  * Implement minimal `console.group()`.
  nodejs#14910

* deps:
  * upgrade libuv to 1.14.1
    nodejs#14866
  * update nghttp2 to v1.25.0
    nodejs#14955

* dns:
  * Add `verbatim` option to dns.lookup(). When true, results from the
    DNS resolver are passed on as-is, without the reshuffling that
    Node.js otherwise does that puts IPv4 addresses before IPv6
    addresses.
    nodejs#14731

* fs:
  * add fs.copyFile and fs.copyFileSync which allows for more efficient
    copying of files.
    nodejs#15034

* inspector:
  * Enable async stack traces
    nodejs#13870

* module:
  * Add support for ESM. This is currently behind the
    `--experimental-modules` flag and requires the .mjs extension.
    `node --experimental-modules index.mjs`
    nodejs#14369

* napi:
  * implement promise
    nodejs#14365

* os:
  * Add support for CIDR notation to the output of the
    networkInterfaces() method.
    nodejs#14307

* perf_hooks:
  * An initial implementation of the Performance Timing API for
    Node.js. This is the same Performance Timing API implemented by
    modern browsers with a number of Node.js specific properties. The
    User Timing mark() and measure() APIs are implemented, as is a
    Node.js specific flavor of the Frame Timing for measuring event
    loop duration.
    nodejs#14680

* tls:
  * multiple PFX in createSecureContext
    [#14793](nodejs#14793)

* Added new collaborators:
  * BridgeAR – Ruben Bridgewater

This applies parts of a10856a that are
relevant to N-API.

PR-URL: nodejs#15308
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment