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

v17.1.0 release proposal #40758

Merged
merged 117 commits into from
Nov 9, 2021
Merged

v17.1.0 release proposal #40758

merged 117 commits into from
Nov 9, 2021

Conversation

targos
Copy link
Member

@targos targos commented Nov 8, 2021

2021-11-09, Version 17.1.0 (Current), @targos

Notable Changes

  • [89b34ecffb] - doc: add VoltrexMaster to collaborators (voltrexmaster) #40566
  • [95e4d29eb4] - (SEMVER-MINOR) esm: add support for JSON import assertion (Antoine du Hamel, Geoffrey Booth) #40250
  • [1ddbae2d76] - (SEMVER-MINOR) lib: add unsubscribe method to non-active DC channels (simon-id) #40433
  • [aa61551b49] - (SEMVER-MINOR) lib: add return value for DC channel.unsubscribe (simon-id) #40433
  • [fbeb895ca6] - (SEMVER-MINOR) v8: multi-tenant promise hook api (Stephen Belanger) #39283

Commits

joyeecheung and others added 30 commits October 23, 2021 08:37
PR-URL: #40239
Refs: #38905
Refs: #37476
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Minwoo Jung <nodecorelab@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: #40239
Refs: #38905
Refs: #37476
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Minwoo Jung <nodecorelab@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: #40490
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Zijian Liu <lxxyxzj@gmail.com>
PR-URL: #40433
Reviewed-By: Vladimir de Turckheim <vlad2t@hotmail.com>
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Bryan English <bryan@bryanenglish.com>
Reviewed-By: Zijian Liu <lxxyxzj@gmail.com>
PR-URL: #40433
Reviewed-By: Vladimir de Turckheim <vlad2t@hotmail.com>
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Bryan English <bryan@bryanenglish.com>
Reviewed-By: Zijian Liu <lxxyxzj@gmail.com>
The request uses chunked transfer encoding and the HTTP response status
code is not 400 but 200.

PR-URL: #40486
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
PR-URL: #40517
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Refs: nodejs/TSC#1096

PR-URL: #40523
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Add a section to the Major Releases section of the release guide
to cover updating the list of expected files for the promotion tool.

PR-URL: #40470
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
This merges the `IsEmpty()` call and the `ToLocalChecked()` call into a
single `ToLocal()` call.

Signed-off-by: Darshan Sen <darshan.sen@postman.com>

PR-URL: #40386
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Signed-off-by: Darshan Sen <darshan.sen@postman.com>

PR-URL: #40400
Reviewed-By: Anna Henningsen <anna@addaleax.net>
PR-URL: #40409
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Zijian Liu <lxxyxzj@gmail.com>
Reviewed-By: Qingyu Deng <i@ayase-lab.com>
There is no need to crash the process if any of these checks fail.

Signed-off-by: Darshan Sen <darshan.sen@postman.com>

PR-URL: #40425
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Fix up example and make it more explicit on how
you need to use napi_extended_error_info in order to
help people avoid what might be a common mistake that
we made in node-addon-api.

Refs: nodejs/node-addon-api#1089

Signed-off-by: Michael Dawson <mdawson@devrus.com>

PR-URL: #40458
Reviewed-By: Gabriel Schulhof <gabrielschulhof@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Currently using the --openssl-is-fips configuration option in
combination with --ninja is broken.

This commit fixes two issues, one being an issue with the linker/version
script path variable. The second is that the locations of built
artifacts that differ for ninja and make.

ninja:
$ ./configure --openssl-is-fips --ninja
$ ninja -C out/Release
$ ./node --enable-fips -p 'crypto.getFips()'
1

make:
$ ./configure --openssl-is-fips
$ make -j8
$ ./node --enable-fips -p 'crypto.getFips()'
1

PR-URL: #40518
Refs: #40509
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
PR-URL: #40518
Refs: #40509
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
PR-URL: #40518
Refs: #40509
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
Fixes #40305

PR-URL: #40325
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Guy Bedford <guybedford@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Zeyu Yang <himself65@outlook.com>
PR-URL: #40464
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Danielle Adams <adamzdanielle@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
Reviewed-By: Yihong Wang <yh.wang@ibm.com>
PR-URL: #40539
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
PR-URL: #40473
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Signed-off-by: Darshan Sen <darshan.sen@postman.com>

PR-URL: #40457
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Document the things that are considered when making the determination as
to whether something should or shouldn't be in core. This does not (yet,
at least) attempt to address *how* to include modules in core. (Should
it be in the Node.js code base or vendored in from a separate
repository?) It is limited to *whether* something should be in core or
not.

Closes: nodejs/TSC#1041

PR-URL: #40338
Fixes: nodejs/TSC#1041
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Fixes: #40323

PR-URL: #40566
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
PR-URL: #40527
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: #40563
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Voltrex <mohammadkeyvanzade94@gmail.com>
PR-URL: #40520
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Refs: #39759 (comment)

PR-URL: #40531
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Update documentation to match the changed `--dns-result-order` default
value in Node.js 17.

Refs: #39987

PR-URL: #40538
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Fixes: #40413

PR-URL: #40414
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
@targos targos removed meta Issues and PRs related to the general management of the project. cares Issues and PRs related to the c-ares dependency or the cares_wrap binding. needs-ci PRs that need a full CI run. labels Nov 8, 2021
@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@targos
Copy link
Member Author

targos commented Nov 9, 2021

@nodejs/releasers

@aduh95
Copy link
Contributor

aduh95 commented Nov 9, 2021

  • (SEMVER-MINOR) esm: add support for JSON import assertion (Antoine du Hamel, Geoffrey Booth)

This change constitute a breaking change for folks who were using --experimental-json-modules, should we add a note explaining what has changed and how to get back to old behavior? I can write something down if that helps. Maybe here is not the correct place to that, if that's the case please disregard my comment.

@targos
Copy link
Member Author

targos commented Nov 9, 2021

The changelog is the right place to write this, but the release is already built and ready to be promoted. Please tell me within the next hour if you're going to suggest changes.

@dnalborczyk
Copy link
Contributor

  • (SEMVER-MINOR) esm: add support for JSON import assertion (Antoine du Hamel, Geoffrey Booth)

This change constitute a breaking change for folks who were using --experimental-json-modules, should we add a note explaining what has changed and how to get back to old behavior? I can write something down if that helps. Maybe here is not the correct place to that, if that's the case please disregard my comment.

@aduh95 what is the breaking change if I may ask?

@targos targos merged commit 2b1744b into v17.x Nov 9, 2021
targos added a commit that referenced this pull request Nov 9, 2021
@targos targos deleted the v17.1.0-proposal branch November 9, 2021 19:05
targos added a commit that referenced this pull request Nov 9, 2021
Notable changes:

doc:
  * add VoltrexMaster to collaborators (voltrexmaster) #40566
esm:
  * (SEMVER-MINOR) add support for JSON import assertion (Antoine du Hamel) #40250
lib:
  * (SEMVER-MINOR) add unsubscribe method to non-active DC channels (simon-id) #40433
  * (SEMVER-MINOR) add return value for DC channel.unsubscribe (simon-id) #40433
v8:
  * (SEMVER-MINOR) multi-tenant promise hook api (Stephen Belanger) #39283

PR-URL: #40758
@aduh95
Copy link
Contributor

aduh95 commented Nov 9, 2021

what is the breaking change if I may ask?

The import assertion is now required to import JSON modules.

This used to work with Node.js 17.0.1 when run with node --experimental-json-modules:

import info from './package.json';

Now you need to do this:

import info from './package.json' assert { type: 'json' };

If you need support for assertionless JSON modules import, you need to implement a custom loader hook such as:

const DATA_URL_PATTERN = /^data:application\/json(?:[^,]*?)(;base64)?,([\s\S]*)$/;
const JSON_URL_PATTERN = /\.json(\?[^#]*)?(#.*)?$/;

export function load(url, context, next) {
  if (context.importAssertions.type == null && 
      (DATA_URL_PATTERN.test(url) || JSON_URL_PATTERN.test(url))) {
    const { importAssertions } = context;
    importAssertions.type = 'json';
  }
  return next(url, context);
}

The changelog is the right place to write this, but the release is already built and ready to be promoted. Please tell me within the next hour if you're going to suggest changes.

Clearly I missed the window, please ignore, I'll make sure to have something ready when we will backport this change to v16 LTS.

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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.