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 <[email protected]>
Reviewed-By: Minwoo Jung <[email protected]>
Reviewed-By: James M Snell <[email protected]>
PR-URL: #40239
Refs: #38905
Refs: #37476
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Minwoo Jung <[email protected]>
Reviewed-By: James M Snell <[email protected]>
PR-URL: #40490
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
Reviewed-By: Zijian Liu <[email protected]>
PR-URL: #40433
Reviewed-By: Vladimir de Turckheim <[email protected]>
Reviewed-By: Stephen Belanger <[email protected]>
Reviewed-By: Gerhard Stöbich <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Bryan English <[email protected]>
Reviewed-By: Zijian Liu <[email protected]>
PR-URL: #40433
Reviewed-By: Vladimir de Turckheim <[email protected]>
Reviewed-By: Stephen Belanger <[email protected]>
Reviewed-By: Gerhard Stöbich <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Bryan English <[email protected]>
Reviewed-By: Zijian Liu <[email protected]>
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 <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
PR-URL: #40517
Reviewed-By: Tobias Nießen <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Refs: nodejs/TSC#1096

PR-URL: #40523
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
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 <[email protected]>
Reviewed-By: Beth Griggs <[email protected]>
This merges the `IsEmpty()` call and the `ToLocalChecked()` call into a
single `ToLocal()` call.

Signed-off-by: Darshan Sen <[email protected]>

PR-URL: #40386
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Signed-off-by: Darshan Sen <[email protected]>

PR-URL: #40400
Reviewed-By: Anna Henningsen <[email protected]>
PR-URL: #40409
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Zijian Liu <[email protected]>
Reviewed-By: Qingyu Deng <[email protected]>
There is no need to crash the process if any of these checks fail.

Signed-off-by: Darshan Sen <[email protected]>

PR-URL: #40425
Reviewed-By: Anna Henningsen <[email protected]>
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 <[email protected]>

PR-URL: #40458
Reviewed-By: Gabriel Schulhof <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
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 <[email protected]>
Reviewed-By: Beth Griggs <[email protected]>
PR-URL: #40518
Refs: #40509
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Beth Griggs <[email protected]>
PR-URL: #40518
Refs: #40509
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Beth Griggs <[email protected]>
Fixes #40305

PR-URL: #40325
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Guy Bedford <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Zeyu Yang <[email protected]>
PR-URL: #40464
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Danielle Adams <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Сковорода Никита Андреевич <[email protected]>
Reviewed-By: Beth Griggs <[email protected]>
Reviewed-By: Myles Borins <[email protected]>
Reviewed-By: Franziska Hinkelmann <[email protected]>
Reviewed-By: Yihong Wang <[email protected]>
PR-URL: #40539
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: #40473
Reviewed-By: Daniel Bevenius <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Signed-off-by: Darshan Sen <[email protected]>

PR-URL: #40457
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
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 <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Fixes: #40323

PR-URL: #40566
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
PR-URL: #40527
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
PR-URL: #40563
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Voltrex <[email protected]>
PR-URL: #40520
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Refs: #39759 (comment)

PR-URL: #40531
Reviewed-By: Tobias Nießen <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
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 <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Fixes: #40413

PR-URL: #40414
Reviewed-By: Antoine du Hamel <[email protected]>
@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.