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

http2: add altsvc support #17917

Closed
wants to merge 2 commits into
base: master
from

Conversation

Projects
None yet
6 participants
@jasnell
Member

jasnell commented Dec 29, 2017

Add support for sending and receiving ALTSVC frames.

As defined by https://tools.ietf.org/html/rfc7838

ping @nodejs/http2

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)

http2

@addaleax

LGTM

I would be open to spelling out the name in the API as alternateService or similar

Show outdated Hide outdated src/node_http2.cc Outdated
Show outdated Hide outdated lib/internal/http2/core.js Outdated
Show outdated Hide outdated src/node_http2.cc Outdated
Show outdated Hide outdated doc/api/http2.md Outdated
@jasnell

This comment has been minimized.

Show comment
Hide comment
@jasnell

jasnell Dec 30, 2017

Member

@addaleax ... renamed the public API function as suggested.

Member

jasnell commented Dec 30, 2017

@addaleax ... renamed the public API function as suggested.

@TimothyGu

Mostly nits. Thanks for doing this.

Show outdated Hide outdated lib/internal/http2/core.js Outdated
Show outdated Hide outdated doc/api/http2.md Outdated
### Class: ClientHttp2Session
<!-- YAML
added: v8.4.0
-->
#### Event: 'altsvc'

This comment has been minimized.

@TimothyGu

TimothyGu Dec 30, 2017

Member

I sort of feel this name should correspond with the name of the method on the server side. I’m ambivalent about whether alternateService is a better name than altsvc though: I feel eventually most people would refer to it as ALTSVC (HTTP/2 frame) or Alt-Svc (HTTP/1.1 header), while technically the name of the header is alternateServices.

@TimothyGu

TimothyGu Dec 30, 2017

Member

I sort of feel this name should correspond with the name of the method on the server side. I’m ambivalent about whether alternateService is a better name than altsvc though: I feel eventually most people would refer to it as ALTSVC (HTTP/2 frame) or Alt-Svc (HTTP/1.1 header), while technically the name of the header is alternateServices.

This comment has been minimized.

@jasnell

jasnell Dec 30, 2017

Member

@addaleax ... given that you were the one that made the original rename suggestion, what do you think here?

@jasnell

jasnell Dec 30, 2017

Member

@addaleax ... given that you were the one that made the original rename suggestion, what do you think here?

This comment has been minimized.

@addaleax

addaleax Dec 30, 2017

Member

@jasnell If everybody here agrees that it’s going to be referred to as ALTSVC anyway, yea, probably best to stick with it?

Either way, yes, +1 for being consistent :)

@addaleax

addaleax Dec 30, 2017

Member

@jasnell If everybody here agrees that it’s going to be referred to as ALTSVC anyway, yea, probably best to stick with it?

Either way, yes, +1 for being consistent :)

This comment has been minimized.

@jasnell

jasnell Dec 30, 2017

Member

I think altsvc is definitely going to be the most common given the way the header and frame type are defined. I'll switch the API call back :-)

@jasnell

jasnell Dec 30, 2017

Member

I think altsvc is definitely going to be the most common given the way the header and frame type are defined. I'll switch the API call back :-)

int32_t id = args[0]->Int32Value(env->context()).ToChecked();
// origin and value are both required to be ASCII, handle them as such.

This comment has been minimized.

@TimothyGu

TimothyGu Dec 30, 2017

Member

Is this requirement enforced for the value string? If not then we should, to combat the HTTP header encoding debacle that only recently got rectified. In fact IMO we should verify that it only consists of HTTP tokens, similar to the HTTP header checks.

Origin is fine because it’s guaranteed to be ASCII by the URL parser.

@TimothyGu

TimothyGu Dec 30, 2017

Member

Is this requirement enforced for the value string? If not then we should, to combat the HTTP header encoding debacle that only recently got rectified. In fact IMO we should verify that it only consists of HTTP tokens, similar to the HTTP header checks.

Origin is fine because it’s guaranteed to be ASCII by the URL parser.

This comment has been minimized.

@jasnell

jasnell Dec 30, 2017

Member

The value is not limited to token. It will contain a sequence of uri-host constructs (host:port) within quoted strings. At the C++ level, we write these out as one-byte strings so there is at least some level of enforcement there. And on the receiving side, these are treated as one byte strings so the value will be received correctly. Anyone using extended characters will just see those get corrupted. Because of the performance implications and the fact that this is a non-critical API, I don't think we need to validate every character.... although, it would be good to extend the documentation on this a bit more -- as you said, not everyone likes to read RFCs :-)

@jasnell

jasnell Dec 30, 2017

Member

The value is not limited to token. It will contain a sequence of uri-host constructs (host:port) within quoted strings. At the C++ level, we write these out as one-byte strings so there is at least some level of enforcement there. And on the receiving side, these are treated as one byte strings so the value will be received correctly. Anyone using extended characters will just see those get corrupted. Because of the performance implications and the fact that this is a non-critical API, I don't think we need to validate every character.... although, it would be good to extend the documentation on this a bit more -- as you said, not everyone likes to read RFCs :-)

This comment has been minimized.

@TimothyGu

TimothyGu Dec 31, 2017

Member

The additional documentation is always a plus.

Anyone using extended characters will just see those get corrupted.

Well that’s certainly not the best of outcomes. If this is truly a non-critical API, I think we should ensure correctness above performance. Good call on quotation marks though, and in that case I think simply using a /[\x00-\x7f]/ check should be enough.

@TimothyGu

TimothyGu Dec 31, 2017

Member

The additional documentation is always a plus.

Anyone using extended characters will just see those get corrupted.

Well that’s certainly not the best of outcomes. If this is truly a non-critical API, I think we should ensure correctness above performance. Good call on quotation marks though, and in that case I think simply using a /[\x00-\x7f]/ check should be enough.

This comment has been minimized.

@TimothyGu

TimothyGu Dec 31, 2017

Member

There may also be some security implications involved, when '\uff20' is treated identically to `'\u0020' by the V8 API.

@TimothyGu

TimothyGu Dec 31, 2017

Member

There may also be some security implications involved, when '\uff20' is treated identically to `'\u0020' by the V8 API.

This comment has been minimized.

@jasnell

jasnell Dec 31, 2017

Member

Ok, added a check

@jasnell

jasnell Dec 31, 2017

Member

Ok, added a check

@jasnell

This comment has been minimized.

Show comment
Hide comment
@jasnell

jasnell Dec 30, 2017

Member

@TimothyGu @addaleax ... updated! Went with the two argument signature and reworked the error codes a bit. Also extended the documentation to be more useful. PTAL

Member

jasnell commented Dec 30, 2017

@TimothyGu @addaleax ... updated! Went with the two argument signature and reworked the error codes a bit. Also extended the documentation to be more useful. PTAL

@jasnell jasnell referenced this pull request Dec 30, 2017

Open

[Tracking Issue]: Some http2 todos #17746

9 of 11 tasks complete
@jasnell

This comment has been minimized.

Show comment
Hide comment
Show outdated Hide outdated lib/internal/http2/core.js Outdated
The format of the `alt` parameter is strictly defined by [RFC 7838][] as an
ASCII string containing a comma-delimited list of "alternative" protocols
associated with a specific host and port.

This comment has been minimized.

@TimothyGu

TimothyGu Jan 1, 2018

Member

Maybe this could mention the clear special value as well.

@TimothyGu

TimothyGu Jan 1, 2018

Member

Maybe this could mention the clear special value as well.

This comment has been minimized.

@jasnell

jasnell Jan 1, 2018

Member

Yeah, good idea

@jasnell

jasnell Jan 1, 2018

Member

Yeah, good idea

@jasnell jasnell added the http2 label Jan 2, 2018

@TimothyGu

LGTM.

Show outdated Hide outdated lib/internal/http2/core.js Outdated
Show outdated Hide outdated doc/api/http2.md Outdated
let origin;
if (typeof originOrStream === 'string') {
origin = (new URL(originOrStream)).origin;

This comment has been minimized.

@mcollina

mcollina Jan 2, 2018

Member

I think we would be better of in accepting a URL object rather than a string, or an object with an origin  property. The typical usage is to send this down for every session, and passing an object allows a user to avoid parsing a URL for every request.

@mcollina

mcollina Jan 2, 2018

Member

I think we would be better of in accepting a URL object rather than a string, or an object with an origin  property. The typical usage is to send this down for every session, and passing an object allows a user to avoid parsing a URL for every request.

This comment has been minimized.

@jasnell

jasnell Jan 2, 2018

Member

Let's support both. If originOrStream is passed in as an object with an origin property, it will be used. This risks, of course, the value not being strictly ASCII, but we can document that requirement.

@jasnell

jasnell Jan 2, 2018

Member

Let's support both. If originOrStream is passed in as an object with an origin property, it will be used. This risks, of course, the value not being strictly ASCII, but we can document that requirement.

jasnell added some commits Dec 29, 2017

http2: add altsvc support
Add support for sending and receiving ALTSVC frames.
@jasnell

This comment has been minimized.

Show comment
Hide comment
@jasnell

jasnell Jan 2, 2018

Member

@mcollina ... updated to support passing in URL objects and objects-with-origin. Updated docs and test. PTAL

Member

jasnell commented Jan 2, 2018

@mcollina ... updated to support passing in URL objects and objects-with-origin. Updated docs and test. PTAL

@jasnell

This comment has been minimized.

Show comment
Hide comment
@jasnell

This comment has been minimized.

Show comment
Hide comment
@jasnell

jasnell Jan 3, 2018

Member

CI is good. One failure on freebsd is unrelated.

Member

jasnell commented Jan 3, 2018

CI is good. One failure on freebsd is unrelated.

@jasnell

This comment has been minimized.

Show comment
Hide comment
@jasnell

jasnell Jan 3, 2018

Member

@mcollina ... I plan to get this landed in the morning. Can you take one final look?

Member

jasnell commented Jan 3, 2018

@mcollina ... I plan to get this landed in the morning. Can you take one final look?

@mcollina

LGTM

jasnell added a commit that referenced this pull request Jan 3, 2018

http2: add altsvc support
Add support for sending and receiving ALTSVC frames.

PR-URL: #17917
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
@jasnell

This comment has been minimized.

Show comment
Hide comment
@jasnell

jasnell Jan 3, 2018

Member

Landed in ce22d6f

Member

jasnell commented Jan 3, 2018

Landed in ce22d6f

@jasnell jasnell closed this Jan 3, 2018

jasnell added a commit to jasnell/node that referenced this pull request Jan 9, 2018

http2: add altsvc support
Add support for sending and receiving ALTSVC frames.

PR-URL: nodejs#17917
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>

MylesBorins added a commit to jasnell/node that referenced this pull request Jan 9, 2018

http2: add altsvc support
Add support for sending and receiving ALTSVC frames.

PR-URL: nodejs#17917
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>

MylesBorins added a commit to jasnell/node that referenced this pull request Jan 9, 2018

http2: add altsvc support
Add support for sending and receiving ALTSVC frames.

PR-URL: nodejs#17917
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>

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

http2: add altsvc support
Add support for sending and receiving ALTSVC frames.

Backport-PR-URL: #18050
PR-URL: #17917
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>

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

2019-01-10 Version 9.4.0 (Current)
Notable change:

* async_hooks:
  - deprecate AsyncHooks Sensitive API and runInAsyncIdScope. Neither
    API were documented. (Andreas Madsen)
    #16972
* deps:
  - update nghttp2 to 1.29.0 (James M Snell)
    #17908
  - upgrade npm to 5.6.0 (Kat Marchán)
    #17535
  - cherry-pick 50f7455 from upstream V8 (Michaël Zasso)
    #16591
* events:
  - remove reaches into _events internals (Anatoli Papirovski)
    #17440
* http:
  - add rawPacket in err of `clientError` event (XadillaX)
    #17672
* http2:
  - implement maxSessionMemory (James M Snell)
    #17967
  - add initial support for originSet (James M Snell)
    #17935
  - add altsvc support (James M Snell)
    #17917
  - perf_hooks integration (James M Snell)
    #17906
* net:
  - remove Socket.prototype.write (Anna Henningsen)
    #17644
  - remove Socket.prototype.listen (Ruben Bridgewater)
    #13735
* repl:
  - show lexically scoped vars in tab completion (Michaël Zasso)
    #16591
* stream:
  - rm {writeable/readable}State.length (Calvin Metcalf)
    #12857
  - add flow and buffer properties to streams (Calvin Metcalf)
    #12855
* util:
  - allow wildcards in NODE_DEBUG variable (Tyler)
    #17609
* zlib:
  - add ArrayBuffer support (Jem Bezooyen)
    #16042
* Addedew collaborator**
  - [starkwang](https://github.com/starkwang) Weijia Wang
* Addedew TSC member**
  - [danbev](https://github.com/danbev) Daniel Bevenius

PR-URL: Coming Soon

@MylesBorins MylesBorins referenced this pull request Jan 10, 2018

Merged

v9.4.0 proposal #18069

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

2019-01-10 Version 9.4.0 (Current)
Notable change:

* async_hooks:
  - deprecate AsyncHooks Sensitive API and runInAsyncIdScope. Neither
    API were documented. (Andreas Madsen)
    #16972
* deps:
  - update nghttp2 to 1.29.0 (James M Snell)
    #17908
  - upgrade npm to 5.6.0 (Kat Marchán)
    #17535
  - cherry-pick 50f7455 from upstream V8 (Michaël Zasso)
    #16591
* events:
  - remove reaches into _events internals (Anatoli Papirovski)
    #17440
* http:
  - add rawPacket in err of `clientError` event (XadillaX)
    #17672
* http2:
  - implement maxSessionMemory (James M Snell)
    #17967
  - add initial support for originSet (James M Snell)
    #17935
  - add altsvc support (James M Snell)
    #17917
  - perf_hooks integration (James M Snell)
    #17906
* net:
  - remove Socket.prototype.write (Anna Henningsen)
    #17644
  - remove Socket.prototype.listen (Ruben Bridgewater)
    #13735
* repl:
  - show lexically scoped vars in tab completion (Michaël Zasso)
    #16591
* stream:
  - rm {writeable/readable}State.length (Calvin Metcalf)
    #12857
  - add flow and buffer properties to streams (Calvin Metcalf)
    #12855
* util:
  - allow wildcards in NODE_DEBUG variable (Tyler)
    #17609
* zlib:
  - add ArrayBuffer support (Jem Bezooyen)
    #16042
* Addedew collaborator**
  - [starkwang](https://github.com/starkwang) Weijia Wang
* Addedew TSC member**
  - [danbev](https://github.com/danbev) Daniel Bevenius

PR-URL: #18069

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

2019-01-10 Version 9.4.0 (Current)
Notable change:

* async_hooks:
  - deprecate AsyncHooks Sensitive API and runInAsyncIdScope. Neither
    API were documented. (Andreas Madsen)
    #16972
* deps:
  - update nghttp2 to 1.29.0 (James M Snell)
    #17908
  - upgrade npm to 5.6.0 (Kat Marchán)
    #17535
  - cherry-pick 50f7455 from upstream V8 (Michaël Zasso)
    #16591
* events:
  - remove reaches into _events internals (Anatoli Papirovski)
    #17440
* http:
  - add rawPacket in err of `clientError` event (XadillaX)
    #17672
* http2:
  - implement maxSessionMemory (James M Snell)
    #17967
  - add initial support for originSet (James M Snell)
    #17935
  - add altsvc support (James M Snell)
    #17917
  - perf_hooks integration (James M Snell)
    #17906
  - Refactoring and cleanup of Http2Session and Http2Stream destroy
    (James M Snell) #17406
* net:
  - remove Socket.prototype.write (Anna Henningsen)
    #17644
  - remove Socket.prototype.listen (Ruben Bridgewater)
    #13735
* repl:
  - show lexically scoped vars in tab completion (Michaël Zasso)
    #16591
* stream:
  - rm {writeable/readable}State.length (Calvin Metcalf)
    #12857
  - add flow and buffer properties to streams (Calvin Metcalf)
    #12855
* util:
  - allow wildcards in NODE_DEBUG variable (Tyler)
    #17609
* zlib:
  - add ArrayBuffer support (Jem Bezooyen)
    #16042
* Addedew collaborator**
  - [starkwang](https://github.com/starkwang) Weijia Wang
* Addedew TSC member**
  - [danbev](https://github.com/danbev) Daniel Bevenius

PR-URL: #18069

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

2019-01-10 Version 9.4.0 (Current)
Notable change:

* async_hooks:
  - deprecate AsyncHooks Sensitive API and runInAsyncIdScope. Neither
    API were documented. (Andreas Madsen)
    #16972
* deps:
  - update nghttp2 to 1.29.0 (James M Snell)
    #17908
  - upgrade npm to 5.6.0 (Kat Marchán)
    #17535
  - cherry-pick 50f7455 from upstream V8 (Michaël Zasso)
    #16591
* events:
  - remove reaches into _events internals (Anatoli Papirovski)
    #17440
* http:
  - add rawPacket in err of `clientError` event (XadillaX)
    #17672
* http2:
  - implement maxSessionMemory (James M Snell)
    #17967
  - add initial support for originSet (James M Snell)
    #17935
  - add altsvc support (James M Snell)
    #17917
  - perf_hooks integration (James M Snell)
    #17906
  - Refactoring and cleanup of Http2Session and Http2Stream destroy
    (James M Snell) #17406
* net:
  - remove Socket.prototype.write (Anna Henningsen)
    #17644
  - remove Socket.prototype.listen (Ruben Bridgewater)
    #13735
* repl:
  - show lexically scoped vars in tab completion (Michaël Zasso)
    #16591
* stream:
  - rm {writeable/readable}State.length (Calvin Metcalf)
    #12857
  - add flow and buffer properties to streams (Calvin Metcalf)
    #12855
* util:
  - allow wildcards in NODE_DEBUG variable (Tyler)
    #17609
* zlib:
  - add ArrayBuffer support (Jem Bezooyen)
    #16042
* Addedew collaborator**
  - [starkwang](https://github.com/starkwang) Weijia Wang
* Addedew TSC member**
  - [danbev](https://github.com/danbev) Daniel Bevenius

PR-URL: #18069

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

http2: add altsvc support
Add support for sending and receiving ALTSVC frames.

Backport-PR-URL: #18050
PR-URL: #17917
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>

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

2019-01-10 Version 9.4.0 (Current)
Notable change:

* async_hooks:
  - deprecate AsyncHooks Sensitive API and runInAsyncIdScope. Neither
    API were documented. (Andreas Madsen)
    #16972
* deps:
  - update nghttp2 to 1.29.0 (James M Snell)
    #17908
  - upgrade npm to 5.6.0 (Kat Marchán)
    #17535
* events:
  - remove reaches into _events internals (Anatoli Papirovski)
    #17440
* http:
  - add rawPacket in err of `clientError` event (XadillaX)
    #17672
* http2:
  - implement maxSessionMemory (James M Snell)
    #17967
  - add initial support for originSet (James M Snell)
    #17935
  - add altsvc support (James M Snell)
    #17917
  - perf_hooks integration (James M Snell)
    #17906
  - Refactoring and cleanup of Http2Session and Http2Stream destroy
    (James M Snell) #17406
* net:
  - remove Socket.prototype.write (Anna Henningsen)
    #17644
  - remove Socket.prototype.listen (Ruben Bridgewater)
    #13735
* stream:
  - rm {writeable/readable}State.length (Calvin Metcalf)
    #12857
  - add flow and buffer properties to streams (Calvin Metcalf)
    #12855
* util:
  - allow wildcards in NODE_DEBUG variable (Tyler)
    #17609
* zlib:
  - add ArrayBuffer support (Jem Bezooyen)
    #16042
* Addedew collaborator**
  - [starkwang](https://github.com/starkwang) Weijia Wang
* Addedew TSC member**
  - [danbev](https://github.com/danbev) Daniel Bevenius

PR-URL: #18069

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

2019-01-10 Version 9.4.0 (Current)
Notable change:

* async_hooks:
  - deprecate AsyncHooks Sensitive API and runInAsyncIdScope. Neither
    API were documented. (Andreas Madsen)
    #16972
* deps:
  - update nghttp2 to 1.29.0 (James M Snell)
    #17908
  - upgrade npm to 5.6.0 (Kat Marchán)
    #17535
* events:
  - remove reaches into _events internals (Anatoli Papirovski)
    #17440
* http:
  - add rawPacket in err of `clientError` event (XadillaX)
    #17672
* http2:
  - implement maxSessionMemory (James M Snell)
    #17967
  - add initial support for originSet (James M Snell)
    #17935
  - add altsvc support (James M Snell)
    #17917
  - perf_hooks integration (James M Snell)
    #17906
  - Refactoring and cleanup of Http2Session and Http2Stream destroy
    (James M Snell) #17406
* net:
  - remove Socket.prototype.write (Anna Henningsen)
    #17644
  - remove Socket.prototype.listen (Ruben Bridgewater)
    #13735
* stream:
  - rm {writeable/readable}State.length (Calvin Metcalf)
    #12857
  - add flow and buffer properties to streams (Calvin Metcalf)
    #12855
* util:
  - allow wildcards in NODE_DEBUG variable (Tyler)
    #17609
* zlib:
  - add ArrayBuffer support (Jem Bezooyen)
    #16042
* Addedew collaborator**
  - [starkwang](https://github.com/starkwang) Weijia Wang
* Addedew TSC member**
  - [danbev](https://github.com/danbev) Daniel Bevenius

PR-URL: #18069

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

2019-01-10 Version 9.4.0 (Current)
Notable change:

* async_hooks:
  - deprecate AsyncHooks Sensitive API and runInAsyncIdScope. Neither
    API were documented. (Andreas Madsen)
    #16972
* deps:
  - update nghttp2 to 1.29.0 (James M Snell)
    #17908
  - upgrade npm to 5.6.0 (Kat Marchán)
    #17535
  - cherry-pick 50f7455 from upstream V8 (Michaël Zasso)
    #16591
* events:
  - remove reaches into _events internals (Anatoli Papirovski)
    #17440
* http:
  - add rawPacket in err of `clientError` event (XadillaX)
    #17672
* http2:
  - implement maxSessionMemory (James M Snell)
    #17967
  - add initial support for originSet (James M Snell)
    #17935
  - add altsvc support (James M Snell)
    #17917
  - perf_hooks integration (James M Snell)
    #17906
  - Refactoring and cleanup of Http2Session and Http2Stream destroy
    (James M Snell) #17406
* net:
  - remove Socket.prototype.write (Anna Henningsen)
    #17644
  - remove Socket.prototype.listen (Ruben Bridgewater)
    #13735
* repl:
  - show lexically scoped vars in tab completion (Michaël Zasso)
    #16591
* stream:
  - rm {writeable/readable}State.length (Calvin Metcalf)
    #12857
  - add flow and buffer properties to streams (Calvin Metcalf)
    #12855
* util:
  - allow wildcards in NODE_DEBUG variable (Tyler)
    #17609
* zlib:
  - add ArrayBuffer support (Jem Bezooyen)
    #16042
* Addedew collaborator**
  - [starkwang](https://github.com/starkwang) Weijia Wang
* Addedew TSC member**
  - [danbev](https://github.com/danbev) Daniel Bevenius

PR-URL: #18069

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

2019-01-10 Version 9.4.0 (Current)
Notable change:

* async_hooks:
  - deprecate AsyncHooks Sensitive API and runInAsyncIdScope. Neither
    API were documented. (Andreas Madsen)
    #16972
* deps:
  - update nghttp2 to 1.29.0 (James M Snell)
    #17908
  - upgrade npm to 5.6.0 (Kat Marchán)
    #17535
  - cherry-pick 50f7455 from upstream V8 (Michaël Zasso)
    #16591
* events:
  - remove reaches into _events internals (Anatoli Papirovski)
    #17440
* http:
  - add rawPacket in err of `clientError` event (XadillaX)
    #17672
* http2:
  - implement maxSessionMemory (James M Snell)
    #17967
  - add initial support for originSet (James M Snell)
    #17935
  - add altsvc support (James M Snell)
    #17917
  - perf_hooks integration (James M Snell)
    #17906
  - Refactoring and cleanup of Http2Session and Http2Stream destroy
    (James M Snell) #17406
* net:
  - remove Socket.prototype.write (Anna Henningsen)
    #17644
  - remove Socket.prototype.listen (Ruben Bridgewater)
    #13735
* repl:
  - show lexically scoped vars in tab completion (Michaël Zasso)
    #16591
* stream:
  - rm {writeable/readable}State.length (Calvin Metcalf)
    #12857
  - add flow and buffer properties to streams (Calvin Metcalf)
    #12855
* util:
  - allow wildcards in NODE_DEBUG variable (Tyler)
    #17609
* zlib:
  - add ArrayBuffer support (Jem Bezooyen)
    #16042
* Addedew collaborator**
  - [starkwang](https://github.com/starkwang) Weijia Wang
* Addedew TSC member**
  - [danbev](https://github.com/danbev) Daniel Bevenius

PR-URL: #18069

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

http2: add altsvc support
Add support for sending and receiving ALTSVC frames.

PR-URL: nodejs#17917
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>

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

2019-01-10 Version 9.4.0 (Current)
Notable change:

* async_hooks:
  - deprecate AsyncHooks Sensitive API and runInAsyncIdScope. Neither
    API were documented. (Andreas Madsen)
    nodejs#16972
* deps:
  - update nghttp2 to 1.29.0 (James M Snell)
    nodejs#17908
  - upgrade npm to 5.6.0 (Kat Marchán)
    nodejs#17535
  - cherry-pick 50f7455 from upstream V8 (Michaël Zasso)
    nodejs#16591
* events:
  - remove reaches into _events internals (Anatoli Papirovski)
    nodejs#17440
* http:
  - add rawPacket in err of `clientError` event (XadillaX)
    nodejs#17672
* http2:
  - implement maxSessionMemory (James M Snell)
    nodejs#17967
  - add initial support for originSet (James M Snell)
    nodejs#17935
  - add altsvc support (James M Snell)
    nodejs#17917
  - perf_hooks integration (James M Snell)
    nodejs#17906
  - Refactoring and cleanup of Http2Session and Http2Stream destroy
    (James M Snell) nodejs#17406
* net:
  - remove Socket.prototype.write (Anna Henningsen)
    nodejs#17644
  - remove Socket.prototype.listen (Ruben Bridgewater)
    nodejs#13735
* repl:
  - show lexically scoped vars in tab completion (Michaël Zasso)
    nodejs#16591
* stream:
  - rm {writeable/readable}State.length (Calvin Metcalf)
    nodejs#12857
  - add flow and buffer properties to streams (Calvin Metcalf)
    nodejs#12855
* util:
  - allow wildcards in NODE_DEBUG variable (Tyler)
    nodejs#17609
* zlib:
  - add ArrayBuffer support (Jem Bezooyen)
    nodejs#16042
* Addedew collaborator**
  - [starkwang](https://github.com/starkwang) Weijia Wang
* Addedew TSC member**
  - [danbev](https://github.com/danbev) Daniel Bevenius

PR-URL: nodejs#18069

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

http2: add altsvc support
Add support for sending and receiving ALTSVC frames.

PR-URL: nodejs#17917
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>

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

2019-01-10 Version 9.4.0 (Current)
Notable change:

* async_hooks:
  - deprecate AsyncHooks Sensitive API and runInAsyncIdScope. Neither
    API were documented. (Andreas Madsen)
    nodejs#16972
* deps:
  - update nghttp2 to 1.29.0 (James M Snell)
    nodejs#17908
  - upgrade npm to 5.6.0 (Kat Marchán)
    nodejs#17535
  - cherry-pick 50f7455 from upstream V8 (Michaël Zasso)
    nodejs#16591
* events:
  - remove reaches into _events internals (Anatoli Papirovski)
    nodejs#17440
* http:
  - add rawPacket in err of `clientError` event (XadillaX)
    nodejs#17672
* http2:
  - implement maxSessionMemory (James M Snell)
    nodejs#17967
  - add initial support for originSet (James M Snell)
    nodejs#17935
  - add altsvc support (James M Snell)
    nodejs#17917
  - perf_hooks integration (James M Snell)
    nodejs#17906
  - Refactoring and cleanup of Http2Session and Http2Stream destroy
    (James M Snell) nodejs#17406
* net:
  - remove Socket.prototype.write (Anna Henningsen)
    nodejs#17644
  - remove Socket.prototype.listen (Ruben Bridgewater)
    nodejs#13735
* repl:
  - show lexically scoped vars in tab completion (Michaël Zasso)
    nodejs#16591
* stream:
  - rm {writeable/readable}State.length (Calvin Metcalf)
    nodejs#12857
  - add flow and buffer properties to streams (Calvin Metcalf)
    nodejs#12855
* util:
  - allow wildcards in NODE_DEBUG variable (Tyler)
    nodejs#17609
* zlib:
  - add ArrayBuffer support (Jem Bezooyen)
    nodejs#16042
* Addedew collaborator**
  - [starkwang](https://github.com/starkwang) Weijia Wang
* Addedew TSC member**
  - [danbev](https://github.com/danbev) Daniel Bevenius

PR-URL: nodejs#18069

kjin added a commit to kjin/node that referenced this pull request Apr 28, 2018

http2: add altsvc support
Add support for sending and receiving ALTSVC frames.

Backport-PR-URL: nodejs#18050
PR-URL: nodejs#17917
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>

kjin added a commit to kjin/node that referenced this pull request Apr 28, 2018

http2: add altsvc support
Add support for sending and receiving ALTSVC frames.

Backport-PR-URL: nodejs#18050
PR-URL: nodejs#17917
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>

kjin added a commit to kjin/node that referenced this pull request May 1, 2018

http2: add altsvc support
This commit also includes prerequisite error definitions
from c75f87c and 1698c8e.

Add support for sending and receiving ALTSVC frames.

Backport-PR-URL: nodejs#18050
PR-URL: nodejs#17917
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>

MylesBorins added a commit that referenced this pull request May 2, 2018

http2: add altsvc support
This commit also includes prerequisite error definitions
from c75f87c and 1698c8e.

Add support for sending and receiving ALTSVC frames.

Backport-PR-URL: #18050
Backport-PR-URL: #20456
PR-URL: #17917
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>

@MylesBorins MylesBorins referenced this pull request May 2, 2018

Merged

v8.11.2 proposal #20478

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment