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

src: add public API for managing NodePlatform #16981

Closed
wants to merge 1 commit into
base: master
from

Conversation

@zcbenz
Contributor

zcbenz commented Nov 13, 2017

In embedders like Electron, we need to control when to use v8::Platform and when not, and to make Node work correctly we have to create NodePlatform manually sometimes. So this requires the ability to manage NodePlatform in embedders, while currently the interface of NodePlatform is not exported.

This pull request add public APIs for creating/destroying NodePlatform, which follows the pattern of the APIs managing node::Environment.

/cc @refack @bnoordhuis

@addaleax addaleax self-requested a review Nov 13, 2017

Show outdated Hide outdated src/node.h

@zcbenz zcbenz referenced this pull request Nov 13, 2017

Merged

[WIP] Upgrade to Chromium 61 #10213

42 of 42 tasks complete
@refack

refack approved these changes Nov 13, 2017

@bnoordhuis

This comment has been minimized.

Show comment
Hide comment
@bnoordhuis

bnoordhuis Nov 13, 2017

Member

@zcbenz Can you explain why/when exactly a NodePlatform is needed? Are there things you can't do with CreateIsolateData() + a custom MultiIsolatePlatform?

Member

bnoordhuis commented Nov 13, 2017

@zcbenz Can you explain why/when exactly a NodePlatform is needed? Are there things you can't do with CreateIsolateData() + a custom MultiIsolatePlatform?

@zcbenz

This comment has been minimized.

Show comment
Hide comment
@zcbenz

zcbenz Nov 14, 2017

Contributor

@bnoordhuis We need NodePlatform when we want to enable v8 inspector for the main process in Electron, it is not needed in renderer process where we have Chromium's devtools.

While it is possible to reimplement NodePlatform in Electron, it seems an unnecessary task when we can just reuse Node's code, and we don't want to have too much code relying on Node's C++ interface, it changes a lot and makes it harder to upgrade Node in Electron.

Contributor

zcbenz commented Nov 14, 2017

@bnoordhuis We need NodePlatform when we want to enable v8 inspector for the main process in Electron, it is not needed in renderer process where we have Chromium's devtools.

While it is possible to reimplement NodePlatform in Electron, it seems an unnecessary task when we can just reuse Node's code, and we don't want to have too much code relying on Node's C++ interface, it changes a lot and makes it harder to upgrade Node in Electron.

@bnoordhuis

This comment has been minimized.

Show comment
Hide comment
@bnoordhuis

bnoordhuis Nov 14, 2017

Member

@zcbenz I don't quite understand. NodePlatform isn't coupled to the V8 inspector. What does it do that V8's DefaultPlatform doesn't do and is difficult to write from scratch?

Member

bnoordhuis commented Nov 14, 2017

@zcbenz I don't quite understand. NodePlatform isn't coupled to the V8 inspector. What does it do that V8's DefaultPlatform doesn't do and is difficult to write from scratch?

@zcbenz

This comment has been minimized.

Show comment
Hide comment
@zcbenz

zcbenz Nov 15, 2017

Contributor

@bnoordhuis We use the inspector agent shipped with node, the default v8 platform used to work, but after upgrading to recent versions of node, we have to use NodePlatform to make things work with electron. I did not look into the root cause.

Contributor

zcbenz commented Nov 15, 2017

@bnoordhuis We use the inspector agent shipped with node, the default v8 platform used to work, but after upgrading to recent versions of node, we have to use NodePlatform to make things work with electron. I did not look into the root cause.

@bnoordhuis

This comment has been minimized.

Show comment
Hide comment
@bnoordhuis

bnoordhuis Nov 15, 2017

Member

@zcbenz Okay, I think I understand now. The behavior you see (or rather: don't see) probably isn't so much the introduction of NodePlatform but the fact that we stopped calling v8::platform::PumpMessageLoop(). We can probably fix that.

Do you call node::Start() or node::Init() or does electron control the event loop in the setup you describe?

Member

bnoordhuis commented Nov 15, 2017

@zcbenz Okay, I think I understand now. The behavior you see (or rather: don't see) probably isn't so much the introduction of NodePlatform but the fact that we stopped calling v8::platform::PumpMessageLoop(). We can probably fix that.

Do you call node::Start() or node::Init() or does electron control the event loop in the setup you describe?

@addaleax

This comment has been minimized.

Show comment
Hide comment
@addaleax

addaleax Nov 19, 2017

Member

@bnoordhuis Do you object to this landing? I think it’s a good idea regardless of whether it’s possible to do this or not; it certainly makes embedding Node easier.

Member

addaleax commented Nov 19, 2017

@bnoordhuis Do you object to this landing? I think it’s a good idea regardless of whether it’s possible to do this or not; it certainly makes embedding Node easier.

@bnoordhuis

This comment has been minimized.

Show comment
Hide comment
@bnoordhuis

bnoordhuis Nov 19, 2017

Member

The PR was opened as a workaround for a bug. From that perspective: we should fix the bug, not merge the workaround.

Whether it makes embedding easier, I don't know. I assume most "serious" embedders will want more control over the v8::Platform so this PR would only be useful for simple embeddings.

No one requested that, AFAIK, and I don't like landing features that don't have users.

Member

bnoordhuis commented Nov 19, 2017

The PR was opened as a workaround for a bug. From that perspective: we should fix the bug, not merge the workaround.

Whether it makes embedding easier, I don't know. I assume most "serious" embedders will want more control over the v8::Platform so this PR would only be useful for simple embeddings.

No one requested that, AFAIK, and I don't like landing features that don't have users.

@addaleax

This comment has been minimized.

Show comment
Hide comment
@addaleax

addaleax Nov 19, 2017

Member

No one requested that, AFAIK, and I don't like landing features that don't have users.

Well, that is in part because our embedding story isn’t great to begin with, and issues like this are part of that … ;)

Basically what I’m thinking is, we’re going to support this anyway, so we might as well expose it to embedders, even if it’s just helping lower the barrier to get reasonable code running. And as an extra, using our platform will yield a bit more isolation from requirement changes in upstream V8.

(But, yes, we obviously should fix that bug.)

Member

addaleax commented Nov 19, 2017

No one requested that, AFAIK, and I don't like landing features that don't have users.

Well, that is in part because our embedding story isn’t great to begin with, and issues like this are part of that … ;)

Basically what I’m thinking is, we’re going to support this anyway, so we might as well expose it to embedders, even if it’s just helping lower the barrier to get reasonable code running. And as an extra, using our platform will yield a bit more isolation from requirement changes in upstream V8.

(But, yes, we obviously should fix that bug.)

@addaleax

This comment has been minimized.

Show comment
Hide comment
Member

addaleax commented Nov 19, 2017

@bnoordhuis

This comment has been minimized.

Show comment
Hide comment
@bnoordhuis

bnoordhuis Nov 19, 2017

Member

even if it’s just helping lower the barrier to get reasonable code running

I don't disagree but can you think of a plausible scenario where rolling your own Platform is a step too far but v8::platform::CreateDefaultPlatform() doesn't cut it?

That's why I asked questions. I figured there must be more to it than ease of use.

Member

bnoordhuis commented Nov 19, 2017

even if it’s just helping lower the barrier to get reasonable code running

I don't disagree but can you think of a plausible scenario where rolling your own Platform is a step too far but v8::platform::CreateDefaultPlatform() doesn't cut it?

That's why I asked questions. I figured there must be more to it than ease of use.

@zcbenz

This comment has been minimized.

Show comment
Hide comment
@zcbenz

zcbenz Nov 20, 2017

Contributor

Do you call node::Start() or node::Init() or does electron control the event loop in the setup you describe?

@bnoordhuis node::Init() is called in Electron, but we explicitly the ParseArgs() call, this is how Electron started the node inspector agent:
https://github.com/electron/electron/blob/master/atom/browser/node_debugger.cc

Contributor

zcbenz commented Nov 20, 2017

Do you call node::Start() or node::Init() or does electron control the event loop in the setup you describe?

@bnoordhuis node::Init() is called in Electron, but we explicitly the ParseArgs() call, this is how Electron started the node inspector agent:
https://github.com/electron/electron/blob/master/atom/browser/node_debugger.cc

@joyeecheung

This comment has been minimized.

Show comment
Hide comment

jasnell added a commit that referenced this pull request Nov 22, 2017

src: add public API for managing NodePlatform
PR-URL: #16981
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
@jasnell

This comment has been minimized.

Show comment
Hide comment
@jasnell

jasnell Nov 22, 2017

Member

Landed in 2728112

Member

jasnell commented Nov 22, 2017

Landed in 2728112

@jasnell jasnell closed this Nov 22, 2017

@bnoordhuis

This comment has been minimized.

Show comment
Hide comment
@bnoordhuis

bnoordhuis Nov 22, 2017

Member

@jasnell That's a little premature, wouldn't you say? This PR isn't an actual fix for the issue that electron is experiencing.

Member

bnoordhuis commented Nov 22, 2017

@jasnell That's a little premature, wouldn't you say? This PR isn't an actual fix for the issue that electron is experiencing.

@jasnell

This comment has been minimized.

Show comment
Hide comment
@jasnell

jasnell Nov 22, 2017

Member

Possibly, definitely my apologies if so. I did not see any hard objections, it passed CI, it had sign off so I made an assumption. We can certainly revisit if necessary. :-)

Member

jasnell commented Nov 22, 2017

Possibly, definitely my apologies if so. I did not see any hard objections, it passed CI, it had sign off so I made an assumption. We can certainly revisit if necessary. :-)

@bnoordhuis

This comment has been minimized.

Show comment
Hide comment
@bnoordhuis

bnoordhuis Nov 22, 2017

Member

I'll file a new issue and think about whether to roll this back or not.

Member

bnoordhuis commented Nov 22, 2017

I'll file a new issue and think about whether to roll this back or not.

@jasnell

This comment has been minimized.

Show comment
Hide comment
@jasnell

jasnell Nov 22, 2017

Member

sounds good, again, my apologies for landing before it was settled.

Member

jasnell commented Nov 22, 2017

sounds good, again, my apologies for landing before it was settled.

@gibfahn gibfahn removed the baking-for-lts label Jan 18, 2018

msoechting added a commit to hpicgs/node that referenced this pull request Feb 5, 2018

src: add public API for managing NodePlatform
PR-URL: nodejs#16981
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>

msoechting added a commit to hpicgs/node that referenced this pull request Feb 5, 2018

2017-12-12 Version 9.3.0 (Current)
Notable changes:

* async\_hooks:
  - add trace events to async_hooks (Andreas Madsen)
    nodejs#15538
  - add provider types for net server (Andreas Madsen)
    nodejs#17157
* console:
  - console.debug can now be used outside of the inspector
    (Benjamin Zaslavsky) nodejs#17033
* deps:
  - upgrade libuv to 1.18.0 (cjihrig)
    nodejs#17282
  - patch V8 to 6.2.414.46 (Myles Borins)
    nodejs#17206
* module:
  - module.builtinModules will return a list of built in modules
    (Jon Moss) nodejs#16386
* n-api:
  - add helper for addons to get the event loop (Anna Henningsen)
    nodejs#17109
* process:
  - process.setUncaughtExceptionCaptureCallback can now be used to
    customize behavior for `--abort-on-uncaught-exception`
    (Anna Henningsen) nodejs#17159
  - A signal handler is now able to receive the signal code that
    triggered the handler. (Robert Rossmann)
    nodejs#15606
* src:
  - embedders can now use Node::CreatePlatform to create an instance of
    NodePlatform (Cheng Zhao)
    nodejs#16981
* stream:
  - writable.writableHighWaterMark and readable.readableHighWaterMark
    will return the values the stream object was instantiated with
    (Calvin Metcalf) nodejs#12860
* **Added new collaborators**
  * [maclover7](https://github.com/maclover7) Jon Moss
  * [guybedford](https://github.com/guybedford) Guy Bedford
  * [hashseed](https://github.com/hashseed) Yang Guo

PR-URL: nodejs#17631

msoechting added a commit to hpicgs/node that referenced this pull request Feb 7, 2018

src: add public API for managing NodePlatform
PR-URL: nodejs#16981
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>

msoechting added a commit to hpicgs/node that referenced this pull request Feb 7, 2018

2017-12-12 Version 9.3.0 (Current)
Notable changes:

* async\_hooks:
  - add trace events to async_hooks (Andreas Madsen)
    nodejs#15538
  - add provider types for net server (Andreas Madsen)
    nodejs#17157
* console:
  - console.debug can now be used outside of the inspector
    (Benjamin Zaslavsky) nodejs#17033
* deps:
  - upgrade libuv to 1.18.0 (cjihrig)
    nodejs#17282
  - patch V8 to 6.2.414.46 (Myles Borins)
    nodejs#17206
* module:
  - module.builtinModules will return a list of built in modules
    (Jon Moss) nodejs#16386
* n-api:
  - add helper for addons to get the event loop (Anna Henningsen)
    nodejs#17109
* process:
  - process.setUncaughtExceptionCaptureCallback can now be used to
    customize behavior for `--abort-on-uncaught-exception`
    (Anna Henningsen) nodejs#17159
  - A signal handler is now able to receive the signal code that
    triggered the handler. (Robert Rossmann)
    nodejs#15606
* src:
  - embedders can now use Node::CreatePlatform to create an instance of
    NodePlatform (Cheng Zhao)
    nodejs#16981
* stream:
  - writable.writableHighWaterMark and readable.readableHighWaterMark
    will return the values the stream object was instantiated with
    (Calvin Metcalf) nodejs#12860
* **Added new collaborators**
  * [maclover7](https://github.com/maclover7) Jon Moss
  * [guybedford](https://github.com/guybedford) Guy Bedford
  * [hashseed](https://github.com/hashseed) Yang Guo

PR-URL: nodejs#17631

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

2017-12-12 Version 9.3.0 (Current)
Notable changes:

* async\_hooks:
  - add trace events to async_hooks (Andreas Madsen)
    nodejs#15538
  - add provider types for net server (Andreas Madsen)
    nodejs#17157
* console:
  - console.debug can now be used outside of the inspector
    (Benjamin Zaslavsky) nodejs#17033
* deps:
  - upgrade libuv to 1.18.0 (cjihrig)
    nodejs#17282
  - patch V8 to 6.2.414.46 (Myles Borins)
    nodejs#17206
* module:
  - module.builtinModules will return a list of built in modules
    (Jon Moss) nodejs#16386
* n-api:
  - add helper for addons to get the event loop (Anna Henningsen)
    nodejs#17109
* process:
  - process.setUncaughtExceptionCaptureCallback can now be used to
    customize behavior for `--abort-on-uncaught-exception`
    (Anna Henningsen) nodejs#17159
  - A signal handler is now able to receive the signal code that
    triggered the handler. (Robert Rossmann)
    nodejs#15606
* src:
  - embedders can now use Node::CreatePlatform to create an instance of
    NodePlatform (Cheng Zhao)
    nodejs#16981
* stream:
  - writable.writableHighWaterMark and readable.readableHighWaterMark
    will return the values the stream object was instantiated with
    (Calvin Metcalf) nodejs#12860
* **Added new collaborators**
  * [maclover7](https://github.com/maclover7) Jon Moss
  * [guybedford](https://github.com/guybedford) Guy Bedford
  * [hashseed](https://github.com/hashseed) Yang Guo

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

PR-URL: nodejs#17631
@MylesBorins

This comment has been minimized.

Show comment
Hide comment
@MylesBorins

MylesBorins Aug 2, 2018

Member

@codebytere could you backport this to v8.x?

Member

MylesBorins commented Aug 2, 2018

@codebytere could you backport this to v8.x?

codebytere added a commit to codebytere/node that referenced this pull request Aug 2, 2018

src: add public API for managing NodePlatform
PR-URL: nodejs#16981
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>

codebytere added a commit to codebytere/node that referenced this pull request Aug 3, 2018

src: add public API for managing NodePlatform
PR-URL: nodejs#16981
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>

MylesBorins added a commit that referenced this pull request Aug 7, 2018

src: add public API for managing NodePlatform
PR-URL: #16981
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>

MylesBorins added a commit that referenced this pull request Aug 7, 2018

src: add public API for managing NodePlatform
PR-URL: #16981
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>

MylesBorins added a commit that referenced this pull request Aug 9, 2018

src: add public API for managing NodePlatform
PR-URL: #16981
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>

rvagg added a commit that referenced this pull request Aug 16, 2018

src: add public API for managing NodePlatform
PR-URL: #16981
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>

@MylesBorins MylesBorins referenced this pull request Aug 16, 2018

Merged

v8.12.0 proposal #21593

MylesBorins added a commit that referenced this pull request Aug 16, 2018

src: add public API for managing NodePlatform
PR-URL: #16981
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>

MylesBorins added a commit that referenced this pull request Aug 17, 2018

2018-09-04, Version 8.12.0 'Carbon' (LTS)
Notable Changes:

* async_hooks:
  - rename PromiseWrap.parentId (Ali Ijaz Sheikh)
    #18633
  - remove runtime deprecation (Ali Ijaz Sheikh)
    #19517
  - deprecate unsafe emit{Before,After} (Ali Ijaz Sheikh)
    #18513
* cluster:
  - add cwd to cluster.settings (cjihrig)
    #18399
  - support windowsHide option for workers (Todd Wong)
    #17412
* crypto:
  - allow passing null as IV unless required (Tobias Nießen)
    #18644
* deps:
  - upgrade npm to 6.2.0 (Kat Marchán)
    #21592
  - upgrade libuv to 1.19.2 (cjihrig)
    #18918
  - Upgrade node-inspect to 1.11.5 (Jan Krems)
    #21055
* fs,net:
  - support as and as+ flags in stringToFlags() (Sarat Addepalli)
    #18801
  - emit 'ready' for fs streams and sockets (Sameer Srivastava)
    #19408
* http, http2:
  - add options to http.createServer() (Peter Marton)
    #15752
  - add 103 Early Hints status code (Yosuke Furukawa)
    #16644
  - add http fallback options to .createServer (Peter Marton)
    #15752
* n-api:
  - take n-api out of experimental (Michael Dawson)
    #19262
* perf_hooks:
  - add warning when too many entries in the timeline (James M Snell)
    #18087
* src:
  - add public API for managing NodePlatform (Cheng Zhao)
    #16981
  - allow --perf-(basic-)?prof in NODE\_OPTIONS (Leko)
    #17600
  - node internals' postmortem metadata (Matheus Marchini)
    #14901
* tls:
  - expose Finished messages in TLSSocket (Anton Salikhmetov)
    #19102
* **trace_events**:
  - add file pattern cli option (Andreas Madsen)
    #18480
* util:
  - implement util.getSystemErrorName() (Joyee Cheung)
    #18186

PR-URL: #21593

MylesBorins added a commit that referenced this pull request Aug 17, 2018

2018-09-04, Version 8.12.0 'Carbon' (LTS)
Notable Changes:

* async_hooks:
  - rename PromiseWrap.parentId (Ali Ijaz Sheikh)
    #18633
  - remove runtime deprecation (Ali Ijaz Sheikh)
    #19517
  - deprecate unsafe emit{Before,After} (Ali Ijaz Sheikh)
    #18513
* cluster:
  - add cwd to cluster.settings (cjihrig)
    #18399
  - support windowsHide option for workers (Todd Wong)
    #17412
* crypto:
  - allow passing null as IV unless required (Tobias Nießen)
    #18644
* deps:
  - upgrade npm to 6.2.0 (Kat Marchán)
    #21592
  - upgrade libuv to 1.19.2 (cjihrig)
    #18918
  - Upgrade node-inspect to 1.11.5 (Jan Krems)
    #21055
* fs,net:
  - support as and as+ flags in stringToFlags() (Sarat Addepalli)
    #18801
  - emit 'ready' for fs streams and sockets (Sameer Srivastava)
    #19408
* http, http2:
  - add options to http.createServer() (Peter Marton)
    #15752
  - add 103 Early Hints status code (Yosuke Furukawa)
    #16644
  - add http fallback options to .createServer (Peter Marton)
    #15752
* n-api:
  - take n-api out of experimental (Michael Dawson)
    #19262
* perf_hooks:
  - add warning when too many entries in the timeline (James M Snell)
    #18087
* src:
  - add public API for managing NodePlatform (Cheng Zhao)
    #16981
  - allow --perf-(basic-)?prof in NODE\_OPTIONS (Leko)
    #17600
  - node internals' postmortem metadata (Matheus Marchini)
    #14901
* tls:
  - expose Finished messages in TLSSocket (Anton Salikhmetov)
    #19102
* **trace_events**:
  - add file pattern cli option (Andreas Madsen)
    #18480
* util:
  - implement util.getSystemErrorName() (Joyee Cheung)
    #18186

PR-URL: #21593

BethGriggs added a commit to BethGriggs/node that referenced this pull request Aug 29, 2018

2018-09-04, Version 8.12.0 'Carbon' (LTS)
Notable Changes:

* async_hooks:
  - rename PromiseWrap.parentId (Ali Ijaz Sheikh)
    nodejs#18633
  - remove runtime deprecation (Ali Ijaz Sheikh)
    nodejs#19517
  - deprecate unsafe emit{Before,After} (Ali Ijaz Sheikh)
    nodejs#18513
* cluster:
  - add cwd to cluster.settings (cjihrig)
    nodejs#18399
  - support windowsHide option for workers (Todd Wong)
    nodejs#17412
* crypto:
  - allow passing null as IV unless required (Tobias Nießen)
    nodejs#18644
* deps:
  - upgrade npm to 6.2.0 (Kat Marchán)
    nodejs#21592
  - upgrade libuv to 1.19.2 (cjihrig)
    nodejs#18918
  - Upgrade node-inspect to 1.11.5 (Jan Krems)
    nodejs#21055
* fs,net:
  - support as and as+ flags in stringToFlags() (Sarat Addepalli)
    nodejs#18801
  - emit 'ready' for fs streams and sockets (Sameer Srivastava)
    nodejs#19408
* http, http2:
  - add options to http.createServer() (Peter Marton)
    nodejs#15752
  - add 103 Early Hints status code (Yosuke Furukawa)
    nodejs#16644
  - add http fallback options to .createServer (Peter Marton)
    nodejs#15752
* n-api:
  - take n-api out of experimental (Michael Dawson)
    nodejs#19262
* perf_hooks:
  - add warning when too many entries in the timeline (James M Snell)
    nodejs#18087
* src:
  - add public API for managing NodePlatform (Cheng Zhao)
    nodejs#16981
  - allow --perf-(basic-)?prof in NODE\_OPTIONS (Leko)
    nodejs#17600
  - node internals' postmortem metadata (Matheus Marchini)
    nodejs#14901
* tls:
  - expose Finished messages in TLSSocket (Anton Salikhmetov)
    nodejs#19102
* **trace_events**:
  - add file pattern cli option (Andreas Madsen)
    nodejs#18480
* util:
  - implement util.getSystemErrorName() (Joyee Cheung)
    nodejs#18186

PR-URL: nodejs#21593

MylesBorins added a commit that referenced this pull request Sep 3, 2018

2018-09-04, Version 8.12.0 'Carbon' (LTS)
Notable Changes:

* async_hooks:
  - rename PromiseWrap.parentId (Ali Ijaz Sheikh)
    #18633
  - remove runtime deprecation (Ali Ijaz Sheikh)
    #19517
  - deprecate unsafe emit{Before,After} (Ali Ijaz Sheikh)
    #18513
* cluster:
  - add cwd to cluster.settings (cjihrig)
    #18399
  - support windowsHide option for workers (Todd Wong)
    #17412
* crypto:
  - allow passing null as IV unless required (Tobias Nießen)
    #18644
* deps:
  - upgrade npm to 6.4.1 (Kat Marchán)
    #22591
  - upgrade libuv to 1.19.2 (cjihrig)
    #18918
  - Upgrade node-inspect to 1.11.5 (Jan Krems)
    #21055
* fs,net:
  - support as and as+ flags in stringToFlags() (Sarat Addepalli)
    #18801
  - emit 'ready' for fs streams and sockets (Sameer Srivastava)
    #19408
* http, http2:
  - add options to http.createServer() (Peter Marton)
    #15752
  - add 103 Early Hints status code (Yosuke Furukawa)
    #16644
  - add http fallback options to .createServer (Peter Marton)
    #15752
* n-api:
  - take n-api out of experimental (Michael Dawson)
    #19262
* perf_hooks:
  - add warning when too many entries in the timeline (James M Snell)
    #18087
* src:
  - add public API for managing NodePlatform (Cheng Zhao)
    #16981
  - allow --perf-(basic-)?prof in NODE\_OPTIONS (Leko)
    #17600
  - node internals' postmortem metadata (Matheus Marchini)
    #14901
* tls:
  - expose Finished messages in TLSSocket (Anton Salikhmetov)
    #19102
* **trace_events**:
  - add file pattern cli option (Andreas Madsen)
    #18480
* util:
  - implement util.getSystemErrorName() (Joyee Cheung)
    #18186

PR-URL: #21593

@davisjam davisjam referenced this pull request Sep 6, 2018

Open

WIP: Pluggable thread pool #22631

0 of 4 tasks complete

MylesBorins added a commit that referenced this pull request Sep 6, 2018

2018-09-11, Version 8.12.0 'Carbon' (LTS)
Notable Changes:

* async_hooks:
  - rename PromiseWrap.parentId (Ali Ijaz Sheikh)
    #18633
  - remove runtime deprecation (Ali Ijaz Sheikh)
    #19517
  - deprecate unsafe emit{Before,After} (Ali Ijaz Sheikh)
    #18513
* cluster:
  - add cwd to cluster.settings (cjihrig)
    #18399
  - support windowsHide option for workers (Todd Wong)
    #17412
* crypto:
  - allow passing null as IV unless required (Tobias Nießen)
    #18644
* deps:
  - upgrade npm to 6.2.0 (Kat Marchán)
    #21592
  - upgrade libuv to 1.19.2 (cjihrig)
    #18918
  - Upgrade node-inspect to 1.11.5 (Jan Krems)
    #21055
* fs,net:
  - support as and as+ flags in stringToFlags() (Sarat Addepalli)
    #18801
  - emit 'ready' for fs streams and sockets (Sameer Srivastava)
    #19408
* http, http2:
  - add options to http.createServer() (Peter Marton)
    #15752
  - add 103 Early Hints status code (Yosuke Furukawa)
    #16644
  - add http fallback options to .createServer (Peter Marton)
    #15752
* n-api:
  - take n-api out of experimental (Michael Dawson)
    #19262
* perf_hooks:
  - add warning when too many entries in the timeline (James M Snell)
    #18087
* src:
  - add public API for managing NodePlatform (Cheng Zhao)
    #16981
  - allow --perf-(basic-)?prof in NODE\_OPTIONS (Leko)
    #17600
  - node internals' postmortem metadata (Matheus Marchini)
    #14901
* tls:
  - expose Finished messages in TLSSocket (Anton Salikhmetov)
    #19102
* **trace_events**:
  - add file pattern cli option (Andreas Madsen)
    #18480
* util:
  - implement util.getSystemErrorName() (Joyee Cheung)
    #18186

PR-URL: #21593

MylesBorins added a commit that referenced this pull request Sep 6, 2018

2018-09-11, Version 8.12.0 'Carbon' (LTS)
Notable Changes:

* async_hooks:
  - rename PromiseWrap.parentId (Ali Ijaz Sheikh)
    #18633
  - remove runtime deprecation (Ali Ijaz Sheikh)
    #19517
  - deprecate unsafe emit{Before,After} (Ali Ijaz Sheikh)
    #18513
* cluster:
  - add cwd to cluster.settings (cjihrig)
    #18399
  - support windowsHide option for workers (Todd Wong)
    #17412
* crypto:
  - allow passing null as IV unless required (Tobias Nießen)
    #18644
* deps:
  - upgrade npm to 6.2.0 (Kat Marchán)
    #21592
  - upgrade libuv to 1.19.2 (cjihrig)
    #18918
  - Upgrade node-inspect to 1.11.5 (Jan Krems)
    #21055
* fs,net:
  - support as and as+ flags in stringToFlags() (Sarat Addepalli)
    #18801
  - emit 'ready' for fs streams and sockets (Sameer Srivastava)
    #19408
* http, http2:
  - add options to http.createServer() (Peter Marton)
    #15752
  - add 103 Early Hints status code (Yosuke Furukawa)
    #16644
  - add http fallback options to .createServer (Peter Marton)
    #15752
* n-api:
  - take n-api out of experimental (Michael Dawson)
    #19262
* perf_hooks:
  - add warning when too many entries in the timeline (James M Snell)
    #18087
* src:
  - add public API for managing NodePlatform (Cheng Zhao)
    #16981
  - allow --perf-(basic-)?prof in NODE\_OPTIONS (Leko)
    #17600
  - node internals' postmortem metadata (Matheus Marchini)
    #14901
* tls:
  - expose Finished messages in TLSSocket (Anton Salikhmetov)
    #19102
* **trace_events**:
  - add file pattern cli option (Andreas Madsen)
    #18480
* util:
  - implement util.getSystemErrorName() (Joyee Cheung)
    #18186

PR-URL: #21593

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

2018-09-11, Version 8.12.0 'Carbon' (LTS)
Notable Changes:

* async_hooks:
  - rename PromiseWrap.parentId (Ali Ijaz Sheikh)
    #18633
  - remove runtime deprecation (Ali Ijaz Sheikh)
    #19517
  - deprecate unsafe emit{Before,After} (Ali Ijaz Sheikh)
    #18513
* cluster:
  - add cwd to cluster.settings (cjihrig)
    #18399
  - support windowsHide option for workers (Todd Wong)
    #17412
* crypto:
  - allow passing null as IV unless required (Tobias Nießen)
    #18644
* deps:
  - upgrade npm to 6.2.0 (Kat Marchán)
    #21592
  - upgrade libuv to 1.19.2 (cjihrig)
    #18918
  - Upgrade node-inspect to 1.11.5 (Jan Krems)
    #21055
* fs,net:
  - support as and as+ flags in stringToFlags() (Sarat Addepalli)
    #18801
  - emit 'ready' for fs streams and sockets (Sameer Srivastava)
    #19408
* http, http2:
  - add options to http.createServer() (Peter Marton)
    #15752
  - add 103 Early Hints status code (Yosuke Furukawa)
    #16644
  - add http fallback options to .createServer (Peter Marton)
    #15752
* n-api:
  - take n-api out of experimental (Michael Dawson)
    #19262
* perf_hooks:
  - add warning when too many entries in the timeline (James M Snell)
    #18087
* src:
  - add public API for managing NodePlatform (Cheng Zhao)
    #16981
  - allow --perf-(basic-)?prof in NODE\_OPTIONS (Leko)
    #17600
  - node internals' postmortem metadata (Matheus Marchini)
    #14901
* tls:
  - expose Finished messages in TLSSocket (Anton Salikhmetov)
    #19102
* **trace_events**:
  - add file pattern cli option (Andreas Madsen)
    #18480
* util:
  - implement util.getSystemErrorName() (Joyee Cheung)
    #18186

PR-URL: #21593

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

2018-09-11, Version 8.12.0 'Carbon' (LTS)
Notable Changes:

* async_hooks:
  - rename PromiseWrap.parentId (Ali Ijaz Sheikh)
    #18633
  - remove runtime deprecation (Ali Ijaz Sheikh)
    #19517
  - deprecate unsafe emit{Before,After} (Ali Ijaz Sheikh)
    #18513
* cluster:
  - add cwd to cluster.settings (cjihrig)
    #18399
  - support windowsHide option for workers (Todd Wong)
    #17412
* crypto:
  - allow passing null as IV unless required (Tobias Nießen)
    #18644
* deps:
  - upgrade npm to 6.2.0 (Kat Marchán)
    #21592
  - upgrade libuv to 1.19.2 (cjihrig)
    #18918
  - Upgrade node-inspect to 1.11.5 (Jan Krems)
    #21055
* fs,net:
  - support as and as+ flags in stringToFlags() (Sarat Addepalli)
    #18801
  - emit 'ready' for fs streams and sockets (Sameer Srivastava)
    #19408
* http, http2:
  - add options to http.createServer() (Peter Marton)
    #15752
  - add 103 Early Hints status code (Yosuke Furukawa)
    #16644
  - add http fallback options to .createServer (Peter Marton)
    #15752
* n-api:
  - take n-api out of experimental (Michael Dawson)
    #19262
* perf_hooks:
  - add warning when too many entries in the timeline (James M Snell)
    #18087
* src:
  - add public API for managing NodePlatform (Cheng Zhao)
    #16981
  - allow --perf-(basic-)?prof in NODE\_OPTIONS (Leko)
    #17600
  - node internals' postmortem metadata (Matheus Marchini)
    #14901
* tls:
  - expose Finished messages in TLSSocket (Anton Salikhmetov)
    #19102
* **trace_events**:
  - add file pattern cli option (Andreas Madsen)
    #18480
* util:
  - implement util.getSystemErrorName() (Joyee Cheung)
    #18186

PR-URL: #21593

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

2018-09-11, Version 8.12.0 'Carbon' (LTS)
Notable Changes:

* async_hooks:
  - rename PromiseWrap.parentId (Ali Ijaz Sheikh)
    #18633
  - remove runtime deprecation (Ali Ijaz Sheikh)
    #19517
  - deprecate unsafe emit{Before,After} (Ali Ijaz Sheikh)
    #18513
* cluster:
  - add cwd to cluster.settings (cjihrig)
    #18399
  - support windowsHide option for workers (Todd Wong)
    #17412
* crypto:
  - allow passing null as IV unless required (Tobias Nießen)
    #18644
* deps:
  - upgrade npm to 6.2.0 (Kat Marchán)
    #21592
  - upgrade libuv to 1.19.2 (cjihrig)
    #18918
  - Upgrade node-inspect to 1.11.5 (Jan Krems)
    #21055
* fs,net:
  - support as and as+ flags in stringToFlags() (Sarat Addepalli)
    #18801
  - emit 'ready' for fs streams and sockets (Sameer Srivastava)
    #19408
* http, http2:
  - add options to http.createServer() (Peter Marton)
    #15752
  - add 103 Early Hints status code (Yosuke Furukawa)
    #16644
  - add http fallback options to .createServer (Peter Marton)
    #15752
* n-api:
  - take n-api out of experimental (Michael Dawson)
    #19262
* perf_hooks:
  - add warning when too many entries in the timeline (James M Snell)
    #18087
* src:
  - add public API for managing NodePlatform (Cheng Zhao)
    #16981
  - allow --perf-(basic-)?prof in NODE\_OPTIONS (Leko)
    #17600
  - node internals' postmortem metadata (Matheus Marchini)
    #14901
* tls:
  - expose Finished messages in TLSSocket (Anton Salikhmetov)
    #19102
* **trace_events**:
  - add file pattern cli option (Andreas Madsen)
    #18480
* util:
  - implement util.getSystemErrorName() (Joyee Cheung)
    #18186

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