Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v10.17.0 proposal #29875

Merged
merged 46 commits into from
Oct 22, 2019
Merged

v10.17.0 proposal #29875

merged 46 commits into from
Oct 22, 2019

Conversation

BethGriggs
Copy link
Member

@BethGriggs BethGriggs commented Oct 7, 2019

2019-10-22, Version 10.17.0 'Dubnium' (LTS), @BethGriggs

Notable changes

  • deps: upgrade openssl sources to 1.1.1d (Sam Roberts) #29921
  • dns: remove dns.promises experimental warning (cjihrig) #26592
  • fs: remove experimental warning for fs.promises (Anna Henningsen) #26581
  • n-api: mark version 5 N-APIs as stable (Gabriel Schulhof) #29401
  • stream: make Symbol.asyncIterator support stable (Matteo Collina) #26989

Commits

  • [f1a5a36961] - build: update Windows icon to Feb 2016 rebrand (Mike MacCana) #28524
  • [4f0f12c3d6] - crypto: fix rsa key gen with non-default exponent (Sam Roberts) #27092
  • [7735824d2c] - (SEMVER-MINOR) crypto: increase maxmem range from 32 to 53 bits (Tobias Nießen) #28799
  • [333963ef73] - deps: dlloads node static linked executable (Luca Lindhorst) #28045
  • [7202792ad3] - deps: update archs files for OpenSSL-1.1.1d (Sam Roberts) #29921
  • [9c393f1d02] - deps: upgrade openssl sources to 1.1.1d (Sam Roberts) #29921
  • [7f48519413] - deps: do not link against librt (Sam Roberts) #29729
  • [fcc22d31a0] - (SEMVER-MINOR) dns: make dns.promises enumerable (cjihrig) #26592
  • [fa27aac5fb] - (SEMVER-MINOR) dns: remove dns.promises experimental warning (cjihrig) #26592
  • [90fb146933] - (SEMVER-MINOR) doc: move dns.promises to stable status (cjihrig) #26592
  • [65e68d1f4f] - doc: add documentation for stream readableFlowing (Chetan Karande) #29506
  • [c285e694e2] - doc: fix the links tls default version sections (Chetan Karande) #28827
  • [cef5010135] - doc: describe tls.DEFAULT_MIN_VERSION/_MAX_VERSION (Chetan Karande) #28827
  • [15c2eb0e58] - doc: update N-API version matrix (Gabriel Schulhof) #29461
  • [a3eda2896d] - doc: fixup changelog for v10.16.3 (Andrew Hughes) #29159
  • [56a834a53f] - doc,test: clarify that Http2Stream is destroyed after data is read (Alba Mendez) #27891
  • [85ce8ef19a] - (SEMVER-MINOR) fs: remove experimental warning for fs.promises (Anna Henningsen) #26581
  • [ccf2823f83] - (SEMVER-MINOR) http: makes response.writeHead return the response (Mark S. Everitt) #25974
  • [66387cd45e] - http2: send out pending data earlier (Anna Henningsen) #29398
  • [925849650b] - (SEMVER-MINOR) http2: makes response.writeHead return the response (Mark S. Everitt) #25974
  • [69b0212df3] - http2: do not start reading after write if new write is on wire (Anna Henningsen) #29399
  • [36a0e9a063] - http2: do not crash on stream listener removal w/ destroyed session (Anna Henningsen) #29459
  • [c74c6a5ccf] - n-api: mark version 5 N-APIs as stable (Gabriel Schulhof) #29401
  • [f8622762e3] - (SEMVER-MINOR) n-api: make func argument of napi_create_threadsafe_function optional (legendecas) #27791
  • [4f41e4f471] - (SEMVER-MINOR) n-api: implement date object (Jarrod Connolly) #25917
  • [69bf5b7944] - net: treat ENOTCONN at shutdown as success (Anna Henningsen) #29912
  • [d6c998a478] - process: use public readableFlowing property (Chetan Karande) #29502
  • [b43d7e8f42] - (SEMVER-MINOR) process: add --unhandled-rejections flag (Ruben Bridgewater) #26599
  • [79f3844fb0] - (SEMVER-MINOR) readline: make Symbol.asyncIterator support stable (Matteo Collina) #26989
  • [18b140ae75] - src: use maybe version v8::Function::Call (Ouyang Yadong) #23826
  • [1bb5102999] - src: use more explicit return type in Sign::SignFinal() (Anna Henningsen) #23779
  • [859d47593e] - src: reduce platform worker barrier lifetime (Ali Ijaz Sheikh) #23419
  • [00831f0293] - (SEMVER-MINOR) stream: make Symbol.asyncIterator support stable (Matteo Collina) #26989
  • [ddb5152e9b] - (SEMVER-MINOR) stream: implement Readable.from async iterator utility (Guy Bedford) #27660
  • [13d8549abd] - test: well-defined DH groups now verify clean (Sam Roberts) #29550
  • [f78ecc3f93] - test: fix race in test-http2-origin (Alba Mendez) #28903
  • [2afbb3efab] - test,win: cleanup exec-timeout processes (João Reis) #28723
  • [fe58bca878] - tls: group chunks into TLS segments (Alba Mendez) #27861
  • [2eae030a4b] - (SEMVER-MINOR) worker: add missing return value in case of fatal exceptions (Ruben Bridgewater) #29036
  • [e8c90bf4d1] - zlib: do not coalesce multiple .flush() calls (Anna Henningsen) #28520

jarrodconnolly and others added 18 commits September 3, 2019 16:58
Implements `napi_create_date()` as well as `napi_is_date()` to
allow working with JavaScript Date objects.

Backport-PR-URL: #28298
PR-URL: #25917
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Minor cleanup in the lifetime for the platform worker initialization
synchronization barrier.

PR-URL: #23419
Backport-PR-URL: #28844
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Sakthipriyan Vairamani <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Denys Otrishko <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Remove (SEMVER-MINOR) label from patch commit. Add link to table.

Refs: #26990

PR-URL: #29159
Reviewed-By: Beth Griggs <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Fixes: #28755

Backport-PR-URL: #29316
PR-URL: #28799
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
PR-URL: #29401
Backport-PR-URL: #29458
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Do not crash when the session is no longer available.

Fixes: #29457

PR-URL: #29459
Backport-PR-URL: #29619
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
Reviewed-By: Minwoo Jung <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Don’t start reading more input data if we’re still busy writing output.
This was overlooked in 8a4a193.

Fixes: #29353
Fixes: #29393

PR-URL: #29399
Backport-PR-URL: #29619
Reviewed-By: David Carlier <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
PR-URL: #29461
Backport-PR-URL: #29643
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Beth Griggs <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
It is not needed, and causes an unnecessary runtime dependency with some
linkers, such as devtoolset-6 on centos7-ppc64le.

See: #29718

PR-URL: #29729
Reviewed-By: Ruben Bridgewater <[email protected]>
Reviewed-By: Beth Griggs <[email protected]>
Reviewed-By: David Carlier <[email protected]>
Correct docs to clarify that behaviour,
and fix a race condition in test-http2-large-write-destroy.js.

Fixes: #27863

Backport-PR-URL: #28904
PR-URL: #27891
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Backport-PR-URL: #28904
PR-URL: #28903
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
TLSWrap::DoWrite() now concatenates data chunks and makes a single
call to SSL_write(). Grouping data into a single segment:

- reduces network overhead: by factors of even 2 or 3 in usages
  like `http2` or `form-data`

- improves security: segment lengths can reveal lots of info, i.e.
  with `form-data`, how many fields are sent and the approximate length
  of every individual field and its headers

- reduces encryption overhead: a quick benchmark showed a ~30% CPU time
  decrease for an extreme case, see
  #27573 (comment)

Fixes: #27573

Backport-PR-URL: #28904
PR-URL: #27861
Reviewed-By: Fedor Indutny <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Ujjwal Sharma <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Fixes: #25935

PR-URL: #25974
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Fixes: #25935

PR-URL: #25974
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
When CMD is used to launch a process and CMD is killed too quickly,
the process can stay behind running in suspended state, never
completing. This only happens in Windows Server 2008R2.

Refs: nodejs/build#1829

PR-URL: #28723
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Beth Griggs <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Add documentation for tls.DEFAULT_MAX_VERSION and
tls.DEFAULT_MIN_VERSION, which existed in v10.6.0

Fixes: #28758
Refs: #26821

PR-URL: #28827
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Beth Griggs <[email protected]>
PR-URL: #28827
Fixes: #28758
Refs: #26821
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Beth Griggs <[email protected]>
@nodejs-github-bot nodejs-github-bot added lib / src Issues and PRs related to general changes in the lib or src directory. v10.x labels Oct 7, 2019
@BethGriggs
Copy link
Member Author

Draft release - at the moment I'm just pulling in the open backport PRs and the items that are tagged lts-watch-v10.x that land cleanly. Please either add the label lts-watch-v10.x or add a comment in here with any other PRs/commits that you think should land in this release.

@BethGriggs
Copy link
Member Author

@addaleax
Copy link
Member

Fwiw, there’s been a request to include #29912 in this release – it fixes a regression, and I’d consider it very low-risk, so I’d be okay with skipping the 2-week waiting period for LTS. I’ve opened a backport PR @ #29968.

@nodejs-github-bot
Copy link
Collaborator

@BridgeAR
Copy link
Member

@BethGriggs is it planned to also include all current open manual backports? (https://github.com/nodejs/node/pulls?q=is%3Aopen+is%3Apr+label%3Av10.x)

This adds a flag to define the default behavior for unhandled
rejections. Three modes exist: `none`, `warn` and `strict`. The first
is going to silence all unhandled rejection warnings. The second
behaves identical to the current default with the excetion that no
deprecation warning will be printed and the last is going to throw
an error for each unhandled rejection, just as regular exceptions do.
It is possible to intercept those with the `uncaughtException` hook
as with all other exceptions as well.

This PR has no influence on the existing `unhandledRejection` hook.
If that is used, it will continue to function as before.

PR-URL: #26599
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Matheus Marchini <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Сковорода Никита Андреевич <[email protected]>
Reviewed-By: Sakthipriyan Vairamani <[email protected]>
This adds a missing return value for the worker specific fatal
exception handler.

PR-URL: #29036
Reviewed-By: Beth Griggs <[email protected]>
@nodejs-github-bot

This comment has been minimized.

@nodejs-github-bot

This comment has been minimized.

@nodejs-github-bot
Copy link
Collaborator

nodejs-github-bot commented Oct 21, 2019

CI: https://ci.nodejs.org/job/node-test-pull-request/26135/ ✅ (Known Alpine failures)

@BethGriggs
Copy link
Member Author

Added both #29430 and #24081, and updated the changelog.

@BethGriggs BethGriggs requested a review from a team October 21, 2019 21:03
@BethGriggs
Copy link
Member Author

CITGM looks ok mostly familiar flakes - React should have been skipped on IBM platforms (resolved by nodejs/citgm#754)

Copy link
Member

@BridgeAR BridgeAR left a comment

Choose a reason for hiding this comment

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

I would add the following commits to the notable changes: 63de2ad, 7735824, ccf2823, 9258496, f862276, 4f41e4f, b43d7e8 and ddb5152.

We should probably also strip the markdown from the notable changes inside of the commit message (it's displayed as plain text).

Besides that LGTM.

@nodejs-github-bot
Copy link
Collaborator

@BethGriggs
Copy link
Member Author

@BridgeAR updated PTAL, thanks!

Notable changes:

* crypto:
  * add support for chacha20-poly1305 for AEAD (chux0519)
    #24081
  * increase maxmem range from 32 to 53 bits (Tobias Nießen)
    #28799
* deps:
  * update npm to 6.11.3 (claudiahdz)
    #29430
  * upgrade openssl sources to 1.1.1d (Sam Roberts)
    #29921
* dns:
  * remove dns.promises experimental warning (cjihrig)
    #26592
* fs:
  * remove experimental warning for fs.promises (Anna Henningsen)
    #26581
* http:
  * makes response.writeHead return the response (Mark S. Everitt)
    #25974
* http2:
  * makes response.writeHead return the response (Mark S. Everitt)
    #25974
* n-api:
  * make func argument of napi\_create\_threadsafe\_function optional
    (legendecas)
    #27791
  * mark version 5 N-APIs as stable (Gabriel Schulhof)
    #29401
  * implement date object (Jarrod Connolly)
    #25917
* process:
  * add --unhandled-rejections flag (Ruben Bridgewater)
    #26599
* stream:
  * implement Readable.from async iterator utility (Guy Bedford)
    #27660
  * make Symbol.asyncIterator support stable (Matteo Collina)
    #26989

PR-URL: #29875
@BethGriggs BethGriggs merged commit 5dae3ef into v10.x Oct 22, 2019
BethGriggs added a commit that referenced this pull request Oct 22, 2019
BethGriggs added a commit that referenced this pull request Oct 22, 2019
Notable changes:

* crypto:
  * add support for chacha20-poly1305 for AEAD (chux0519)
    #24081
  * increase maxmem range from 32 to 53 bits (Tobias Nießen)
    #28799
* deps:
  * update npm to 6.11.3 (claudiahdz)
    #29430
  * upgrade openssl sources to 1.1.1d (Sam Roberts)
    #29921
* dns:
  * remove dns.promises experimental warning (cjihrig)
    #26592
* fs:
  * remove experimental warning for fs.promises (Anna Henningsen)
    #26581
* http:
  * makes response.writeHead return the response (Mark S. Everitt)
    #25974
* http2:
  * makes response.writeHead return the response (Mark S. Everitt)
    #25974
* n-api:
  * make func argument of napi\_create\_threadsafe\_function optional
    (legendecas)
    #27791
  * mark version 5 N-APIs as stable (Gabriel Schulhof)
    #29401
  * implement date object (Jarrod Connolly)
    #25917
* process:
  * add --unhandled-rejections flag (Ruben Bridgewater)
    #26599
* stream:
  * implement Readable.from async iterator utility (Guy Bedford)
    #27660
  * make Symbol.asyncIterator support stable (Matteo Collina)
    #26989

PR-URL: #29875
BethGriggs added a commit to BethGriggs/nodejs.org that referenced this pull request Oct 22, 2019
BethGriggs added a commit to nodejs/nodejs.org that referenced this pull request Oct 22, 2019
@BridgeAR BridgeAR deleted the v10.17.0-proposal branch December 3, 2019 22:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lib / src Issues and PRs related to general changes in the lib or src directory.
Projects
None yet
Development

Successfully merging this pull request may close these issues.