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

v16.19.0 proposal #45791

Merged
merged 50 commits into from
Dec 13, 2022
Merged

v16.19.0 proposal #45791

merged 50 commits into from
Dec 13, 2022

Conversation

richardlau
Copy link
Member

2022-12-13, Version 16.19.0 'Gallium' (LTS), @richardlau

Notable Changes

OpenSSL 1.1.1s

This update is a bugfix release and does not address any security
vulnerabilities.

Root certificates updated to NSS 3.85

Certificates added:

  • Autoridad de Certificacion Firmaprofesional CIF A62634068
  • Certainly Root E1
  • Certainly Root R1
  • D-TRUST BR Root CA 1 2020
  • D-TRUST EV Root CA 1 2020
  • DigiCert TLS ECC P384 Root G5
  • DigiCert TLS RSA4096 Root G5
  • E-Tugra Global Root CA ECC v3
  • E-Tugra Global Root CA RSA v3
  • HiPKI Root CA - G1
  • ISRG Root X2
  • Security Communication ECC RootCA1
  • Security Communication RootCA3
  • Telia Root CA v2
  • vTrus ECC Root CA
  • vTrus Root CA

Certificates removed:

  • Cybertrust Global Root
  • DST Root CA X3
  • GlobalSign Root CA - R2
  • Hellenic Academic and Research Institutions RootCA 2011

Time zone update to 2022f

Time zone data has been updated to 2022f. This includes changes to Daylight
Savings Time (DST) for Fiji and Mexico. For more information, see
https://mm.icann.org/pipermail/tz-announce/2022-October/000075.html.

Other Notable Changes

Dependency updates:

Experimental features:

Commits

sgallagher and others added 30 commits November 4, 2022 16:25
The upstream merge of e27e709d3c
accidentally removed code related to systemtap and dtrace.

Signed-off-by: Stephen Gallagher <[email protected]>
PR-URL: #44642
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
This is important to allow to run v16 doc tests on more recent versions.

PR-URL: #45255
Refs: https://github.com/nodejs/node/actions/runs/3356902660/jobs/5562322617
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Beth Griggs <[email protected]>
PR-URL: #44775
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
PR-URL: #44929
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
PR-URL: #44950
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Tierney Cyren <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Both paths for the condition being removed result in the same
value being assigned to `openssl_product`. This condition was
also problematic as it was testing a variable in the same scope
which gyp/gyp-next currently does not support.

Refs: https://gyp.gsrc.io/docs/InputFormatReference.md#user_defined-variables
PR-URL: #45076
Refs: nodejs/node-gyp#2750
Refs: #38633
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
This updates all sources in deps/openssl/openssl by:
    $ git clone https://github.com/quictls/openssl
    $ cd openssl
    $ git checkout OpenSSL_1_1_1s+quic
    $ cd ../node/deps/openssl
    $ rm -rf openssl
    $ cp -R ../openssl openssl
    $ rm -rf openssl/.git* openssl/.travis*
    $ git add --all openssl
    $ git commit openssl

PR-URL: #45274
Refs: https://mta.openssl.org/pipermail/openssl-announce/2022-November/000242.html
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
After an OpenSSL source update, all the config files need to be
regenerated and committed by:
   $ make -C deps/openssl/config
   $ git add deps/openssl/config/archs
   $ git add deps/openssl/openssl/include/crypto/bn_conf.h
   $ git add deps/openssl/openssl/include/crypto/dso_conf.h
   $ git add deps/openssl/openssl/include/openssl/opensslconf.h
   $ git commit

PR-URL: #45274
Refs: https://mta.openssl.org/pipermail/openssl-announce/2022-November/000242.html
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
The lint rule was not catching all occurences of unsafe primordials use,
and was too strict on some methods.

PR-URL: #43476
Backport-PR-URL: #44926
Reviewed-By: Moshe Atlow <[email protected]>
PR-URL: #44446
Backport-PR-URL: #44926
Reviewed-By: Moshe Atlow <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Fixes for SC2312 added in shellcheck 0.8.0.

PR-URL: #41258
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
PR-URL: #45581
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
PR-URL: #44366
Backport-PR-URL: #44976
Fixes: #40429
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
PR-URL: #44551
Backport-PR-URL: #44976
Reviewed-By: Kohei Ueno <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Nitzan Uziely <[email protected]>
PR-URL: #44621
Backport-PR-URL: #44976
Fixes: #44655
Reviewed-By: Benjamin Gruenbaum <[email protected]>
PR-URL: #44739
Backport-PR-URL: #44976
Fixes: #44735
Reviewed-By: Erick Wendel <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
PR-URL: #45236
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Reviewed-By: Moshe Atlow <[email protected]>
The `Shift_JIS` encoding may not be available, e.g. when Node.js is
configured with `--with-intl=small-icu`.

PR-URL: #45225
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Kohei Ueno <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
Reviewed-By: Steven R Loomis <[email protected]>
Original commit message:

    [extensions] Fix dcheck failures in getV8Statistics

    HeapObjectIterator creates a SafepointScope which requires the heap to
    allow garbage collection. This collides with the outer
    DisallowGarbageCollection scope. HeapObjectIterator already ensures
    there is no allocation during its lifetime, so there is no need to
    create an outer DisallowGarbageCollection scope.

    Code::source_position_table requires their kind not equals to
    CodeKind::BASELINE.

    This also exposes the statistics extension through flag
    --expose-statistics.

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

Refs: v8/v8@b953542
PR-URL: #44947
Refs: v8/v8@bbd800c
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Jiawen Geng <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Original commit message:

    [heap] Fix incorrect from space committed size

    NewSpace page operations like RemovePage, PrependPage, and
    EnsureCurrentCapacity should account for committed page size.

    This may happen when a page was promoted from the new space to
    old space on mark-compact.

    Also, add DCHECKs on Commit and Uncommit to ensure the final
    committed page size is the same as the current state.

    Bug: v8:12657
    Change-Id: I7aebc1fd3f51f177ae2ef6420f757f0c573e126b
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3504766
    Reviewed-by: Dominik Inführ <[email protected]>
    Commit-Queue: Chengzhong Wu <[email protected]>
    Cr-Commit-Position: refs/heads/main@{#79426}

Refs: v8/v8@bbd800c
PR-URL: #44947
Refs: v8/v8@b953542
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Jiawen Geng <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
PR-URL: #44056
Backport-PR-URL: #44542
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: #45235
Backport-PR-URL: #45246
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Reviewed-By: Moshe Atlow <[email protected]>
PR-URL: #45331
Backport-PR-URL: #45246
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
PR-URL: #45322
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Refs: electron/electron#35801
Refs: nodejs/abi-stable-node#441

Electron recently dropped support for external
buffers. Provide a way for addon authors to:
- hide the methods to create external buffers so they can
  avoid using them if they want the broadest compatibility.
- call the methods that create external buffers at runtime
  to check if external buffers are supported and either
  use them or not based on the return code.

Signed-off-by: Michael Dawson <[email protected]>

PR-URL: #45181
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Minwoo Jung <[email protected]>
PR-URL: #45191
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Moshe Atlow <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Christian Clauss <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Jiawen Geng <[email protected]>
Reviewed-By: Juan José Arboleda <[email protected]>
PR-URL: #45191
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Moshe Atlow <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Christian Clauss <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Jiawen Geng <[email protected]>
Reviewed-By: Juan José Arboleda <[email protected]>
Users can set a default
value for every expected
input argument

PR-URL: #44631
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Refs: #44631
PR-URL: #45083
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Zeyu "Alex" Yang <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Daijiro Wachi <[email protected]>
@richardlau
Copy link
Member Author

I see that utf8 performance improvements are missing from this release. Can we add the performance improvements to this release? TextEncoder and TextDecoder is highly used path for most applications.

No, Node.js 16 is in maintenance and we're trying to keep the number of changes down. The emphasis for maintenance is on stability. See https://github.com/nodejs/Release#release-phases:

Maintenance - Critical bug fixes and security updates. New features may be added at the discretion of the LTS team - typically only in cases where the new feature supports migration to later release lines.

I would generally only consider a change for performance if an earlier release in the same release line regressed performance significantly. If you want performance improvements backported to an LTS release, Node.js 18 is in Active LTS and would typically get them when the release team deems them stable enough (usually a minimum of two weeks in a current release without known issues).

@richardlau richardlau added the request-ci Add this label to start a Jenkins CI on a PR. label Dec 9, 2022
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Dec 9, 2022
@nodejs-github-bot

This comment was marked as outdated.

@nodejs-github-bot

This comment was marked as outdated.

@nodejs-github-bot
Copy link
Collaborator

nodejs-github-bot commented Dec 10, 2022

@richardlau
Copy link
Member Author

@richardlau richardlau merged commit 2adea16 into v16.x Dec 13, 2022
richardlau added a commit that referenced this pull request Dec 13, 2022
@richardlau richardlau deleted the v16.19.0-proposal branch December 13, 2022 13:07
richardlau added a commit that referenced this pull request Dec 13, 2022
Notable changes:

- OpenSSL 1.1.1s
- Root certificates updated to NSS 3.85
- Time zone update to 2022f
- add dgram send queue info
- upgrade npm to 8.19.3
- add `--watch`
- add default value option to parsearg

PR-URL: #45791
richardlau added a commit to richardlau/nodejs.org that referenced this pull request Dec 13, 2022
richardlau added a commit to nodejs/nodejs.org that referenced this pull request Dec 13, 2022
richardlau added a commit to richardlau/node-1 that referenced this pull request Dec 13, 2022
nodejs-github-bot pushed a commit that referenced this pull request Dec 21, 2022
Refs: #45791
PR-URL: #45846
Refs: nodejs/nodejs.org#4972
Reviewed-By: Filip Skokan <[email protected]>
Reviewed-By: James M Snell <[email protected]>
richardlau added a commit that referenced this pull request Dec 21, 2022
Refs: #45791
PR-URL: #45846
Refs: nodejs/nodejs.org#4972
Reviewed-By: Filip Skokan <[email protected]>
Reviewed-By: James M Snell <[email protected]>
guangwong pushed a commit to noslate-project/node that referenced this pull request Jan 3, 2023
Notable changes:

- OpenSSL 1.1.1s
- Root certificates updated to NSS 3.85
- Time zone update to 2022f
- add dgram send queue info
- upgrade npm to 8.19.3
- add `--watch`
- add default value option to parsearg

PR-URL: nodejs/node#45791
guangwong pushed a commit to noslate-project/node that referenced this pull request Jan 3, 2023
Notable changes:

- OpenSSL 1.1.1s
- Root certificates updated to NSS 3.85
- Time zone update to 2022f
- add dgram send queue info
- upgrade npm to 8.19.3
- add `--watch`
- add default value option to parsearg

PR-URL: nodejs/node#45791
oraluben pushed a commit to oraluben/node that referenced this pull request Mar 14, 2023
oraluben pushed a commit to oraluben/node that referenced this pull request Mar 14, 2023
oraluben pushed a commit to oraluben/node that referenced this pull request Mar 17, 2023
oraluben pushed a commit to oraluben/node that referenced this pull request Mar 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues and PRs related to build files or the CI. dependencies Pull requests that update a dependency file. doc Issues and PRs related to the documentations. fast-track PRs that do not need to wait for 48 hours to land. meta Issues and PRs related to the general management of the project. needs-ci PRs that need a full CI run. npm Issues and PRs related to the npm client dependency or the npm registry.
Projects
None yet
Development

Successfully merging this pull request may close these issues.