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

v18.8.0 release proposal #44353

Merged
merged 177 commits into from
Aug 24, 2022
Merged

v18.8.0 release proposal #44353

merged 177 commits into from
Aug 24, 2022

Conversation

ruyadorno
Copy link
Member

@ruyadorno ruyadorno commented Aug 23, 2022

2022-08-24, Version 18.8.0 (Current), @ruyadorno

Notable changes

bootstrap: implement run-time user-land snapshots via --build-snapshot and --snapshot-blob

This patch introduces --build-snapshot and --snapshot-blob options for creating and using user land snapshots.

To generate a snapshot using snapshot.js as an entry point and write the snapshot blob to snapshot.blob:

echo "globalThis.foo = 'I am from the snapshot'" > snapshot.js
node --snapshot-blob snapshot.blob --build-snapshot snapshot.js

To restore application state from snapshot.blob, with index.js as the entry point script for the deserialized application:

echo "console.log(globalThis.foo)" > index.js
node --snapshot-blob snapshot.blob index.js
# => I am from the snapshot

Users can also use the v8.startupSnapshot API to specify an entry point at snapshot building time, thus avoiding the need of an additional entry script at deserialization time:

echo "require('v8').startupSnapshot.setDeserializeMainFunction(() => console.log('I am from the snapshot'))" > snapshot.js
node --snapshot-blob snapshot.blob --build-snapshot snapshot.js
node --snapshot-blob snapshot.blob
# => I am from the snapshot

Contributed by Joyee Cheung in #38905

Other notable changes

  • crypto:
    • (SEMVER-MINOR) allow zero-length IKM in HKDF and in webcrypto PBKDF2 (Filip Skokan) #44201
    • (SEMVER-MINOR) allow zero-length secret KeyObject (Filip Skokan) #44201
  • deps:
    • upgrade npm to 8.18.0 (npm team) #44263 - Adds a new npm query command
  • doc:
    • add Erick Wendel to collaborators (Erick Wendel) #44088
    • add theanarkh to collaborators (theanarkh) #44131
    • add MoLow to collaborators (Moshe Atlow) #44214
    • add cola119 to collaborators (cola119) #44248
    • deprecate --trace-atomics-wait (Keyhan Vakil) #44093
  • http:
    • (SEMVER-MINOR) make idle http parser count configurable (theanarkh) #43974
  • net:
    • (SEMVER-MINOR) add local family (theanarkh) #43975
  • src:
    • (SEMVER-MINOR) print source map error source on demand (Chengzhong Wu) #43875
  • tls:
    • (SEMVER-MINOR) pass a valid socket on tlsClientError (Daeyeon Jeong) #44021

Commits

legendecas and others added 30 commits August 21, 2022 16:00
PR-URL: #44056
Backport-PR-URL: #44251
Refs: #42528
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Feng Yu <[email protected]>
PR-URL: #43587
Fixes: #43548
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Ricky Zhou <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
PR-URL: #43967
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
PR-URL: #43964
Reviewed-By: Mestery <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
PR-URL: #43989
Refs: #43554
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
The return value of getPrime() is not a private key in any way.

Refs: nodejs/node-v0.x-archive#2638

PR-URL: #43990
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Feng Yu <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: #43997
Reviewed-By: Harshitha K P <[email protected]>
Reviewed-By: Feng Yu <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
The error code, `ECONNRESET`, is observed on linux.
This commit adds it as an expected error code.

Signed-off-by: Daeyeon Jeong [email protected]

PR-URL: #43961
Refs: https://ci.nodejs.org/job/node-test-commit-linux-containered/nodes=ubuntu1804_sharedlibs_withoutintl_x64/32901/testReport/junit/(root)/test/parallel_test_cluster_concurrent_disconnect/
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Reviewed-By: Feng Yu <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
PR-URL: #43976
Reviewed-By: Darshan Sen <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
PR-URL: #43975
Reviewed-By: Paolo Insogna <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: #43971
Refs: #43949
Reviewed-By: Tobias Nießen <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
Original commit message:

    Add more efficient API for accesssing ArrayBuffer raw data

    Raw data access is already possible via GetBackingStore()->GetData().
    This API exposes a more efficient way for accessing
    JSArrayBuffer::backing_store (which, despite the confusing name, is no
    the BackingStore but its raw data pointer).

    Bug: v8:10343
    Change-Id: I695cea91e2c3de75ce6c86bac6e413ce6617958b
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3764341
    Reviewed-by: Camillo Bruni <[email protected]>
    Commit-Queue: Marja Hölttä <[email protected]>
    Cr-Commit-Position: refs/heads/main@{#81745}

Refs: v8/v8@00704f5
Refs: #32226

PR-URL: #43921
Reviewed-By: Jiawen Geng <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Feng Yu <[email protected]>
"previous" read like it should be "previously"

PR-URL: #44005
Reviewed-By: Geoffrey Booth <[email protected]>
Reviewed-By: Feng Yu <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
PR-URL: #43977
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Nitzan Uziely <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Ensuring every request is assigned to a drained socket or nothing.
Because is has no benifit for a request to be attached to a non
drained socket and it prevents the request from being assigned to
a drained one, which might occur soon or already in the free pool
We achieve this by claiming a socket as free only when the socket
is drained.

PR-URL: #43902
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Paolo Insogna <[email protected]>
Reviewed-By: Robert Nagy <[email protected]>
ByteSource::Allocated accepts a void pointer now, so we do not need to
cast the argument to a char pointer.

Refs: #43202

PR-URL: #44001
Reviewed-By: Filip Skokan <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
Reviewed-By: Feng Yu <[email protected]>
Instead of referring users to perl to find information about supported
MODP groups in crypto_groups.h, explicitly list the groups with their
respective strengths and with references to the defining RFC sections.

Refs: #43896

PR-URL: #43986
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Filip Skokan <[email protected]>
The source context is not prepended to the value of the `stack` property
when the source map is not enabled. Rather than prepending the error
source context to the value of the `stack` property unconditionally,
this patch aligns the behavior and only prints the source context when
the error is not handled by userland (e.g. fatal errors).

Also, this patch fixes that when source-map support is enabled, the
error source context is not pointing to where the error was thrown.

PR-URL: #43875
Fixes: #43186
Fixes: #41541
Reviewed-By: Ben Coe <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
PR-URL: #43492
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Feng Yu <[email protected]>
PR-URL: #43492
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Feng Yu <[email protected]>
The referenced header file does not exist anymore.

Refs: #43896

PR-URL: #44012
Reviewed-By: Filip Skokan <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Feng Yu <[email protected]>
PR-URL: #44009
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
PR-URL: #43998
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
PR-URL: #44013
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
Reviewed-By: Filip Skokan <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Declare buf as an unsigned char to get rid of the reinterpret_cast and
do not ignore the return value of ASN1_STRING_TO_UTF8. This also removes
the need to call strlen() on the result.

PR-URL: #44002
Reviewed-By: Darshan Sen <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
PR-URL: #43999
Fixes: #43962
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
Reviewed-By: LiviaMedeiros <[email protected]>
Reviewed-By: Feng Yu <[email protected]>
PR-URL: #43784
Reviewed-By: Geoffrey Booth <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
PR-URL: #43974
Reviewed-By: Paolo Insogna <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Feng Yu <[email protected]>
@ruyadorno ruyadorno changed the title v18.8.0 proposal v18.8.0 release proposal Aug 23, 2022
@ruyadorno ruyadorno removed the needs-ci PRs that need a full CI run. label Aug 23, 2022
@nodejs-github-bot

This comment was marked as outdated.

@cola119

This comment was marked as resolved.

@RaisinTen

This comment was marked as resolved.

Notable changes:

* bootstrap:
  * implement run-time user-land snapshots via --build-snapshot and
  --snapshot-blob (Joyee Cheung) in #38905
* crypto:
  * (SEMVER-MINOR) allow zero-length IKM in HKDF and in webcrypto PBKDF2
  (Filip Skokan) #44201
  * (SEMVER-MINOR) allow zero-length secret KeyObject
  (Filip Skokan) #44201
* deps:
  * upgrade npm to 8.18.0 (npm team) #44263 - Adds a new npm query cmd
* doc:
  * add Erick Wendel to collaborators (Erick Wendel) #44088
  * add theanarkh to collaborators (theanarkh) #44131
  * add MoLow to collaborators (Moshe Atlow) #44214
  * add cola119 to collaborators (cola119) #44248
  * deprecate --trace-atomics-wait (Keyhan Vakil) #44093
* http:
  * (SEMVER-MINOR) make idle http parser count configurable
  (theanarkh) #43974
* net:
  * (SEMVER-MINOR) add local family (theanarkh) #43975
* src:
  * (SEMVER-MINOR) print source map error source on demand
  (Chengzhong Wu) #43875
* tls:
  * (SEMVER-MINOR) pass a valid socket on tlsClientError
  (Daeyeon Jeong) #44021

PR-URL: #44353
@ruyadorno

This comment was marked as resolved.

@nodejs-github-bot

This comment was marked as outdated.

@nodejs-github-bot

This comment was marked as outdated.

Copy link
Member

@mcollina mcollina left a comment

Choose a reason for hiding this comment

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

lgtm

@ruyadorno ruyadorno merged commit c200106 into v18.x Aug 24, 2022
@ruyadorno ruyadorno deleted the v18.8.0-proposal branch August 24, 2022 15:45
ruyadorno added a commit that referenced this pull request Aug 24, 2022
ruyadorno added a commit that referenced this pull request Aug 24, 2022
Notable changes:

* bootstrap:
  * implement run-time user-land snapshots via --build-snapshot and
  --snapshot-blob (Joyee Cheung) in #38905
* crypto:
  * (SEMVER-MINOR) allow zero-length IKM in HKDF and in webcrypto PBKDF2
  (Filip Skokan) #44201
  * (SEMVER-MINOR) allow zero-length secret KeyObject
  (Filip Skokan) #44201
* deps:
  * upgrade npm to 8.18.0 (npm team) #44263 - Adds a new npm query cmd
* doc:
  * add Erick Wendel to collaborators (Erick Wendel) #44088
  * add theanarkh to collaborators (theanarkh) #44131
  * add MoLow to collaborators (Moshe Atlow) #44214
  * add cola119 to collaborators (cola119) #44248
  * deprecate --trace-atomics-wait (Keyhan Vakil) #44093
* http:
  * (SEMVER-MINOR) make idle http parser count configurable
  (theanarkh) #43974
* net:
  * (SEMVER-MINOR) add local family (theanarkh) #43975
* src:
  * (SEMVER-MINOR) print source map error source on demand
  (Chengzhong Wu) #43875
* tls:
  * (SEMVER-MINOR) pass a valid socket on tlsClientError
  (Daeyeon Jeong) #44021

PR-URL: #44353
ruyadorno added a commit to ruyadorno/nodejs.org that referenced this pull request Aug 24, 2022
ruyadorno added a commit to nodejs/nodejs.org that referenced this pull request Aug 24, 2022
sidwebworks pushed a commit to sidwebworks/node that referenced this pull request Aug 26, 2022
Notable changes:

* bootstrap:
  * implement run-time user-land snapshots via --build-snapshot and
  --snapshot-blob (Joyee Cheung) in nodejs#38905
* crypto:
  * (SEMVER-MINOR) allow zero-length IKM in HKDF and in webcrypto PBKDF2
  (Filip Skokan) nodejs#44201
  * (SEMVER-MINOR) allow zero-length secret KeyObject
  (Filip Skokan) nodejs#44201
* deps:
  * upgrade npm to 8.18.0 (npm team) nodejs#44263 - Adds a new npm query cmd
* doc:
  * add Erick Wendel to collaborators (Erick Wendel) nodejs#44088
  * add theanarkh to collaborators (theanarkh) nodejs#44131
  * add MoLow to collaborators (Moshe Atlow) nodejs#44214
  * add cola119 to collaborators (cola119) nodejs#44248
  * deprecate --trace-atomics-wait (Keyhan Vakil) nodejs#44093
* http:
  * (SEMVER-MINOR) make idle http parser count configurable
  (theanarkh) nodejs#43974
* net:
  * (SEMVER-MINOR) add local family (theanarkh) nodejs#43975
* src:
  * (SEMVER-MINOR) print source map error source on demand
  (Chengzhong Wu) nodejs#43875
* tls:
  * (SEMVER-MINOR) pass a valid socket on tlsClientError
  (Daeyeon Jeong) nodejs#44021

PR-URL: nodejs#44353
Fyko pushed a commit to Fyko/node that referenced this pull request Sep 15, 2022
Notable changes:

* bootstrap:
  * implement run-time user-land snapshots via --build-snapshot and
  --snapshot-blob (Joyee Cheung) in nodejs#38905
* crypto:
  * (SEMVER-MINOR) allow zero-length IKM in HKDF and in webcrypto PBKDF2
  (Filip Skokan) nodejs#44201
  * (SEMVER-MINOR) allow zero-length secret KeyObject
  (Filip Skokan) nodejs#44201
* deps:
  * upgrade npm to 8.18.0 (npm team) nodejs#44263 - Adds a new npm query cmd
* doc:
  * add Erick Wendel to collaborators (Erick Wendel) nodejs#44088
  * add theanarkh to collaborators (theanarkh) nodejs#44131
  * add MoLow to collaborators (Moshe Atlow) nodejs#44214
  * add cola119 to collaborators (cola119) nodejs#44248
  * deprecate --trace-atomics-wait (Keyhan Vakil) nodejs#44093
* http:
  * (SEMVER-MINOR) make idle http parser count configurable
  (theanarkh) nodejs#43974
* net:
  * (SEMVER-MINOR) add local family (theanarkh) nodejs#43975
* src:
  * (SEMVER-MINOR) print source map error source on demand
  (Chengzhong Wu) nodejs#43875
* tls:
  * (SEMVER-MINOR) pass a valid socket on tlsClientError
  (Daeyeon Jeong) nodejs#44021

PR-URL: nodejs#44353
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release Issues and PRs related to Node.js releases. v18.x Issues that can be reproduced on v18.x or PRs targeting the v18.x-staging branch.
Projects
None yet
Development

Successfully merging this pull request may close these issues.