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 <sgallagh@redhat.com>
PR-URL: #44642
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
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 <rlau@redhat.com>
Reviewed-By: Beth Griggs <bethanyngriggs@gmail.com>
PR-URL: #44775
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
PR-URL: #44929
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
PR-URL: #44950
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Tierney Cyren <hello@bnb.im>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
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 <midawson@redhat.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
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 <rlau@redhat.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
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 <rlau@redhat.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
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 <moshe@atlow.co.il>
PR-URL: #44446
Backport-PR-URL: #44926
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Fixes for SC2312 added in shellcheck 0.8.0.

PR-URL: #41258
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
PR-URL: #45581
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: #44366
Backport-PR-URL: #44976
Fixes: #40429
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: #44551
Backport-PR-URL: #44976
Reviewed-By: Kohei Ueno <kohei.ueno119@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Nitzan Uziely <linkgoron@gmail.com>
PR-URL: #44621
Backport-PR-URL: #44976
Fixes: #44655
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
PR-URL: #44739
Backport-PR-URL: #44976
Fixes: #44735
Reviewed-By: Erick Wendel <erick.workspace@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
PR-URL: #45236
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
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 <luigipinca@gmail.com>
Reviewed-By: Kohei Ueno <kohei.ueno119@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Steven R Loomis <srloomis@us.ibm.com>
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 <cbruni@chromium.org>
    Reviewed-by: Marja Hölttä <marja@chromium.org>
    Commit-Queue: Chengzhong Wu <legendecas@gmail.com>
    Cr-Commit-Position: refs/heads/main@{#79425}

Refs: v8/v8@b953542
PR-URL: #44947
Refs: v8/v8@bbd800c
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
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 <dinfuehr@chromium.org>
    Commit-Queue: Chengzhong Wu <legendecas@gmail.com>
    Cr-Commit-Position: refs/heads/main@{#79426}

Refs: v8/v8@bbd800c
PR-URL: #44947
Refs: v8/v8@b953542
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
PR-URL: #44056
Backport-PR-URL: #44542
Refs: #42528
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Feng Yu <F3n67u@outlook.com>
PR-URL: #45235
Backport-PR-URL: #45246
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
PR-URL: #45331
Backport-PR-URL: #45246
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
PR-URL: #45322
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
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 <mdawson@devrus.com>

PR-URL: #45181
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Minwoo Jung <nodecorelab@gmail.com>
PR-URL: #45191
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Christian Clauss <cclauss@me.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
PR-URL: #45191
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Christian Clauss <cclauss@me.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Users can set a default
value for every expected
input argument

PR-URL: #44631
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Refs: #44631
PR-URL: #45083
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Zeyu "Alex" Yang <himself65@outlook.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
@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.

@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 <panva.ip@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
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 <panva.ip@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
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
Refs: nodejs/node#45791
PR-URL: nodejs/node#45846
Refs: nodejs/nodejs.org#4972
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
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
Refs: nodejs/node#45791
PR-URL: nodejs/node#45846
Refs: nodejs/nodejs.org#4972
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
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.

None yet