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.9.0 release proposal #44521

Merged
merged 94 commits into from
Sep 8, 2022
Merged

v18.9.0 release proposal #44521

merged 94 commits into from
Sep 8, 2022

Conversation

RafaelGSS
Copy link
Member

@RafaelGSS RafaelGSS commented Sep 5, 2022

2022-09-08, Version 18.9.0 (Current), @RafaelGSS

Notable changes

Commits

jdx and others added 30 commits September 5, 2022 11:32
Fixes: #44286
PR-URL: #44293
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Avoid magic numbers in the code and use an OpenSSL constant instead.

PR-URL: #44305
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Filip Skokan <[email protected]>
This function was introduced in 2684c90
as an internal helper function. The C++ implementation became a no-op in
a57e2f2 when building against OpenSSL
1.1.0 (instead of OpenSSL 1.0.2), and eventually became a no-op in all
supported OpenSSL versions in 970ce14.
Finally, eb20447 removed the only call
site of setFreeListLength (which was already a no-op at that point).

Refs: #1529
Refs: #10859
Refs: #19794
Refs: #38116
PR-URL: #44300
Reviewed-By: Feng Yu <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Remove an unnecessary static_cast<char*>().

Use OPENSSL_secure_zalloc() instead of OPENSSL_secure_malloc() +
memset().

Update the comment describing the function which predates support for
OpenSSL's secure heap.

PR-URL: #44302
Reviewed-By: Filip Skokan <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
md and mgf1_md are internal variable names and should not appear in
JS error messages. Also include the invalid digest name in the error
message.

PR-URL: #44307
Reviewed-By: Filip Skokan <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
The THROW_ERR_* functions interpret the first argument as a printf-like
format string, which is problematic when it contains unsanitized user
input. This typically happens when a printf-like function is used to
produce the error message, which is then passed to a THROW_ERR_*
function, which again interprets the error message as a format string.

Fix such occurrences by properly formatting error messages using static
format strings only, and in a single step.

PR-URL: #44314
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Zeyu "Alex" Yang <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: #44322
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Moshe Atlow <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
Reviewed-By: Ian Sutherland <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: #44351
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Signed-off-by: Daeyeon Jeong [email protected]
PR-URL: #44355
Fixes: #44142
Reviewed-By: Darshan Sen <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
Reviewed-By: Kohei Ueno <[email protected]>
Fixes: #44298
PR-URL: #44326
Reviewed-By: Paolo Insogna <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Yongsheng Zhang <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
Instead of creating an object template for every ContextifyContext,
we now create one object template that can be reused by all
contexts. The native pointer can be obtained through an embdder
pointer field in the creation context of the receiver in the
interceptors, because the interceptors are only meant to be invoked
on the global object of the contextified contexts. This makes
the ContextifyContext template context-independent and therefore
snapshotable.

PR-URL: #44252
Refs: #44014
Refs: #37476
Reviewed-By: Chengzhong Wu <[email protected]>
Include a minimally initialized contextify context in the embedded
snapshot. This paves the way for user-land vm context snapshots.

PR-URL: #44252
Refs: #44014
Refs: #37476
Reviewed-By: Chengzhong Wu <[email protected]>
Access to the global object from within a vm context is intercepted
so it's slow, therefore we should try to avoid unnecessary access
to it during the initialization of vm contexts.

- Remove the Atomics.wake deletion as V8 now does not install it
  anymore.
- Move the Intl.v8BreakIterator deletion into the snapshot.
- Do not query the Object prototype if --disable-proto is not set.

This should speed up the creation of vm contexts by about ~12%.

PR-URL: #44252
Refs: #44014
Refs: #37476
Reviewed-By: Chengzhong Wu <[email protected]>
PR-URL: #44319
Reviewed-By: Tobias Nießen <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
PR-URL: #44241
Fixes: #44023
Fixes: #43675
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
By default, the debugger would query the specified inspector
sever port to see if it's available before starting the server,
and it would keep retrying until a timeout (previously 9999 ms)
is reached. This timeout seems to be longer than necessary. This
patch decreases the timeout to 3 seconds.

PR-URL: #44359
Reviewed-By: Moshe Atlow <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Add basic tests for providers when using OpenSSL 3.x.

PR-URL: #44148
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
PR-URL: #44345
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Chengzhong Wu <[email protected]>
Allows APM vendors to generate a diagnostic report without calling into
JavaScript. Like, from their own message channels interrupting the
isolate and generating a report on demand.

PR-URL: #44255
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Gireesh Punathil <[email protected]>
symmetric_key_len_ is always equal to symmetric_key_.size(). Storing it
separately is redundant and has no significant benefit.

PR-URL: #44346
Reviewed-By: Zeyu "Alex" Yang <[email protected]>
Reviewed-By: Filip Skokan <[email protected]>
The test in `test/parallel/test-stream-writable-callback-twice.js` is
duplicated in `test/parallel/test-stream-writable-write-cb-twice.js`.

PR-URL: #44313
Reviewed-By: Tobias Nießen <[email protected]>
Reviewed-By: Yongsheng Zhang <[email protected]>
Functions declared in anonymous namespaces are not necessarily to be
marked as static.

PR-URL: #44301
Refs: #44141
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Change the underlying type of DebugCategory to unsigned int so that it
can be safely cast to an unsigned type without having to worry about
negative values, removing the need for the DCHECK_GE statements.

To fully benefit from type safety, remove DebugCategory::CATEGORY_COUNT
and instead add a constexpr kDebugCategoryCount.

Remove the second argument from EnabledDebugList::set_enabled() and
EnabledDebugList::Parse() because it was always set to true.

PR-URL: #44350
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
PR-URL: #44377
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Daeyeon Jeong <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Reviewed-By: Adrian Estrada <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
PR-URL: #44344
Fixes: #43115
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
sequential/test-child-process-execsync and
parallel/test-child-process-spawnsync-timeout are both flaky
on azure Windows machines, where it may take longer for Node.js
to launch and receive output from child processes. These tests
work by spawning a child processes that is supposed to sleep
for a long time, but the option is configured so that Node.js
would terminate them early when a shorter timeout is reached.
Then the tests assert that the time taken for the whole thing
is shorter than the specified sleep time (meaning the process
don't actually get to sleep for that long). To make the tests
less brittle on azure Windows, this patch raises the sleep
times in those tests on Windows platform, so that the overhead
can be taken into account there.

PR-URL: #44375
Refs: nodejs/build#3014
Reviewed-By: Moshe Atlow <[email protected]>
Reviewed-By: Nitzan Uziely <[email protected]>
Unify the implementation and perform the same OpenSSL calls regardless
of whether the key and/or salt are empty. This simplifies the code and
improves coverage.

Refs: #44201
PR-URL: #44272
Reviewed-By: Filip Skokan <[email protected]>
PR-URL: #44367
Reviewed-By: Ruben Bridgewater <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Kohei Ueno <[email protected]>
This doesn't include the other tests for the result when
running a specific test in WPT.

Signed-off-by: Daeyeon Jeong [email protected]
PR-URL: #44238
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Filip Skokan <[email protected]>
Reviewed-By: Anto Aravinth <[email protected]>
@RafaelGSS
Copy link
Member Author

FYI: The build took more time than expected. I'll release it tomorrow.

RafaelGSS added a commit that referenced this pull request Sep 7, 2022
Notable changes:

* doc:
  * add daeyeon to collaborators (Daeyeon Jeong) #44355
* lib:
  * (SEMVER-MINOR) add diagnostics channel for process and worker (theanarkh) #44045
* os:
  * (SEMVER-MINOR) add machine method (theanarkh) #44416
* report:
  * (SEMVER-MINOR) expose report public native apis (Chengzhong Wu) #44255
* src:
  * (SEMVER-MINOR) expose environment RequestInterrupt api (Chengzhong Wu) #44362
* vm:
  * include vm context in the embedded snapshot (Joyee Cheung) #44252

PR-URL: #44521
Notable changes:

* doc:
  * add daeyeon to collaborators (Daeyeon Jeong) #44355
* lib:
  * (SEMVER-MINOR) add diagnostics channel for process and worker (theanarkh) #44045
* os:
  * (SEMVER-MINOR) add machine method (theanarkh) #44416
* report:
  * (SEMVER-MINOR) expose report public native apis (Chengzhong Wu) #44255
* src:
  * (SEMVER-MINOR) expose environment RequestInterrupt api (Chengzhong Wu) #44362
* vm:
  * include vm context in the embedded snapshot (Joyee Cheung) #44252

PR-URL: #44521
@RafaelGSS RafaelGSS added the request-ci Add this label to start a Jenkins CI on a PR. label Sep 7, 2022
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Sep 7, 2022
@nodejs-github-bot
Copy link
Collaborator

nodejs-github-bot commented Sep 7, 2022

@nodejs-github-bot
Copy link
Collaborator

@RafaelGSS
Copy link
Member Author

@RafaelGSS RafaelGSS merged commit 9ae2af4 into v18.x Sep 8, 2022
@RafaelGSS RafaelGSS deleted the v18.9.0-proposal branch September 8, 2022 14:30
RafaelGSS added a commit that referenced this pull request Sep 8, 2022
RafaelGSS added a commit that referenced this pull request Sep 8, 2022
Notable changes:

* doc:
  * add daeyeon to collaborators (Daeyeon Jeong) #44355
* lib:
  * (SEMVER-MINOR) add diagnostics channel for process and worker (theanarkh) #44045
* os:
  * (SEMVER-MINOR) add machine method (theanarkh) #44416
* report:
  * (SEMVER-MINOR) expose report public native apis (Chengzhong Wu) #44255
* src:
  * (SEMVER-MINOR) expose environment RequestInterrupt api (Chengzhong Wu) #44362
* vm:
  * include vm context in the embedded snapshot (Joyee Cheung) #44252

PR-URL: #44521
RafaelGSS added a commit to RafaelGSS/nodejs.org that referenced this pull request Sep 8, 2022
RafaelGSS added a commit to nodejs/nodejs.org that referenced this pull request Sep 8, 2022
@sgallagher
Copy link
Contributor

It looks like the merge of e27e709d3c accidentally removed some code necessary for systemtap/dtrace.

@RafaelGSS
Copy link
Member Author

You right. Looks like it conflicted with #43652. I'll apply a patch.

Fyko pushed a commit to Fyko/node that referenced this pull request Sep 15, 2022
Notable changes:

* doc:
  * add daeyeon to collaborators (Daeyeon Jeong) nodejs#44355
* lib:
  * (SEMVER-MINOR) add diagnostics channel for process and worker (theanarkh) nodejs#44045
* os:
  * (SEMVER-MINOR) add machine method (theanarkh) nodejs#44416
* report:
  * (SEMVER-MINOR) expose report public native apis (Chengzhong Wu) nodejs#44255
* src:
  * (SEMVER-MINOR) expose environment RequestInterrupt api (Chengzhong Wu) nodejs#44362
* vm:
  * include vm context in the embedded snapshot (Joyee Cheung) nodejs#44252

PR-URL: nodejs#44521
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.