GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — test: update WPT harness by targos · Pull Request #33770 · nodejs/node

Conversation

@targos

@targos targos commented Jun 6, 2020

Copy link
Copy Markdown
Member

/cc @joyeecheung there's a problem with the new assert_throws_js function. It now checks error.constructor === constructor. This doesn't work with Node's errors because they extend the native ones so we end up with checks like NodeError === TypeError. What can we do here?

Example:

assert_throws_js: no argument function "() => queueMicrotask()" threw object "TypeError [ERR_INVALID_ARG_TYPE]: The "callback" argument must be of type function. Received undefined" ("TypeError") expected instance of function "function TypeError() { [native code] }" ("TypeError")
    at Test.<anonymous> (/home/mzasso/git/nodejs/node/test/fixtures/wpt/html/webappapis/microtask-queuing/queue-microtask.any.js:9:3)
    at Test.step (/home/mzasso/git/nodejs/node/test/fixtures/wpt/resources/testharness.js:1977:25)
    at test (/home/mzasso/git/nodejs/node/test/fixtures/wpt/resources/testharness.js:535:30)
    at /home/mzasso/git/nodejs/node/test/fixtures/wpt/html/webappapis/microtask-queuing/queue-microtask.any.js:8:1
    at Script.runInContext (vm.js:141:18)

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

benjamingr and watilde reacted with thumbs up emoji watilde reacted with heart emoji
All reactions
  • 👍 2 reactions
  • ❤️ 1 reaction
@nodejs-github-bot nodejs-github-bot added the test Issues and PRs related to Node.js core tests and test infrastructure. label Jun 6, 2020
@targos

targos commented Jun 11, 2020

Copy link
Copy Markdown
Member Author

ping @joyeecheung

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@targos

targos commented Jun 11, 2020

Copy link
Copy Markdown
Member Author

@nodejs/testing

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@Trott

Trott commented Jun 12, 2020

Copy link
Copy Markdown
Member

Radical idea: We could get rid of NodeError, or at least get rid of NodeError for errors that are the result of Web Platform compatibility.

/ping @addaleax

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@addaleax

addaleax commented Jun 12, 2020

Copy link
Copy Markdown
Member

@Trott I don’t think that would be a bad thing, yes – since there is no single NodeError class but rather hundreds of them, I don’t think they provide any specific value to users.

targos reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@joyeecheung

joyeecheung commented Jun 12, 2020

Copy link
Copy Markdown
Member

Or maybe we can have a flag to use vanilla errors when we throw in Web APIs (I thought about this but it would involve quite a few updates to the Web API code, especially considering we lint for these...).

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@targos targos mentioned this pull request Jun 12, 2020
lib: remove NodeError from the prototype of errors with code #33857
Closed
3 of 4 tasks
@targos

targos commented Jun 12, 2020

Copy link
Copy Markdown
Member Author

I propose to use vanilla errors everywhere with #33857

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

addaleax pushed a commit that referenced this pull request Jun 19, 2020
@targos @addaleax
lib: remove NodeError from the prototype of errors with code
a86a295
Signed-off-by: Michaël Zasso <[email protected]>

PR-URL: #33857
Refs: #33770
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Zeyu Yang <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
@targos
targos force-pushed the update-wpt branch from 3dd4184 to 7b89a1c Compare July 3, 2020 15:03
@targos targos mentioned this pull request Jul 26, 2020
Implement using web-streams-polyfill nodejs/whatwg-stream#3
Closed
4 tasks done
@targos
targos force-pushed the update-wpt branch from 7b89a1c to c822b85 Compare August 2, 2020 08:36
@targos
targos force-pushed the update-wpt branch from c822b85 to dca82e1 Compare August 18, 2020 11:23
@targos targos added the help wanted Issues that need assistance from volunteers or PRs that need help to proceed. label Aug 18, 2020
@targos

targos commented Aug 18, 2020 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member Author

Okay, now everything is updated and python tools/test.py wpt passes. There are failing parallel tests though and, at least for url, they require us to fix our implementation. This cannot be done in a separate PR because the refactoring of the WPT harness happened after the changes of the tests.

=== release test-icu-punycode ===                                             
Path: parallel/test-icu-punycode
assert.js:103
  throw new AssertionError(obj);
  ^

AssertionError [ERR_ASSERTION]: ToASCII case 36
    at Object.<anonymous> (/home/mzasso/git/nodejs/node/test/parallel/test-icu-punycode.js:54:14)
    at Module._compile (internal/modules/cjs/loader.js:1089:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1110:10)
    at Module.load (internal/modules/cjs/loader.js:954:32)
    at Function.Module._load (internal/modules/cjs/loader.js:795:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
    at internal/main/run_main_module.js:17:47 {
  generatedMessage: false,
  code: 'ERR_ASSERTION',
  actual: 'a%c2%adb',
  expected: 'ab',
  operator: 'strictEqual'
}
Command: out/Release/node --expose-internals /home/mzasso/git/nodejs/node/test/parallel/test-icu-punycode.js
=== release test-whatwg-url-constructor ===                                   
Path: parallel/test-whatwg-url-constructor
In Parsing: <http://example.org/test?a#bc> against <about:blank>:
/home/mzasso/git/nodejs/node/test/common/wpt.js:21
      throw err;
      ^

AssertionError [ERR_ASSERTION]: href
    at /home/mzasso/git/nodejs/node/test/parallel/test-whatwg-url-constructor.js:58:7
    at test (/home/mzasso/git/nodejs/node/test/common/wpt.js:18:7)
    at runURLTests (/home/mzasso/git/nodejs/node/test/parallel/test-whatwg-url-constructor.js:49:5)
    at runURLConstructorTests (/home/mzasso/git/nodejs/node/test/parallel/test-whatwg-url-constructor.js:33:10)
    at Object.<anonymous> (/home/mzasso/git/nodejs/node/test/parallel/test-whatwg-url-constructor.js:144:1)
    at Module._compile (internal/modules/cjs/loader.js:1089:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1110:10)
    at Module.load (internal/modules/cjs/loader.js:954:32)
    at Function.Module._load (internal/modules/cjs/loader.js:795:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {
  generatedMessage: false,
  code: 'ERR_ASSERTION',
  actual: 'http://example.org/test?a#bc',
  expected: 'http://example.org/test?a#b%00c',
  operator: 'strictEqual'
}
Command: out/Release/node /home/mzasso/git/nodejs/node/test/parallel/test-whatwg-url-constructor.js
=== release test-whatwg-url-custom-parsing ===                                
Path: parallel/test-whatwg-url-custom-parsing
assert.js:103
  throw new AssertionError(obj);
  ^

AssertionError [ERR_ASSERTION]: Missing expected exception.
    at Object.<anonymous> (/home/mzasso/git/nodejs/node/test/parallel/test-whatwg-url-custom-parsing.js:55:10)
    at Module._compile (internal/modules/cjs/loader.js:1089:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1110:10)
    at Module.load (internal/modules/cjs/loader.js:954:32)
    at Function.Module._load (internal/modules/cjs/loader.js:795:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
    at internal/main/run_main_module.js:17:47 {
  generatedMessage: false,
  code: 'ERR_ASSERTION',
  actual: undefined,
  expected: [Function (anonymous)],
  operator: 'throws'
}
Command: out/Release/node /home/mzasso/git/nodejs/node/test/parallel/test-whatwg-url-custom-parsing.js
=== release test-whatwg-url-toascii ===                                       
Path: parallel/test-whatwg-url-toascii
In ­ (using URL):
/home/mzasso/git/nodejs/node/test/common/wpt.js:21
      throw err;
      ^

AssertionError [ERR_ASSERTION]: Missing expected exception.
    at assert_throws (/home/mzasso/git/nodejs/node/test/common/wpt.js:28:12)
    at /home/mzasso/git/nodejs/node/test/parallel/test-whatwg-url-toascii.js:63:13
    at test (/home/mzasso/git/nodejs/node/test/common/wpt.js:18:7)
    at /home/mzasso/git/nodejs/node/test/parallel/test-whatwg-url-toascii.js:54:7
    at Array.forEach (<anonymous>)
    at runTests (/home/mzasso/git/nodejs/node/test/parallel/test-whatwg-url-toascii.js:53:14)
    at Object.<anonymous> (/home/mzasso/git/nodejs/node/test/parallel/test-whatwg-url-toascii.js:30:5)
    at Module._compile (internal/modules/cjs/loader.js:1089:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1110:10)
    at Module.load (internal/modules/cjs/loader.js:954:32) {
  generatedMessage: false,
  code: 'ERR_ASSERTION',
  actual: undefined,
  expected: [Function (anonymous)],
  operator: 'throws'
}
Command: out/Release/node /home/mzasso/git/nodejs/node/test/parallel/test-whatwg-url-toascii.js
=== release test-whatwg-url-setters ===                                  
Path: parallel/test-whatwg-url-setters
In URL: Setting <a:/>.hash = '

 !"#$%&'()*+,-./09:;<=>?@AZ[\]^_`az{|}~Éé' Simple percent-encoding; tabs and newlines are removed:
/home/mzasso/git/nodejs/node/test/common/wpt.js:21
      throw err;
      ^

AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
+ actual - expected

+ "a:/#%01%1F%20!%22#$%&'()*+,-./09:;%3C=%3E?@AZ[\\]^_%60az{|}~%7F%C2%80%C2%81%C3%89%C3%A9"
- "a:/#%00%01%1F%20!%22#$%&'()*+,-./09:;%3C=%3E?@AZ[\\]^_%60az{|}~%7F%C2%80%C2%81%C3%89%C3%A9"
    at /home/mzasso/git/nodejs/node/test/parallel/test-whatwg-url-setters.js:56:11
    at test (/home/mzasso/git/nodejs/node/test/common/wpt.js:18:7)
    at runURLSettersTests (/home/mzasso/git/nodejs/node/test/parallel/test-whatwg-url-setters.js:52:7)
    at startURLSettersTests (/home/mzasso/git/nodejs/node/test/parallel/test-whatwg-url-setters.js:33:10)
    at Object.<anonymous> (/home/mzasso/git/nodejs/node/test/parallel/test-whatwg-url-setters.js:79:1)
    at Module._compile (internal/modules/cjs/loader.js:1089:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1110:10)
    at Module.load (internal/modules/cjs/loader.js:954:32)
    at Function.Module._load (internal/modules/cjs/loader.js:795:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {
  generatedMessage: true,
  code: 'ERR_ASSERTION',
  actual: "a:/#%01%1F%20!%22#$%&'()*+,-./09:;%3C=%3E?@AZ[\\]^_%60az{|}~%7F%C2%80%C2%81%C3%89%C3%A9",
  expected: "a:/#%00%01%1F%20!%22#$%&'()*+,-./09:;%3C=%3E?@AZ[\\]^_%60az{|}~%7F%C2%80%C2%81%C3%89%C3%A9",
  operator: 'strictEqual'
}
Command: out/Release/node /home/mzasso/git/nodejs/node/test/parallel/test-whatwg-url-setters.js
[02:02|% 100|+ 3149|-   5]: Done                                              
make[1]: *** [Makefile:299: jstest] Error 1
make: *** [Makefile:325: test] Error 2
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@targos

targos commented Aug 18, 2020

Copy link
Copy Markdown
Member Author

Happy to get some help investigating the issues. I won't have much more time for it this week.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@Trott

Trott commented Aug 21, 2020

Copy link
Copy Markdown
Member

Not sure if this superficial info is helpful, but since no one else has commented: test-icu-punycode is failing because of changes to test/fixtures/wpt/url/resources/toascii.json and I'm going to guess that the rest of the tests are failing because of fixtures changes too.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@watilde

watilde commented Aug 26, 2020 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

I'm fixing the same issue and turned out that test/parallel/test-icu-punyucode.js depends on the same fixture of require('url').domainToASCII which is test/fixtures/wpt/url/resources/toascii.json and this happens. I'm wondering if we should update ICU's logic to follow whatwg's domainToASCII updates or separate the test cases for the two ICU's toASCII & URL's domainToASCII as it has a few small differences

e.g.
https://github.com/jsdom/whatwg-url/blob/master/src/url-state-machine.js#L419-L421

My hypothetical process for the next step is the below:

  1. Separate the test cases between ICU's toASCII and URL's domainToASCII
  2. Update URL parser to pass all of the latest WPT's test cases
  3. Design test cases for ICU's toASCII
  4. Follow the latest logic of ICU's toASCII spec
joyeecheung and Leko reacted with thumbs up emoji
All reactions
  • 👍 2 reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@Leko

Leko commented Aug 26, 2020 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

@targos I tried to investigate this case:

AssertionError [ERR_ASSERTION]: ToASCII case 36
...
actual: 'a%c2%adb',
expected: 'ab',

%c2%ad is soft hyphen and it's an ignored code point in IDNA spec. The ignored code point should be replaced with empty character.
URL's domainToASCII handles percent-encoded soft hyphen correctly, but ICU's toASCII can't handle it.

> require('url').domainToASCII('a%c2%adb')
'ab'
> require('internal/test/binding').internalBinding('icu').toASCII('a%c2%adb')
'a%c2%adb'

We should fix ICU's toASCII to fix the failing case in test/parallel/test-icu-punycode.js. Specifically, we need to add these processes to ICU's toASCII.

  • percent decode
  • throw an exception when the string was empty

Anyway, it's ICU's problem, not the WPT URL problem. I think we should break the problem down into smaller pieces as @watilde suggested.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@Leko Leko mentioned this pull request Sep 6, 2020
test: separate the test fixtures between ICU and URL #35077
Closed
3 of 4 tasks
@targos
targos force-pushed the update-wpt branch from dca82e1 to 52e1705 Compare September 7, 2020 13:53
@targos

targos commented Sep 7, 2020

Copy link
Copy Markdown
Member Author

I pushed ports of whatwg/url#486 and whatwg/url#497
Now only test-icu-punycode fails and IIUC, #35077 fixes it.

watilde and Leko reacted with heart emoji
All reactions
  • ❤️ 2 reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@targos
targos force-pushed the update-wpt branch from 52e1705 to 8e623cf Compare September 7, 2020 13:58
watilde pushed a commit that referenced this pull request Sep 8, 2020
@Leko @watilde
test: separate the test fixtures between ICU and URL
7913ac5
We need to emit dependency of ICU's toASCII in order to update the WPT
fixtures. Since ICU and URL isn't the same implementation and they also
follow different specifications. ICU's toASCII shouldn't have a
dependency on WPT fixtures.

Refs: #33770 (comment)
PR-URL: #35077
Reviewed-By: Daijiro Wachi <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
@targos targos added semver-major PRs that contain breaking changes and should be released in the next major version. whatwg-url Issues and PRs related to the WHATWG URL implementation. and removed help wanted Issues that need assistance from volunteers or PRs that need help to proceed. labels Sep 8, 2020
targos added 2 commits September 8, 2020 13:29
@targos
test: update WPT harness and tests
1dbbf1c
@targos
url: remove U+0000 case in the fragment state
3d7899e
Port of whatwg/url#486
Trott
Trott approved these changes Sep 11, 2020
View reviewed changes
@targos
targos requested a review from jasnell September 11, 2020 14:49
@watilde
watilde requested a review from joyeecheung September 14, 2020 16:07
joyeecheung
joyeecheung approved these changes Sep 15, 2020
View reviewed changes
@targos targos added the commit-queue PRs queued for automated landing through the Commit Queue. label Sep 16, 2020
@github-actions github-actions Bot removed the commit-queue PRs queued for automated landing through the Commit Queue. label Sep 16, 2020
@github-actions

github-actions Bot commented Sep 16, 2020 •
edited by targos
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

Landed in 9cf9e4a...69ef4c2

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@github-actions github-actions Bot closed this Sep 16, 2020
nodejs-github-bot pushed a commit that referenced this pull request Sep 16, 2020
@targos @nodejs-github-bot
test: update WPT harness and tests
eb9d7a4
PR-URL: #33770
Reviewed-By: Daijiro Wachi <[email protected]>
Reviewed-By: Shingo Inoue <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
nodejs-github-bot pushed a commit that referenced this pull request Sep 16, 2020
@targos @nodejs-github-bot
url: remove U+0000 case in the fragment state
4831278
Port of whatwg/url#486

PR-URL: #33770
Reviewed-By: Daijiro Wachi <[email protected]>
Reviewed-By: Shingo Inoue <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
nodejs-github-bot pushed a commit that referenced this pull request Sep 16, 2020
@targos @nodejs-github-bot
url: verify domain is not empty after "ToASCII"
69ef4c2
Port of whatwg/url#497

PR-URL: #33770
Reviewed-By: Daijiro Wachi <[email protected]>
Reviewed-By: Shingo Inoue <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
@targos targos mentioned this pull request Sep 16, 2020
Tracking Issue: commit queue issues and feedback #34770
Closed
7 of 14 tasks
@targos
targos deleted the update-wpt branch September 16, 2020 06:29
This was referenced Sep 16, 2020
Different query parsing behavior between node and browsers for URLSearchParams #33892
Closed
Catch up to recent changes in whatwg/url #33315
Closed
ruyadorno pushed a commit that referenced this pull request Sep 17, 2020
@Leko @ruyadorno
test: separate the test fixtures between ICU and URL
9faaa65
We need to emit dependency of ICU's toASCII in order to update the WPT
fixtures. Since ICU and URL isn't the same implementation and they also
follow different specifications. ICU's toASCII shouldn't have a
dependency on WPT fixtures.

Refs: #33770 (comment)
PR-URL: #35077
Reviewed-By: Daijiro Wachi <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
@watilde watilde mentioned this pull request Sep 22, 2020
url: support non-special URLs #34925
Closed
3 tasks done
@BethGriggs BethGriggs mentioned this pull request Sep 22, 2020
2020-10-20, Version 15.0.0 (Current) #35014
Merged
This was referenced Sep 28, 2020
test: update wpt tests for url #35329
Closed
test: update wpt status for url #35335
Closed
@watilde watilde mentioned this pull request Oct 8, 2020
url: file URL path normalization #35477
Closed
3 tasks done
BethGriggs added a commit that referenced this pull request Oct 19, 2020
@BethGriggs
2020-10-20, Version 15.0.0 (Current)
782053e
Notable changes:

Deprecations and Removals:

- **build**: remove --build-v8-with-gn configure option (Yang Guo)
(#27576)
- **build**: drop support for VS2017 (Michaël Zasso)
(#33694)
- **doc**: move DEP0018 to End-of-Life (Rich Trott)
(#35316)
- **fs**: deprecation warning on recursive rmdir (Ian Sutherland)
(#35562)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(#35496)
- **net**: remove long deprecated server.connections property (James M
Snell) (#33647)
- **repl**: remove deprecated repl.memory function (Ruben Bridgewater)
(#33286)
- **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben
Bridgewater) (#33286)
- **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben
Bridgewater) (#33286)
- **repl**: remove deprecated bufferedCommand property (Ruben
Bridgewater) (#33286)
- **repl**: remove deprecated .rli (Ruben Bridgewater)
(#33286)
- **src**: remove deprecated node debug command (James M Snell)
(#33648)
- **timers**: introduce timers/promises (James M Snell)
(#33950)
- **util**: change default value of `maxStringLength` to 10000
(unknown) (#32744)
- **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig)
(#35415)

npm 7 (#35631):

Node.js 15 comes with a new major release of npm, npm 7. npm 7 comes
with many new features - including npm workspaces and a new
package-lock.json format. npm 7 also includes yarn.lock file support.
One of the big changes in npm 7 is that peer dependencies are now
installed by default.

Throw On Unhandled Rejections
(#33021):

As of Node.js 15, the default mode for `unhandledRejection` is changed
to `throw` (from `warn`). In `throw` mode, if an `unhandledRejection`
hook is not set, the `unhandledRejection` is raised as an uncaught
exception. Users that have an `unhandledRejection` hook should see no
change in behavior, and it’s still possible to switch modes using the
`--unhandled-rejections=mode` process flag.

QUIC (#32379):

Node.js 15 comes with experimental support QUIC, which can be enabled
by compiling Node.js with the `--experimental-quic` configuration flag.
The Node.js QUIC implementation is exposed by the core `net` module.

V8 8.6 (#35415):

The V8 JavaScript engine has been updated to V8 8.6 (V8 8.4 is the
latest available in Node.js 14). Along with performance tweaks and
improvements the V8 update also brings the following language features:
* `Promise.any()` (from V8 8.5)
* `AggregateError` (from V8 8.5)
* `String.prototype.replaceAll()` (from V8 8.5)
* Logical assignment operators `&&=`, `||=`, and `??=` (from V8 8.5)

Other Notable Changes:

- **assert**: add `assert/strict` alias module (ExE Boss)
(#34001)
- **dns**: add dns/promises alias (shisama)
(#32953)
- **fs**: reimplement read and write streams using stream.construct
(Robert Nagy) (#29656)
- **http2**: allow Host in HTTP/2 requests (Alba Mendez)
(#34664)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(#35496)
- **lib**: unflag AbortController (James M Snell)
(#33527)
- **lib**: initial experimental AbortController implementation (James M
Snell) (#33527)
- **net**: autoDestroy Socket (Robert Nagy)
(#31806)
- **src**: disallow JS execution inside FreeEnvironment (Anna
Henningsen) (#33874)
- **stream**: construct (Robert Nagy)
(#29656)
- **worker**: make MessageEvent class more Web-compatible (Anna
Henningsen) (#35496)

Semver-Major Commits:

- **assert**: add `assert/strict` alias module (ExE Boss)
(#34001)
- **build**: reset embedder string to "-node.0" (Michaël Zasso)
(#35415)
- **build**: remove --build-v8-with-gn configure option (Yang Guo)
(#27576)
- **build**: drop support for VS2017 (Michaël Zasso)
(#33694)
- **crypto**: refactoring internals, add WebCrypto (James M Snell)
(#35093)
- **crypto**: move node\_crypto files to src/crypto (James M Snell)
(#35093)
- **deps**: V8: cherry-pick d76abfed3512 (Michaël Zasso)
(#35415)
- **deps**: V8: cherry-pick 717543bbf0ef (Michaël Zasso)
(#35415)
- **deps**: V8: cherry-pick 6be2f6e26e8d (Michaël Zasso)
(#35415)
- **deps**: fix V8 build issue with inline methods (Jiawen Geng)
(#35415)
- **deps**: fix platform-embedded-file-writer-win for ARM64 (Michaël
Zasso) (#35415)
- **deps**: update V8 postmortem metadata script (Colin Ihrig)
(#35415)
- **deps**: update V8 to 8.6.395 (Michaël Zasso)
(#35415)
- **deps**: upgrade npm to 7.0.0 (Myles Borins)
(#35631)
- **deps**: update npm to 7.0.0-rc.3 (Myles Borins)
(#35474)
- **deps**: V8: cherry-pick 0d6debcc5f08 (Gus Caplan)
(#33600)
- **dns**: add dns/promises alias (shisama)
(#32953)
- **doc**: move DEP0018 to End-of-Life (Rich Trott)
(#35316)
- **doc**: update support macos version for 15.x (Ash Cripps)
(#35022)
- **fs**: deprecation warning on recursive rmdir (Ian Sutherland)
(#35562)
- **fs**: reimplement read and write streams using stream.construct
(Robert Nagy) (#29656)
- **http**: fixed socket.setEncoding fatal error (iskore)
(#33405)
- **http**: emit 'error' on aborted server request (Robert Nagy)
(#33172)
- **http**: cleanup end argument handling (Robert Nagy)
(#31818)
- **http2**: allow Host in HTTP/2 requests (Alba Mendez)
(#34664)
- **http2**: add `invalidheaders` test (Pranshu Srivastava)
(#33161)
- **http2**: refactor state code validation for the http2Stream class
(rickyes) (#33535)
- **http2**: header field valid checks (Pranshu Srivastava)
(#33193)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(#35496)
- **lib**: remove ERR\_INVALID\_OPT\_VALUE and
ERR\_INVALID\_OPT\_VALUE\_ENCODING (Denys Otrishko)
(#34682)
- **lib**: handle one of args case in ERR\_MISSING\_ARGS (Denys
Otrishko) (#34022)
- **lib**: remove NodeError from the prototype of errors with code
(Michaël Zasso) (#33857)
- **lib**: unflag AbortController (James M Snell)
(#33527)
- **lib**: initial experimental AbortController implementation (James M
Snell) (#33527)
- **net**: check args in net.connect() and socket.connect() calls
(Denys Otrishko) (#34022)
- **net**: remove long deprecated server.connections property (James M
Snell) (#33647)
- **net**: autoDestroy Socket (Robert Nagy)
(#31806)
- **process**: update v8 fast api calls usage (Maya Lekova)
(#35415)
- **process**: change default --unhandled-rejections=throw (Dan
Fabulich) (#33021)
- **process**: use v8 fast api calls for hrtime (Gus Caplan)
(#33600)
- **process**: delay throwing an error using `throwDeprecation` (Ruben
Bridgewater) (#32312)
- **repl**: remove deprecated repl.memory function (Ruben Bridgewater)
(#33286)
- **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben
Bridgewater) (#33286)
- **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben
Bridgewater) (#33286)
- **repl**: remove deprecated bufferedCommand property (Ruben
Bridgewater) (#33286)
- **repl**: remove deprecated .rli (Ruben Bridgewater)
(#33286)
- **src**: implement NodePlatform::PostJob (Clemens Backes)
(#35415)
- **src**: update NODE\_MODULE\_VERSION to 88 (Michaël Zasso)
(#35415)
- **src**: error reporting on CPUUsage (Yash Ladha)
(#34762)
- **src**: use node:moduleName as builtin module filename (Michaël
Zasso) (#35498)
- **src**: enable wasm trap handler on windows (Gus Caplan)
(#35033)
- **src**: update NODE\_MODULE\_VERSION to 86 (Michaël Zasso)
(#33579)
- **src**: disallow JS execution inside FreeEnvironment (Anna
Henningsen) (#33874)
- **src**: remove \_third\_party\_main support (Anna Henningsen)
(#33971)
- **src**: remove deprecated node debug command (James M Snell)
(#33648)
- **src**: remove unused CancelPendingDelayedTasks (Anna Henningsen)
(#32859)
- **stream**: try to wait for flush to complete before 'finish' (Robert
Nagy) (#34314)
- **stream**: cleanup and fix Readable.wrap (Robert Nagy)
(#34204)
- **stream**: add promises version to utility functions (rickyes)
(#33991)
- **stream**: fix writable.end callback behavior (Robert Nagy)
(#34101)
- **stream**: construct (Robert Nagy)
(#29656)
- **stream**: write should throw on unknown encoding (Robert Nagy)
(#33075)
- **stream**: fix \_final and 'prefinish' timing (Robert Nagy)
(#32780)
- **stream**: simplify Transform stream implementation (Robert Nagy)
(#32763)
- **stream**: use callback to properly propagate error (Robert Nagy)
(#29179)
- **test**: update tests after increasing typed array size to 4GB
(Kim-Anh Tran) (#35415)
- **test**: fix tests for npm 7.0.0 (Myles Borins)
(#35631)
- **test**: fix test suite to work with npm 7 (Myles Borins)
(#35474)
- **test**: update WPT harness and tests (Michaël Zasso)
(#33770)
- **timers**: introduce timers/promises (James M Snell)
(#33950)
- **tools**: disable x86 safe exception handlers in V8 (Michaël Zasso)
(#35415)
- **tools**: update V8 gypfiles for 8.6 (Ujjwal Sharma)
(#35415)
- **tools**: update V8 gypfiles for 8.5 (Ujjwal Sharma)
(#35415)
- **url**: file URL path normalization (Daijiro Wachi)
(#35477)
- **url**: verify domain is not empty after "ToASCII" (Michaël Zasso)
(#33770)
- **url**: remove U+0000 case in the fragment state (Michaël Zasso)
(#33770)
- **url**: remove gopher from special schemes (Michaël Zasso)
(#33325)
- **url**: forbid lt and gt in url host code point (Yash Ladha)
(#33328)
- **util**: change default value of `maxStringLength` to 10000
(unknown) (#32744)
- **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig)
(#35415)
- **win, child_process**: sanitize env variables (Bartosz Sosnowski)
(#35210)
- **worker**: make MessageEvent class more Web-compatible (Anna
Henningsen) (#35496)
- **worker**: set trackUnmanagedFds to true by default (Anna
Henningsen) (#34394)
- **worker**: rename error code to be more accurate (Anna Henningsen)
(#33872)

PR-URL: #35014
BethGriggs added a commit that referenced this pull request Oct 20, 2020
@BethGriggs
2020-10-20, Version 15.0.0 (Current)
d683e3d
Notable changes:

Deprecations and Removals:

- **build**: remove --build-v8-with-gn configure option (Yang Guo)
(#27576)
- **build**: drop support for VS2017 (Michaël Zasso)
(#33694)
- **doc**: move DEP0018 to End-of-Life (Rich Trott)
(#35316)
- **fs**: deprecation warning on recursive rmdir (Ian Sutherland)
(#35562)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(#35496)
- **net**: remove long deprecated server.connections property (James M
Snell) (#33647)
- **repl**: remove deprecated repl.memory function (Ruben Bridgewater)
(#33286)
- **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben
Bridgewater) (#33286)
- **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben
Bridgewater) (#33286)
- **repl**: remove deprecated bufferedCommand property (Ruben
Bridgewater) (#33286)
- **repl**: remove deprecated .rli (Ruben Bridgewater)
(#33286)
- **src**: remove deprecated node debug command (James M Snell)
(#33648)
- **timers**: introduce timers/promises (James M Snell)
(#33950)
- **util**: change default value of `maxStringLength` to 10000
(unknown) (#32744)
- **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig)
(#35415)

npm 7 (#35631):

Node.js 15 comes with a new major release of npm, npm 7. npm 7 comes
with many new features - including npm workspaces and a new
package-lock.json format. npm 7 also includes yarn.lock file support.
One of the big changes in npm 7 is that peer dependencies are now
installed by default.

Throw On Unhandled Rejections
(#33021):

As of Node.js 15, the default mode for `unhandledRejection` is changed
to `throw` (from `warn`). In `throw` mode, if an `unhandledRejection`
hook is not set, the `unhandledRejection` is raised as an uncaught
exception. Users that have an `unhandledRejection` hook should see no
change in behavior, and it’s still possible to switch modes using the
`--unhandled-rejections=mode` process flag.

QUIC (#32379):

Node.js 15 comes with experimental support QUIC, which can be enabled
by compiling Node.js with the `--experimental-quic` configuration flag.
The Node.js QUIC implementation is exposed by the core `net` module.

V8 8.6 (#35415):

The V8 JavaScript engine has been updated to V8 8.6 (V8 8.4 is the
latest available in Node.js 14). Along with performance tweaks and
improvements the V8 update also brings the following language features:
* `Promise.any()` (from V8 8.5)
* `AggregateError` (from V8 8.5)
* `String.prototype.replaceAll()` (from V8 8.5)
* Logical assignment operators `&&=`, `||=`, and `??=` (from V8 8.5)

Other Notable Changes:

- **assert**: add `assert/strict` alias module (ExE Boss)
(#34001)
- **dns**: add dns/promises alias (shisama)
(#32953)
- **fs**: reimplement read and write streams using stream.construct
(Robert Nagy) (#29656)
- **http2**: allow Host in HTTP/2 requests (Alba Mendez)
(#34664)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(#35496)
- **lib**: unflag AbortController (James M Snell)
(#33527)
- **lib**: initial experimental AbortController implementation (James M
Snell) (#33527)
- **net**: autoDestroy Socket (Robert Nagy)
(#31806)
- **src**: disallow JS execution inside FreeEnvironment (Anna
Henningsen) (#33874)
- **stream**: construct (Robert Nagy)
(#29656)
- **worker**: make MessageEvent class more Web-compatible (Anna
Henningsen) (#35496)

Semver-Major Commits:

- **assert**: add `assert/strict` alias module (ExE Boss)
(#34001)
- **build**: reset embedder string to "-node.0" (Michaël Zasso)
(#35415)
- **build**: remove --build-v8-with-gn configure option (Yang Guo)
(#27576)
- **build**: drop support for VS2017 (Michaël Zasso)
(#33694)
- **crypto**: refactoring internals, add WebCrypto (James M Snell)
(#35093)
- **crypto**: move node\_crypto files to src/crypto (James M Snell)
(#35093)
- **deps**: V8: cherry-pick d76abfed3512 (Michaël Zasso)
(#35415)
- **deps**: V8: cherry-pick 717543bbf0ef (Michaël Zasso)
(#35415)
- **deps**: V8: cherry-pick 6be2f6e26e8d (Michaël Zasso)
(#35415)
- **deps**: fix V8 build issue with inline methods (Jiawen Geng)
(#35415)
- **deps**: fix platform-embedded-file-writer-win for ARM64 (Michaël
Zasso) (#35415)
- **deps**: update V8 postmortem metadata script (Colin Ihrig)
(#35415)
- **deps**: update V8 to 8.6.395 (Michaël Zasso)
(#35415)
- **deps**: upgrade npm to 7.0.0 (Myles Borins)
(#35631)
- **deps**: update npm to 7.0.0-rc.3 (Myles Borins)
(#35474)
- **deps**: V8: cherry-pick 0d6debcc5f08 (Gus Caplan)
(#33600)
- **dns**: add dns/promises alias (shisama)
(#32953)
- **doc**: move DEP0018 to End-of-Life (Rich Trott)
(#35316)
- **doc**: update support macos version for 15.x (Ash Cripps)
(#35022)
- **fs**: deprecation warning on recursive rmdir (Ian Sutherland)
(#35562)
- **fs**: reimplement read and write streams using stream.construct
(Robert Nagy) (#29656)
- **http**: fixed socket.setEncoding fatal error (iskore)
(#33405)
- **http**: emit 'error' on aborted server request (Robert Nagy)
(#33172)
- **http**: cleanup end argument handling (Robert Nagy)
(#31818)
- **http2**: allow Host in HTTP/2 requests (Alba Mendez)
(#34664)
- **http2**: add `invalidheaders` test (Pranshu Srivastava)
(#33161)
- **http2**: refactor state code validation for the http2Stream class
(rickyes) (#33535)
- **http2**: header field valid checks (Pranshu Srivastava)
(#33193)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(#35496)
- **lib**: remove ERR\_INVALID\_OPT\_VALUE and
ERR\_INVALID\_OPT\_VALUE\_ENCODING (Denys Otrishko)
(#34682)
- **lib**: handle one of args case in ERR\_MISSING\_ARGS (Denys
Otrishko) (#34022)
- **lib**: remove NodeError from the prototype of errors with code
(Michaël Zasso) (#33857)
- **lib**: unflag AbortController (James M Snell)
(#33527)
- **lib**: initial experimental AbortController implementation (James M
Snell) (#33527)
- **net**: check args in net.connect() and socket.connect() calls
(Denys Otrishko) (#34022)
- **net**: remove long deprecated server.connections property (James M
Snell) (#33647)
- **net**: autoDestroy Socket (Robert Nagy)
(#31806)
- **process**: update v8 fast api calls usage (Maya Lekova)
(#35415)
- **process**: change default --unhandled-rejections=throw (Dan
Fabulich) (#33021)
- **process**: use v8 fast api calls for hrtime (Gus Caplan)
(#33600)
- **process**: delay throwing an error using `throwDeprecation` (Ruben
Bridgewater) (#32312)
- **repl**: remove deprecated repl.memory function (Ruben Bridgewater)
(#33286)
- **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben
Bridgewater) (#33286)
- **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben
Bridgewater) (#33286)
- **repl**: remove deprecated bufferedCommand property (Ruben
Bridgewater) (#33286)
- **repl**: remove deprecated .rli (Ruben Bridgewater)
(#33286)
- **src**: implement NodePlatform::PostJob (Clemens Backes)
(#35415)
- **src**: update NODE\_MODULE\_VERSION to 88 (Michaël Zasso)
(#35415)
- **src**: error reporting on CPUUsage (Yash Ladha)
(#34762)
- **src**: use node:moduleName as builtin module filename (Michaël
Zasso) (#35498)
- **src**: enable wasm trap handler on windows (Gus Caplan)
(#35033)
- **src**: update NODE\_MODULE\_VERSION to 86 (Michaël Zasso)
(#33579)
- **src**: disallow JS execution inside FreeEnvironment (Anna
Henningsen) (#33874)
- **src**: remove \_third\_party\_main support (Anna Henningsen)
(#33971)
- **src**: remove deprecated node debug command (James M Snell)
(#33648)
- **src**: remove unused CancelPendingDelayedTasks (Anna Henningsen)
(#32859)
- **stream**: try to wait for flush to complete before 'finish' (Robert
Nagy) (#34314)
- **stream**: cleanup and fix Readable.wrap (Robert Nagy)
(#34204)
- **stream**: add promises version to utility functions (rickyes)
(#33991)
- **stream**: fix writable.end callback behavior (Robert Nagy)
(#34101)
- **stream**: construct (Robert Nagy)
(#29656)
- **stream**: write should throw on unknown encoding (Robert Nagy)
(#33075)
- **stream**: fix \_final and 'prefinish' timing (Robert Nagy)
(#32780)
- **stream**: simplify Transform stream implementation (Robert Nagy)
(#32763)
- **stream**: use callback to properly propagate error (Robert Nagy)
(#29179)
- **test**: update tests after increasing typed array size to 4GB
(Kim-Anh Tran) (#35415)
- **test**: fix tests for npm 7.0.0 (Myles Borins)
(#35631)
- **test**: fix test suite to work with npm 7 (Myles Borins)
(#35474)
- **test**: update WPT harness and tests (Michaël Zasso)
(#33770)
- **timers**: introduce timers/promises (James M Snell)
(#33950)
- **tools**: disable x86 safe exception handlers in V8 (Michaël Zasso)
(#35415)
- **tools**: update V8 gypfiles for 8.6 (Ujjwal Sharma)
(#35415)
- **tools**: update V8 gypfiles for 8.5 (Ujjwal Sharma)
(#35415)
- **url**: file URL path normalization (Daijiro Wachi)
(#35477)
- **url**: verify domain is not empty after "ToASCII" (Michaël Zasso)
(#33770)
- **url**: remove U+0000 case in the fragment state (Michaël Zasso)
(#33770)
- **url**: remove gopher from special schemes (Michaël Zasso)
(#33325)
- **url**: forbid lt and gt in url host code point (Yash Ladha)
(#33328)
- **util**: change default value of `maxStringLength` to 10000
(unknown) (#32744)
- **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig)
(#35415)
- **win, child_process**: sanitize env variables (Bartosz Sosnowski)
(#35210)
- **worker**: make MessageEvent class more Web-compatible (Anna
Henningsen) (#35496)
- **worker**: set trackUnmanagedFds to true by default (Anna
Henningsen) (#34394)
- **worker**: rename error code to be more accurate (Anna Henningsen)
(#33872)

PR-URL: #35014
BethGriggs added a commit that referenced this pull request Oct 20, 2020
@BethGriggs
2020-10-20, Version 15.0.0 (Current)
57613f8
Notable changes:

Deprecations and Removals:

- **build**: remove --build-v8-with-gn configure option (Yang Guo)
(#27576)
- **build**: drop support for VS2017 (Michaël Zasso)
(#33694)
- **doc**: move DEP0018 to End-of-Life (Rich Trott)
(#35316)
- **fs**: deprecation warning on recursive rmdir (Ian Sutherland)
(#35562)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(#35496)
- **net**: remove long deprecated server.connections property (James M
Snell) (#33647)
- **repl**: remove deprecated repl.memory function (Ruben Bridgewater)
(#33286)
- **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben
Bridgewater) (#33286)
- **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben
Bridgewater) (#33286)
- **repl**: remove deprecated bufferedCommand property (Ruben
Bridgewater) (#33286)
- **repl**: remove deprecated .rli (Ruben Bridgewater)
(#33286)
- **src**: remove deprecated node debug command (James M Snell)
(#33648)
- **timers**: introduce timers/promises (James M Snell)
(#33950)
- **util**: change default value of `maxStringLength` to 10000
(unknown) (#32744)
- **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig)
(#35415)

npm 7 (#35631):

Node.js 15 comes with a new major release of npm, npm 7. npm 7 comes
with many new features - including npm workspaces and a new
package-lock.json format. npm 7 also includes yarn.lock file support.
One of the big changes in npm 7 is that peer dependencies are now
installed by default.

Throw On Unhandled Rejections
(#33021):

As of Node.js 15, the default mode for `unhandledRejection` is changed
to `throw` (from `warn`). In `throw` mode, if an `unhandledRejection`
hook is not set, the `unhandledRejection` is raised as an uncaught
exception. Users that have an `unhandledRejection` hook should see no
change in behavior, and it’s still possible to switch modes using the
`--unhandled-rejections=mode` process flag.

QUIC (#32379):

Node.js 15 comes with experimental support QUIC, which can be enabled
by compiling Node.js with the `--experimental-quic` configuration flag.
The Node.js QUIC implementation is exposed by the core `net` module.

V8 8.6 (#35415):

The V8 JavaScript engine has been updated to V8 8.6 (V8 8.4 is the
latest available in Node.js 14). Along with performance tweaks and
improvements the V8 update also brings the following language features:
* `Promise.any()` (from V8 8.5)
* `AggregateError` (from V8 8.5)
* `String.prototype.replaceAll()` (from V8 8.5)
* Logical assignment operators `&&=`, `||=`, and `??=` (from V8 8.5)

Other Notable Changes:

- **assert**: add `assert/strict` alias module (ExE Boss)
(#34001)
- **dns**: add dns/promises alias (shisama)
(#32953)
- **fs**: reimplement read and write streams using stream.construct
(Robert Nagy) (#29656)
- **http2**: allow Host in HTTP/2 requests (Alba Mendez)
(#34664)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(#35496)
- **lib**: unflag AbortController (James M Snell)
(#33527)
- **lib**: initial experimental AbortController implementation (James M
Snell) (#33527)
- **net**: autoDestroy Socket (Robert Nagy)
(#31806)
- **src**: disallow JS execution inside FreeEnvironment (Anna
Henningsen) (#33874)
- **stream**: construct (Robert Nagy)
(#29656)
- **worker**: make MessageEvent class more Web-compatible (Anna
Henningsen) (#35496)

Semver-Major Commits:

- **assert**: add `assert/strict` alias module (ExE Boss)
(#34001)
- **build**: reset embedder string to "-node.0" (Michaël Zasso)
(#35415)
- **build**: remove --build-v8-with-gn configure option (Yang Guo)
(#27576)
- **build**: drop support for VS2017 (Michaël Zasso)
(#33694)
- **crypto**: refactoring internals, add WebCrypto (James M Snell)
(#35093)
- **crypto**: move node\_crypto files to src/crypto (James M Snell)
(#35093)
- **deps**: V8: cherry-pick d76abfed3512 (Michaël Zasso)
(#35415)
- **deps**: V8: cherry-pick 717543bbf0ef (Michaël Zasso)
(#35415)
- **deps**: V8: cherry-pick 6be2f6e26e8d (Michaël Zasso)
(#35415)
- **deps**: fix V8 build issue with inline methods (Jiawen Geng)
(#35415)
- **deps**: fix platform-embedded-file-writer-win for ARM64 (Michaël
Zasso) (#35415)
- **deps**: update V8 postmortem metadata script (Colin Ihrig)
(#35415)
- **deps**: update V8 to 8.6.395 (Michaël Zasso)
(#35415)
- **deps**: upgrade npm to 7.0.0 (Myles Borins)
(#35631)
- **deps**: update npm to 7.0.0-rc.3 (Myles Borins)
(#35474)
- **deps**: V8: cherry-pick 0d6debcc5f08 (Gus Caplan)
(#33600)
- **dns**: add dns/promises alias (shisama)
(#32953)
- **doc**: move DEP0018 to End-of-Life (Rich Trott)
(#35316)
- **doc**: update support macos version for 15.x (Ash Cripps)
(#35022)
- **fs**: deprecation warning on recursive rmdir (Ian Sutherland)
(#35562)
- **fs**: reimplement read and write streams using stream.construct
(Robert Nagy) (#29656)
- **http**: fixed socket.setEncoding fatal error (iskore)
(#33405)
- **http**: emit 'error' on aborted server request (Robert Nagy)
(#33172)
- **http**: cleanup end argument handling (Robert Nagy)
(#31818)
- **http2**: allow Host in HTTP/2 requests (Alba Mendez)
(#34664)
- **http2**: add `invalidheaders` test (Pranshu Srivastava)
(#33161)
- **http2**: refactor state code validation for the http2Stream class
(rickyes) (#33535)
- **http2**: header field valid checks (Pranshu Srivastava)
(#33193)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(#35496)
- **lib**: remove ERR\_INVALID\_OPT\_VALUE and
ERR\_INVALID\_OPT\_VALUE\_ENCODING (Denys Otrishko)
(#34682)
- **lib**: handle one of args case in ERR\_MISSING\_ARGS (Denys
Otrishko) (#34022)
- **lib**: remove NodeError from the prototype of errors with code
(Michaël Zasso) (#33857)
- **lib**: unflag AbortController (James M Snell)
(#33527)
- **lib**: initial experimental AbortController implementation (James M
Snell) (#33527)
- **net**: check args in net.connect() and socket.connect() calls
(Denys Otrishko) (#34022)
- **net**: remove long deprecated server.connections property (James M
Snell) (#33647)
- **net**: autoDestroy Socket (Robert Nagy)
(#31806)
- **process**: update v8 fast api calls usage (Maya Lekova)
(#35415)
- **process**: change default --unhandled-rejections=throw (Dan
Fabulich) (#33021)
- **process**: use v8 fast api calls for hrtime (Gus Caplan)
(#33600)
- **process**: delay throwing an error using `throwDeprecation` (Ruben
Bridgewater) (#32312)
- **repl**: remove deprecated repl.memory function (Ruben Bridgewater)
(#33286)
- **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben
Bridgewater) (#33286)
- **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben
Bridgewater) (#33286)
- **repl**: remove deprecated bufferedCommand property (Ruben
Bridgewater) (#33286)
- **repl**: remove deprecated .rli (Ruben Bridgewater)
(#33286)
- **src**: implement NodePlatform::PostJob (Clemens Backes)
(#35415)
- **src**: update NODE\_MODULE\_VERSION to 88 (Michaël Zasso)
(#35415)
- **src**: error reporting on CPUUsage (Yash Ladha)
(#34762)
- **src**: use node:moduleName as builtin module filename (Michaël
Zasso) (#35498)
- **src**: enable wasm trap handler on windows (Gus Caplan)
(#35033)
- **src**: update NODE\_MODULE\_VERSION to 86 (Michaël Zasso)
(#33579)
- **src**: disallow JS execution inside FreeEnvironment (Anna
Henningsen) (#33874)
- **src**: remove \_third\_party\_main support (Anna Henningsen)
(#33971)
- **src**: remove deprecated node debug command (James M Snell)
(#33648)
- **src**: remove unused CancelPendingDelayedTasks (Anna Henningsen)
(#32859)
- **stream**: try to wait for flush to complete before 'finish' (Robert
Nagy) (#34314)
- **stream**: cleanup and fix Readable.wrap (Robert Nagy)
(#34204)
- **stream**: add promises version to utility functions (rickyes)
(#33991)
- **stream**: fix writable.end callback behavior (Robert Nagy)
(#34101)
- **stream**: construct (Robert Nagy)
(#29656)
- **stream**: write should throw on unknown encoding (Robert Nagy)
(#33075)
- **stream**: fix \_final and 'prefinish' timing (Robert Nagy)
(#32780)
- **stream**: simplify Transform stream implementation (Robert Nagy)
(#32763)
- **stream**: use callback to properly propagate error (Robert Nagy)
(#29179)
- **test**: update tests after increasing typed array size to 4GB
(Kim-Anh Tran) (#35415)
- **test**: fix tests for npm 7.0.0 (Myles Borins)
(#35631)
- **test**: fix test suite to work with npm 7 (Myles Borins)
(#35474)
- **test**: update WPT harness and tests (Michaël Zasso)
(#33770)
- **timers**: introduce timers/promises (James M Snell)
(#33950)
- **tools**: disable x86 safe exception handlers in V8 (Michaël Zasso)
(#35415)
- **tools**: update V8 gypfiles for 8.6 (Ujjwal Sharma)
(#35415)
- **tools**: update V8 gypfiles for 8.5 (Ujjwal Sharma)
(#35415)
- **url**: file URL path normalization (Daijiro Wachi)
(#35477)
- **url**: verify domain is not empty after "ToASCII" (Michaël Zasso)
(#33770)
- **url**: remove U+0000 case in the fragment state (Michaël Zasso)
(#33770)
- **url**: remove gopher from special schemes (Michaël Zasso)
(#33325)
- **url**: forbid lt and gt in url host code point (Yash Ladha)
(#33328)
- **util**: change default value of `maxStringLength` to 10000
(unknown) (#32744)
- **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig)
(#35415)
- **win, child_process**: sanitize env variables (Bartosz Sosnowski)
(#35210)
- **worker**: make MessageEvent class more Web-compatible (Anna
Henningsen) (#35496)
- **worker**: set trackUnmanagedFds to true by default (Anna
Henningsen) (#34394)
- **worker**: rename error code to be more accurate (Anna Henningsen)
(#33872)

PR-URL: #35014
joesepi pushed a commit to joesepi/node that referenced this pull request Jan 8, 2021
@Leko @joesepi
test: separate the test fixtures between ICU and URL
256fc39
We need to emit dependency of ICU's toASCII in order to update the WPT
fixtures. Since ICU and URL isn't the same implementation and they also
follow different specifications. ICU's toASCII shouldn't have a
dependency on WPT fixtures.

Refs: nodejs#33770 (comment)
PR-URL: nodejs#35077
Reviewed-By: Daijiro Wachi <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
joesepi pushed a commit to joesepi/node that referenced this pull request Jan 8, 2021
@targos @joesepi
test: update WPT harness and tests
4040a3b
PR-URL: nodejs#33770
Reviewed-By: Daijiro Wachi <[email protected]>
Reviewed-By: Shingo Inoue <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
joesepi pushed a commit to joesepi/node that referenced this pull request Jan 8, 2021
@targos @joesepi
url: remove U+0000 case in the fragment state
907bdd2
Port of whatwg/url#486

PR-URL: nodejs#33770
Reviewed-By: Daijiro Wachi <[email protected]>
Reviewed-By: Shingo Inoue <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
joesepi pushed a commit to joesepi/node that referenced this pull request Jan 8, 2021
@targos @joesepi
url: verify domain is not empty after "ToASCII"
081441a
Port of whatwg/url#497

PR-URL: nodejs#33770
Reviewed-By: Daijiro Wachi <[email protected]>
Reviewed-By: Shingo Inoue <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@Trott Trott Trott approved these changes
@watilde watilde watilde approved these changes
@joyeecheung joyeecheung joyeecheung approved these changes
@jasnell jasnell Awaiting requested review from jasnell
+1 more reviewer
@Leko Leko Leko approved these changes
Reviewers whose approvals may not affect merge requirements

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

semver-major PRs that contain breaking changes and should be released in the next major version. test Issues and PRs related to Node.js core tests and test infrastructure. whatwg-url Issues and PRs related to the WHATWG URL implementation.

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

7 participants

@targos @Trott @addaleax @joyeecheung @watilde @Leko @nodejs-github-bot
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.